32#ifndef PY_SSIZE_T_CLEAN
33#define PY_SSIZE_T_CLEAN
36#if defined(Py_LIMITED_API)
37 #if !defined(CYTHON_LIMITED_API)
38 #define CYTHON_LIMITED_API 1
40#elif defined(CYTHON_LIMITED_API)
42 #pragma message ("Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.")
44 #warning Limited API usage is enabled with 'CYTHON_LIMITED_API' but 'Py_LIMITED_API' does not define a Python target version. Consider setting 'Py_LIMITED_API' instead.
50 #error Python headers needed to compile C extensions, please install development version of Python.
51#elif PY_VERSION_HEX < 0x03090000
52 #error Cython requires Python 3.9+.
53#elif defined(Py_LIMITED_API) && (Py_LIMITED_API & 0xFFFF0000) > (PY_VERSION_HEX & 0xFFFF0000)
54 #error 'Py_LIMITED_API' can only select past Python X.Y versions, not future ones.
56#define __PYX_ABI_VERSION "3_3_0"
57#define CYTHON_HEX_VERSION 0x030300F0
58#define CYTHON_FUTURE_DIVISION 1
62 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
64#if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
76 #define __Pyx_has_cbuiltin(name) __has_builtin(name)
78 #define __Pyx_has_cbuiltin(name) (0)
81 #define DL_IMPORT(t) t
84 #define DL_EXPORT(t) t
88 #define PY_LONG_LONG LONG_LONG
91 #define Py_HUGE_VAL HUGE_VAL
93#define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
94#if defined(CYTHON_LIMITED_API)
96 #undef __PYX_LIMITED_VERSION_HEX
97 #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
98 #if Py_LIMITED_API < 0x03090000
99 #error "Cython 3.3 requires the Python Limited API version to be 3.9 or greater."
102 #if defined(GRAALVM_PYTHON) || defined(PYPY_VERSION)
104 #pragma message ("Py_LIMITED_API is defined on PyPy or GraalPy. This takes precedence over Cython's specialized\
105 code for PyPy and GraalPy and is unlikely to work.")
107 #warning "Py_LIMITED_API is defined on PyPy or GraalPy. This takes precedence over Cython's specialized\
108 code for PyPy and GraalPy and is unlikely to work."
111 #define CYTHON_COMPILING_IN_PYPY 0
112 #define CYTHON_COMPILING_IN_CPYTHON 0
113 #define CYTHON_COMPILING_IN_LIMITED_API 1
114 #define CYTHON_COMPILING_IN_GRAAL 0
115 #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
116 #undef CYTHON_USE_TYPE_SLOTS
117 #define CYTHON_USE_TYPE_SLOTS 0
118 #undef CYTHON_USE_TYPE_SPECS
119 #define CYTHON_USE_TYPE_SPECS 1
120 #undef CYTHON_USE_PYTYPE_LOOKUP
121 #define CYTHON_USE_PYTYPE_LOOKUP 0
122 #undef CYTHON_USE_PYLIST_INTERNALS
123 #define CYTHON_USE_PYLIST_INTERNALS 0
124 #undef CYTHON_USE_UNICODE_INTERNALS
125 #define CYTHON_USE_UNICODE_INTERNALS 0
126 #ifndef CYTHON_USE_UNICODE_WRITER
127 #define CYTHON_USE_UNICODE_WRITER 0
129 #undef CYTHON_USE_PYLONG_INTERNALS
130 #define CYTHON_USE_PYLONG_INTERNALS 0
131 #ifndef CYTHON_AVOID_BORROWED_REFS
132 #define CYTHON_AVOID_BORROWED_REFS 0
134 #ifndef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
135 #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
137 #undef CYTHON_ASSUME_SAFE_MACROS
138 #define CYTHON_ASSUME_SAFE_MACROS 0
139 #undef CYTHON_ASSUME_SAFE_SIZE
140 #define CYTHON_ASSUME_SAFE_SIZE 0
141 #undef CYTHON_UNPACK_METHODS
142 #define CYTHON_UNPACK_METHODS 0
143 #undef CYTHON_FAST_THREAD_STATE
144 #define CYTHON_FAST_THREAD_STATE 0
145 #undef CYTHON_FAST_GIL
146 #define CYTHON_FAST_GIL 0
147 #undef CYTHON_VECTORCALL
148 #define CYTHON_VECTORCALL (__PYX_LIMITED_VERSION_HEX >= 0x030C0000)
149 #ifndef CYTHON_VECTORCALL_TPNEW
150 #define CYTHON_VECTORCALL_TPNEW (CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
152 #ifndef CYTHON_PEP487_INIT_SUBCLASS
153 #define CYTHON_PEP487_INIT_SUBCLASS 1
155 #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
156 #define CYTHON_PEP489_MULTI_PHASE_INIT 1
158 #ifndef CYTHON_USE_MODULE_STATE
159 #define CYTHON_USE_MODULE_STATE 0
161 #undef CYTHON_USE_SYS_MONITORING
162 #define CYTHON_USE_SYS_MONITORING 0
163 #ifndef CYTHON_USE_TP_FINALIZE
164 #define CYTHON_USE_TP_FINALIZE (__PYX_LIMITED_VERSION_HEX >= 0x030F0000 && PY_VERSION_HEX > 0x030F00A8)
166 #ifndef CYTHON_USE_AM_SEND
167 #define CYTHON_USE_AM_SEND (__PYX_LIMITED_VERSION_HEX >= 0x030A0000)
169 #undef CYTHON_USE_DICT_VERSIONS
170 #define CYTHON_USE_DICT_VERSIONS 0
171 #undef CYTHON_USE_EXC_INFO_STACK
172 #define CYTHON_USE_EXC_INFO_STACK 0
173 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
174 #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
176 #ifndef CYTHON_USE_OWN_PREP_RERAISE_STAR
177 #define CYTHON_USE_OWN_PREP_RERAISE_STAR 1
179 #ifndef CYTHON_USE_FREELISTS
180 #define CYTHON_USE_FREELISTS 1
182 #undef CYTHON_IMMORTAL_CONSTANTS
183 #define CYTHON_IMMORTAL_CONSTANTS 0
184 #if __PYX_LIMITED_VERSION_HEX < 0x030E0000
185 #undef CYTHON_OPAQUE_OBJECTS
186 #define CYTHON_OPAQUE_OBJECTS 0
187 #elif !defined(CYTHON_OPAQUE_OBJECTS)
188 #define CYTHON_OPAQUE_OBJECTS (__PYX_LIMITED_VERSION_HEX >= 0x030F0000)
190#elif defined(GRAALVM_PYTHON)
193 #define CYTHON_COMPILING_IN_PYPY 0
194 #define CYTHON_COMPILING_IN_CPYTHON 0
195 #define CYTHON_COMPILING_IN_LIMITED_API 0
196 #define CYTHON_COMPILING_IN_GRAAL 1
197 #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
198 #ifndef CYTHON_USE_TYPE_SLOTS
199 #define CYTHON_USE_TYPE_SLOTS 0
201 #undef CYTHON_USE_TYPE_SPECS
202 #define CYTHON_USE_TYPE_SPECS 0
203 #undef CYTHON_USE_PYTYPE_LOOKUP
204 #define CYTHON_USE_PYTYPE_LOOKUP 0
205 #undef CYTHON_USE_PYLIST_INTERNALS
206 #define CYTHON_USE_PYLIST_INTERNALS 0
207 #undef CYTHON_USE_UNICODE_INTERNALS
208 #define CYTHON_USE_UNICODE_INTERNALS 0
209 #undef CYTHON_USE_UNICODE_WRITER
210 #define CYTHON_USE_UNICODE_WRITER 0
211 #undef CYTHON_USE_PYLONG_INTERNALS
212 #define CYTHON_USE_PYLONG_INTERNALS 0
213 #undef CYTHON_AVOID_BORROWED_REFS
214 #define CYTHON_AVOID_BORROWED_REFS 1
215 #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
216 #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
217 #undef CYTHON_ASSUME_SAFE_MACROS
218 #define CYTHON_ASSUME_SAFE_MACROS 0
219 #undef CYTHON_ASSUME_SAFE_SIZE
220 #define CYTHON_ASSUME_SAFE_SIZE 0
221 #undef CYTHON_UNPACK_METHODS
222 #define CYTHON_UNPACK_METHODS 0
223 #undef CYTHON_FAST_THREAD_STATE
224 #define CYTHON_FAST_THREAD_STATE 0
225 #undef CYTHON_FAST_GIL
226 #define CYTHON_FAST_GIL 0
227 #ifndef CYTHON_VECTORCALL
228 #define CYTHON_VECTORCALL 1
230 #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX < 0x030E0000
231 #undef CYTHON_VECTORCALL_TPNEW
232 #define CYTHON_VECTORCALL_TPNEW 0
233 #elif !defined(CYTHON_VECTORCALL_TPNEW)
234 #define CYTHON_VECTORCALL_TPNEW CYTHON_VECTORCALL
236 #ifndef CYTHON_PEP487_INIT_SUBCLASS
237 #define CYTHON_PEP487_INIT_SUBCLASS 1
239 #undef CYTHON_PEP489_MULTI_PHASE_INIT
240 #define CYTHON_PEP489_MULTI_PHASE_INIT 1
241 #undef CYTHON_USE_MODULE_STATE
242 #define CYTHON_USE_MODULE_STATE 0
243 #undef CYTHON_USE_SYS_MONITORING
244 #define CYTHON_USE_SYS_MONITORING 0
245 #undef CYTHON_USE_TP_FINALIZE
246 #define CYTHON_USE_TP_FINALIZE 0
247 #undef CYTHON_USE_AM_SEND
248 #define CYTHON_USE_AM_SEND 0
249 #undef CYTHON_USE_DICT_VERSIONS
250 #define CYTHON_USE_DICT_VERSIONS 0
251 #undef CYTHON_USE_EXC_INFO_STACK
252 #define CYTHON_USE_EXC_INFO_STACK 1
253 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
254 #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
256 #ifndef CYTHON_USE_OWN_PREP_RERAISE_STAR
257 #define CYTHON_USE_OWN_PREP_RERAISE_STAR 1
259 #undef CYTHON_USE_FREELISTS
260 #define CYTHON_USE_FREELISTS 0
261 #undef CYTHON_IMMORTAL_CONSTANTS
262 #define CYTHON_IMMORTAL_CONSTANTS 0
263 #undef CYTHON_OPAQUE_OBJECTS
264 #define CYTHON_OPAQUE_OBJECTS 0
265#elif defined(PYPY_VERSION)
266 #define CYTHON_COMPILING_IN_PYPY 1
267 #define CYTHON_COMPILING_IN_CPYTHON 0
268 #define CYTHON_COMPILING_IN_LIMITED_API 0
269 #define CYTHON_COMPILING_IN_GRAAL 0
270 #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
271 #undef CYTHON_USE_TYPE_SLOTS
272 #define CYTHON_USE_TYPE_SLOTS 1
273 #ifndef CYTHON_USE_TYPE_SPECS
274 #define CYTHON_USE_TYPE_SPECS 0
276 #undef CYTHON_USE_PYTYPE_LOOKUP
277 #define CYTHON_USE_PYTYPE_LOOKUP 0
278 #undef CYTHON_USE_PYLIST_INTERNALS
279 #define CYTHON_USE_PYLIST_INTERNALS 0
280 #undef CYTHON_USE_UNICODE_INTERNALS
281 #define CYTHON_USE_UNICODE_INTERNALS 0
282 #undef CYTHON_USE_UNICODE_WRITER
283 #define CYTHON_USE_UNICODE_WRITER 0
284 #undef CYTHON_USE_PYLONG_INTERNALS
285 #define CYTHON_USE_PYLONG_INTERNALS 0
286 #undef CYTHON_AVOID_BORROWED_REFS
287 #define CYTHON_AVOID_BORROWED_REFS 1
288 #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
289 #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
290 #undef CYTHON_ASSUME_SAFE_MACROS
291 #define CYTHON_ASSUME_SAFE_MACROS 0
292 #ifndef CYTHON_ASSUME_SAFE_SIZE
293 #define CYTHON_ASSUME_SAFE_SIZE 1
295 #undef CYTHON_UNPACK_METHODS
296 #define CYTHON_UNPACK_METHODS 0
297 #undef CYTHON_FAST_THREAD_STATE
298 #define CYTHON_FAST_THREAD_STATE 0
299 #undef CYTHON_FAST_GIL
300 #define CYTHON_FAST_GIL 0
301 #ifndef CYTHON_VECTORCALL
302 #define CYTHON_VECTORCALL 1
304 #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX < 0x030E0000
305 #undef CYTHON_VECTORCALL_TPNEW
306 #define CYTHON_VECTORCALL_TPNEW 0
307 #elif !defined(CYTHON_VECTORCALL_TPNEW)
308 #define CYTHON_VECTORCALL_TPNEW (PYPY_VERSION_NUM >= 0x07030800 && CYTHON_VECTORCALL)
310 #ifndef CYTHON_PEP487_INIT_SUBCLASS
311 #define CYTHON_PEP487_INIT_SUBCLASS 1
313 #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
314 #define CYTHON_PEP489_MULTI_PHASE_INIT 1
316 #undef CYTHON_USE_MODULE_STATE
317 #define CYTHON_USE_MODULE_STATE 0
318 #undef CYTHON_USE_SYS_MONITORING
319 #define CYTHON_USE_SYS_MONITORING 0
320 #ifndef CYTHON_USE_TP_FINALIZE
321 #define CYTHON_USE_TP_FINALIZE (PYPY_VERSION_NUM >= 0x07030C00)
323 #undef CYTHON_USE_AM_SEND
324 #define CYTHON_USE_AM_SEND 0
325 #undef CYTHON_USE_DICT_VERSIONS
326 #define CYTHON_USE_DICT_VERSIONS 0
327 #undef CYTHON_USE_EXC_INFO_STACK
328 #define CYTHON_USE_EXC_INFO_STACK 0
329 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
330 #define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_NUM >= 0x07031100)
332 #ifndef CYTHON_USE_OWN_PREP_RERAISE_STAR
333 #define CYTHON_USE_OWN_PREP_RERAISE_STAR 1
335 #undef CYTHON_USE_FREELISTS
336 #define CYTHON_USE_FREELISTS 0
337 #undef CYTHON_IMMORTAL_CONSTANTS
338 #define CYTHON_IMMORTAL_CONSTANTS 0
339 #undef CYTHON_OPAQUE_OBJECTS
340 #define CYTHON_OPAQUE_OBJECTS 0
342 #define CYTHON_COMPILING_IN_PYPY 0
343 #define CYTHON_COMPILING_IN_CPYTHON 1
344 #define CYTHON_COMPILING_IN_LIMITED_API 0
345 #define CYTHON_COMPILING_IN_GRAAL 0
346 #ifdef Py_GIL_DISABLED
347 #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 1
349 #define CYTHON_COMPILING_IN_CPYTHON_FREETHREADING 0
351 #if PY_VERSION_HEX < 0x030A0000
352 #undef CYTHON_USE_TYPE_SLOTS
353 #define CYTHON_USE_TYPE_SLOTS 1
354 #elif !defined(CYTHON_USE_TYPE_SLOTS)
355 #define CYTHON_USE_TYPE_SLOTS 1
357 #ifndef CYTHON_USE_TYPE_SPECS
358 #define CYTHON_USE_TYPE_SPECS 0
360 #ifndef CYTHON_USE_PYTYPE_LOOKUP
361 #define CYTHON_USE_PYTYPE_LOOKUP 1
363 #ifndef CYTHON_USE_PYLONG_INTERNALS
364 #define CYTHON_USE_PYLONG_INTERNALS 1
366 #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
367 #undef CYTHON_USE_PYLIST_INTERNALS
368 #define CYTHON_USE_PYLIST_INTERNALS 0
369 #elif !defined(CYTHON_USE_PYLIST_INTERNALS)
370 #define CYTHON_USE_PYLIST_INTERNALS 1
372 #ifndef CYTHON_USE_UNICODE_INTERNALS
373 #define CYTHON_USE_UNICODE_INTERNALS 1
375 #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING || PY_VERSION_HEX >= 0x030B00A2
376 #undef CYTHON_USE_UNICODE_WRITER
377 #define CYTHON_USE_UNICODE_WRITER 0
378 #elif !defined(CYTHON_USE_UNICODE_WRITER)
379 #define CYTHON_USE_UNICODE_WRITER 1
381 #ifndef CYTHON_AVOID_BORROWED_REFS
382 #define CYTHON_AVOID_BORROWED_REFS 0
384 #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
385 #undef CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
386 #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 1
387 #elif !defined(CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS)
388 #define CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS 0
390 #ifndef CYTHON_ASSUME_SAFE_MACROS
391 #define CYTHON_ASSUME_SAFE_MACROS 1
393 #ifndef CYTHON_ASSUME_SAFE_SIZE
394 #define CYTHON_ASSUME_SAFE_SIZE 1
396 #ifndef CYTHON_UNPACK_METHODS
397 #define CYTHON_UNPACK_METHODS 1
399 #ifndef CYTHON_FAST_THREAD_STATE
400 #define CYTHON_FAST_THREAD_STATE 1
402 #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
403 #undef CYTHON_FAST_GIL
404 #define CYTHON_FAST_GIL 0
405 #elif !defined(CYTHON_FAST_GIL)
406 #define CYTHON_FAST_GIL (PY_VERSION_HEX < 0x030C00A6)
408 #ifndef CYTHON_VECTORCALL
409 #define CYTHON_VECTORCALL 1
411 #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX < 0x030E0000
412 #undef CYTHON_VECTORCALL_TPNEW
413 #define CYTHON_VECTORCALL_TPNEW 0
414 #elif !defined(CYTHON_VECTORCALL_TPNEW)
415 #define CYTHON_VECTORCALL_TPNEW CYTHON_VECTORCALL
417 #ifndef CYTHON_PEP487_INIT_SUBCLASS
418 #define CYTHON_PEP487_INIT_SUBCLASS 1
420 #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
421 #define CYTHON_PEP489_MULTI_PHASE_INIT 1
423 #ifndef CYTHON_USE_MODULE_STATE
424 #define CYTHON_USE_MODULE_STATE 0
426 #ifndef CYTHON_USE_SYS_MONITORING
427 #define CYTHON_USE_SYS_MONITORING (PY_VERSION_HEX >= 0x030d00B1)
429 #ifndef CYTHON_USE_TP_FINALIZE
430 #define CYTHON_USE_TP_FINALIZE 1
432 #ifndef CYTHON_USE_AM_SEND
433 #define CYTHON_USE_AM_SEND 1
435 #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
436 #undef CYTHON_USE_DICT_VERSIONS
437 #define CYTHON_USE_DICT_VERSIONS 0
438 #elif !defined(CYTHON_USE_DICT_VERSIONS)
439 #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5 && !CYTHON_USE_MODULE_STATE)
441 #ifndef CYTHON_USE_EXC_INFO_STACK
442 #define CYTHON_USE_EXC_INFO_STACK 1
444 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
445 #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
447 #ifndef CYTHON_USE_OWN_PREP_RERAISE_STAR
448 #define CYTHON_USE_OWN_PREP_RERAISE_STAR (PY_VERSION_HEX < 0x030C00B2)
450 #ifndef CYTHON_USE_FREELISTS
451 #define CYTHON_USE_FREELISTS (!CYTHON_COMPILING_IN_CPYTHON_FREETHREADING)
453 #if defined(CYTHON_IMMORTAL_CONSTANTS) && PY_VERSION_HEX < 0x030C0000
454 #undef CYTHON_IMMORTAL_CONSTANTS
455 #define CYTHON_IMMORTAL_CONSTANTS 0
456 #elif !defined(CYTHON_IMMORTAL_CONSTANTS)
457 #define CYTHON_IMMORTAL_CONSTANTS (PY_VERSION_HEX >= 0x030C0000 && !CYTHON_USE_MODULE_STATE && CYTHON_COMPILING_IN_CPYTHON_FREETHREADING)
459 #ifndef CYTHON_OPAQUE_OBJECTS
460 #define CYTHON_OPAQUE_OBJECTS 0
463#if CYTHON_USE_PYLONG_INTERNALS
468 enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P ==
sizeof(
void*)) };
471#ifndef __has_attribute
472 #define __has_attribute(x) 0
474#ifndef __has_cpp_attribute
475 #define __has_cpp_attribute(x) 0
477#ifndef CYTHON_RESTRICT
478 #if defined(__GNUC__)
479 #define CYTHON_RESTRICT __restrict__
480 #elif defined(_MSC_VER) && _MSC_VER >= 1400
481 #define CYTHON_RESTRICT __restrict
482 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
483 #define CYTHON_RESTRICT restrict
485 #define CYTHON_RESTRICT
489 #if defined(__cplusplus)
492 #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
493 #if __has_cpp_attribute(maybe_unused)
494 #define CYTHON_UNUSED [[maybe_unused]]
497 #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
498 #define CYTHON_UNUSED [[maybe_unused]]
502# if defined(__GNUC__)
503# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
504# define CYTHON_UNUSED __attribute__ ((__unused__))
506# define CYTHON_UNUSED
508# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
509# define CYTHON_UNUSED __attribute__ ((__unused__))
511# define CYTHON_UNUSED
514#ifndef CYTHON_UNUSED_VAR
515# if defined(__cplusplus)
516 template<
class T>
void CYTHON_UNUSED_VAR(
const T& ) { }
518# define CYTHON_UNUSED_VAR(x) (void)(x)
521#ifndef CYTHON_MAYBE_UNUSED_VAR
522 #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
524#ifndef CYTHON_NCP_UNUSED
525# if CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
526# define CYTHON_NCP_UNUSED
528# define CYTHON_NCP_UNUSED CYTHON_UNUSED
531#ifndef CYTHON_USE_CPP_STD_MOVE
532 #if defined(__cplusplus) && (\
533 __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
534 #define CYTHON_USE_CPP_STD_MOVE 1
536 #define CYTHON_USE_CPP_STD_MOVE 0
539#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
541typedef uintptr_t __pyx_uintptr_t;
542#ifndef CYTHON_FALLTHROUGH
543 #if defined(__cplusplus)
546 #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
547 #if __has_cpp_attribute(fallthrough)
548 #define CYTHON_FALLTHROUGH [[fallthrough]]
551 #ifndef CYTHON_FALLTHROUGH
552 #if __has_cpp_attribute(clang::fallthrough)
553 #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
554 #elif __has_cpp_attribute(gnu::fallthrough)
555 #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
559 #ifndef CYTHON_FALLTHROUGH
560 #if __has_attribute(fallthrough)
561 #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
563 #define CYTHON_FALLTHROUGH
566 #if defined(__clang__) && defined(__apple_build_version__)
567 #if __apple_build_version__ < 7000000
568 #undef CYTHON_FALLTHROUGH
569 #define CYTHON_FALLTHROUGH
574 #define __Pyx_UNREACHABLE() Py_UNREACHABLE()
575#elif __Pyx_has_cbuiltin(__builtin_unreachable)
576 #define __Pyx_UNREACHABLE() __builtin_unreachable()
577#elif defined(__clang__) || defined(__INTEL_COMPILER) || (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)))
578 #define __Pyx_UNREACHABLE() __builtin_unreachable()
579#elif defined(_MSC_VER)
580 #define __Pyx_UNREACHABLE() __assume(0)
582 #define __Pyx_UNREACHABLE() Py_FatalError("Unreachable C code path reached")
584#ifndef Py_UNREACHABLE
585 #define Py_UNREACHABLE() __Pyx_UNREACHABLE()
588 template <
typename T>
589 struct __PYX_IS_UNSIGNED_IMPL {
static const bool value =
T(0) <
T(-1);};
590 #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL<type>::value)
592 #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
594#if CYTHON_COMPILING_IN_PYPY == 1
595 #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX < 0x030A0000)
597 #define __PYX_NEED_TP_PRINT_SLOT 0
599#define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))
600#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
601#define __Pyx_PyErr_FetchException(petype, peval, petb) PyErr_Fetch(petype, peval, petb)
602#define __Pyx_PyErr_RestoreException(etype, eval, etb) PyErr_Restore(etype, eval, etb)
604#define __Pyx_PyErr_FetchException(petype, peval, petb) *(petype)=NULL; *(peval)=PyErr_GetRaisedException(); *(petb)=NULL
605#define __Pyx_PyErr_RestoreException(etype, eval, etb) PyErr_SetRaisedException(eval)
610 #error "Cython files generated with the C++ option must be compiled with a C++ compiler."
613 #if defined(__clang__)
614 #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
616 #define CYTHON_INLINE inline
620void __Pyx_call_destructor(
T& x) {
624class __Pyx_FakeReference {
626 __Pyx_FakeReference() : ptr(NULL) { }
627 __Pyx_FakeReference(
const T& ref) : ptr(const_cast<
T*>(&ref)) { }
628 T *operator->() {
return ptr; }
629 T *operator&() {
return ptr; }
630 operator T&() {
return *ptr; }
631 template<
typename U>
bool operator ==(
const U& other)
const {
return *ptr == other; }
632 template<
typename U>
bool operator !=(
const U& other)
const {
return *ptr != other; }
633 template<
typename U>
bool operator==(
const __Pyx_FakeReference<U>& other)
const {
return *ptr == *other.ptr; }
634 template<
typename U>
bool operator!=(
const __Pyx_FakeReference<U>& other)
const {
return *ptr != *other.ptr; }
640#define __PYX_BUILD_PY_SSIZE_T "n"
641#define CYTHON_FORMAT_SSIZE_T "z"
642#define __Pyx_BUILTIN_MODULE_NAME "builtins"
643#define __Pyx_DefaultClassType PyType_Type
644#if CYTHON_COMPILING_IN_LIMITED_API
646 static int CO_OPTIMIZED;
649 static int CO_NEWLOCALS;
652 static int CO_VARARGS;
654 #ifndef CO_VARKEYWORDS
655 static int CO_VARKEYWORDS;
657 #ifndef CO_ASYNC_GENERATOR
658 static int CO_ASYNC_GENERATOR;
661 static int CO_GENERATOR;
664 static int CO_COROUTINE;
668 #define CO_COROUTINE 0x80
670 #ifndef CO_ASYNC_GENERATOR
671 #define CO_ASYNC_GENERATOR 0x200
674static int __Pyx_init_co_variables(
void);
675#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is)
676 #define __Pyx_Py_Is(x, y) Py_Is(x, y)
678 #define __Pyx_Py_Is(x, y) ((x) == (y))
680#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone)
681 #define __Pyx_Py_IsNone(ob) Py_IsNone(ob)
683 #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None)
685#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue)
686 #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob)
688 #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True)
690#if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse)
691 #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob)
693 #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False)
695#define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj))
696#if CYTHON_COMPILING_IN_PYPY
697 #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
699 #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
701#if CYTHON_COMPILING_IN_LIMITED_API
702static unsigned long __Pyx_Runtime_TPFLAGS_SEQUENCE;
703static unsigned long __Pyx_Runtime_TPFLAGS_MAPPING;
705#define __Pyx_Runtime_TPFLAGS_SEQUENCE Py_TPFLAGS_SEQUENCE
706#define __Pyx_Runtime_TPFLAGS_MAPPING Py_TPFLAGS_MAPPING
708static int __Pyx_init_tpflags_variables(
void);
709#ifndef Py_TPFLAGS_HAVE_FINALIZE
710 #define Py_TPFLAGS_HAVE_FINALIZE 0
712#ifndef Py_TPFLAGS_SEQUENCE
713 #define Py_TPFLAGS_SEQUENCE (CYTHON_COMPILING_IN_LIMITED_API ? 0 : 1 << 5)
715#ifndef Py_TPFLAGS_MAPPING
716 #define Py_TPFLAGS_MAPPING (CYTHON_COMPILING_IN_LIMITED_API ? 0 : 1 << 6)
718#ifndef Py_TPFLAGS_IMMUTABLETYPE
719 #define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8)
721#ifndef Py_TPFLAGS_DISALLOW_INSTANTIATION
722 #define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7)
724#ifndef METH_STACKLESS
725 #define METH_STACKLESS 0
727#if !defined(METH_FASTCALL) || CYTHON_COMPILING_IN_PYPY
728 #ifndef METH_FASTCALL
729 #define METH_FASTCALL 0x80
731 typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *
const *args, Py_ssize_t nargs);
732 typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *
const *args,
733 Py_ssize_t nargs, PyObject *kwnames);
735 #if PY_VERSION_HEX >= 0x030d00A4
736 # define __Pyx_PyCFunctionFast PyCFunctionFast
737 # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
739 # define __Pyx_PyCFunctionFast _PyCFunctionFast
740 # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
744 #define __Pyx_METH_FASTCALL METH_FASTCALL
745 #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
746 #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
748 #define __Pyx_METH_FASTCALL METH_VARARGS
749 #define __Pyx_PyCFunction_FastCall PyCFunction
750 #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
753 #define __pyx_vectorcallfunc vectorcallfunc
754 #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET
755 #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n))
757 #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
758 #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
760#define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
761#define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
762#if CYTHON_COMPILING_IN_CPYTHON
763#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
764#elif !CYTHON_COMPILING_IN_LIMITED_API
765#define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
767#if CYTHON_COMPILING_IN_CPYTHON
768#define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
769static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
770 return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
773static CYTHON_INLINE
int __Pyx__IsSameCFunction(PyObject *func,
void (*cfunc)(
void)) {
774#if CYTHON_COMPILING_IN_LIMITED_API
775 return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
777 return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
780#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
781#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
782 #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
784 #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b)
786#if CYTHON_COMPILING_IN_PYPY
787 typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *
const *, size_t, PyObject *);
789 #define __Pyx_PyCMethod PyCMethod
792 #define METH_METHOD 0x200
794#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
795 #define PyObject_Malloc(s) PyMem_Malloc(s)
796 #define PyObject_Free(p) PyMem_Free(p)
797 #define PyObject_Realloc(p) PyMem_Realloc(p)
799#if CYTHON_COMPILING_IN_LIMITED_API
800 #define __Pyx_PyFrame_SetLineNumber(frame, lineno)
801#elif CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000
802 #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
803 #define __Pyx_PyFrame_SetLineNumber(frame, lineno) GraalPyFrame_SetLineNumber((frame), (lineno))
804#elif CYTHON_COMPILING_IN_GRAAL
805 #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
806 #define __Pyx_PyFrame_SetLineNumber(frame, lineno) _PyFrame_SetLineNumber((frame), (lineno))
808 #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
809 #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
811#if CYTHON_COMPILING_IN_LIMITED_API
812 #define __Pyx_PyThreadState_Current PyThreadState_Get()
813#elif !CYTHON_FAST_THREAD_STATE
814 #define __Pyx_PyThreadState_Current PyThreadState_GET()
815#elif PY_VERSION_HEX >= 0x030d00A1
816 #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
818 #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
820#if CYTHON_OPAQUE_OBJECTS && CYTHON_COMPILING_IN_LIMITED_API
821 #define __PYX_SHARED_SIZEOF(T) -((int)sizeof(T))
822 #define __PYX_SHARED_RELATIVE_OFFSET Py_RELATIVE_OFFSET
823 #define CYTHON_OPAQUE_SHARED_TYPES 1
825 #define __PYX_SHARED_SIZEOF(T) sizeof(T)
826 #define __PYX_SHARED_RELATIVE_OFFSET 0
827 #define CYTHON_OPAQUE_SHARED_TYPES 0
829#if CYTHON_USE_MODULE_STATE
830static CYTHON_INLINE
void *__Pyx__PyModule_GetState(PyObject *op)
833 result = PyModule_GetState(op);
835 Py_FatalError(
"Couldn't find the module state");
838#define __Pyx_PyModule_GetState(o) (__pyx_mstatetype *)__Pyx__PyModule_GetState(o)
840#define __Pyx_PyModule_GetState(op) ((void)op,__pyx_mstate_global)
842#define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE((PyObject *) obj), name, func_ctype)
843#define __Pyx_PyObject_TryGetSlot(obj, name, func_ctype) __Pyx_PyType_TryGetSlot(Py_TYPE(obj), name, func_ctype)
844#define __Pyx_PyObject_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(Py_TYPE(obj), sub, name, func_ctype)
845#define __Pyx_PyObject_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSubSlot(Py_TYPE(obj), sub, name, func_ctype)
846#if CYTHON_USE_TYPE_SLOTS
847 #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name)
848 #define __Pyx_PyType_TryGetSlot(type, name, func_ctype) __Pyx_PyType_GetSlot(type, name, func_ctype)
849 #define __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype) (((type)->sub) ? ((type)->sub->name) : NULL)
850 #define __Pyx_PyType_TryGetSubSlot(type, sub, name, func_ctype) __Pyx_PyType_GetSubSlot(type, sub, name, func_ctype)
852 #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name))
853 #define __Pyx_PyType_TryGetSlot(type, name, func_ctype)\
854 ((__PYX_LIMITED_VERSION_HEX >= 0x030A0000 ||\
855 (PyType_GetFlags(type) & Py_TPFLAGS_HEAPTYPE) || __Pyx_get_runtime_version() >= 0x030A0000) ?\
856 __Pyx_PyType_GetSlot(type, name, func_ctype) : NULL)
857 #define __Pyx_PyType_GetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_GetSlot(obj, name, func_ctype)
858 #define __Pyx_PyType_TryGetSubSlot(obj, sub, name, func_ctype) __Pyx_PyType_TryGetSlot(obj, name, func_ctype)
860#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
861#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
863#define __Pyx_PyDict_NewPresized(n) PyDict_New()
865#define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
866#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
867#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_UNICODE_INTERNALS
868#define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
869static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
870 PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
871 if (res == NULL && PyErr_Occurred()) {
872 PyErr_WriteUnraisable(NULL);
876#elif !CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000
877#define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError
878#define __Pyx_PyDict_GetItemStr PyDict_GetItem
880static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) {
881#if CYTHON_COMPILING_IN_PYPY
882 return PyDict_GetItem(dict, name);
885 PyDictObject *mp = (PyDictObject*) dict;
886 long hash = ((PyStringObject *) name)->ob_shash;
888 ep = (mp->ma_lookup)(mp, name, hash);
895#define __Pyx_PyDict_GetItemStr PyDict_GetItem
897#if CYTHON_USE_TYPE_SLOTS
898 #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags)
899 #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0)
901 #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp))
902 #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
904#define __Pyx_PyObject_GetIterNextFunc(iterator) __Pyx_PyObject_GetSlot(iterator, tp_iternext, iternextfunc)
905#if CYTHON_USE_TYPE_SPECS
906#define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
907 PyTypeObject *type = Py_TYPE((PyObject*)obj);\
908 assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
909 PyObject_GC_Del(obj);\
913#define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj)
915#if CYTHON_COMPILING_IN_LIMITED_API
916 #define __Pyx_PyUnicode_READY(op) (0)
917 #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i)
918 #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U)
919 #define __Pyx_PyUnicode_KIND(u) ((void)u, (0))
920 #define __Pyx_PyUnicode_KIND_04(u) __Pyx_PyUnicode_KIND(u)
921 #define __Pyx_PyUnicode_DATA(u) ((void*)u)
922 #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i))
923 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u))
925 #if PY_VERSION_HEX >= 0x030C0000
926 #define __Pyx_PyUnicode_READY(op) (0)
928 #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
929 0 : _PyUnicode_Ready((PyObject *)(op)))
931 #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
932 #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
933 #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u))
934 #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
935 #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
936 #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch)
937 #if PY_VERSION_HEX >= 0x030C0000
938 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
940 #if CYTHON_COMPILING_IN_CPYTHON
941 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
943 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
946 static CYTHON_INLINE
int __Pyx_PyUnicode_KIND_04(PyObject *o) {
947 return __Pyx_PyUnicode_KIND(o) - (int) !!PyUnicode_IS_ASCII(o);
950#if CYTHON_COMPILING_IN_PYPY
951 #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
952 #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
954 #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
955 #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
956 PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
958#if CYTHON_COMPILING_IN_PYPY
959 #if !defined(PyUnicode_DecodeUnicodeEscape)
960 #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors)
962 #if !defined(PyUnicode_Contains)
963 #define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
965 #if !defined(PyByteArray_Check)
966 #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
968 #if !defined(PyObject_Format)
969 #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
972#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
973#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
974 #define __Pyx_PySequence_ListKeepNew(obj)\
975 (likely(PyList_CheckExact(obj) && PyUnstable_Object_IsUniquelyReferenced(obj)) ? __Pyx_NewRef(obj) : PySequence_List(obj))
976#elif CYTHON_COMPILING_IN_CPYTHON
977 #define __Pyx_PySequence_ListKeepNew(obj)\
978 (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
980 #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj)
982#ifndef PySet_CheckExact
983 #define PySet_CheckExact(obj) Py_IS_TYPE(obj, &PySet_Type)
985enum __Pyx_ReferenceSharing {
986 __Pyx_ReferenceSharing_DefinitelyUnique,
987 __Pyx_ReferenceSharing_OwnStrongReference,
988 __Pyx_ReferenceSharing_FunctionArgument,
989 __Pyx_ReferenceSharing_SharedReference,
991#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX >= 0x030E0000
992#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing)\
993 (sharing == __Pyx_ReferenceSharing_DefinitelyUnique ? 1 :\
994 (sharing == __Pyx_ReferenceSharing_FunctionArgument ? PyUnstable_Object_IsUniqueReferencedTemporary(o) :\
995 (sharing == __Pyx_ReferenceSharing_OwnStrongReference ? PyUnstable_Object_IsUniquelyReferenced(o) : 0)))
996#elif (CYTHON_COMPILING_IN_CPYTHON && !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING) || CYTHON_COMPILING_IN_LIMITED_API
997#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)sharing), Py_REFCNT(o) == 1)
999#define __Pyx_IS_UNIQUELY_REFERENCED(o, sharing) (((void)o), ((void)sharing), 0)
1001#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
1002 #define __Pyx_PyList_GetItemRef(o, i) PyList_GetItemRef(o, i)
1003#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
1004 #if CYTHON_COMPILING_IN_LIMITED_API || !CYTHON_ASSUME_SAFE_MACROS
1005 #define __Pyx_PyList_GetItemRef(o, i) (likely((i) >= 0) ? PySequence_GetItem(o, i) : (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
1007 #define __Pyx_PyList_GetItemRef(o, i) PySequence_ITEM(o, i)
1009#elif CYTHON_COMPILING_IN_LIMITED_API || !(CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE)
1010 #define __Pyx_PyList_GetItemRef(o, i) __Pyx_XNewRef(PyList_GetItem(o, i))
1012 #define __Pyx_PyList_GetItemRef(o, i) (likely(__Pyx_is_valid_index(i, PyList_GET_SIZE(o))) ?\
1013 __Pyx_NewRef(PyList_GET_ITEM(o, i)) : (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
1015#if CYTHON_AVOID_BORROWED_REFS || CYTHON_COMPILING_IN_LIMITED_API
1016 #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) ((void)(unsafe_shared),\
1017 __Pyx_PyList_GetItemRef(o, i))
1018#elif CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
1019 #if CYTHON_ASSUME_SAFE_MACROS
1020 #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) (\
1021 __Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared) ?\
1022 __Pyx_NewRef(PyList_GET_ITEM(o, i)) : __Pyx_PyList_GetItemRef(o, i))
1024 #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) (\
1025 __Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared) ?\
1026 __Pyx_XNewRef(PyList_GetItem(o, i)) : __Pyx_PyList_GetItemRef(o, i))
1028#elif CYTHON_ASSUME_SAFE_MACROS
1029 #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) ((void)(unsafe_shared),\
1030 __Pyx_NewRef(PyList_GET_ITEM(o, i)))
1032 #define __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared) ((void)(unsafe_shared),\
1033 __Pyx_XNewRef(PyList_GetItem(o, i)))
1035#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
1036#define __Pyx_PyDict_GetItemRef(dict, key, result) PyDict_GetItemRef(dict, key, result)
1037#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
1038static CYTHON_INLINE
int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) {
1039 *result = PyObject_GetItem(dict, key);
1040 if (*result == NULL) {
1041 if (PyErr_ExceptionMatches(PyExc_KeyError)) {
1050static CYTHON_INLINE
int __Pyx_PyDict_GetItemRef(PyObject *dict, PyObject *key, PyObject **result) {
1051 *result = PyDict_GetItemWithError(dict, key);
1052 if (*result == NULL) {
1053 return PyErr_Occurred() ? -1 : 0;
1059#if defined(CYTHON_DEBUG_VISIT_CONST) && CYTHON_DEBUG_VISIT_CONST
1060 #define __Pyx_VISIT_CONST(obj) Py_VISIT(obj)
1062 #define __Pyx_VISIT_CONST(obj)
1064#if CYTHON_ASSUME_SAFE_MACROS
1065 #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
1066 #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
1067 #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
1068 #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GET_ITEM(o, i)
1069 #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
1070 #define __Pyx_PyList_GET_ITEM(o, i) PyList_GET_ITEM(o, i)
1072 #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
1073 #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
1074 #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
1075 #define __Pyx_PyTuple_GET_ITEM(o, i) PyTuple_GetItem(o, i)
1076 #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
1077 #define __Pyx_PyList_GET_ITEM(o, i) PyList_GetItem(o, i)
1079#if CYTHON_ASSUME_SAFE_SIZE
1080 #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
1081 #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
1082 #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
1083 #define __Pyx_PyDict_GET_SIZE(o) PyDict_GET_SIZE(o)
1084 #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
1085 #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
1086 #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GET_LENGTH(o)
1088 #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
1089 #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
1090 #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
1091 #define __Pyx_PyDict_GET_SIZE(o) PyDict_Size(o)
1092 #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
1093 #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
1094 #define __Pyx_PyUnicode_GET_LENGTH(o) PyUnicode_GetLength(o)
1096#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_InternFromString)
1097 #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
1099#define __Pyx_PyLong_FromHash_t PyLong_FromSsize_t
1100#define __Pyx_PyLong_AsHash_t __Pyx_PyIndex_AsSsize_t
1101#if __PYX_LIMITED_VERSION_HEX >= 0x030A0000
1102 #define __Pyx_PySendResult PySendResult
1108 } __Pyx_PySendResult;
1110#if CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX < 0x030A00A3
1111 typedef __Pyx_PySendResult (*__Pyx_pyiter_sendfunc)(PyObject *iter, PyObject *value, PyObject **result);
1113 #define __Pyx_pyiter_sendfunc sendfunc
1115#if !CYTHON_USE_AM_SEND
1116#define __PYX_HAS_PY_AM_SEND 0
1117#elif __PYX_LIMITED_VERSION_HEX >= 0x030A0000
1118#define __PYX_HAS_PY_AM_SEND 1
1120#define __PYX_HAS_PY_AM_SEND 2
1122#if __PYX_HAS_PY_AM_SEND < 2
1123 #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
1129 __Pyx_pyiter_sendfunc am_send;
1130 } __Pyx_PyAsyncMethodsStruct;
1131 #define __Pyx_SlotTpAsAsync(s) ((PyAsyncMethods*)(s))
1133#if CYTHON_USE_AM_SEND && PY_VERSION_HEX < 0x030A00F0
1134 #define __Pyx_TPFLAGS_HAVE_AM_SEND (1UL << 21)
1136 #define __Pyx_TPFLAGS_HAVE_AM_SEND (0)
1138#if CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030A0000
1142PyAPI_FUNC(
void *) PyMem_Calloc(
size_t nelem,
size_t elsize);
1144#if CYTHON_COMPILING_IN_LIMITED_API
1145static int __Pyx_init_co_variable(PyObject *inspect,
const char* name,
int *write_to) {
1147 PyObject *py_value = PyObject_GetAttrString(inspect, name);
1148 if (!py_value)
return 0;
1149 value = (int) PyLong_AsLong(py_value);
1150 Py_DECREF(py_value);
1152 return value != -1 || !PyErr_Occurred();
1154static int __Pyx_init_co_variables(
void) {
1157 inspect = PyImport_ImportModule(
"inspect");
1159#if !defined(CO_OPTIMIZED)
1160 __Pyx_init_co_variable(inspect,
"CO_OPTIMIZED", &CO_OPTIMIZED) &&
1162#if !defined(CO_NEWLOCALS)
1163 __Pyx_init_co_variable(inspect,
"CO_NEWLOCALS", &CO_NEWLOCALS) &&
1165#if !defined(CO_VARARGS)
1166 __Pyx_init_co_variable(inspect,
"CO_VARARGS", &CO_VARARGS) &&
1168#if !defined(CO_VARKEYWORDS)
1169 __Pyx_init_co_variable(inspect,
"CO_VARKEYWORDS", &CO_VARKEYWORDS) &&
1171#if !defined(CO_ASYNC_GENERATOR)
1172 __Pyx_init_co_variable(inspect,
"CO_ASYNC_GENERATOR", &CO_ASYNC_GENERATOR) &&
1174#if !defined(CO_GENERATOR)
1175 __Pyx_init_co_variable(inspect,
"CO_GENERATOR", &CO_GENERATOR) &&
1177#if !defined(CO_COROUTINE)
1178 __Pyx_init_co_variable(inspect,
"CO_COROUTINE", &CO_COROUTINE) &&
1182 return result ? 0 : -1;
1184static int __Pyx_init_tpflags_bitcount(
unsigned long flag) {
1187 count += (int) (flag & 1);
1192static int __Pyx_init_tpflags_variables(
void) {
1193 if (__Pyx_Runtime_TPFLAGS_SEQUENCE != 0 && __Pyx_Runtime_TPFLAGS_MAPPING != 0) {
1196 PyObject *collections_abc = PyImport_ImportModule(
"collections.abc");
1197 if (!collections_abc)
return -1;
1199 PyObject *sequence = NULL, *mapping = NULL;
1200#if __PYX_LIMITED_VERSION_HEX >= 0x030D0000
1201 if (PyObject_GetOptionalAttrString(collections_abc,
"Sequence", &sequence) != 1)
goto fail;
1202 if (PyObject_GetOptionalAttrString(collections_abc,
"Mapping", &mapping) != 1)
goto fail;
1204 sequence = PyObject_GetAttrString(collections_abc,
"Sequence");
1205 if (!sequence)
goto fail_attr_lookup;
1206 mapping = PyObject_GetAttrString(collections_abc,
"Mapping");
1207 if (!mapping)
goto fail_attr_lookup;
1209 if (!PyType_Check(sequence) || !PyType_Check(mapping))
goto fail;
1211 unsigned long sequence_flags = PyType_GetFlags((PyTypeObject*)sequence);
1212 unsigned long mapping_flags = PyType_GetFlags((PyTypeObject*)mapping);
1213 unsigned long mutual_flags = sequence_flags & mapping_flags;
1214 sequence_flags = sequence_flags ^ mutual_flags;
1215 mapping_flags = mapping_flags ^ mutual_flags;
1216 if (__Pyx_Runtime_TPFLAGS_SEQUENCE == 0 && __Pyx_init_tpflags_bitcount(sequence_flags) == 1) {
1217 __Pyx_Runtime_TPFLAGS_SEQUENCE = sequence_flags;
1219 if (__Pyx_Runtime_TPFLAGS_MAPPING == 0 && __Pyx_init_tpflags_bitcount(mapping_flags) == 1) {
1220 __Pyx_Runtime_TPFLAGS_MAPPING = mapping_flags;
1224 Py_XDECREF(mapping);
1225 Py_XDECREF(sequence);
1226 Py_DECREF(collections_abc);
1228#if __PYX_LIMITED_VERSION_HEX < 0x030D0000
1230 if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
1235 result = PyErr_Occurred() ? -1 : 0;
1239static int __Pyx_init_co_variables(
void) {
1242static int __Pyx_init_tpflags_variables(
void) {
1248#if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
1249 #ifndef _USE_MATH_DEFINES
1250 #define _USE_MATH_DEFINES
1254#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
1255#define __Pyx_truncl trunc
1257#define __Pyx_truncl truncl
1260#ifndef CYTHON_CLINE_IN_TRACEBACK_RUNTIME
1261#define CYTHON_CLINE_IN_TRACEBACK_RUNTIME 1
1263#ifndef CYTHON_CLINE_IN_TRACEBACK
1264#define CYTHON_CLINE_IN_TRACEBACK CYTHON_CLINE_IN_TRACEBACK_RUNTIME
1266#if CYTHON_CLINE_IN_TRACEBACK
1267#define __PYX_MARK_ERR_POS(f_index, lineno) { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; __pyx_clineno = __LINE__; (void) __pyx_clineno; }
1269#define __PYX_MARK_ERR_POS(f_index, lineno) { __pyx_filename = __pyx_f[f_index]; (void) __pyx_filename; __pyx_lineno = lineno; (void) __pyx_lineno; (void) __pyx_clineno; }
1271#define __PYX_ERR(f_index, lineno, Ln_error) \
1272 { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
1274#ifdef CYTHON_EXTERN_C
1275 #undef __PYX_EXTERN_C
1276 #define __PYX_EXTERN_C CYTHON_EXTERN_C
1277#elif defined(__PYX_EXTERN_C)
1279 #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
1281 #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
1284 #define __PYX_EXTERN_C extern "C++"
1287#define __PYX_HAVE__equivalent_polynomials
1288#define __PYX_HAVE_API__equivalent_polynomials
1296#include "numpy/arrayobject.h"
1297#include "numpy/ndarrayobject.h"
1298#include "numpy/ndarraytypes.h"
1299#include "numpy/arrayscalars.h"
1300#include "numpy/ufuncobject.h"
1301#include "pythread.h"
1303 typedef int (*__pyx_memoryview_to_dtype_func_type)(
char*, PyObject*);
1310#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
1311#define CYTHON_WITHOUT_ASSERTIONS
1314#ifdef CYTHON_FREETHREADING_COMPATIBLE
1315#if CYTHON_FREETHREADING_COMPATIBLE
1316#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_NOT_USED
1318#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_USED
1321#define __Pyx_FREETHREADING_COMPATIBLE Py_MOD_GIL_USED
1323#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
1324#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
1325#define __PYX_DEFAULT_STRING_ENCODING ""
1326#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
1327#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
1328#define __Pyx_uchar_cast(c) ((unsigned char)c)
1329#define __Pyx_long_cast(x) ((long)x)
1330#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
1331 (sizeof(type) < sizeof(Py_ssize_t)) ||\
1332 (sizeof(type) > sizeof(Py_ssize_t) &&\
1333 likely(v < (type)PY_SSIZE_T_MAX ||\
1334 v == (type)PY_SSIZE_T_MAX) &&\
1335 (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
1336 v == (type)PY_SSIZE_T_MIN))) ||\
1337 (sizeof(type) == sizeof(Py_ssize_t) &&\
1338 (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
1339 v == (type)PY_SSIZE_T_MAX))) )
1340static CYTHON_INLINE
int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
1341 return (
size_t) i < (size_t) limit;
1343#if defined (__cplusplus) && __cplusplus >= 201103L
1345 #define __Pyx_sst_abs(value) std::abs(value)
1346#elif SIZEOF_INT >= SIZEOF_SIZE_T
1347 #define __Pyx_sst_abs(value) abs(value)
1348#elif SIZEOF_LONG >= SIZEOF_SIZE_T
1349 #define __Pyx_sst_abs(value) labs(value)
1350#elif defined (_MSC_VER)
1351 #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
1352#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
1353 #define __Pyx_sst_abs(value) llabs(value)
1354#elif defined (__GNUC__)
1355 #define __Pyx_sst_abs(value) __builtin_llabs(value)
1357 #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
1359static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(
const char *
s);
1360static CYTHON_INLINE
const char* __Pyx_PyObject_AsString(PyObject*);
1361static CYTHON_INLINE
const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
1362static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(
const char*);
1363#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
1364#define __Pyx_PyBytes_FromString PyBytes_FromString
1365#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
1366static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(
const char*);
1367#if CYTHON_ASSUME_SAFE_MACROS
1368 #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
1369 #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
1370 #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
1371 #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
1372 #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
1373 #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
1374 #define __Pyx_PyByteArray_AsString(s) PyByteArray_AS_STRING(s)
1376 #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AsString(s))
1377 #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AsString(s))
1378 #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AsString(s))
1379 #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AsString(s))
1380 #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AsString(s))
1381 #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AsString(s))
1382 #define __Pyx_PyByteArray_AsString(s) PyByteArray_AsString(s)
1384#define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
1385#define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
1386#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
1387#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
1388#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
1389#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
1390#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
1391#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
1392#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
1393#define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o)
1394#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
1395static CYTHON_INLINE PyObject *__Pyx_NewRef(PyObject *obj) {
1396#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_NewRef)
1397 return Py_NewRef(obj);
1403static CYTHON_INLINE PyObject *__Pyx_XNewRef(PyObject *obj) {
1404#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030a0000 || defined(Py_XNewRef)
1405 return Py_XNewRef(obj);
1411static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(
int b);
1412static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(
long b);
1413static CYTHON_INLINE
int __Pyx_PyObject_IsTrue(PyObject*);
1414static CYTHON_INLINE
int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
1415static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x);
1416#define __Pyx_PyObject_RichCompareBool(a,b,cmp) __Pyx_PyObject_IsTrueAndDecref(PyObject_RichCompare((a),(b),(cmp)))
1417#define __Pyx_PySequence_Tuple(obj)\
1418 (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
1419static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
1420static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(
size_t);
1421static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
1422#if CYTHON_ASSUME_SAFE_MACROS
1423#define __Pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
1424#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AS_DOUBLE(x)
1425#define __Pyx_PyFloat_IsNonZero(x) (PyFloat_AS_DOUBLE(x) != 0.0)
1427#define __Pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
1428#define __Pyx_PyFloat_AS_DOUBLE(x) PyFloat_AsDouble(x)
1429#define __Pyx_PyFloat_IsNonZero(x) PyObject_IsTrue(x)
1431#define __Pyx_PyFloat_AsFloat(x) ((float) __Pyx_PyFloat_AsDouble(x))
1432#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
1433#if CYTHON_USE_PYLONG_INTERNALS
1434 #if PY_VERSION_HEX >= 0x030C00A7
1435 #ifndef _PyLong_SIGN_MASK
1436 #define _PyLong_SIGN_MASK 3
1438 #ifndef _PyLong_NON_SIZE_BITS
1439 #define _PyLong_NON_SIZE_BITS 3
1441 #define __Pyx_PyLong_SignBits(x) ((int) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK))
1442 #define __Pyx_PyLong_Sign(x) (1 - __Pyx_PyLong_SignBits(x))
1443 #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_SignBits(x) & 2) != 0)
1444 #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x))
1445 #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_SignBits(x) & 1)
1446 #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_SignBits(x) == 0)
1447 #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0])
1448 #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS))
1449 #define __Pyx_PyLong_SignedDigitCount(x)\
1450 (((Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
1451 #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
1452 #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x)
1453 #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x)
1455 #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
1456 #define __Pyx_PyLong_CompactValue(x) (((Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
1458 static CYTHON_INLINE Py_ssize_t __Pyx_PyLong_CompareSignAndSize(PyObject *a, PyObject *b) {
1459 uintptr_t tag_a = ((PyLongObject*)a)->long_value.lv_tag;
1460 uintptr_t tag_b = ((PyLongObject*)b)->long_value.lv_tag;
1461 if (tag_a == tag_b)
return 0;
1462 int sign_a = (int) (tag_a & _PyLong_SIGN_MASK);
1463 int sign_b = (int) (tag_b & _PyLong_SIGN_MASK);
1464 if (sign_a > sign_b)
return -1;
1465 if (sign_a < sign_b)
return 1;
1466 Py_ssize_t size_a = (Py_ssize_t) (tag_a >> _PyLong_NON_SIZE_BITS);
1467 Py_ssize_t size_b = (Py_ssize_t) (tag_b >> _PyLong_NON_SIZE_BITS);
1468 return (1 - sign_a) * (size_a - size_b);
1470 typedef Py_ssize_t __Pyx_compact_pylong;
1471 typedef size_t __Pyx_compact_upylong;
1473 #define __Pyx_PyLong_Sign(x) ((int) ((Py_SIZE(x) == 0) ? 0 : (Py_SIZE(x) < 0) ? -1 : 1))
1474 #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0)
1475 #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0)
1476 #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0)
1477 #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0)
1478 #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0])
1479 #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x))
1480 #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x)
1481 #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1)
1482 #define __Pyx_PyLong_CompactValue(x)\
1483 ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0]))
1484 #define __Pyx_PyLong_CompareSignAndSize(a, b) (Py_SIZE(a) - Py_SIZE(b))
1485 typedef sdigit __Pyx_compact_pylong;
1486 typedef digit __Pyx_compact_upylong;
1488 #if PY_VERSION_HEX >= 0x030C00A5
1489 #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit)
1491 #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit)
1493 #define __Pyx_PyLong_IsNonZero(x) (!__Pyx_PyLong_IsZero(x))
1495 #define __Pyx_PyLong_IsNonZero(x) PyObject_IsTrue(x)
1497#if __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
1498 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
1499#elif __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
1500 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeASCII(c_str, size, NULL)
1502 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
1507#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
1508 #define likely(x) __builtin_expect(!!(x), 1)
1509 #define unlikely(x) __builtin_expect(!!(x), 0)
1511 #define likely(x) (x)
1512 #define unlikely(x) (x)
1516#if __cplusplus > 201103L
1517#include <type_traits>
1519template <
typename T>
1520static void __Pyx_pretend_to_initialize(
T* ptr) {
1521#if __cplusplus > 201103L
1522 if ((std::is_trivially_default_constructible<T>::value))
1528static CYTHON_INLINE
void __Pyx_pretend_to_initialize(
void* ptr) { (void)ptr; }
1532#if !CYTHON_USE_MODULE_STATE
1533static PyObject *__pyx_m = NULL;
1535static const char *
const __pyx_cfilenm = __FILE__;
1538#if !defined(CYTHON_CCOMPLEX)
1539 #if defined(__cplusplus)
1540 #define CYTHON_CCOMPLEX 1
1541 #elif (defined(_Complex_I) && !defined(_MSC_VER)) || ((defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) && !defined(__STDC_NO_COMPLEX__) && !defined(_MSC_VER))
1542 #define CYTHON_CCOMPLEX 1
1544 #define CYTHON_CCOMPLEX 0
1551 #include <complex.h>
1554#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
1556 #define _Complex_I 1.0fj
1561static const char*
const __pyx_f[] = {
1562 "proteus/equivalent_polynomials.pyx",
1564 "../miniforge3/envs/proteus-jupyterhub/lib/python3.14/site-packages/numpy/__init__.cython-30.pxd",
1569#include <pythread.h>
1570#ifndef CYTHON_ATOMICS
1571 #define CYTHON_ATOMICS 1
1573#define __PYX_CYTHON_ATOMICS_ENABLED() CYTHON_ATOMICS
1574#define __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING() CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
1575#define __pyx_atomic_int_type int
1576#define __pyx_nonatomic_int_type int
1577#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
1578 (__STDC_VERSION__ >= 201112L) &&\
1579 !defined(__STDC_NO_ATOMICS__))
1580 #include <stdatomic.h>
1581#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
1582 (__cplusplus >= 201103L) ||\
1583 (defined(_MSC_VER) && _MSC_VER >= 1700)))
1586#if CYTHON_ATOMICS && (defined(__STDC_VERSION__) &&\
1587 (__STDC_VERSION__ >= 201112L) &&\
1588 !defined(__STDC_NO_ATOMICS__) &&\
1589 ATOMIC_INT_LOCK_FREE == 2)
1590 #undef __pyx_atomic_int_type
1591 #define __pyx_atomic_int_type atomic_int
1592 #define __pyx_atomic_ptr_type atomic_uintptr_t
1593 #define __pyx_nonatomic_ptr_type uintptr_t
1594 #define __pyx_atomic_incr_relaxed(value) atomic_fetch_add_explicit(value, 1, memory_order_relaxed)
1595 #define __pyx_atomic_incr_acq_rel(value) atomic_fetch_add_explicit(value, 1, memory_order_acq_rel)
1596 #define __pyx_atomic_decr_acq_rel(value) atomic_fetch_sub_explicit(value, 1, memory_order_acq_rel)
1597 #define __pyx_atomic_sub(value, arg) atomic_fetch_sub(value, arg)
1598 #define __pyx_atomic_int_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired)
1599 #define __pyx_atomic_load(value) atomic_load(value)
1600 #define __pyx_atomic_store(value, new_value) atomic_store(value, new_value)
1601 #define __pyx_atomic_pointer_load_relaxed(value) atomic_load_explicit(value, memory_order_relaxed)
1602 #define __pyx_atomic_pointer_load_acquire(value) atomic_load_explicit(value, memory_order_acquire)
1603 #define __pyx_atomic_pointer_exchange(value, new_value) atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value)
1604 #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) atomic_compare_exchange_strong(value, expected, desired)
1605 #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
1606 #pragma message ("Using standard C atomics")
1607 #elif defined(__PYX_DEBUG_ATOMICS)
1608 #warning "Using standard C atomics"
1610#elif CYTHON_ATOMICS && (defined(__cplusplus) && (\
1611 (__cplusplus >= 201103L) ||\
1613 (defined(_MSC_VER) && _MSC_VER >= 1700)) &&\
1614 ATOMIC_INT_LOCK_FREE == 2)
1615 #undef __pyx_atomic_int_type
1616 #define __pyx_atomic_int_type std::atomic_int
1617 #define __pyx_atomic_ptr_type std::atomic_uintptr_t
1618 #define __pyx_nonatomic_ptr_type uintptr_t
1619 #define __pyx_atomic_incr_relaxed(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_relaxed)
1620 #define __pyx_atomic_incr_acq_rel(value) std::atomic_fetch_add_explicit(value, 1, std::memory_order_acq_rel)
1621 #define __pyx_atomic_decr_acq_rel(value) std::atomic_fetch_sub_explicit(value, 1, std::memory_order_acq_rel)
1622 #define __pyx_atomic_sub(value, arg) std::atomic_fetch_sub(value, arg)
1623 #define __pyx_atomic_int_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired)
1624 #define __pyx_atomic_load(value) std::atomic_load(value)
1625 #define __pyx_atomic_store(value, new_value) std::atomic_store(value, new_value)
1626 #define __pyx_atomic_pointer_load_relaxed(value) std::atomic_load_explicit(value, std::memory_order_relaxed)
1627 #define __pyx_atomic_pointer_load_acquire(value) std::atomic_load_explicit(value, std::memory_order_acquire)
1628 #define __pyx_atomic_pointer_exchange(value, new_value) std::atomic_exchange(value, (__pyx_nonatomic_ptr_type)new_value)
1629 #define __pyx_atomic_pointer_cmp_exchange(value, expected, desired) std::atomic_compare_exchange_strong(value, expected, desired)
1630 #if defined(__PYX_DEBUG_ATOMICS) && defined(_MSC_VER)
1631 #pragma message ("Using standard C++ atomics")
1632 #elif defined(__PYX_DEBUG_ATOMICS)
1633 #warning "Using standard C++ atomics"
1635#elif CYTHON_ATOMICS && (__GNUC__ >= 5 || (__GNUC__ == 4 &&\
1636 (__GNUC_MINOR__ > 1 ||\
1637 (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ >= 2))))
1638 #define __pyx_atomic_ptr_type void*
1639 #define __pyx_nonatomic_ptr_type void*
1640 #define __pyx_atomic_incr_relaxed(value) __sync_fetch_and_add(value, 1)
1641 #define __pyx_atomic_incr_acq_rel(value) __sync_fetch_and_add(value, 1)
1642 #define __pyx_atomic_decr_acq_rel(value) __sync_fetch_and_sub(value, 1)
1643 #define __pyx_atomic_sub(value, arg) __sync_fetch_and_sub(value, arg)
1644 static CYTHON_INLINE
int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) {
1645 __pyx_nonatomic_int_type old = __sync_val_compare_and_swap(value, *expected, desired);
1646 int result = old == *expected;
1650 #define __pyx_atomic_load(value) __sync_fetch_and_add(value, 0)
1651 #define __pyx_atomic_store(value, new_value) __sync_lock_test_and_set(value, new_value)
1652 #define __pyx_atomic_pointer_load_relaxed(value) __sync_fetch_and_add(value, 0)
1653 #define __pyx_atomic_pointer_load_acquire(value) __sync_fetch_and_add(value, 0)
1654 #define __pyx_atomic_pointer_exchange(value, new_value) __sync_lock_test_and_set(value, (__pyx_atomic_ptr_type)new_value)
1655 static CYTHON_INLINE
int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) {
1656 __pyx_nonatomic_ptr_type old = __sync_val_compare_and_swap(value, *expected, desired);
1657 int result = old == *expected;
1661 #ifdef __PYX_DEBUG_ATOMICS
1662 #warning "Using GNU atomics"
1664#elif CYTHON_ATOMICS && defined(_MSC_VER)
1666 #undef __pyx_atomic_int_type
1667 #define __pyx_atomic_int_type long
1668 #define __pyx_atomic_ptr_type void*
1669 #undef __pyx_nonatomic_int_type
1670 #define __pyx_nonatomic_int_type long
1671 #define __pyx_nonatomic_ptr_type void*
1672 #pragma intrinsic (_InterlockedExchangeAdd, _InterlockedExchange, _InterlockedCompareExchange, _InterlockedCompareExchangePointer, _InterlockedExchangePointer)
1673 #define __pyx_atomic_incr_relaxed(value) _InterlockedExchangeAdd(value, 1)
1674 #define __pyx_atomic_incr_acq_rel(value) _InterlockedExchangeAdd(value, 1)
1675 #define __pyx_atomic_decr_acq_rel(value) _InterlockedExchangeAdd(value, -1)
1676 #define __pyx_atomic_sub(value, arg) _InterlockedExchangeAdd(value, -arg)
1677 static CYTHON_INLINE
int __pyx_atomic_int_cmp_exchange(__pyx_atomic_int_type* value, __pyx_nonatomic_int_type* expected, __pyx_nonatomic_int_type desired) {
1678 __pyx_nonatomic_int_type old = _InterlockedCompareExchange(value, desired, *expected);
1679 int result = old == *expected;
1683 #define __pyx_atomic_load(value) _InterlockedExchangeAdd(value, 0)
1684 #define __pyx_atomic_store(value, new_value) _InterlockedExchange(value, new_value)
1685 #define __pyx_atomic_pointer_load_relaxed(value) *(void * volatile *)value
1686 #define __pyx_atomic_pointer_load_acquire(value) _InterlockedCompareExchangePointer(value, 0, 0)
1687 #define __pyx_atomic_pointer_exchange(value, new_value) _InterlockedExchangePointer(value, (__pyx_atomic_ptr_type)new_value)
1688 static CYTHON_INLINE
int __pyx_atomic_pointer_cmp_exchange(__pyx_atomic_ptr_type* value, __pyx_nonatomic_ptr_type* expected, __pyx_nonatomic_ptr_type desired) {
1689 __pyx_atomic_ptr_type old = _InterlockedCompareExchangePointer(value, desired, *expected);
1690 int result = old == *expected;
1694 #ifdef __PYX_DEBUG_ATOMICS
1695 #pragma message ("Using MSVC atomics")
1698 #undef CYTHON_ATOMICS
1699 #define CYTHON_ATOMICS 0
1700 #ifdef __PYX_DEBUG_ATOMICS
1701 #warning "Not using atomics"
1706#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
1707#define __Pyx_PyCriticalSection void*
1708#define __Pyx_PyCriticalSection2 void*
1709#define __Pyx_PyCriticalSection_End(cs)
1710#define __Pyx_PyCriticalSection2_End(cs)
1712#define __Pyx_PyCriticalSection PyCriticalSection
1713#define __Pyx_PyCriticalSection2 PyCriticalSection2
1714#define __Pyx_PyCriticalSection_End PyCriticalSection_End
1715#define __Pyx_PyCriticalSection2_End PyCriticalSection2_End
1719#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
1720#define __Pyx_PyCriticalSection_Begin(cs, arg) (void)(cs)
1721#define __Pyx_PyCriticalSection2_Begin(cs, arg1, arg2) (void)(cs)
1723#define __Pyx_PyCriticalSection_Begin PyCriticalSection_Begin
1724#define __Pyx_PyCriticalSection2_Begin PyCriticalSection2_Begin
1726#if PY_VERSION_HEX < 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API
1727#define __Pyx_BEGIN_CRITICAL_SECTION(o) {
1728#define __Pyx_END_CRITICAL_SECTION() }
1730#define __Pyx_BEGIN_CRITICAL_SECTION Py_BEGIN_CRITICAL_SECTION
1731#define __Pyx_END_CRITICAL_SECTION Py_END_CRITICAL_SECTION
1735#ifndef __PYX_FORCE_INIT_THREADS
1736 #define __PYX_FORCE_INIT_THREADS 0
1740#define __Pyx_PyGILState_Ensure PyGILState_Ensure
1741#define __Pyx_PyGILState_Release PyGILState_Release
1742#define __Pyx_FastGIL_Remember()
1743#define __Pyx_FastGIL_Forget()
1744#define __Pyx_FastGilFuncInit()
1747#include <structmember.h>
1750struct __Pyx_StructField_;
1751#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
1754 const struct __Pyx_StructField_* fields;
1756 size_t arraysize[8];
1762typedef struct __Pyx_StructField_ {
1763 const __Pyx_TypeInfo* type;
1768 const __Pyx_StructField* field;
1769 size_t parent_offset;
1770} __Pyx_BufFmt_StackElem;
1772 __Pyx_StructField root;
1773 __Pyx_BufFmt_StackElem* head;
1775 size_t new_count, enc_count;
1776 size_t struct_alignment;
1781 char is_valid_array;
1782} __Pyx_BufFmt_Context;
1785struct __pyx_memoryview_obj;
1787 struct __pyx_memoryview_obj *memview;
1789 Py_ssize_t shape[8];
1790 Py_ssize_t strides[8];
1791 Py_ssize_t suboffsets[8];
1792} __Pyx_memviewslice;
1793#define __Pyx_MemoryView_Len(m) (m.shape[0])
1794#define __Pyx_MEMVIEW_DIRECT 1
1795#define __Pyx_MEMVIEW_PTR 2
1796#define __Pyx_MEMVIEW_FULL 4
1797#define __Pyx_MEMVIEW_CONTIG 8
1798#define __Pyx_MEMVIEW_STRIDED 16
1799#define __Pyx_MEMVIEW_FOLLOW 32
1800#define __Pyx_IS_C_CONTIG 1
1801#define __Pyx_IS_F_CONTIG 2
1802#define __Pyx_MEMSLICE_INIT { 0, 0, { 0 }, { 0 }, { 0 } }
1804 #define __pyx_add_acquisition_count(memview)\
1805 __pyx_atomic_incr_relaxed(__pyx_get_slice_count_pointer(memview))
1806 #define __pyx_sub_acquisition_count(memview)\
1807 __pyx_atomic_decr_acq_rel(__pyx_get_slice_count_pointer(memview))
1809 #define __pyx_add_acquisition_count(memview)\
1810 __pyx_add_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
1811 #define __pyx_sub_acquisition_count(memview)\
1812 __pyx_sub_acquisition_count_locked(__pyx_get_slice_count_pointer(memview), memview->lock)
1824typedef npy_int8 __pyx_t_5numpy_int8_t;
1833typedef npy_int16 __pyx_t_5numpy_int16_t;
1842typedef npy_int32 __pyx_t_5numpy_int32_t;
1851typedef npy_int64 __pyx_t_5numpy_int64_t;
1860typedef npy_uint8 __pyx_t_5numpy_uint8_t;
1869typedef npy_uint16 __pyx_t_5numpy_uint16_t;
1878typedef npy_uint32 __pyx_t_5numpy_uint32_t;
1887typedef npy_uint64 __pyx_t_5numpy_uint64_t;
1896typedef npy_float32 __pyx_t_5numpy_float32_t;
1905typedef npy_float64 __pyx_t_5numpy_float64_t;
1914typedef npy_longlong __pyx_t_5numpy_longlong_t;
1923typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
1932typedef npy_intp __pyx_t_5numpy_intp_t;
1941typedef npy_uintp __pyx_t_5numpy_uintp_t;
1950typedef npy_double __pyx_t_5numpy_float_t;
1959typedef npy_double __pyx_t_5numpy_double_t;
1968typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
1971#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
1973 typedef ::std::complex< float > __pyx_t_float_complex;
1975 typedef float _Complex __pyx_t_float_complex;
1978 typedef struct {
float real, imag; } __pyx_t_float_complex;
1980static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(
float,
float);
1983#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
1985 typedef ::std::complex< double > __pyx_t_double_complex;
1987 typedef double _Complex __pyx_t_double_complex;
1990 typedef struct {
double real, imag; } __pyx_t_double_complex;
1992static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(
double,
double);
1995#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
1997 typedef ::std::complex< long double > __pyx_t_long_double_complex;
1999 typedef long double _Complex __pyx_t_long_double_complex;
2002 typedef struct {
long double real, imag; } __pyx_t_long_double_complex;
2004static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(
long double,
long double);
2009struct __pyx_obj_22equivalent_polynomials_Simplex;
2010struct __pyx_array_obj;
2011struct __pyx_MemviewEnum_obj;
2012struct __pyx_memoryview_obj;
2013struct __pyx_memoryviewslice_obj;
2022struct __pyx_obj_22equivalent_polynomials_Simplex {
2024 PyArrayObject *xiBuffer;
2034 PyArrayObject *_ImH;
2036 equivalent_polynomials::Simplex<1,2,1,50,50> s11;
2037 equivalent_polynomials::Simplex<1,2,2,50,50> s12;
2038 equivalent_polynomials::Simplex<1,2,3,50,50> s13;
2039 equivalent_polynomials::Simplex<2,3,1,50,50> s21;
2040 equivalent_polynomials::Simplex<2,3,2,50,50> s22;
2041 equivalent_polynomials::Simplex<2,3,3,50,50> s23;
2042 equivalent_polynomials::Simplex<3,4,1,50,50> s31;
2043 equivalent_polynomials::Simplex<3,4,2,50,50> s32;
2044 equivalent_polynomials::Simplex<3,4,3,50,50> s33;
2055struct __pyx_array_obj {
2057 struct __pyx_vtabstruct_array *__pyx_vtab;
2063 Py_ssize_t *_strides;
2064 Py_ssize_t itemsize;
2067 void (*callback_free_data)(
void *);
2069 int dtype_is_object;
2080struct __pyx_MemviewEnum_obj {
2093struct __pyx_memoryview_obj {
2095 struct __pyx_vtabstruct_memoryview *__pyx_vtab;
2099 PyThread_type_lock lock;
2100 __pyx_atomic_int_type acquisition_count;
2103 int dtype_is_object;
2104 __Pyx_TypeInfo
const *typeinfo;
2115struct __pyx_memoryviewslice_obj {
2116 struct __pyx_memoryview_obj __pyx_base;
2117 __Pyx_memviewslice from_slice;
2118 PyObject *from_object;
2119 PyObject *(*to_object_func)(
char *);
2120 __pyx_memoryview_to_dtype_func_type to_dtype_func;
2133struct __pyx_vtabstruct_array {
2134 PyObject *(*get_memview)(
struct __pyx_array_obj *);
2136static struct __pyx_vtabstruct_array *__pyx_vtabptr_array;
2147struct __pyx_vtabstruct_memoryview {
2148 char *(*get_item_pointer)(
struct __pyx_memoryview_obj *, PyObject *);
2149 PyObject *(*is_slice)(
struct __pyx_memoryview_obj *, PyObject *);
2150 PyObject *(*setitem_slice_assignment)(
struct __pyx_memoryview_obj *, PyObject *, PyObject *);
2151 PyObject *(*setitem_slice_assign_scalar)(
struct __pyx_memoryview_obj *,
struct __pyx_memoryview_obj *, PyObject *);
2152 PyObject *(*setitem_indexed)(
struct __pyx_memoryview_obj *, PyObject *, PyObject *);
2153 PyObject *(*setitem_indexed1)(
struct __pyx_memoryview_obj *, PyObject *, PyObject *);
2154 PyObject *(*convert_item_to_object)(
struct __pyx_memoryview_obj *,
char *);
2155 PyObject *(*assign_item_from_object)(
struct __pyx_memoryview_obj *,
char *, PyObject *);
2156 PyObject *(*_get_base)(
struct __pyx_memoryview_obj *);
2158static struct __pyx_vtabstruct_memoryview *__pyx_vtabptr_memoryview;
2169struct __pyx_vtabstruct__memoryviewslice {
2170 struct __pyx_vtabstruct_memoryview __pyx_base;
2172static struct __pyx_vtabstruct__memoryviewslice *__pyx_vtabptr__memoryviewslice;
2177#ifndef CYTHON_REFNANNY
2178 #define CYTHON_REFNANNY 0
2182 void (*INCREF)(
void*, PyObject*, Py_ssize_t);
2183 void (*DECREF)(
void*, PyObject*, Py_ssize_t);
2184 void (*GOTREF)(
void*, PyObject*, Py_ssize_t);
2185 void (*GIVEREF)(
void*, PyObject*, Py_ssize_t);
2186 void* (*SetupContext)(
const char*, Py_ssize_t,
const char*);
2187 void (*FinishContext)(
void**);
2188 } __Pyx_RefNannyAPIStruct;
2189 static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
2190 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(
const char *modname);
2191 #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
2192 #define __Pyx_RefNannySetupContext(name, acquire_gil)\
2194 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
2195 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
2196 PyGILState_Release(__pyx_gilstate_save);\
2198 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
2200 #define __Pyx_RefNannyFinishContextNogil() {\
2201 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
2202 __Pyx_RefNannyFinishContext();\
2203 PyGILState_Release(__pyx_gilstate_save);\
2205 #define __Pyx_RefNannyFinishContextNogil() {\
2206 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
2207 __Pyx_RefNannyFinishContext();\
2208 PyGILState_Release(__pyx_gilstate_save);\
2210 #define __Pyx_RefNannyFinishContext()\
2211 __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
2212 #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
2213 #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
2214 #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
2215 #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
2216 #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
2217 #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
2218 #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
2219 #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
2221 #define __Pyx_RefNannyDeclarations
2222 #define __Pyx_RefNannySetupContext(name, acquire_gil)
2223 #define __Pyx_RefNannyFinishContextNogil()
2224 #define __Pyx_RefNannyFinishContext()
2225 #define __Pyx_INCREF(r) Py_INCREF(r)
2226 #define __Pyx_DECREF(r) Py_DECREF(r)
2227 #define __Pyx_GOTREF(r)
2228 #define __Pyx_GIVEREF(r)
2229 #define __Pyx_XINCREF(r) Py_XINCREF(r)
2230 #define __Pyx_XDECREF(r) Py_XDECREF(r)
2231 #define __Pyx_XGOTREF(r)
2232 #define __Pyx_XGIVEREF(r)
2234#define __Pyx_Py_XDECREF_SET(r, v) do {\
2235 PyObject *tmp = (PyObject *) r;\
2236 r = v; Py_XDECREF(tmp);\
2238#define __Pyx_XDECREF_SET(r, v) do {\
2239 PyObject *tmp = (PyObject *) r;\
2240 r = v; __Pyx_XDECREF(tmp);\
2242#define __Pyx_DECREF_SET(r, v) do {\
2243 PyObject *tmp = (PyObject *) r;\
2244 r = v; __Pyx_DECREF(tmp);\
2246#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
2247#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
2250#if CYTHON_COMPILING_IN_CPYTHON
2251static CYTHON_INLINE
void __Pyx_copy_object_array(PyObject *
const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length);
2255#if PY_VERSION_HEX >= 0x030F0000 && !CYTHON_COMPILING_IN_LIMITED_API
2256#define __Pyx_PyTuple_FromArray(src, n) PyTuple_FromArray(src, ((n)<0) ? 0 : (n))
2258CYTHON_UNUSED
static PyObject *
2259__Pyx_PyTuple_FromArray(PyObject *
const *src, Py_ssize_t
n);
2269static CYTHON_INLINE
int __Pyx_PyObject_CompareBoolEq_str_str(PyObject *op1, PyObject *op2,
int pyop);
2272#define __Pyx_PyUnicode_Equals(s1, s2) __Pyx_PyObject_CompareBoolEq_str_str(s1, s2, Py_EQ)
2275#if CYTHON_AVOID_BORROWED_REFS
2276 #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_PySequence_ITEM(args, i)
2277#elif CYTHON_ASSUME_SAFE_MACROS
2278 #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_NewRef(__Pyx_PyTuple_GET_ITEM(args, i))
2280 #define __Pyx_ArgRef_VARARGS(args, i) __Pyx_XNewRef(PyTuple_GetItem(args, i))
2282#define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
2283#define __Pyx_KwValues_VARARGS(args, nargs) NULL
2284#define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
2285#define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw)
2286#if CYTHON_VECTORCALL
2287 #define __Pyx_ArgRef_FASTCALL(args, i) __Pyx_NewRef(args[i])
2288 #define __Pyx_NumKwargs_FASTCALL(kwds) __Pyx_PyTuple_GET_SIZE(kwds)
2289 #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
2290 static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *
const *kwvalues, PyObject *
s);
2291 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL
2292 CYTHON_UNUSED
static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *
const *kwvalues);
2294 #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
2297 #define __Pyx_ArgRef_FASTCALL __Pyx_ArgRef_VARARGS
2298 #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
2299 #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
2300 #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
2301 #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
2303#if CYTHON_VECTORCALL_TPNEW
2304 #if !CYTHON_VECTORCALL
2305 #error Enabling CYTHON_VECTORCALL_TPNEW without CYTHON_VECTORCALL is not supported
2307 #define __Pyx_ArgRef_FASTCALL_TPNEW __Pyx_ArgRef_FASTCALL
2308 #define __Pyx_NumKwargs_FASTCALL_TPNEW __Pyx_NumKwargs_FASTCALL
2309 #define __Pyx_KwValues_FASTCALL_TPNEW __Pyx_KwValues_FASTCALL
2310 #define __Pyx_GetKwValue_FASTCALL_TPNEW __Pyx_GetKwValue_FASTCALL
2311 #define __Pyx_KwargsAsDict_FASTCALL_TPNEW __Pyx_KwargsAsDict_FASTCALL
2313 #define __Pyx_ArgRef_FASTCALL_TPNEW __Pyx_ArgRef_VARARGS
2314 #define __Pyx_NumKwargs_FASTCALL_TPNEW __Pyx_NumKwargs_VARARGS
2315 #define __Pyx_KwValues_FASTCALL_TPNEW __Pyx_KwValues_VARARGS
2316 #define __Pyx_GetKwValue_FASTCALL_TPNEW __Pyx_GetKwValue_VARARGS
2317 #define __Pyx_KwargsAsDict_FASTCALL_TPNEW __Pyx_KwargsAsDict_VARARGS
2319#define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
2320#if CYTHON_VECTORCALL
2321#define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(args + start, stop - start)
2323#define __Pyx_ArgsSlice_FASTCALL __Pyx_ArgsSlice_VARARGS
2327#define __Pyx_PyDict_items_TypePtr (&PyDictKeys_Type)
2328#define __Pyx_PyDict_items_Check(obj) PyObject_TypeCheck((obj), __Pyx_PyDictItems_TypePtr)
2329#define __Pyx_PyDict_items_CheckExact(obj) Py_IS_TYPE((obj), __Pyx_PyDictItems_TypePtr)
2330static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d);
2333#define __Pyx_CallCFunction(cfunc, self, args)\
2334 ((PyCFunction)(void(*)(void))(cfunc)->func)(self, args)
2335#define __Pyx_CallCFunctionWithKeywords(cfunc, self, args, kwargs)\
2336 ((PyCFunctionWithKeywords)(void(*)(void))(cfunc)->func)(self, args, kwargs)
2337#define __Pyx_CallCFunctionFast(cfunc, self, args, nargs)\
2338 ((__Pyx_PyCFunctionFast)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs)
2339#define __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, nargs, kwnames)\
2340 ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))(PyCFunction)(cfunc)->func)(self, args, nargs, kwnames)
2343#if CYTHON_COMPILING_IN_CPYTHON
2344static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
2346#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
2350#if CYTHON_COMPILING_IN_CPYTHON
2351static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
2355#define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL)
2356static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject *
const*args,
size_t nargsf, PyObject *kwargs);
2359static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
2364 PyObject **method_name;
2368#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && CYTHON_ATOMICS
2369 __pyx_atomic_int_type initialized;
2371} __Pyx_CachedCFunction;
2374static CYTHON_INLINE
int __Pyx_IgnoreGivenException(PyObject *given_exception, PyObject *ignorable_exception);
2375#define __Pyx_IgnoreException(ignorable_exception) __Pyx_IgnoreGivenException(NULL, ignorable_exception)
2378#if CYTHON_COMPILING_IN_CPYTHON
2379#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
2380#define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
2381static CYTHON_INLINE
int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
2382static CYTHON_INLINE
int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
2383#define __Pyx_PyAnySet_Check(obj) __Pyx_TypeCheck2(obj, &PySet_Type, &PyFrozenSet_Type)
2385#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
2386#define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
2387#define __Pyx_PyAnySet_Check(obj) PyAnySet_Check(obj)
2391#if CYTHON_USE_TYPE_SLOTS
2392static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
2394#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
2398static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target);
2401#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
2402static CYTHON_INLINE
int __Pyx_CachedCFunction_GetAndSetInitializing(__Pyx_CachedCFunction *cfunc) {
2406 __pyx_nonatomic_int_type expected = 0;
2407 if (__pyx_atomic_int_cmp_exchange(&cfunc->initialized, &expected, 1)) {
2413static CYTHON_INLINE
void __Pyx_CachedCFunction_SetFinishedInitializing(__Pyx_CachedCFunction *cfunc) {
2415 __pyx_atomic_store(&cfunc->initialized, 2);
2419#define __Pyx_CachedCFunction_GetAndSetInitializing(cfunc) 2
2420#define __Pyx_CachedCFunction_SetFinishedInitializing(cfunc)
2425static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
2426#if CYTHON_COMPILING_IN_CPYTHON
2427static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
2429#define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self)
2433#define __Pyx_PyDict_values_TypePtr (&PyDictKeys_Type)
2434#define __Pyx_PyDict_values_Check(obj) PyObject_TypeCheck((obj), __Pyx_PyDictValues_TypePtr)
2435#define __Pyx_PyDict_values_CheckExact(obj) Py_IS_TYPE((obj), __Pyx_PyDictValues_TypePtr)
2436static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d);
2439#if CYTHON_AVOID_BORROWED_REFS
2440static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue);
2443static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue);
2447static void __Pyx_RaiseDoubleKeywordsError(
const char* func_name, PyObject* kw_name);
2450static int __Pyx_ParseKeywordsTuple(
2452 PyObject *
const *kwvalues,
2453 PyObject **
const argnames[],
2456 Py_ssize_t num_pos_args,
2457 Py_ssize_t num_kwargs,
2458 const char* function_name,
2459 int ignore_unknown_kwargs
2461static int __Pyx_ParseKeywordDictToDict(
2463 PyObject **
const argnames[],
2466 Py_ssize_t num_pos_args,
2467 const char* function_name
2469static int __Pyx_ParseKeywordDict(
2471 PyObject **
const argnames[],
2473 Py_ssize_t num_pos_args,
2474 Py_ssize_t num_kwargs,
2475 const char* function_name,
2476 int ignore_unknown_kwargs
2481static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2);
2482#if CYTHON_COMPILING_IN_CPYTHON
2483static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2);
2485#define __Pyx_CallUnboundCMethod2(cfunc, self, arg1, arg2) __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2)
2489static CYTHON_INLINE
int __Pyx_ParseKeywords(
2490 PyObject *kwds, PyObject *
const *kwvalues, PyObject **
const argnames[],
2491 PyObject *kwds2, PyObject *values[],
2492 Py_ssize_t num_pos_args, Py_ssize_t num_kwargs,
2493 const char* function_name,
2494 int ignore_unknown_kwargs
2498static void __Pyx_RaiseArgtupleInvalid(
const char* func_name,
int exact,
2499 Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
2502static void __Pyx_ArgTypeError(PyObject *obj, PyTypeObject *type,
const char *name,
int exact);
2505static CYTHON_INLINE
int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type,
int none_allowed,
const char *name,
int exact);
2508#if CYTHON_FAST_THREAD_STATE
2509#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
2510#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
2511#if PY_VERSION_HEX >= 0x030C00A6
2512#define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL)
2513#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL)
2515#define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL)
2516#define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type)
2519#define __Pyx_PyThreadState_declare
2520#define __Pyx_PyThreadState_assign
2521#define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL)
2522#define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred()
2526#if CYTHON_FAST_THREAD_STATE
2527#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
2528#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
2529#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
2530#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
2531#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
2532static CYTHON_INLINE
void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
2533static CYTHON_INLINE
void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2534#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6
2535#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
2537#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
2540#define __Pyx_PyErr_Clear() PyErr_Clear()
2541#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
2542#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
2543#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
2544#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
2545#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
2546#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
2547#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
2551#if CYTHON_COMPILING_IN_CPYTHON
2552static CYTHON_INLINE
int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
2553static CYTHON_INLINE
int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
2555#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
2556static CYTHON_INLINE
int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2) {
2557 return PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2);
2560#define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
2563#if CYTHON_FAST_THREAD_STATE
2564#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
2565static CYTHON_INLINE
int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
2567#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
2571static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);
2574static PyObject *__Pyx_GetBuiltinName(PyObject *name);
2577#if CYTHON_VECTORCALL
2578#define __Pyx_PyObject_FastCallMethod(name, args, nargsf) PyObject_VectorcallMethod(name, args, nargsf, NULL)
2580static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *
const *args,
size_t nargsf);
2584#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX >= 0x030d0000
2585typedef PyObject *__Pyx_TypeName;
2586#define __Pyx_FMT_TYPENAME "%N"
2587#define __Pyx_PyType_GetFullyQualifiedName(tp) Py_NewRef((PyObject*)tp)
2588#define __Pyx_DECREF_TypeName(obj) Py_DECREF(obj)
2589#elif CYTHON_COMPILING_IN_LIMITED_API
2590typedef PyObject *__Pyx_TypeName;
2591#define __Pyx_FMT_TYPENAME "%U"
2592#define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
2593static __Pyx_TypeName __Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp);
2595typedef const char *__Pyx_TypeName;
2596#define __Pyx_FMT_TYPENAME "%.200s"
2597#define __Pyx_PyType_GetFullyQualifiedName(tp) ((tp)->tp_name)
2598#define __Pyx_DECREF_TypeName(obj)
2602#define __Pyx_RaiseTypeErrorWithObjectType1(message, arg, obj) __Pyx_RaiseErrorWithObjectType1(PyExc_TypeError, message, arg, obj)
2603#define __Pyx_RaiseErrorWithObjectType1(exc_type, message, arg, obj) __Pyx_RaiseErrorWithType1(exc_type, message, arg, Py_TYPE(obj))
2605static void __Pyx_RaiseErrorWithType1(PyObject* exc_type,
const char* message,
const char *arg, PyTypeObject *type_obj);
2609static int __Pyx_RaiseUnexpectedTypeError(
const char *expected, PyObject *obj);
2612#define __Pyx_PyExc_MemoryError_Check(obj) __Pyx_TypeCheck(obj, PyExc_MemoryError)
2615static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
2618#define __Pyx_PyExc_ValueError_Check(obj) __Pyx_TypeCheck(obj, PyExc_ValueError)
2621static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength,
const char* chars,
int clength,
2622 int prepend_sign,
char padding_char);
2625static CYTHON_INLINE
int __Pyx_CheckUnicodeValue(
int value);
2626static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromOrdinal_Padded(
int value, Py_ssize_t width,
char padding_char);
2629#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
2630#define __Pyx_HAS_GCC_DIAGNOSTIC
2637#define __Pyx_PyUnicode_From_int(value, width, padding_char, format_char) (\
2638 ((format_char) == ('c')) ?\
2639 __Pyx_uchar___Pyx_PyUnicode_From_int(value, width, padding_char) :\
2640 __Pyx____Pyx_PyUnicode_From_int(value, width, padding_char, format_char)\
2642static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_int(
int value, Py_ssize_t width,
char padding_char);
2643static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_int(
int value, Py_ssize_t width,
char padding_char,
char format_char);
2646#define __Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char, format_char) (\
2647 ((format_char) == ('c')) ?\
2648 __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char) :\
2649 __Pyx____Pyx_PyUnicode_From_Py_ssize_t(value, width, padding_char, format_char)\
2651static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width,
char padding_char);
2652static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width,
char padding_char,
char format_char);
2655#define __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH\
2656 (!CYTHON_COMPILING_IN_GRAAL && !CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API)
2659static PyObject* __Pyx_PyUnicode_Join(PyObject** values, Py_ssize_t value_count, Py_ssize_t result_ulength,
int kind);
2662#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL
2663#define __Pyx_PyObject_Equals_uchar(s1, s2, ch2, equals, s1_is_str) (\
2664 ((s1) == (s2)) ? ((equals) == Py_EQ) :\
2665 ((s1) == Py_None) ? ((equals) == Py_NE) :\
2666 __Pyx_PyObject_RichCompareBool(s1, s2, equals)\
2669#define __Pyx_PyObject_Equals_uchar(s1, s2, ch2, equals, s1_is_str) (\
2670 ((s1) == (s2)) ? ((equals) == Py_EQ) :\
2671 ((s1) == Py_None) ? ((equals) == Py_NE) :\
2672 (likely((s1_is_str) || PyUnicode_CheckExact(s1)) ?\
2673 __Pyx__PyUnicode_EqualsUCS4(s1, ch2, equals) :\
2674 __Pyx_PyObject_RichCompareBool(s1, s2, equals)\
2676static CYTHON_INLINE
int __Pyx__PyUnicode_EqualsUCS4(PyObject* s1, Py_UCS4 ch2,
int equals);
2680#define __Pyx_PyObject_Equals_obj_ch99(s1, s2, equals) __Pyx_PyObject_Equals_uchar(s1, s2, 99, equals, 0)
2683static CYTHON_INLINE
int __Pyx_PyObject_CompareBoolEq_object_str(PyObject *op1, PyObject *op2,
int pyop);
2686#if CYTHON_COMPILING_IN_PYPY
2687 #define __Pyx_PyObject_FormatSimple(s, f) (\
2688 likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
2689 PyObject_Format(s, f))
2690#elif CYTHON_USE_TYPE_SLOTS
2691 #define __Pyx_PyObject_FormatSimple(s, f) (\
2692 likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
2693 likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_repr(s) :\
2694 likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_repr(s) :\
2695 PyObject_Format(s, f))
2697 #define __Pyx_PyObject_FormatSimple(s, f) (\
2698 likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
2699 PyObject_Format(s, f))
2703static CYTHON_INLINE PyObject* __Pyx_PyObject_CompareEq_object_bytes(PyObject *op1, PyObject *op2,
int pyop);
2705CYTHON_UNUSED
static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
2707#define __Pyx_PyObject_Equals_str_ch99(s1, s2, equals) __Pyx_PyObject_Equals_uchar(s1, s2, 99, equals, 1)
2709static PyObject *__pyx_array_get_memview(
struct __pyx_array_obj *);
2711static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
2714#if CYTHON_COMPILING_IN_LIMITED_API
2715#define __Pyx_PyFrozenDict_TypePtr ((PyTypeObject*) __pyx_mstate_global->__Pyx_PyFrozenDictType)
2716#define __Pyx_PyFrozenDict_New(it) __Pyx__PyFrozenDict_New(__pyx_mstate_global->__Pyx_PyFrozenDictType, it)
2717static CYTHON_INLINE PyObject* __Pyx__PyFrozenDict_New(PyObject* frozendict_type, PyObject* it);
2718#define __Pyx_PyFrozenDict_NewEmpty() __Pyx_PyFrozenDict_New(NULL)
2719#define __Pyx_PyFrozenDict_Check(obj) PyObject_TypeCheck((obj), __Pyx_PyFrozenDict_TypePtr)
2720#define __Pyx_PyFrozenDict_CheckExact(obj) Py_IS_TYPE((obj), __Pyx_PyFrozenDict_TypePtr)
2721#define __Pyx_PyAnyDict_Check(obj) __Pyx__PyAnyDict_Check(obj, __Pyx_PyFrozenDict_TypePtr)
2722static CYTHON_INLINE
int __Pyx__PyAnyDict_Check(PyObject *obj, PyTypeObject* frozendict_type) {
2723 return PyObject_TypeCheck(obj, &PyDict_Type) || PyObject_TypeCheck(obj, frozendict_type);
2725#define __Pyx_PyAnyDict_CheckExact(obj) __Pyx__PyAnyDict_CheckExact(obj, __Pyx_PyFrozenDict_TypePtr)
2726static CYTHON_INLINE
int __Pyx__PyAnyDict_CheckExact(PyObject *obj, PyTypeObject* frozendict_type) {
2727 return Py_IS_TYPE(obj, &PyDict_Type) || Py_IS_TYPE(obj, frozendict_type);
2729#elif PY_VERSION_HEX >= 0x030f00a6 ||\
2730 (defined(PyFrozenDict_Check) && defined(PyAnyDict_Check) && defined(PyFrozenDict_New))
2731#define __Pyx_PyFrozenDict_TypePtr (&PyFrozenDict_Type)
2732#define __Pyx_PyFrozenDict_New(it) PyFrozenDict_New(it)
2733#define __Pyx_PyFrozenDict_NewEmpty() PyFrozenDict_New(NULL)
2734#define __Pyx_PyFrozenDict_Check(obj) PyFrozenDict_Check(obj)
2735#define __Pyx_PyFrozenDict_CheckExact(obj) PyFrozenDict_CheckExact(obj)
2736#define __Pyx_PyAnyDict_Check(obj) PyAnyDict_Check(obj)
2737#define __Pyx_PyAnyDict_CheckExact(obj) PyAnyDict_CheckExact(obj)
2739#define __Pyx_PyFrozenDict_TypePtr (&PyDict_Type)
2740static CYTHON_INLINE PyObject* __Pyx_PyFrozenDict_New(PyObject* it) {
2742 return PyDict_New();
2743 }
else if (PyDict_Check(it)) {
2744 return PyDict_Copy(it);
2746 PyObject *dict = PyDict_New();
2747 if (!dict)
return NULL;
2748 PyObject *result = PyNumber_InPlaceOr(dict, it);
2753#define __Pyx_PyFrozenDict_NewEmpty() PyDict_New()
2754#define __Pyx_PyFrozenDict_Check(obj) PyDict_Check(obj)
2755#define __Pyx_PyFrozenDict_CheckExact(obj) PyDict_CheckExact(obj)
2756#define __Pyx_PyAnyDict_Check(obj) PyDict_Check(obj)
2757#define __Pyx_PyAnyDict_CheckExact(obj) PyDict_CheckExact(obj)
2761#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, wraparound, boundscheck, has_gil, unsafe_shared)\
2762 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2763 __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
2764 __Pyx_GetItemInt_Generic(o, to_py_func(i)))
2765#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, wraparound, boundscheck, has_gil, unsafe_shared)\
2766 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2767 __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
2768 (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
2769static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
2770 int wraparound,
int boundscheck,
int unsafe_shared);
2771#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, wraparound, boundscheck, has_gil, unsafe_shared)\
2772 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2773 __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck, unsafe_shared) :\
2774 (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
2775static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
2776 int wraparound,
int boundscheck,
int unsafe_shared);
2777static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
2778static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
2779 int wraparound,
int boundscheck,
int unsafe_shared);
2782#define __Pyx_RaiseTypeErrorWithObjectType(message, obj) __Pyx_RaiseErrorWithObjectType(PyExc_TypeError, message, obj)
2783#define __Pyx_RaiseErrorWithObjectType(exc_type, message, obj) __Pyx_RaiseErrorWithType(exc_type, message, Py_TYPE(obj))
2785static void __Pyx_RaiseErrorWithType(PyObject* exc_type,
const char* message, PyTypeObject *type_obj);
2788#if CYTHON_USE_TYPE_SLOTS
2789static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key);
2791#define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key)
2795static void __Pyx_RejectKeywords(
const char* function_name, PyObject *kwds);
2798#define __Pyx_PyExc_TypeError_Check(obj) __Pyx_TypeCheck(obj, PyExc_TypeError)
2801static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t, Py_ssize_t,
int b_is_constant);
2804#define __Pyx_UNARY_NEG_WOULD_OVERFLOW(x)\
2805 (((x) < 0) & ((unsigned long)(x) == 0-(unsigned long)(x)))
2808static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);
2811#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
2812#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
2813#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
2814#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
2815 (version_var) = __PYX_GET_DICT_VERSION(dict);\
2816 (cache_var) = (value);
2817#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
2818 static PY_UINT64_T __pyx_dict_version = 0;\
2819 static PyObject *__pyx_dict_cached_value = NULL;\
2820 if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
2821 (VAR) = __Pyx_XNewRef(__pyx_dict_cached_value);\
2823 (VAR) = __pyx_dict_cached_value = (LOOKUP);\
2824 __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
2827static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
2828static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
2829static CYTHON_INLINE
int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
2831#define __PYX_GET_DICT_VERSION(dict) (0)
2832#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
2833#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
2837#if CYTHON_USE_DICT_VERSIONS
2838#define __Pyx_GetModuleGlobalName(var, name) do {\
2839 static PY_UINT64_T __pyx_dict_version = 0;\
2840 static PyObject *__pyx_dict_cached_value = NULL;\
2841 (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_mstate_global->__pyx_d))) ?\
2842 (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
2843 __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
2845#define __Pyx_GetModuleGlobalNameUncached(var, name) do {\
2846 PY_UINT64_T __pyx_dict_version;\
2847 PyObject *__pyx_dict_cached_value;\
2848 (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
2850static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
2852#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
2853#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
2854static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
2858#if CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX >= 0x030C0000
2859 static int __pyx_assertions_enabled_flag;
2860 #define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
2861 #if __clang__ || __GNUC__
2862 __attribute__((no_sanitize(
"thread")))
2864 static int __Pyx_init_assertions_enabled(
void) {
2865 PyObject *builtins, *debug, *debug_str;
2867 builtins = PyEval_GetBuiltins();
2868 if (!builtins)
goto bad;
2869 debug_str = PyUnicode_FromStringAndSize(
"__debug__", 9);
2870 if (!debug_str)
goto bad;
2871 debug = PyObject_GetItem(builtins, debug_str);
2872 Py_DECREF(debug_str);
2873 if (!debug)
goto bad;
2874 flag = PyObject_IsTrue(debug);
2876 if (flag == -1)
goto bad;
2877 __pyx_assertions_enabled_flag = flag;
2880 __pyx_assertions_enabled_flag = 1;
2884 #define __Pyx_init_assertions_enabled() (0)
2885 #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
2889#define __Pyx_PyExc_AssertionError_Check(obj) __Pyx_TypeCheck(obj, PyExc_AssertionError)
2892static CYTHON_INLINE
void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
2895static CYTHON_INLINE
void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
2898static CYTHON_INLINE
void __Pyx_RaiseNoneNotIterableError(
void);
2901#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
2902static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
2906#if CYTHON_FAST_THREAD_STATE
2907#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
2908static CYTHON_INLINE
void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2909#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
2910static CYTHON_INLINE
void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
2912#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
2913#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
2917#define __Pyx_RaiseErrorWithObjectTypes1(exc_type, message, arg, obj1, obj2) __Pyx_RaiseErrorWithTypes1(exc_type, message, arg, Py_TYPE(obj1), Py_TYPE(obj2))
2918#define __Pyx_RaiseTypeErrorWithObjectTypes(message, obj1, obj2) __Pyx_RaiseTypeErrorWithTypes(message, Py_TYPE(obj1), Py_TYPE(obj2))
2919#define __Pyx_RaiseTypeErrorWithTypes(message, type_obj1, type_obj2) __Pyx_RaiseErrorWithTypes1(PyExc_TypeError, "%.1s" message, "", type_obj1, type_obj2)
2921static void __Pyx_RaiseErrorWithTypes1(PyObject* exc_type,
const char *message,
const char *arg, PyTypeObject *type_obj1, PyTypeObject *type_obj2);
2924static CYTHON_INLINE
int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
2927#if CYTHON_FAST_THREAD_STATE
2928#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
2929static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2931static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
2935#if CYTHON_FAST_THREAD_STATE
2936#define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
2937static CYTHON_INLINE
void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
2939static CYTHON_INLINE
void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
2943#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
2944#define __Pyx_HasAttr(o, n) PyObject_HasAttrWithError(o, n)
2946static CYTHON_INLINE
int __Pyx_HasAttr(PyObject *, PyObject *);
2950CYTHON_UNUSED
static PyObject *
2951__Pyx_PyList_FromArray(PyObject *
const *src, Py_ssize_t
n);
2957static PyObject *__Pyx__Import(PyObject *name, PyObject *
const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict,
int level);
2960static CYTHON_INLINE PyObject *__Pyx_Import(PyObject *name, PyObject *
const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname,
int level);
2962CYTHON_UNUSED
static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
2964static CYTHON_INLINE
int __Pyx_ListComp_AppendAndDecref(PyObject* list, PyObject* x);
2967#define __Pyx_PySequence_Multiply_Left(mul, seq) __Pyx_PySequence_Multiply(seq, mul)
2968#if !CYTHON_USE_TYPE_SLOTS
2969#define __Pyx_PySequence_Multiply PySequence_Repeat
2971static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul);
2975#if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL || CYTHON_COMPILING_IN_LIMITED_API
2976#define __Pyx_PyNumber_Multiply_object_int(op1, op2) PyNumber_Multiply(op1, op2)
2977#define __Pyx_PyNumber_InPlaceMultiply_object_int(op1, op2) PyNumber_InPlaceMultiply(op1, op2)
2979#define __Pyx_PyNumber_Multiply_object_int(op1, op2) __Pyx__PyNumber_Multiply_object_int(op1, op2, 0)
2980#define __Pyx_PyNumber_InPlaceMultiply_object_int(op1, op2) __Pyx__PyNumber_Multiply_object_int(op1, op2, 1)
2981static CYTHON_INLINE PyObject* __Pyx__PyNumber_Multiply_object_int(PyObject *op1, PyObject *op2,
int inplace);
2985static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject*
s, PyObject*
f);
2986static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject*
s, PyObject*
f);
2989#if CYTHON_USE_UNICODE_WRITER
2990static PyObject* __Pyx_PyObject_Format(PyObject*
s, PyObject*
f);
2992#define __Pyx_PyObject_Format(s, f) PyObject_Format(s, f)
2996#define __Pyx_PyObject_Unicode(obj)\
2997 (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
3000#define __Pyx_SetItemInt(o, i, v, type, is_signed, to_py_func, wraparound, boundscheck, has_gil, unsafe_shared)\
3001 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
3002 __Pyx_SetItemInt_Fast(o, (Py_ssize_t)i, v, wraparound, boundscheck, unsafe_shared) :\
3003 __Pyx_SetItemInt_Generic(o, to_py_func(i), v))
3004static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *
v);
3005static CYTHON_INLINE
int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *
v,
3006 int wraparound,
int boundscheck,
int unsafe_shared);
3009static void __Pyx_RaiseUnboundLocalError(
const char *varname);
3012static CYTHON_INLINE
long __Pyx_div_long(
long,
long,
int b_is_constant);
3015#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
3016static CYTHON_INLINE
int __Pyx_PyList_Append(PyObject* list, PyObject* x);
3018#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
3022static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
3025static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values);
3028#define __Pyx_PyUnicode_From_size_t(value, width, padding_char, format_char) (\
3029 ((format_char) == ('c')) ?\
3030 __Pyx_uchar___Pyx_PyUnicode_From_size_t(value, width, padding_char) :\
3031 __Pyx____Pyx_PyUnicode_From_size_t(value, width, padding_char, format_char)\
3033static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_size_t(
size_t value, Py_ssize_t width,
char padding_char);
3034static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_size_t(
size_t value, Py_ssize_t width,
char padding_char,
char format_char);
3037#define __Pyx_PyExc_Exception_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
3040#define __Pyx_PyExc_ImportError_Check(obj) __Pyx_TypeCheck(obj, PyExc_ImportError)
3043#define __Pyx_PyObject_DelSlice(obj, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)\
3044 __Pyx_PyObject_SetSlice(obj, (PyObject*)NULL, cstart, cstop, py_start, py_stop, py_slice, has_cstart, has_cstop, wraparound)
3045static CYTHON_INLINE
int __Pyx_PyObject_SetSlice(
3046 PyObject* obj, PyObject* value, Py_ssize_t cstart, Py_ssize_t cstop,
3047 PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
3048 int has_cstart,
int has_cstop,
int wraparound);
3053void __Pyx_default_placement_construct(
T* x) {
3054 new (
static_cast<void*
>(x))
T();
3058static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t,
int is_final);
3061#if CYTHON_VECTORCALL_TPNEW
3062typedef PyObject * (*__Pyx_tpnewvectorcallfunc)(PyTypeObject* o, PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames);
3063static PyObject * __Pyx_CallTpnewAsVectorcall(__Pyx_tpnewvectorcallfunc
f, PyTypeObject* o, PyObject *a, PyObject *k);
3067#if CYTHON_VECTORCALL_TPNEW
3068static PyObject *__Pyx_CallNewInitFromVectorcall(PyTypeObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3072#if !CYTHON_USE_TYPE_SPECS
3073#define __Pyx_call_type_traverse(o, always_call, visit, arg) 0
3075static int __Pyx_call_type_traverse(PyObject *o,
int always_call, visitproc visit,
void *arg);
3079#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
3080#define __Pyx_DeallocKeepAliveBegin(o) do {\
3081 _Py_atomic_store_uintptr_relaxed(&(o)->ob_tid, _Py_ThreadId());\
3082 _Py_atomic_store_uint32_relaxed(&(o)->ob_ref_local, 1);\
3083 _Py_atomic_store_ssize_relaxed(&(o)->ob_ref_shared, 0);\
3085#define __Pyx_DeallocKeepAliveEnd(o)\
3086 _Py_atomic_store_uint32_relaxed(&(o)->ob_ref_local, 0)
3088#define __Pyx_DeallocKeepAliveBegin(o) Py_SET_REFCNT(o, Py_REFCNT(o) + 1)
3089#define __Pyx_DeallocKeepAliveEnd(o) Py_SET_REFCNT(o, Py_REFCNT(o) - 1)
3093#if CYTHON_VECTORCALL_TPNEW
3094typedef int (*__Pyx_tpinitvectorcallfunc)(PyObject* o, PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames);
3095static int __Pyx_CallTpinitAsVectorcall(__Pyx_tpinitvectorcallfunc
f, PyObject* o, PyObject *a, PyObject *k);
3099static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
3102#if !CYTHON_USE_TYPE_SLOTS
3103CYTHON_UNUSED
static Py_ssize_t __Pyx_GetTypeDictOffset(PyObject *tp,
int require_cython_valid_result);
3107#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
3108static int __Pyx_validate_bases_tuple(
const char *type_name,
int has_dictoffset, PyObject *bases);
3112CYTHON_UNUSED
static int __Pyx_PyType_Ready(PyTypeObject *t);
3115#if CYTHON_COMPILING_IN_LIMITED_API
3116static PyObject *__Pyx_GetTypeTypeDict(PyTypeObject *tp);
3120#define __Pyx_DelItemOnTypeDict(tp, k) __Pyx__DelItemOnTypeDict((PyTypeObject*)tp, k)
3123static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k);
3126#define __Pyx_SetItemOnTypeDict(tp, k, v) __Pyx__SetItemOnTypeDict((PyTypeObject*)tp, k, v)
3129static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *
v);
3132static int __Pyx_setup_reduce(PyObject* type_obj);
3135#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
3136int __Pyx_ApplySequenceOrMappingFlag(PyTypeObject *tp,
int is_sequence);
3138#define __Pyx_ApplySequenceOrMappingFlag(tp, is_sequence) (0)
3142static int __Pyx_GetVtable(PyTypeObject *type,
void** table);
3145static int __Pyx_MergeVtables(PyTypeObject *type);
3148static int __Pyx_SetVtable(PyTypeObject* typeptr ,
void* vtable);
3151#ifndef __PYX_HAVE_RT_ImportType_proto_3_3_0
3152#define __PYX_HAVE_RT_ImportType_proto_3_3_0
3153#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
3154#include <stdalign.h>
3156#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
3157#define __PYX_GET_STRUCT_ALIGNMENT_3_3_0(s) alignof(s)
3159#define __PYX_GET_STRUCT_ALIGNMENT_3_3_0(s) sizeof(void*)
3161enum __Pyx_ImportType_CheckSize_3_3_0 {
3162 __Pyx_ImportType_CheckSize_Error_3_3_0 = 0,
3163 __Pyx_ImportType_CheckSize_Warn_3_3_0 = 1,
3164 __Pyx_ImportType_CheckSize_Ignore_3_3_0 = 2
3166static PyTypeObject *__Pyx_ImportType_3_3_0(PyObject* module,
const char *module_name,
const char *class_name,
size_t size,
size_t alignment,
enum __Pyx_ImportType_CheckSize_3_3_0 check_size);
3170static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value);
3173#if ((CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX < 0x030F00a3) ||\
3174 __PYX_LIMITED_VERSION_HEX < 0x030d0000)
3175 static PyObject *__Pyx_PyImport_AddModuleRef(
const char *name);
3177 #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
3181static PyObject *__Pyx_FetchSharedCythonABIModule(
void);
3184static int __Pyx_VerifyCachedType(PyObject *cached_type,
3186 Py_ssize_t expected_basicsize);
3189static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases);
3192static int __pyx_CommonTypesMetaclass_init(PyObject *module);
3193#define __Pyx_CommonTypesMetaclass_USED
3196#define __Pyx_CyFunction_USED
3197#if CYTHON_OPAQUE_SHARED_TYPES
3198#define __Pyx_as_CyFunctionObject(o) ((__pyx_CyFunctionObject *)PyObject_GetTypeData((o), __pyx_mstate_global->__pyx_CyFunctionType))
3200#define __Pyx_as_CyFunctionObject(o) ((__pyx_CyFunctionObject *)o)
3202#define __Pyx_CYFUNCTION_STATICMETHOD 0x01
3203#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
3204#define __Pyx_CYFUNCTION_CCLASS 0x04
3205#define __Pyx_CYFUNCTION_COROUTINE 0x08
3206#define __Pyx_CyFunction_GetClosure(f)\
3207 ((__Pyx_as_CyFunctionObject(f))->func_closure)
3208#if CYTHON_COMPILING_IN_LIMITED_API
3209 #define __Pyx__CyFunction_GetClassObj(f)\
3210 ((f)->func_classobj)
3212 #define __Pyx__CyFunction_GetClassObj(f)\
3213 ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
3215#define __Pyx_CyFunction_GetClassObj(f)\
3216 __Pyx__CyFunction_GetClassObj(__Pyx_as_CyFunctionObject(f))
3217#define __Pyx_CyFunction_SetClassObj(f, classobj)\
3218 __Pyx__CyFunction_SetClassObj(__Pyx_as_CyFunctionObject(f), (classobj))
3219#define __Pyx_CyFunction_Defaults(type, f)\
3220 ((type *)((__Pyx_as_CyFunctionObject(f))->defaults))
3221#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
3222 (__Pyx_as_CyFunctionObject(f))->defaults_getter = (g)
3224#if CYTHON_COMPILING_IN_LIMITED_API
3225#if !CYTHON_OPAQUE_OBJECTS
3228 PyMethodDef *func_methoddef;
3229 PyObject *func_module;
3231 PyCMethodObject func;
3233#if (CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY) && CYTHON_VECTORCALL
3234 __pyx_vectorcallfunc func_vectorcall;
3236#if CYTHON_COMPILING_IN_LIMITED_API
3237 PyObject *func_weakreflist;
3239#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
3240 PyObject *func_dict;
3242 PyObject *func_name;
3243 PyObject *func_qualname;
3245 PyObject *func_globals;
3246 PyObject *func_code;
3247 PyObject *func_closure;
3248#if CYTHON_COMPILING_IN_LIMITED_API
3249 PyObject *func_classobj;
3253 PyObject *defaults_tuple;
3254 PyObject *defaults_kwdict;
3255 PyObject *(*defaults_getter)(PyObject *);
3256 PyObject *func_annotations;
3257#if __PYX_LIMITED_VERSION_HEX < 0x030B0000
3258 PyObject *func_is_coroutine;
3260} __pyx_CyFunctionObject;
3261#undef __Pyx_CyOrPyCFunction_Check
3262#define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_mstate_global->__pyx_CyFunctionType)
3263#define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_mstate_global->__pyx_CyFunctionType, &PyCFunction_Type)
3264#define __Pyx_CyFunction_CheckExact(obj) Py_IS_TYPE(obj, __pyx_mstate_global->__pyx_CyFunctionType)
3265static CYTHON_INLINE
int __Pyx__IsSameCyOrCFunction(PyObject *func,
void (*cfunc)(
void));
3266#undef __Pyx_IsSameCFunction
3267#define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
3268static CYTHON_INLINE
void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject*
f, PyObject* classobj);
3269static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func,
3270 PyTypeObject *defaults_type);
3271static CYTHON_INLINE
void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
3273static CYTHON_INLINE
void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
3275static CYTHON_INLINE
void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
3277static int __pyx_CyFunction_init(PyObject *module);
3278#if CYTHON_VECTORCALL
3279#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
3280#define __Pyx_CyFunction_func_vectorcall(f) ((f)->func_vectorcall)
3282#define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
3287static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ);
3290#if CYTHON_VECTORCALL
3291static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *
const *args,
size_t nargs, PyObject *kw);
3295static PyObject *__Pyx_CyFunction_Init(PyObject *op_in, PyMethodDef *ml,
3296 int flags, PyObject* qualname,
3298 PyObject *module, PyObject *globals,
3300#if CYTHON_VECTORCALL
3301static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3302static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3303static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3304static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3308static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
3309 int flags, PyObject* qualname,
3311 PyObject *module, PyObject *globals,
3313static PyTypeObject *__Pyx_Get_CyFunction_Type(
void);
3316#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME
3317static int __Pyx_CLineForTraceback(PyThreadState *tstate,
int c_line);
3319#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
3323#if CYTHON_COMPILING_IN_LIMITED_API
3324typedef PyObject __Pyx_CachedCodeObjectType;
3326typedef PyCodeObject __Pyx_CachedCodeObjectType;
3329 __Pyx_CachedCodeObjectType* code_object;
3331} __Pyx_CodeObjectCacheEntry;
3332struct __Pyx_CodeObjectCache {
3335 __Pyx_CodeObjectCacheEntry* entries;
3336 #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
3337 __pyx_atomic_int_type accessor_count;
3340static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries,
int count,
int code_line);
3341static __Pyx_CachedCodeObjectType *__pyx_find_code_object(
int code_line);
3342static void __pyx_insert_code_object(
int code_line, __Pyx_CachedCodeObjectType* code_object);
3345static void __Pyx_AddTraceback(
const char *funcname,
int c_line,
3346 int py_line,
const char *filename);
3349static CYTHON_INLINE PyObject *__pyx_memview_get_double(
const char *itemp);
3350static CYTHON_INLINE
int __pyx_memview_set_double(
char *itemp, PyObject *obj);
3355 #define __Pyx_CREAL(z) ((z).real())
3356 #define __Pyx_CIMAG(z) ((z).imag())
3358 #define __Pyx_CREAL(z) (__real__(z))
3359 #define __Pyx_CIMAG(z) (__imag__(z))
3362 #define __Pyx_CREAL(z) ((z).real)
3363 #define __Pyx_CIMAG(z) ((z).imag)
3365#if defined(__cplusplus) && CYTHON_CCOMPLEX\
3366 && (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)
3367 #define __Pyx_SET_CREAL(z,x) ((z).real(x))
3368 #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
3370 #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
3371 #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
3375#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
3376 #define __Pyx_c_eq_float(a, b) ((a)==(b))
3377 #define __Pyx_c_sum_float(a, b) ((a)+(b))
3378 #define __Pyx_c_diff_float(a, b) ((a)-(b))
3379 #define __Pyx_c_prod_float(a, b) ((a)*(b))
3380 #define __Pyx_c_quot_float(a, b) ((a)/(b))
3381 #define __Pyx_c_neg_float(a) (-(a))
3383 #define __Pyx_c_is_zero_float(z) ((z)==(float)0)
3384 #define __Pyx_c_conj_float(z) (::std::conj(z))
3386 #define __Pyx_c_abs_float(z) (::std::abs(z))
3387 #define __Pyx_c_pow_float(a, b) (::std::pow(a, b))
3390 #define __Pyx_c_is_zero_float(z) ((z)==0)
3391 #define __Pyx_c_conj_float(z) (conjf(z))
3393 #define __Pyx_c_abs_float(z) (cabsf(z))
3394 #define __Pyx_c_pow_float(a, b) (cpowf(a, b))
3398 static CYTHON_INLINE
int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);
3399 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);
3400 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);
3401 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);
3402 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);
3403 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);
3404 static CYTHON_INLINE
int __Pyx_c_is_zero_float(__pyx_t_float_complex);
3405 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);
3407 static CYTHON_INLINE
float __Pyx_c_abs_float(__pyx_t_float_complex);
3408 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);
3413#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
3414 #define __Pyx_c_eq_double(a, b) ((a)==(b))
3415 #define __Pyx_c_sum_double(a, b) ((a)+(b))
3416 #define __Pyx_c_diff_double(a, b) ((a)-(b))
3417 #define __Pyx_c_prod_double(a, b) ((a)*(b))
3418 #define __Pyx_c_quot_double(a, b) ((a)/(b))
3419 #define __Pyx_c_neg_double(a) (-(a))
3421 #define __Pyx_c_is_zero_double(z) ((z)==(double)0)
3422 #define __Pyx_c_conj_double(z) (::std::conj(z))
3424 #define __Pyx_c_abs_double(z) (::std::abs(z))
3425 #define __Pyx_c_pow_double(a, b) (::std::pow(a, b))
3428 #define __Pyx_c_is_zero_double(z) ((z)==0)
3429 #define __Pyx_c_conj_double(z) (conj(z))
3431 #define __Pyx_c_abs_double(z) (cabs(z))
3432 #define __Pyx_c_pow_double(a, b) (cpow(a, b))
3436 static CYTHON_INLINE
int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);
3437 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);
3438 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);
3439 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);
3440 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);
3441 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);
3442 static CYTHON_INLINE
int __Pyx_c_is_zero_double(__pyx_t_double_complex);
3443 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);
3445 static CYTHON_INLINE
double __Pyx_c_abs_double(__pyx_t_double_complex);
3446 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);
3451#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
3452 #define __Pyx_c_eq_long__double(a, b) ((a)==(b))
3453 #define __Pyx_c_sum_long__double(a, b) ((a)+(b))
3454 #define __Pyx_c_diff_long__double(a, b) ((a)-(b))
3455 #define __Pyx_c_prod_long__double(a, b) ((a)*(b))
3456 #define __Pyx_c_quot_long__double(a, b) ((a)/(b))
3457 #define __Pyx_c_neg_long__double(a) (-(a))
3459 #define __Pyx_c_is_zero_long__double(z) ((z)==(long double)0)
3460 #define __Pyx_c_conj_long__double(z) (::std::conj(z))
3462 #define __Pyx_c_abs_long__double(z) (::std::abs(z))
3463 #define __Pyx_c_pow_long__double(a, b) (::std::pow(a, b))
3466 #define __Pyx_c_is_zero_long__double(z) ((z)==0)
3467 #define __Pyx_c_conj_long__double(z) (conjl(z))
3469 #define __Pyx_c_abs_long__double(z) (cabsl(z))
3470 #define __Pyx_c_pow_long__double(a, b) (cpowl(a, b))
3474 static CYTHON_INLINE
int __Pyx_c_eq_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
3475 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_sum_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
3476 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_diff_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
3477 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_prod_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
3478 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
3479 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_neg_long__double(__pyx_t_long_double_complex);
3480 static CYTHON_INLINE
int __Pyx_c_is_zero_long__double(__pyx_t_long_double_complex);
3481 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_conj_long__double(__pyx_t_long_double_complex);
3483 static CYTHON_INLINE
long double __Pyx_c_abs_long__double(__pyx_t_long_double_complex);
3484 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_pow_long__double(__pyx_t_long_double_complex, __pyx_t_long_double_complex);
3490 Py_ssize_t shape, strides, suboffsets;
3497 __Pyx_Buffer *rcbuffer;
3499 __Pyx_Buf_DimInfo diminfo[8];
3503static CYTHON_INLINE
int __pyx_add_acquisition_count_locked(
3504 __pyx_atomic_int_type *acquisition_count, PyThread_type_lock lock);
3505static CYTHON_INLINE
int __pyx_sub_acquisition_count_locked(
3506 __pyx_atomic_int_type *acquisition_count, PyThread_type_lock lock);
3507#define __pyx_get_slice_count_pointer(memview) (&memview->acquisition_count)
3508#define __PYX_INC_MEMVIEW(slice, have_gil) __Pyx_INC_MEMVIEW(slice, have_gil, __LINE__)
3509#define __PYX_XCLEAR_MEMVIEW(slice, have_gil) __Pyx_XCLEAR_MEMVIEW(slice, have_gil, __LINE__)
3510static CYTHON_INLINE
void __Pyx_INC_MEMVIEW(__Pyx_memviewslice *,
int,
int);
3511static CYTHON_INLINE
void __Pyx_XCLEAR_MEMVIEW(__Pyx_memviewslice *,
int,
int);
3514static int __pyx_memviewslice_is_contig(
const __Pyx_memviewslice mvs,
char order,
int ndim);
3517static int __pyx_slices_overlap(__Pyx_memviewslice *slice1,
3518 __Pyx_memviewslice *slice2,
3519 int ndim,
size_t itemsize);
3522static int __Pyx_init_memviewslice(
3523 struct __pyx_memoryview_obj *memview,
3525 __Pyx_memviewslice *memviewslice,
3526 int memview_is_new_reference);
3529static CYTHON_INLINE
int __pyx_memoryview_slice_memviewslice(
3530 __Pyx_memviewslice *dst,
3531 Py_ssize_t shape, Py_ssize_t stride, Py_ssize_t suboffset,
3532 int dim,
int new_ndim,
int *suboffset_dim,
3533 Py_ssize_t start, Py_ssize_t stop, Py_ssize_t step,
3534 int have_start,
int have_stop,
int have_step,
3538static CYTHON_INLINE
int __Pyx_PyLong_As_int(PyObject *);
3541#if CYTHON_VECTORCALL
3542#define __Pyx_Object_VectorcallKwds PyObject_Vectorcall
3543CYTHON_UNUSED
static int __Pyx_CheckVectorcallKwarg(PyObject *kwnames, Py_ssize_t i);
3545#define __Pyx_Object_VectorcallKwds __Pyx_PyObject_FastCallDict
3546CYTHON_UNUSED
static PyObject *__Pyx_MakeKwargDict(PyObject **keys, PyObject **values, Py_ssize_t
n);
3547CYTHON_UNUSED
static int __Pyx_CheckVectorcallKwarg(PyObject **kwnames, Py_ssize_t i);
3551#if CYTHON_VECTORCALL
3552#define __Pyx_Object_VectorcallMethodKwds PyObject_VectorcallMethod
3554static PyObject *__Pyx_Object_VectorcallMethodKwds(PyObject *name, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3558static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(
int value);
3561static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(
long value);
3564struct __pyx_typeinfo_string {
3567static struct __pyx_typeinfo_string __Pyx_TypeInfoToFormat(const __Pyx_TypeInfo *type);
3570static __Pyx_memviewslice
3571__pyx_memoryview_copy_new_contig(
const __Pyx_memviewslice *from_mvs,
3572 const char *mode,
int ndim,
3573 Py_ssize_t sizeof_dtype,
int contig_flag,
3574 int dtype_is_object);
3577static int __Pyx_UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index);
3580static void __Pyx_RaiseUnpickleChecksumError(
long checksum,
long checksum1,
long checksum2,
long checksum3,
const char *members);
3583static CYTHON_INLINE
int __Pyx_CheckUnpickleChecksum(
long checksum,
long checksum1,
long checksum2,
long checksum3,
const char *members);
3586static CYTHON_INLINE
long __Pyx_PyLong_As_long(PyObject *);
3589static CYTHON_INLINE
char __Pyx_PyLong_As_char(PyObject *);
3592#if __PYX_LIMITED_VERSION_HEX < 0x030b0000
3593static unsigned long __Pyx_cached_runtime_version = 0;
3594static void __Pyx_init_runtime_version(
void);
3596#define __Pyx_init_runtime_version()
3598static unsigned long __Pyx_get_runtime_version(
void);
3601static int __Pyx_check_binary_version(
unsigned long ct_version,
unsigned long rt_version,
int allow_newer);
3604static PyObject *__Pyx_DecompressString(
const char *
s, Py_ssize_t length,
int algo);
3607static PyObject *__Pyx_DecompressString_LZSS(
const char *
s,
size_t compressed_length,
size_t uncompressed_length);
3610#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
3612static PyObject *__Pyx_State_FindModule(
void*);
3613static int __Pyx_State_AddModule(PyObject* module,
void*);
3614static int __Pyx_State_RemoveModule(
void*);
3615#elif CYTHON_USE_MODULE_STATE
3616#define __Pyx_State_FindModule PyState_FindModule
3617#define __Pyx_State_AddModule PyState_AddModule
3618#define __Pyx_State_RemoveModule PyState_RemoveModule
3623#if CYTHON_COMPILING_IN_LIMITED_API
3624 #if CYTHON_VECTORCALL
3625 #define __PYX_VECTORCALL_ABI_SUFFIX "_vectorcall"
3627 #define __PYX_VECTORCALL_ABI_SUFFIX
3629 #define __PYX_LIMITED_ABI_SUFFIX "limited" __PYX_VECTORCALL_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX
3631 #define __PYX_LIMITED_ABI_SUFFIX
3633#if __PYX_HAS_PY_AM_SEND == 1
3634 #define __PYX_AM_SEND_ABI_SUFFIX
3635#elif __PYX_HAS_PY_AM_SEND == 2
3636 #define __PYX_AM_SEND_ABI_SUFFIX "amsendbackport"
3638 #define __PYX_AM_SEND_ABI_SUFFIX "noamsend"
3640#ifndef __PYX_MONITORING_ABI_SUFFIX
3641 #define __PYX_MONITORING_ABI_SUFFIX
3643#if CYTHON_USE_TP_FINALIZE
3644 #define __PYX_TP_FINALIZE_ABI_SUFFIX
3646 #define __PYX_TP_FINALIZE_ABI_SUFFIX "nofinalize"
3648#if CYTHON_USE_FREELISTS || !defined(__Pyx_AsyncGen_USED)
3649 #define __PYX_FREELISTS_ABI_SUFFIX
3651 #define __PYX_FREELISTS_ABI_SUFFIX "nofreelists"
3653#if CYTHON_OPAQUE_OBJECTS && CYTHON_COMPILING_IN_LIMITED_API
3654 #define __PYX_OPAQUE_OBJECTS_ABI_SUFFIX "opaque"
3656 #define __PYX_OPAQUE_OBJECTS_ABI_SUFFIX
3658#define CYTHON_ABI __PYX_ABI_VERSION __PYX_LIMITED_ABI_SUFFIX __PYX_MONITORING_ABI_SUFFIX __PYX_TP_FINALIZE_ABI_SUFFIX __PYX_FREELISTS_ABI_SUFFIX __PYX_AM_SEND_ABI_SUFFIX __PYX_OPAQUE_OBJECTS_ABI_SUFFIX
3659#define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
3660#define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
3662static PyObject *__pyx_array_get_memview(
struct __pyx_array_obj *__pyx_v_self);
3663static char *__pyx_memoryview_get_item_pointer(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index);
3664static PyObject *__pyx_memoryview_is_slice(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj);
3665static PyObject *__pyx_memoryview_setitem_slice_assignment(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src);
3666static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(
struct __pyx_memoryview_obj *__pyx_v_self,
struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value);
3667static PyObject *__pyx_memoryview_setitem_indexed(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_indices, PyObject *__pyx_v_value);
3668static PyObject *__pyx_memoryview_setitem_indexed1(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value);
3669static PyObject *__pyx_memoryview_convert_item_to_object(
struct __pyx_memoryview_obj *__pyx_v_self,
char *__pyx_v_itemp);
3670static PyObject *__pyx_memoryview_assign_item_from_object(
struct __pyx_memoryview_obj *__pyx_v_self,
char *__pyx_v_itemp, PyObject *__pyx_v_value);
3671static PyObject *__pyx_memoryview__get_base(
struct __pyx_memoryview_obj *__pyx_v_self);
3672static PyObject *__pyx_memoryviewslice_convert_item_to_object(
struct __pyx_memoryviewslice_obj *__pyx_v_self,
char *__pyx_v_itemp);
3673static PyObject *__pyx_memoryviewslice_assign_item_from_object(
struct __pyx_memoryviewslice_obj *__pyx_v_self,
char *__pyx_v_itemp, PyObject *__pyx_v_value);
3674static PyObject *__pyx_memoryviewslice__get_base(
struct __pyx_memoryviewslice_obj *__pyx_v_self);
3675static CYTHON_INLINE PyTypeObject *__pyx_f_5numpy_5dtype_7typeobj___get__(PyArray_Descr *__pyx_v_self);
3676static CYTHON_INLINE
char __pyx_f_5numpy_5dtype_4kind___get__(PyArray_Descr *__pyx_v_self);
3677static CYTHON_INLINE
char __pyx_f_5numpy_5dtype_4type___get__(PyArray_Descr *__pyx_v_self);
3678static CYTHON_INLINE
char __pyx_f_5numpy_5dtype_9byteorder___get__(PyArray_Descr *__pyx_v_self);
3679static CYTHON_INLINE
int __pyx_f_5numpy_5dtype_8type_num___get__(PyArray_Descr *__pyx_v_self);
3680static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize___get__(PyArray_Descr *__pyx_v_self);
3681static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment___get__(PyArray_Descr *__pyx_v_self);
3682static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields___get__(PyArray_Descr *__pyx_v_self);
3683static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names___get__(PyArray_Descr *__pyx_v_self);
3684static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray___get__(PyArray_Descr *__pyx_v_self);
3685static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags___get__(PyArray_Descr *__pyx_v_self);
3686static CYTHON_INLINE
int __pyx_f_5numpy_9broadcast_7numiter___get__(PyArrayMultiIterObject *__pyx_v_self);
3687static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size___get__(PyArrayMultiIterObject *__pyx_v_self);
3688static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index___get__(PyArrayMultiIterObject *__pyx_v_self);
3689static CYTHON_INLINE
int __pyx_f_5numpy_9broadcast_2nd___get__(PyArrayMultiIterObject *__pyx_v_self);
3690static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions___get__(PyArrayMultiIterObject *__pyx_v_self);
3691static CYTHON_INLINE
void **__pyx_f_5numpy_9broadcast_5iters___get__(PyArrayMultiIterObject *__pyx_v_self);
3692static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base___get__(PyArrayObject *__pyx_v_self);
3693static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr___get__(PyArrayObject *__pyx_v_self);
3694static CYTHON_INLINE
int __pyx_f_5numpy_7ndarray_4ndim___get__(PyArrayObject *__pyx_v_self);
3695static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape___get__(PyArrayObject *__pyx_v_self);
3696static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides___get__(PyArrayObject *__pyx_v_self);
3697static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size___get__(PyArrayObject *__pyx_v_self);
3698static CYTHON_INLINE
char *__pyx_f_5numpy_7ndarray_4data___get__(PyArrayObject *__pyx_v_self);
3699static CYTHON_INLINE
int __pyx_f_5numpy_5ufunc_3nin___get__(PyUFuncObject *__pyx_v_self);
3700static CYTHON_INLINE
int __pyx_f_5numpy_5ufunc_4nout___get__(PyUFuncObject *__pyx_v_self);
3701static CYTHON_INLINE
int __pyx_f_5numpy_5ufunc_5nargs___get__(PyUFuncObject *__pyx_v_self);
3702static CYTHON_INLINE PyUFuncGenericFunction *__pyx_f_5numpy_5ufunc_9functions___get__(PyUFuncObject *__pyx_v_self);
3703static CYTHON_INLINE
void **__pyx_f_5numpy_5ufunc_4data___get__(PyUFuncObject *__pyx_v_self);
3704static CYTHON_INLINE
int __pyx_f_5numpy_5ufunc_6ntypes___get__(PyUFuncObject *__pyx_v_self);
3705static CYTHON_INLINE
char const *__pyx_f_5numpy_5ufunc_4name___get__(PyUFuncObject *__pyx_v_self);
3706static CYTHON_INLINE
char const *__pyx_f_5numpy_5ufunc_3doc___get__(PyUFuncObject *__pyx_v_self);
3707static CYTHON_INLINE
void *__pyx_f_5numpy_5ufunc_3ptr___get__(PyUFuncObject *__pyx_v_self);
3708static CYTHON_INLINE PyObject *__pyx_f_5numpy_5ufunc_3obj___get__(PyUFuncObject *__pyx_v_self);
3709static CYTHON_INLINE PyObject *__pyx_f_5numpy_5ufunc_9userloops___get__(PyUFuncObject *__pyx_v_self);
3732static PyObject *__pyx_collections_abc_Sequence = 0;
3733static PyObject *
generic = 0;
3734static PyObject *strided = 0;
3735static PyObject *indirect = 0;
3736static PyObject *contiguous = 0;
3737static PyObject *indirect_contiguous = 0;
3738static int __pyx_memoryview_thread_locks_used;
3739static PyThread_type_lock __pyx_memoryview_thread_locks[8];
3740static int __pyx_array_allocate_buffer(
struct __pyx_array_obj *);
3741static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t,
char *,
char const *,
char *);
3742static PyObject *__pyx_memoryview_new(PyObject *,
int,
int, __Pyx_TypeInfo
const *);
3743static CYTHON_INLINE
int __pyx_memoryview_check(PyObject *);
3744static int __pyx_memoryview_err_invalid_index(PyObject *);
3745static PyObject *_unellipsify_index_tuple(PyObject *,
int);
3746static PyObject *_unellipsify(PyObject *,
int);
3747static int assert_direct_dimensions(Py_ssize_t *,
int);
3748static struct __pyx_memoryview_obj *__pyx_memview_slice(
struct __pyx_memoryview_obj *, PyObject *);
3749static char *__pyx_pybuffer_index(Py_buffer *,
char *, Py_ssize_t, Py_ssize_t);
3750static int __pyx_memslice_transpose(__Pyx_memviewslice *);
3751static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice,
int, PyObject *(*)(
char *), __pyx_memoryview_to_dtype_func_type,
int);
3752static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(
struct __pyx_memoryview_obj *, __Pyx_memviewslice *);
3753static void __pyx_memoryview_slice_copy(
struct __pyx_memoryview_obj *, __Pyx_memviewslice *);
3754static PyObject *__pyx_memoryview_copy_object(
struct __pyx_memoryview_obj *);
3755static PyObject *__pyx_memoryview_copy_object_from_slice(
struct __pyx_memoryview_obj *, __Pyx_memviewslice *);
3756static Py_ssize_t abs_py_ssize_t(Py_ssize_t);
3757static char __pyx_get_best_slice_order(__Pyx_memviewslice *,
int);
3758static void _copy_strided_to_strided(
char *, Py_ssize_t *,
char *, Py_ssize_t *, Py_ssize_t *, Py_ssize_t *,
int,
size_t);
3759static void copy_strided_to_strided(__Pyx_memviewslice *, __Pyx_memviewslice *,
int,
size_t);
3760static size_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *,
int);
3761static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *, Py_ssize_t *, Py_ssize_t,
int,
char);
3762static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *, __Pyx_memviewslice *,
char,
int);
3763static int __pyx_memoryview_err_extents(
int, Py_ssize_t, Py_ssize_t);
3764static int __pyx_memoryview_err_dim(PyObject *,
char const *,
int);
3765static int __pyx_memoryview_err(PyObject *,
char const *);
3766static int __pyx_memoryview_err_no_memory(
void);
3767static int __pyx_memoryview_err_ValueError(
char const *);
3768static int __pyx_memoryview_err_IndexError(
char const *, Py_ssize_t);
3769static int __pyx_memoryview_copy_contents(__Pyx_memviewslice, __Pyx_memviewslice,
int,
int,
int);
3770static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *,
int,
int);
3771static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *,
int,
int,
int);
3772static void __pyx_memoryview_refcount_objects_in_slice_with_gil(
char *, Py_ssize_t *, Py_ssize_t *,
int,
int);
3773static void __pyx_memoryview_refcount_objects_in_slice(
char *, Py_ssize_t *, Py_ssize_t *,
int,
int);
3774static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *,
int,
size_t,
void *,
int);
3775static void __pyx_memoryview__slice_assign_scalar(
char *, Py_ssize_t *, Py_ssize_t *,
int,
size_t,
void *);
3776static PyObject *__pyx_unpickle_Enum__set_state(
struct __pyx_MemviewEnum_obj *, PyObject *);
3777static PyObject *__pyx_format_from_typeinfo(__Pyx_TypeInfo
const *);
3779static const __Pyx_TypeInfo __Pyx_TypeInfo_double = {
"double", NULL,
sizeof(double), { 0 }, 0,
'R', 0, 0 };
3781#define __Pyx_MODULE_NAME "equivalent_polynomials"
3782extern int __pyx_module_is_main_equivalent_polynomials;
3783int __pyx_module_is_main_equivalent_polynomials = 0;
3787static PyObject *__pyx_builtin___import__;
3788static PyObject *__pyx_builtin_enumerate;
3789static PyObject *__pyx_builtin_Ellipsis;
3790static PyObject *__pyx_builtin_id;
3792static const char __pyx_k_c[] =
"c";
3793static const char __pyx_k_name[] =
"name";
3794static const char __pyx_k_fortran[] =
"fortran";
3795static const char __pyx_k_Dimension_d_is_not_direct[] =
"Dimension %d is not direct";
3796static const char __pyx_k_Cannot_index_with_type_200U[] =
"Cannot index with type \047%.200U\047";
3797static const char __pyx_k_itemsize_0_for_cython_array[] =
"itemsize <= 0 for cython.array";
3798static const char __pyx_k_Buffer_view_does_not_expose_stri[] =
"Buffer view does not expose strides";
3799static const char __pyx_k_Can_only_create_a_buffer_that_is[] =
"Can only create a buffer that is contiguous in memory.";
3800static const char __pyx_k_Cannot_create_writable_memory_vi[] =
"Cannot create writable memory view from read-only memoryview";
3801static const char __pyx_k_Cannot_transpose_memoryview_with[] =
"Cannot transpose memoryview with indirect dimensions";
3802static const char __pyx_k_Empty_shape_tuple_for_cython_arr[] =
"Empty shape tuple for cython.array";
3803static const char __pyx_k_Indirect_dimensions_not_supporte[] =
"Indirect dimensions not supported";
3804static const char __pyx_k_Out_of_bounds_on_buffer_access_a[] =
"Out of bounds on buffer access (axis %zd)";
3805static const char __pyx_k_Unable_to_convert_item_to_object[] =
"Unable to convert item to object";
3806static const char __pyx_k_got_differing_extents_in_dimensi[] =
"got differing extents in dimension %d (got %zd and %zd)";
3808static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode,
int __pyx_v_allocate_buffer);
3809static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(
struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
3810static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(
struct __pyx_array_obj *__pyx_v_self);
3811static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(
struct __pyx_array_obj *__pyx_v_self);
3812static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(
struct __pyx_array_obj *__pyx_v_self);
3813static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr);
3814static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item);
3815static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value);
3816static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED
struct __pyx_array_obj *__pyx_v_self);
3817static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_array_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state);
3818static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(
struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name);
3819static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(
struct __pyx_MemviewEnum_obj *__pyx_v_self);
3820static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(
struct __pyx_MemviewEnum_obj *__pyx_v_self);
3821static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(
struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v___pyx_state);
3822static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj,
int __pyx_v_flags,
int __pyx_v_dtype_is_object);
3823static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(
struct __pyx_memoryview_obj *__pyx_v_self);
3824static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index);
3825static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value);
3826static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(
struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
3827static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3828static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3829static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3830static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3831static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3832static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3833static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3834static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3835static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(
struct __pyx_memoryview_obj *__pyx_v_self);
3836static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(
struct __pyx_memoryview_obj *__pyx_v_self);
3837static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(
struct __pyx_memoryview_obj *__pyx_v_self);
3838static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(
struct __pyx_memoryview_obj *__pyx_v_self);
3839static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(
struct __pyx_memoryview_obj *__pyx_v_self);
3840static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(
struct __pyx_memoryview_obj *__pyx_v_self);
3841static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(
struct __pyx_memoryview_obj *__pyx_v_self);
3842static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(
struct __pyx_memoryview_obj *__pyx_v_self);
3843static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED
struct __pyx_memoryview_obj *__pyx_v_self);
3844static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_memoryview_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state);
3845static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(
struct __pyx_memoryviewslice_obj *__pyx_v_self);
3846static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED
struct __pyx_memoryviewslice_obj *__pyx_v_self);
3847static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state);
3848static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type,
long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state);
3849static int __pyx_pf_22equivalent_polynomials_7Simplex___cinit__(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self, PyObject *__pyx_v_nSpace, PyObject *__pyx_v_nP, PyObject *__pyx_v_nQ);
3850static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_2calculate(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self, PyArrayObject *__pyx_v_phi_dof, PyArrayObject *__pyx_v_phi_nodes, PyArrayObject *__pyx_v_xi);
3851static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_4set_quad(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self,
int __pyx_v_q);
3852static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_1H___get__(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self);
3853static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_3ImH___get__(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self);
3854static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_1D___get__(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self);
3855static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_6__reduce_cython__(CYTHON_UNUSED
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self);
3856static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_8__setstate_cython__(CYTHON_UNUSED
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state);
3857static PyObject *__pyx_pf_22equivalent_polynomials_calc_edge_H(CYTHON_UNUSED PyObject *__pyx_self,
double __pyx_v_phi0,
double __pyx_v_phi1,
int __pyx_v_nP);
3858static PyObject *__pyx_pf_22equivalent_polynomials_2eval_edge_poly(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_C,
double __pyx_v_t,
int __pyx_v_nP);
3859static PyObject *__pyx_tp_new__initialisation_22equivalent_polynomials_Simplex(PyObject *o,
3860#
if CYTHON_VECTORCALL_TPNEW
3861 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3863 PyObject *a, PyObject *k
3866static PyObject *__pyx_tp_new_vectorcall_22equivalent_polynomials_Simplex(PyTypeObject *t,
3867#
if CYTHON_VECTORCALL_TPNEW
3868 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3870 PyObject *a, PyObject *k
3873#if CYTHON_VECTORCALL_TPNEW
3874static PyObject *__pyx_tp_new_22equivalent_polynomials_Simplex(PyTypeObject *t, PyObject *a, PyObject *k);
3876#if !CYTHON_VECTORCALL_TPNEW
3877#define __pyx_tp_new_22equivalent_polynomials_Simplex __pyx_tp_new_vectorcall_22equivalent_polynomials_Simplex
3879#if CYTHON_VECTORCALL_TPNEW
3880static PyObject *__pyx_tp_vectorcall_22equivalent_polynomials_Simplex(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3882static PyObject *__pyx_tp_new__initialisation_array(PyObject *o,
3883#
if CYTHON_VECTORCALL_TPNEW
3884 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3886 PyObject *a, PyObject *k
3889static PyObject *__pyx_tp_new_vectorcall_array(PyTypeObject *t,
3890#
if CYTHON_VECTORCALL_TPNEW
3891 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3893 PyObject *a, PyObject *k
3896#if CYTHON_VECTORCALL_TPNEW
3897static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k);
3899#if !CYTHON_VECTORCALL_TPNEW
3900#define __pyx_tp_new_array __pyx_tp_new_vectorcall_array
3902#if CYTHON_VECTORCALL_TPNEW
3903static PyObject *__pyx_tp_vectorcall_array(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3905static PyObject *__pyx_tp_new__initialisation_Enum(PyObject *o,
3906#
if CYTHON_VECTORCALL_TPNEW
3907 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3909 PyObject *a, PyObject *k
3912static PyObject *__pyx_tp_new_vectorcall_Enum(PyTypeObject *t,
3913#
if CYTHON_VECTORCALL_TPNEW
3914 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3916 PyObject *a, PyObject *k
3919#if CYTHON_VECTORCALL_TPNEW
3920static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k);
3922#if !CYTHON_VECTORCALL_TPNEW
3923#define __pyx_tp_new_Enum __pyx_tp_new_vectorcall_Enum
3925#if CYTHON_VECTORCALL_TPNEW
3926static PyObject *__pyx_tp_vectorcall_Enum(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3928#if CYTHON_VECTORCALL_TPNEW
3929static int __pyx_tp_init_Enum(PyObject *o, PyObject *args, PyObject *kwds);
3931#if !CYTHON_VECTORCALL_TPNEW
3932#define __pyx_tp_init_Enum __pyx_MemviewEnum___init__
3934static PyObject *__pyx_tp_new__initialisation_memoryview(PyObject *o,
3935#
if CYTHON_VECTORCALL_TPNEW
3936 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3938 PyObject *a, PyObject *k
3941static PyObject *__pyx_tp_new_vectorcall_memoryview(PyTypeObject *t,
3942#
if CYTHON_VECTORCALL_TPNEW
3943 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3945 PyObject *a, PyObject *k
3948#if CYTHON_VECTORCALL_TPNEW
3949static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k);
3951#if !CYTHON_VECTORCALL_TPNEW
3952#define __pyx_tp_new_memoryview __pyx_tp_new_vectorcall_memoryview
3954#if CYTHON_VECTORCALL_TPNEW
3955static PyObject *__pyx_tp_vectorcall_memoryview(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3957static PyObject *__pyx_tp_new__initialisation__memoryviewslice(PyObject *o,
3958#
if CYTHON_VECTORCALL_TPNEW
3959 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3961 PyObject *a, PyObject *k
3964static PyObject *__pyx_tp_new_vectorcall__memoryviewslice(PyTypeObject *t,
3965#
if CYTHON_VECTORCALL_TPNEW
3966 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
3968 PyObject *a, PyObject *k
3971#if CYTHON_VECTORCALL_TPNEW
3972static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k);
3974#if !CYTHON_VECTORCALL_TPNEW
3975#define __pyx_tp_new__memoryviewslice __pyx_tp_new_vectorcall__memoryviewslice
3977#if CYTHON_VECTORCALL_TPNEW
3978static PyObject *__pyx_tp_vectorcall__memoryviewslice(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames);
3983#ifndef CYTHON_SMALL_CODE
3984#if defined(__clang__)
3985 #define CYTHON_SMALL_CODE
3986#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
3987 #define CYTHON_SMALL_CODE __attribute__((cold))
3989 #define CYTHON_SMALL_CODE
3999 PyObject *__pyx_cython_runtime;
4000 PyObject *__pyx_empty_tuple;
4001 PyObject *__pyx_empty_bytes;
4002 PyObject *__pyx_empty_unicode;
4003 PyTypeObject *__pyx_ptype_7cpython_4type_type;
4004 PyTypeObject *__pyx_ptype_5numpy_dtype;
4005 PyTypeObject *__pyx_ptype_5numpy_flatiter;
4006 PyTypeObject *__pyx_ptype_5numpy_broadcast;
4007 PyTypeObject *__pyx_ptype_5numpy_ndarray;
4008 PyTypeObject *__pyx_ptype_5numpy_generic;
4009 PyTypeObject *__pyx_ptype_5numpy_number;
4010 PyTypeObject *__pyx_ptype_5numpy_integer;
4011 PyTypeObject *__pyx_ptype_5numpy_signedinteger;
4012 PyTypeObject *__pyx_ptype_5numpy_unsignedinteger;
4013 PyTypeObject *__pyx_ptype_5numpy_inexact;
4014 PyTypeObject *__pyx_ptype_5numpy_floating;
4015 PyTypeObject *__pyx_ptype_5numpy_complexfloating;
4016 PyTypeObject *__pyx_ptype_5numpy_flexible;
4017 PyTypeObject *__pyx_ptype_5numpy_character;
4018 PyTypeObject *__pyx_ptype_5numpy_ufunc;
4019 PyObject *__pyx_type_22equivalent_polynomials_Simplex;
4020 PyObject *__pyx_type___pyx_array;
4021 PyObject *__pyx_type___pyx_MemviewEnum;
4022 PyObject *__pyx_type___pyx_memoryview;
4023 PyObject *__pyx_type___pyx_memoryviewslice;
4024 PyTypeObject *__pyx_ptype_22equivalent_polynomials_Simplex;
4025 PyTypeObject *__pyx_array_type;
4026 PyTypeObject *__pyx_MemviewEnum_type;
4027 PyTypeObject *__pyx_memoryview_type;
4028 PyTypeObject *__pyx_memoryviewslice_type;
4029 __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items;
4030 __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_pop;
4031 __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_values;
4032 PyObject *__pyx_slice[1];
4033 PyObject *__pyx_tuple[13];
4034 PyObject *__pyx_codeobj_tab[6];
4035 PyObject *__pyx_string_tab[141];
4036 PyObject *__pyx_number_tab[9];
4039#if CYTHON_COMPILING_IN_LIMITED_API
4040PyObject *__Pyx_PyFrozenDictType;
4044PyTypeObject *__pyx_CommonTypesMetaclassType;
4047#if CYTHON_COMPILING_IN_LIMITED_API
4048PyObject *__Pyx_CachedMethodType;
4052PyTypeObject *__pyx_CyFunctionType;
4055struct __Pyx_CodeObjectCache __pyx_code_cache;
4063#if CYTHON_USE_MODULE_STATE
4066extern struct PyModuleDef __pyx_moduledef;
4069static struct PyModuleDef __pyx_moduledef;
4072#define __pyx_mstate_global (__Pyx_PyModule_GetState(__Pyx_State_FindModule(&__pyx_moduledef)))
4074#define __pyx_m (__Pyx_State_FindModule(&__pyx_moduledef))
4076static __pyx_mstatetype __pyx_mstate_global_static =
4082static __pyx_mstatetype *
const __pyx_mstate_global = &__pyx_mstate_global_static;
4085#define __pyx_kp_u_at_0x __pyx_string_tab[0]
4086#define __pyx_kp_u_object __pyx_string_tab[1]
4087#define __pyx_kp_u__9 __pyx_string_tab[2]
4088#define __pyx_kp_u_tree_fragment __pyx_string_tab[3]
4089#define __pyx_kp_u__11 __pyx_string_tab[4]
4090#define __pyx_kp_u__10 __pyx_string_tab[5]
4091#define __pyx_kp_u__3 __pyx_string_tab[6]
4092#define __pyx_kp_u__2 __pyx_string_tab[7]
4093#define __pyx_kp_u_MemoryView_of __pyx_string_tab[8]
4094#define __pyx_kp_u_contiguous_and_direct __pyx_string_tab[9]
4095#define __pyx_kp_u_contiguous_and_indirect __pyx_string_tab[10]
4096#define __pyx_kp_u_strided_and_direct_or_indirect __pyx_string_tab[11]
4097#define __pyx_kp_u_strided_and_direct __pyx_string_tab[12]
4098#define __pyx_kp_u_strided_and_indirect __pyx_string_tab[13]
4099#define __pyx_kp_u__4 __pyx_string_tab[14]
4100#define __pyx_kp_u_ __pyx_string_tab[15]
4101#define __pyx_kp_u_Cannot_assign_to_read_only_memor __pyx_string_tab[16]
4102#define __pyx_kp_u_Invalid_mode_expected_c_or_fortr __pyx_string_tab[17]
4103#define __pyx_kp_u_Invalid_shape_in_axis __pyx_string_tab[18]
4104#define __pyx_kp_u_Note_that_Cython_is_deliberately __pyx_string_tab[19]
4105#define __pyx_kp_u_add_note __pyx_string_tab[20]
4106#define __pyx_kp_u_collections_abc __pyx_string_tab[21]
4107#define __pyx_kp_u_disable __pyx_string_tab[22]
4108#define __pyx_kp_u_enable __pyx_string_tab[23]
4109#define __pyx_kp_u_gc __pyx_string_tab[24]
4110#define __pyx_kp_u_isenabled __pyx_string_tab[25]
4111#define __pyx_kp_u_nP_must_be_1_2_3_or_4 __pyx_string_tab[26]
4112#define __pyx_kp_u_no_default___reduce___due_to_non __pyx_string_tab[27]
4113#define __pyx_kp_u_numpy__core_multiarray_failed_to __pyx_string_tab[28]
4114#define __pyx_kp_u_numpy__core_umath_failed_to_impo __pyx_string_tab[29]
4115#define __pyx_kp_u_proteus_equivalent_polynomials_p __pyx_string_tab[30]
4116#define __pyx_kp_u_unable_to_allocate_array_data __pyx_string_tab[31]
4117#define __pyx_kp_u_unable_to_allocate_shape_and_str __pyx_string_tab[32]
4118#define __pyx_n_u_ASCII __pyx_string_tab[33]
4119#define __pyx_n_u_C __pyx_string_tab[34]
4120#define __pyx_n_u_C_H __pyx_string_tab[35]
4121#define __pyx_n_u_Ellipsis __pyx_string_tab[36]
4122#define __pyx_n_u_Sequence __pyx_string_tab[37]
4123#define __pyx_n_u_Simplex __pyx_string_tab[38]
4124#define __pyx_n_u_Simplex___reduce_cython __pyx_string_tab[39]
4125#define __pyx_n_u_Simplex___setstate_cython __pyx_string_tab[40]
4126#define __pyx_n_u_Simplex_calculate __pyx_string_tab[41]
4127#define __pyx_n_u_Simplex_set_quad __pyx_string_tab[42]
4128#define __pyx_n_u_View_MemoryView __pyx_string_tab[43]
4129#define __pyx_n_u_Pyx_PyDict_NextRef __pyx_string_tab[44]
4130#define __pyx_n_u_annotate __pyx_string_tab[45]
4131#define __pyx_n_u_class __pyx_string_tab[46]
4132#define __pyx_n_u_class_getitem __pyx_string_tab[47]
4133#define __pyx_n_u_dict __pyx_string_tab[48]
4134#define __pyx_n_u_func __pyx_string_tab[49]
4135#define __pyx_n_u_getstate __pyx_string_tab[50]
4136#define __pyx_n_u_import __pyx_string_tab[51]
4137#define __pyx_n_u_main __pyx_string_tab[52]
4138#define __pyx_n_u_module __pyx_string_tab[53]
4139#define __pyx_n_u_name_2 __pyx_string_tab[54]
4140#define __pyx_n_u_new __pyx_string_tab[55]
4141#define __pyx_n_u_pyx_checksum __pyx_string_tab[56]
4142#define __pyx_n_u_pyx_state __pyx_string_tab[57]
4143#define __pyx_n_u_pyx_type __pyx_string_tab[58]
4144#define __pyx_n_u_pyx_unpickle_Enum __pyx_string_tab[59]
4145#define __pyx_n_u_pyx_vtable __pyx_string_tab[60]
4146#define __pyx_n_u_qualname __pyx_string_tab[61]
4147#define __pyx_n_u_reduce __pyx_string_tab[62]
4148#define __pyx_n_u_reduce_cython __pyx_string_tab[63]
4149#define __pyx_n_u_reduce_ex __pyx_string_tab[64]
4150#define __pyx_n_u_set_name __pyx_string_tab[65]
4151#define __pyx_n_u_setstate __pyx_string_tab[66]
4152#define __pyx_n_u_setstate_cython __pyx_string_tab[67]
4153#define __pyx_n_u_test __pyx_string_tab[68]
4154#define __pyx_n_u_is_coroutine __pyx_string_tab[69]
4155#define __pyx_n_u_abc __pyx_string_tab[70]
4156#define __pyx_n_u_allocate_buffer __pyx_string_tab[71]
4157#define __pyx_n_u_asarray __pyx_string_tab[72]
4158#define __pyx_n_u_asyncio_coroutines __pyx_string_tab[73]
4159#define __pyx_n_u_base __pyx_string_tab[74]
4160#define __pyx_n_u_c __pyx_string_tab[75]
4161#define __pyx_n_u_calc_edge_H __pyx_string_tab[76]
4162#define __pyx_n_u_calculate __pyx_string_tab[77]
4163#define __pyx_n_u_cline_in_traceback __pyx_string_tab[78]
4164#define __pyx_n_u_count __pyx_string_tab[79]
4165#define __pyx_n_u_d __pyx_string_tab[80]
4166#define __pyx_n_u_dtype_is_object __pyx_string_tab[81]
4167#define __pyx_n_u_encode __pyx_string_tab[82]
4168#define __pyx_n_u_enumerate __pyx_string_tab[83]
4169#define __pyx_n_u_equivalent_polynomials __pyx_string_tab[84]
4170#define __pyx_n_u_error __pyx_string_tab[85]
4171#define __pyx_n_u_eval_edge_poly __pyx_string_tab[86]
4172#define __pyx_n_u_flags __pyx_string_tab[87]
4173#define __pyx_n_u_format __pyx_string_tab[88]
4174#define __pyx_n_u_fortran __pyx_string_tab[89]
4175#define __pyx_n_u_icase __pyx_string_tab[90]
4176#define __pyx_n_u_id __pyx_string_tab[91]
4177#define __pyx_n_u_index __pyx_string_tab[92]
4178#define __pyx_n_u_items __pyx_string_tab[93]
4179#define __pyx_n_u_itemsize __pyx_string_tab[94]
4180#define __pyx_n_u_join __pyx_string_tab[95]
4181#define __pyx_n_u_memview __pyx_string_tab[96]
4182#define __pyx_n_u_mode __pyx_string_tab[97]
4183#define __pyx_n_u_nP __pyx_string_tab[98]
4184#define __pyx_n_u_nQ __pyx_string_tab[99]
4185#define __pyx_n_u_nSpace __pyx_string_tab[100]
4186#define __pyx_n_u_name __pyx_string_tab[101]
4187#define __pyx_n_u_ndim __pyx_string_tab[102]
4188#define __pyx_n_u_np __pyx_string_tab[103]
4189#define __pyx_n_u_numpy __pyx_string_tab[104]
4190#define __pyx_n_u_obj __pyx_string_tab[105]
4191#define __pyx_n_u_pack __pyx_string_tab[106]
4192#define __pyx_n_u_phi0 __pyx_string_tab[107]
4193#define __pyx_n_u_phi1 __pyx_string_tab[108]
4194#define __pyx_n_u_phi_dof __pyx_string_tab[109]
4195#define __pyx_n_u_phi_nodes __pyx_string_tab[110]
4196#define __pyx_n_u_pop __pyx_string_tab[111]
4197#define __pyx_n_u_q __pyx_string_tab[112]
4198#define __pyx_n_u_register __pyx_string_tab[113]
4199#define __pyx_n_u_self __pyx_string_tab[114]
4200#define __pyx_n_u_set_quad __pyx_string_tab[115]
4201#define __pyx_n_u_setdefault __pyx_string_tab[116]
4202#define __pyx_n_u_shape __pyx_string_tab[117]
4203#define __pyx_n_u_size __pyx_string_tab[118]
4204#define __pyx_n_u_start __pyx_string_tab[119]
4205#define __pyx_n_u_step __pyx_string_tab[120]
4206#define __pyx_n_u_stop __pyx_string_tab[121]
4207#define __pyx_n_u_struct __pyx_string_tab[122]
4208#define __pyx_n_u_t __pyx_string_tab[123]
4209#define __pyx_n_u_unpack __pyx_string_tab[124]
4210#define __pyx_n_u_update __pyx_string_tab[125]
4211#define __pyx_n_u_values __pyx_string_tab[126]
4212#define __pyx_n_u_x __pyx_string_tab[127]
4213#define __pyx_n_u_xi __pyx_string_tab[128]
4214#define __pyx_n_u_zeros __pyx_string_tab[129]
4215#define __pyx_kp_b__6 __pyx_string_tab[130]
4216#define __pyx_kp_b__7 __pyx_string_tab[131]
4217#define __pyx_n_b_O __pyx_string_tab[132]
4218#define __pyx_kp_b_T __pyx_string_tab[133]
4219#define __pyx_kp_b__5 __pyx_string_tab[134]
4220#define __pyx_kp_b__8 __pyx_string_tab[135]
4221#define __pyx_kp_b_iso88591_s_U_vQiq_q_Cs_vQiq_q_Cs_vQiq_q __pyx_string_tab[136]
4222#define __pyx_kp_b_iso88591_Q __pyx_string_tab[137]
4223#define __pyx_kp_b_iso88591_F_2Qa_s_X_fAV6_Q_Cv_fAV6_Q_Cv_f __pyx_string_tab[138]
4224#define __pyx_kp_b_iso88591_A_Cq __pyx_string_tab[139]
4225#define __pyx_kp_b_iso88591_A_IRr_q_A_D_E_Rq_D_Jaz_S_eeiirry __pyx_string_tab[140]
4226#define __pyx_float_0_0 __pyx_number_tab[0]
4227#define __pyx_float_1_0 __pyx_number_tab[1]
4228#define __pyx_int_0 __pyx_number_tab[2]
4229#define __pyx_int_neg_1 __pyx_number_tab[3]
4230#define __pyx_int_1 __pyx_number_tab[4]
4231#define __pyx_int_2 __pyx_number_tab[5]
4232#define __pyx_int_3 __pyx_number_tab[6]
4233#define __pyx_int_50 __pyx_number_tab[7]
4234#define __pyx_int_136983863 __pyx_number_tab[8]
4236#if CYTHON_USE_MODULE_STATE
4237static CYTHON_SMALL_CODE
int __pyx_m_clear(PyObject *m) {
4238 __pyx_mstatetype *clear_module_state = __Pyx_PyModule_GetState(m);
4239 if (!clear_module_state)
return 0;
4240 Py_CLEAR(clear_module_state->__pyx_d);
4241 Py_CLEAR(clear_module_state->__pyx_b);
4242 Py_CLEAR(clear_module_state->__pyx_cython_runtime);
4243 Py_CLEAR(clear_module_state->__pyx_empty_tuple);
4244 Py_CLEAR(clear_module_state->__pyx_empty_bytes);
4245 Py_CLEAR(clear_module_state->__pyx_empty_unicode);
4246 #if CYTHON_PEP489_MULTI_PHASE_INIT
4247 __Pyx_State_RemoveModule(NULL);
4249 Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4type_type);
4250 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_dtype);
4251 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flatiter);
4252 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_broadcast);
4253 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ndarray);
4254 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_generic);
4255 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_number);
4256 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_integer);
4257 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_signedinteger);
4258 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_unsignedinteger);
4259 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_inexact);
4260 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_floating);
4261 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_complexfloating);
4262 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_flexible);
4263 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_character);
4264 Py_CLEAR(clear_module_state->__pyx_ptype_5numpy_ufunc);
4265 Py_CLEAR(clear_module_state->__pyx_ptype_22equivalent_polynomials_Simplex);
4266 Py_CLEAR(clear_module_state->__pyx_type_22equivalent_polynomials_Simplex);
4267 Py_CLEAR(clear_module_state->__pyx_array_type);
4268 Py_CLEAR(clear_module_state->__pyx_type___pyx_array);
4269 Py_CLEAR(clear_module_state->__pyx_MemviewEnum_type);
4270 Py_CLEAR(clear_module_state->__pyx_type___pyx_MemviewEnum);
4271 Py_CLEAR(clear_module_state->__pyx_memoryview_type);
4272 Py_CLEAR(clear_module_state->__pyx_type___pyx_memoryview);
4273 Py_CLEAR(clear_module_state->__pyx_memoryviewslice_type);
4274 Py_CLEAR(clear_module_state->__pyx_type___pyx_memoryviewslice);
4275 Py_CLEAR(clear_module_state->__pyx_umethod_PyDict_Type_items.method);
4276 Py_CLEAR(clear_module_state->__pyx_umethod_PyDict_Type_pop.method);
4277 Py_CLEAR(clear_module_state->__pyx_umethod_PyDict_Type_values.method);
4278 for (
int i=0; i<1; ++i) { Py_CLEAR(clear_module_state->__pyx_slice[i]); }
4279 for (
int i=0; i<13; ++i) { Py_CLEAR(clear_module_state->__pyx_tuple[i]); }
4280 for (
int i=0; i<6; ++i) { Py_CLEAR(clear_module_state->__pyx_codeobj_tab[i]); }
4281 for (
int i=0; i<141; ++i) { Py_CLEAR(clear_module_state->__pyx_string_tab[i]); }
4282 for (
int i=0; i<9; ++i) { Py_CLEAR(clear_module_state->__pyx_number_tab[i]); }
4285Py_CLEAR(clear_module_state->__pyx_CommonTypesMetaclassType);
4288Py_CLEAR(clear_module_state->__pyx_CyFunctionType);
4295#if CYTHON_USE_MODULE_STATE
4296static CYTHON_SMALL_CODE
int __pyx_m_traverse(PyObject *m, visitproc visit,
void *arg) {
4297 __pyx_mstatetype *traverse_module_state = __Pyx_PyModule_GetState(m);
4298 if (!traverse_module_state)
return 0;
4299 Py_VISIT(traverse_module_state->__pyx_d);
4300 Py_VISIT(traverse_module_state->__pyx_b);
4301 Py_VISIT(traverse_module_state->__pyx_cython_runtime);
4302 __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_tuple);
4303 __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_bytes);
4304 __Pyx_VISIT_CONST(traverse_module_state->__pyx_empty_unicode);
4305 Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4type_type);
4306 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_dtype);
4307 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flatiter);
4308 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_broadcast);
4309 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ndarray);
4310 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_generic);
4311 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_number);
4312 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_integer);
4313 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_signedinteger);
4314 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_unsignedinteger);
4315 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_inexact);
4316 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_floating);
4317 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_complexfloating);
4318 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_flexible);
4319 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_character);
4320 Py_VISIT(traverse_module_state->__pyx_ptype_5numpy_ufunc);
4321 Py_VISIT(traverse_module_state->__pyx_ptype_22equivalent_polynomials_Simplex);
4322 Py_VISIT(traverse_module_state->__pyx_type_22equivalent_polynomials_Simplex);
4323 Py_VISIT(traverse_module_state->__pyx_array_type);
4324 Py_VISIT(traverse_module_state->__pyx_type___pyx_array);
4325 Py_VISIT(traverse_module_state->__pyx_MemviewEnum_type);
4326 Py_VISIT(traverse_module_state->__pyx_type___pyx_MemviewEnum);
4327 Py_VISIT(traverse_module_state->__pyx_memoryview_type);
4328 Py_VISIT(traverse_module_state->__pyx_type___pyx_memoryview);
4329 Py_VISIT(traverse_module_state->__pyx_memoryviewslice_type);
4330 Py_VISIT(traverse_module_state->__pyx_type___pyx_memoryviewslice);
4331 Py_VISIT(traverse_module_state->__pyx_umethod_PyDict_Type_items.method);
4332 Py_VISIT(traverse_module_state->__pyx_umethod_PyDict_Type_pop.method);
4333 Py_VISIT(traverse_module_state->__pyx_umethod_PyDict_Type_values.method);
4334 for (
int i=0; i<1; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_slice[i]); }
4335 for (
int i=0; i<13; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_tuple[i]); }
4336 for (
int i=0; i<6; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_codeobj_tab[i]); }
4337 for (
int i=0; i<141; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_string_tab[i]); }
4338 for (
int i=0; i<9; ++i) { __Pyx_VISIT_CONST(traverse_module_state->__pyx_number_tab[i]); }
4341Py_VISIT(traverse_module_state->__pyx_CommonTypesMetaclassType);
4344Py_VISIT(traverse_module_state->__pyx_CyFunctionType);
4361static int __pyx_array___cinit__(PyObject *__pyx_v_self,
4362#
if CYTHON_VECTORCALL_TPNEW
4363PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
4365PyObject *__pyx_args, PyObject *__pyx_kwds
4368static int __pyx_array___cinit__(PyObject *__pyx_v_self,
4369#
if CYTHON_VECTORCALL_TPNEW
4370PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
4372PyObject *__pyx_args, PyObject *__pyx_kwds
4375 PyObject *__pyx_v_shape = 0;
4376 Py_ssize_t __pyx_v_itemsize;
4377 PyObject *__pyx_v_format = 0;
4378 PyObject *__pyx_v_mode = 0;
4379 int __pyx_v_allocate_buffer;
4380 #if !CYTHON_VECTORCALL_TPNEW
4381 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
4383 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
4384 PyObject* values[5] = {0,0,0,0,0};
4385 int __pyx_lineno = 0;
4386 const char *__pyx_filename = NULL;
4387 int __pyx_clineno = 0;
4389 __Pyx_RefNannyDeclarations
4390 __Pyx_RefNannySetupContext(
"__cinit__ (wrapper)", 0);
4391 #if !CYTHON_VECTORCALL_TPNEW
4392 #if CYTHON_ASSUME_SAFE_SIZE
4393 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
4395 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return -1;
4398 __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs);
4400 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_shape,&__pyx_mstate_global->__pyx_n_u_itemsize,&__pyx_mstate_global->__pyx_n_u_format,&__pyx_mstate_global->__pyx_n_u_mode,&__pyx_mstate_global->__pyx_n_u_allocate_buffer,0};
4401 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0;
4402 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 147, __pyx_L3_error)
4403 if (__pyx_kwds_len > 0) {
4404 switch (__pyx_nargs) {
4406 values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4);
4407 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(1, 147, __pyx_L3_error)
4410 values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3);
4411 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(1, 147, __pyx_L3_error)
4414 values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2);
4415 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 147, __pyx_L3_error)
4418 values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1);
4419 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 147, __pyx_L3_error)
4422 values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0);
4423 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 147, __pyx_L3_error)
4426 default:
goto __pyx_L5_argtuple_error;
4428 const Py_ssize_t kwd_pos_args = __pyx_nargs;
4429 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__cinit__", 0) < (0)) __PYX_ERR(1, 147, __pyx_L3_error)
4430 if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_c));
4431 for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
4432 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__cinit__", 0, 3, 5, i); __PYX_ERR(1, 147, __pyx_L3_error) }
4435 switch (__pyx_nargs) {
4437 values[4] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 4);
4438 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(1, 147, __pyx_L3_error)
4441 values[3] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 3);
4442 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(1, 147, __pyx_L3_error)
4445 values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2);
4446 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 147, __pyx_L3_error)
4447 values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1);
4448 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 147, __pyx_L3_error)
4449 values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0);
4450 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 147, __pyx_L3_error)
4452 default:
goto __pyx_L5_argtuple_error;
4454 if (!values[3]) values[3] = __Pyx_NewRef(((PyObject *)__pyx_mstate_global->__pyx_n_u_c));
4456 __pyx_v_shape = ((PyObject*)values[0]);
4457 __pyx_v_itemsize = __Pyx_PyIndex_AsSsize_t(values[1]);
if (unlikely((__pyx_v_itemsize == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 147, __pyx_L3_error)
4458 __pyx_v_format = values[2];
4459 __pyx_v_mode = values[3];
4461 __pyx_v_allocate_buffer = __Pyx_PyObject_IsTrue(values[4]);
if (unlikely((__pyx_v_allocate_buffer == (
int)-1) && PyErr_Occurred())) __PYX_ERR(1, 148, __pyx_L3_error)
4471 __pyx_v_allocate_buffer = ((int)1);
4475 __pyx_L5_argtuple_error:;
4476 __Pyx_RaiseArgtupleInvalid(
"__cinit__", 0, 3, 5, __pyx_nargs); __PYX_ERR(1, 147, __pyx_L3_error)
4478 goto __pyx_L4_argument_unpacking_done;
4480 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
4481 Py_XDECREF(values[__pyx_temp]);
4483 __Pyx_AddTraceback(
"View.MemoryView.array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
4484 __Pyx_RefNannyFinishContext();
4486 __pyx_L4_argument_unpacking_done:;
4487 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1,
"shape", 1))) __PYX_ERR(1, 147, __pyx_L1_error)
4488 if (unlikely(((PyObject *)__pyx_v_format) == Py_None)) {
4489 PyErr_Format(PyExc_TypeError,
"Argument '%.200s' must not be None",
"format"); __PYX_ERR(1, 147, __pyx_L1_error)
4491 __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(((
struct __pyx_array_obj *)__pyx_v_self), __pyx_v_shape, __pyx_v_itemsize, __pyx_v_format, __pyx_v_mode, __pyx_v_allocate_buffer);
4505 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
4506 Py_XDECREF(values[__pyx_temp]);
4508 goto __pyx_L7_cleaned_up;
4510 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
4511 Py_XDECREF(values[__pyx_temp]);
4513 __pyx_L7_cleaned_up:;
4516 __Pyx_RefNannyFinishContext();
4520static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode,
int __pyx_v_allocate_buffer) {
4522 Py_ssize_t __pyx_v_dim;
4525 __Pyx_RefNannyDeclarations
4526 Py_ssize_t __pyx_t_1;
4530 PyObject *__pyx_t_5 = NULL;
4531 PyObject *__pyx_t_6 = NULL;
4534 Py_ssize_t __pyx_t_9;
4535 PyObject *__pyx_t_10 = NULL;
4536 PyObject *__pyx_t_11[5];
4538 PyObject *__pyx_t_13 = NULL;
4539 int __pyx_lineno = 0;
4540 const char *__pyx_filename = NULL;
4541 int __pyx_clineno = 0;
4542 __Pyx_RefNannySetupContext(
"__cinit__", 0);
4543 __Pyx_INCREF(__pyx_v_format);
4552 if (unlikely(__pyx_v_shape == Py_None)) {
4553 PyErr_SetString(PyExc_TypeError,
"object of type \047NoneType\047 has no len()");
4554 __PYX_ERR(1, 153, __pyx_L1_error)
4556 __pyx_t_1 = __Pyx_PyTuple_GET_SIZE(__pyx_v_shape);
if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(1, 153, __pyx_L1_error)
4557 __pyx_v_self->ndim = ((int)__pyx_t_1);
4567 __pyx_v_self->itemsize = __pyx_v_itemsize;
4576 __pyx_t_2 = (!(__pyx_v_self->ndim != 0));
4578 if (unlikely(__pyx_t_2)) {
4588 __pyx_t_3 = __pyx_memoryview_err_ValueError(__pyx_k_Empty_shape_tuple_for_cython_arr);
if (unlikely(__pyx_t_3 == ((
int)-1))) __PYX_ERR(1, 157, __pyx_L1_error)
4607 __pyx_t_2 = (__pyx_v_itemsize <= 0);
4609 if (unlikely(__pyx_t_2)) {
4619 __pyx_t_3 = __pyx_memoryview_err_ValueError(__pyx_k_itemsize_0_for_cython_array);
if (unlikely(__pyx_t_3 == ((
int)-1))) __PYX_ERR(1, 160, __pyx_L1_error)
4638 __pyx_t_2 = PyBytes_Check(__pyx_v_format);
4639 __pyx_t_4 = (!__pyx_t_2);
4652 __pyx_t_6 = __pyx_v_format;
4653 __Pyx_INCREF(__pyx_t_6);
4656 PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_mstate_global->__pyx_n_u_ASCII};
4657 __pyx_t_5 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_encode, __pyx_callargs+__pyx_t_7, (2-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
4658 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
4659 if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 163, __pyx_L1_error)
4660 __Pyx_GOTREF(__pyx_t_5);
4662 __Pyx_DECREF_SET(__pyx_v_format, __pyx_t_5);
4681 __pyx_t_5 = __pyx_v_format;
4682 __Pyx_INCREF(__pyx_t_5);
4683 if (!(likely(PyBytes_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError(
"bytes", __pyx_t_5))) __PYX_ERR(1, 164, __pyx_L1_error)
4684 __Pyx_GIVEREF(__pyx_t_5);
4685 __Pyx_GOTREF(__pyx_v_self->_format);
4686 __Pyx_DECREF(__pyx_v_self->_format);
4687 __pyx_v_self->_format = ((PyObject*)__pyx_t_5);
4697 if (unlikely(__pyx_v_self->_format == Py_None)) {
4698 PyErr_SetString(PyExc_TypeError,
"expected bytes, NoneType found");
4699 __PYX_ERR(1, 165, __pyx_L1_error)
4701 __pyx_t_8 = __Pyx_PyBytes_AsWritableString(__pyx_v_self->_format);
if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(1, 165, __pyx_L1_error)
4702 __pyx_v_self->format = __pyx_t_8;
4711 __pyx_v_self->_shape = ((Py_ssize_t *)PyObject_Malloc((((
sizeof(Py_ssize_t)) * 2) * ((
size_t)__pyx_v_self->ndim))));
4720 __pyx_v_self->_strides = (__pyx_v_self->_shape + __pyx_v_self->ndim);
4729 __pyx_t_4 = (!(__pyx_v_self->_shape != 0));
4731 if (unlikely(__pyx_t_4)) {
4741 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_MemoryError))), __pyx_mstate_global->__pyx_kp_u_unable_to_allocate_shape_and_str, 0, 0);
4742 __PYX_ERR(1, 172, __pyx_L1_error)
4762 __pyx_t_5 = __pyx_v_shape; __Pyx_INCREF(__pyx_t_5);
4766 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
4767 #if !CYTHON_ASSUME_SAFE_SIZE
4768 if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 175, __pyx_L1_error)
4770 if (__pyx_t_1 >= __pyx_temp)
break;
4772 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4773 __pyx_t_6 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1));
4775 __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_1);
4778 if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 175, __pyx_L1_error)
4779 __Pyx_GOTREF(__pyx_t_6);
4780 __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_t_6);
if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 175, __pyx_L1_error)
4781 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4782 __pyx_v_dim = __pyx_t_9;
4783 __pyx_v_idx = __pyx_t_3;
4784 __pyx_t_3 = (__pyx_t_3 + 1);
4793 __pyx_t_4 = (__pyx_v_dim <= 0);
4795 if (unlikely(__pyx_t_4)) {
4805 __pyx_t_6 = __Pyx_PyUnicode_From_int(__pyx_v_idx, 0,
' ',
'd');
if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 177, __pyx_L1_error)
4806 __Pyx_GOTREF(__pyx_t_6);
4807 __pyx_t_10 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_v_dim, 0,
' ',
'd');
if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 177, __pyx_L1_error)
4808 __Pyx_GOTREF(__pyx_t_10);
4809 __pyx_t_11[0] = __pyx_mstate_global->__pyx_kp_u_Invalid_shape_in_axis;
4810 __pyx_t_11[1] = __pyx_t_6;
4811 __pyx_t_11[2] = __pyx_mstate_global->__pyx_kp_u__2;
4812 __pyx_t_11[3] = __pyx_t_10;
4813 __pyx_t_11[4] = __pyx_mstate_global->__pyx_kp_u__3;
4815 #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH
4816 __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_11[3]);
4819 __pyx_t_13 = __Pyx_PyUnicode_Join(__pyx_t_11, 5, __pyx_t_9, __pyx_t_12);
4820 if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 177, __pyx_L1_error)
4821 __Pyx_GOTREF(__pyx_t_13);
4822 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4823 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4824 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_t_13, 0, 0);
4825 __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
4826 __PYX_ERR(1, 177, __pyx_L1_error)
4844 (__pyx_v_self->_shape[__pyx_v_idx]) = __pyx_v_dim;
4854 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4863 __pyx_t_4 = (__Pyx_PyObject_Equals_obj_ch99(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_c, Py_EQ));
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 181, __pyx_L1_error)
4874 __pyx_v_order =
'C';
4883 __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_c);
4884 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_c);
4885 __Pyx_GOTREF(__pyx_v_self->mode);
4886 __Pyx_DECREF(__pyx_v_self->mode);
4887 __pyx_v_self->mode = __pyx_mstate_global->__pyx_n_u_c;
4906 __pyx_t_4 = __Pyx_PyObject_CompareBoolEq_object_str(__pyx_v_mode, __pyx_mstate_global->__pyx_n_u_fortran, Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 184, __pyx_L1_error)
4907 if (likely(__pyx_t_4)) {
4917 __pyx_v_order =
'F';
4926 __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_fortran);
4927 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_n_u_fortran);
4928 __Pyx_GOTREF(__pyx_v_self->mode);
4929 __Pyx_DECREF(__pyx_v_self->mode);
4930 __pyx_v_self->mode = __pyx_mstate_global->__pyx_n_u_fortran;
4950 __pyx_t_5 = __Pyx_PyObject_FormatSimple(__pyx_v_mode, __pyx_mstate_global->__pyx_empty_unicode);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 188, __pyx_L1_error)
4951 __Pyx_GOTREF(__pyx_t_5);
4952 __pyx_t_13 = __Pyx_PyUnicode_Concat(__pyx_mstate_global->__pyx_kp_u_Invalid_mode_expected_c_or_fortr, __pyx_t_5);
if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 188, __pyx_L1_error)
4953 __Pyx_GOTREF(__pyx_t_13);
4954 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4955 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_ValueError))), __pyx_t_13, 0, 0);
4956 __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
4957 __PYX_ERR(1, 188, __pyx_L1_error)
4968 __pyx_v_self->len = __pyx_fill_contig_strides_array(__pyx_v_self->_shape, __pyx_v_self->_strides, __pyx_v_itemsize, __pyx_v_self->ndim, __pyx_v_order);
4977 __pyx_v_self->free_data = __pyx_v_allocate_buffer;
4986 __pyx_t_13 = __Pyx_PyObject_CompareEq_object_bytes(__pyx_v_format, __pyx_mstate_global->__pyx_n_b_O, Py_EQ); __Pyx_XGOTREF(__pyx_t_13);
if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 193, __pyx_L1_error)
4987 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_13);
if (unlikely((__pyx_t_4 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(1, 193, __pyx_L1_error)
4988 __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
4989 __pyx_v_self->dtype_is_object = __pyx_t_4;
4998 if (__pyx_v_allocate_buffer) {
5007 __pyx_t_3 = __pyx_array_allocate_buffer(__pyx_v_self);
if (unlikely(__pyx_t_3 == ((
int)-1))) __PYX_ERR(1, 196, __pyx_L1_error)
5031 __Pyx_XDECREF(__pyx_t_5);
5032 __Pyx_XDECREF(__pyx_t_6);
5033 __Pyx_XDECREF(__pyx_t_10);
5034 __Pyx_XDECREF(__pyx_t_13);
5035 __Pyx_AddTraceback(
"View.MemoryView.array.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5041 __Pyx_XDECREF(__pyx_v_format);
5043 __Pyx_RefNannyFinishContext();
5056CYTHON_UNUSED
static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
5057CYTHON_UNUSED
static int __pyx_array_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags) {
5058 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
5060 __Pyx_RefNannyDeclarations
5061 __Pyx_RefNannySetupContext(
"__getbuffer__ (wrapper)", 0);
5062 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
5063 __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(((
struct __pyx_array_obj *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((
int)__pyx_v_flags));
5068 __Pyx_RefNannyFinishContext();
5072static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_2__getbuffer__(
struct __pyx_array_obj *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags) {
5073 int __pyx_v_bufmode;
5075 __Pyx_RefNannyDeclarations
5079 Py_ssize_t __pyx_t_4;
5080 Py_ssize_t *__pyx_t_5;
5081 int __pyx_lineno = 0;
5082 const char *__pyx_filename = NULL;
5083 int __pyx_clineno = 0;
5084 if (unlikely(__pyx_v_info == NULL)) {
5085 PyErr_SetString(PyExc_BufferError,
"PyObject_GetBuffer: view==NULL argument is obsolete");
5088 __Pyx_RefNannySetupContext(
"__getbuffer__", 0);
5089 __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
5090 __Pyx_GIVEREF(__pyx_v_info->obj);
5099 __pyx_v_bufmode = -1;
5108 __pyx_t_1 = ((__pyx_v_flags & ((PyBUF_C_CONTIGUOUS | PyBUF_F_CONTIGUOUS) | PyBUF_ANY_CONTIGUOUS)) != 0);
5120 __pyx_t_1 = (__Pyx_PyObject_Equals_str_ch99(__pyx_v_self->mode, __pyx_mstate_global->__pyx_n_u_c, Py_EQ));
if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 202, __pyx_L1_error)
5131 __pyx_v_bufmode = (PyBUF_C_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS);
5150 __pyx_t_1 = __Pyx_PyObject_CompareBoolEq_str_str(__pyx_v_self->mode, __pyx_mstate_global->__pyx_n_u_fortran, Py_EQ);
if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 204, __pyx_L1_error)
5161 __pyx_v_bufmode = (PyBUF_F_CONTIGUOUS | PyBUF_ANY_CONTIGUOUS);
5180 __pyx_t_1 = (!((__pyx_v_flags & __pyx_v_bufmode) != 0));
5182 if (unlikely(__pyx_t_1)) {
5192 __pyx_t_2 = __pyx_memoryview_err_ValueError(__pyx_k_Can_only_create_a_buffer_that_is);
if (unlikely(__pyx_t_2 == ((
int)-1))) __PYX_ERR(1, 207, __pyx_L1_error)
5220 __pyx_t_3 = __pyx_v_self->data;
5222 __pyx_v_info->buf = __pyx_t_3;
5231 __pyx_t_4 = __pyx_v_self->len;
5233 __pyx_v_info->len = __pyx_t_4;
5242 __pyx_t_1 = ((__pyx_v_flags & PyBUF_STRIDES) != 0);
5254 __pyx_t_2 = __pyx_v_self->ndim;
5256 __pyx_v_info->ndim = __pyx_t_2;
5265 __pyx_t_5 = __pyx_v_self->_shape;
5267 __pyx_v_info->shape = __pyx_t_5;
5276 __pyx_t_5 = __pyx_v_self->_strides;
5278 __pyx_v_info->strides = __pyx_t_5;
5298 __pyx_v_info->ndim = 1;
5307 __pyx_t_1 = ((__pyx_v_flags & PyBUF_ND) != 0);
5311 __pyx_t_5 = (&__pyx_v_self->len);
5317 __pyx_v_info->shape = __pyx_t_5;
5326 __pyx_v_info->strides = NULL;
5337 __pyx_v_info->suboffsets = NULL;
5346 __pyx_t_4 = __pyx_v_self->itemsize;
5348 __pyx_v_info->itemsize = __pyx_t_4;
5357 __pyx_v_info->readonly = 0;
5366 __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
5370 __pyx_t_3 = __pyx_v_self->format;
5376 __pyx_v_info->format = __pyx_t_3;
5385 __Pyx_INCREF((PyObject *)__pyx_v_self);
5386 __Pyx_GIVEREF((PyObject *)__pyx_v_self);
5387 __Pyx_GOTREF(__pyx_v_info->obj);
5388 __Pyx_DECREF(__pyx_v_info->obj);
5389 __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
5403 __Pyx_AddTraceback(
"View.MemoryView.array.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5405 if (__pyx_v_info->obj != NULL) {
5406 __Pyx_GOTREF(__pyx_v_info->obj);
5407 __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
5411 if (__pyx_v_info->obj == Py_None) {
5412 __Pyx_GOTREF(__pyx_v_info->obj);
5413 __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
5418 __Pyx_RefNannyFinishContext();
5431static void __pyx_array___dealloc__(PyObject *__pyx_v_self);
5432static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {
5433 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
5434 __Pyx_RefNannyDeclarations
5435 __Pyx_RefNannySetupContext(
"__dealloc__ (wrapper)", 0);
5436 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
5437 __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(((
struct __pyx_array_obj *)__pyx_v_self));
5440 __Pyx_RefNannyFinishContext();
5443static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(
struct __pyx_array_obj *__pyx_v_self) {
5454 __pyx_t_1 = (__pyx_v_self->callback_free_data != NULL);
5466 __pyx_v_self->callback_free_data(__pyx_v_self->data);
5485 if (__pyx_v_self->free_data) {
5488 __pyx_t_1 = __pyx_v_self->free_data;
5489 goto __pyx_L4_bool_binop_done;
5491 __pyx_t_2 = (__pyx_v_self->data != NULL);
5494 __pyx_t_1 = __pyx_t_2;
5496 __pyx_L4_bool_binop_done:;
5507 if (__pyx_v_self->dtype_is_object) {
5516 __pyx_memoryview_refcount_objects_in_slice(__pyx_v_self->data, __pyx_v_self->_shape, __pyx_v_self->_strides, __pyx_v_self->ndim, 0);
5534 free(__pyx_v_self->data);
5553 PyObject_Free(__pyx_v_self->_shape);
5576static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self);
5577static PyObject *__pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(PyObject *__pyx_v_self) {
5578 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
5579 PyObject *__pyx_r = 0;
5580 __Pyx_RefNannyDeclarations
5581 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
5582 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
5583 __pyx_r = __pyx_pf_15View_dot_MemoryView_5array_7memview___get__(((
struct __pyx_array_obj *)__pyx_v_self));
5586 __Pyx_RefNannyFinishContext();
5590static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(
struct __pyx_array_obj *__pyx_v_self) {
5591 PyObject *__pyx_r = NULL;
5592 __Pyx_RefNannyDeclarations
5593 PyObject *__pyx_t_1 = NULL;
5594 int __pyx_lineno = 0;
5595 const char *__pyx_filename = NULL;
5596 int __pyx_clineno = 0;
5597 __Pyx_RefNannySetupContext(
"__get__", 0);
5606 __pyx_t_1 = __pyx_array_get_memview(__pyx_v_self);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 237, __pyx_L1_error)
5607 __Pyx_GOTREF(__pyx_t_1);
5609 PyObject *__pyx_temp;
5611 __pyx_temp = __pyx_r;
5612 __pyx_r = __pyx_t_1;
5614 __Pyx_XDECREF(__pyx_temp);
5629 __Pyx_XDECREF(__pyx_t_1);
5630 __Pyx_AddTraceback(
"View.MemoryView.array.memview.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5633 __Pyx_XGIVEREF(__pyx_r);
5634 __Pyx_RefNannyFinishContext();
5646static PyObject *__pyx_array_get_memview(
struct __pyx_array_obj *__pyx_v_self) {
5648 PyObject *__pyx_r = NULL;
5649 __Pyx_RefNannyDeclarations
5650 PyObject *__pyx_t_1 = NULL;
5651 PyObject *__pyx_t_2 = NULL;
5652 PyObject *__pyx_t_3 = NULL;
5653 PyObject *__pyx_t_4 = NULL;
5655 int __pyx_lineno = 0;
5656 const char *__pyx_filename = NULL;
5657 int __pyx_clineno = 0;
5658 __Pyx_RefNannySetupContext(
"get_memview", 0);
5667 __pyx_v_flags = ((PyBUF_ANY_CONTIGUOUS | PyBUF_FORMAT) | PyBUF_WRITABLE);
5677 __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_flags);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 243, __pyx_L1_error)
5678 __Pyx_GOTREF(__pyx_t_3);
5679 __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 243, __pyx_L1_error)
5680 __Pyx_GOTREF(__pyx_t_4);
5683 PyObject *__pyx_callargs[4] = {__pyx_t_2, ((PyObject *)__pyx_v_self), __pyx_t_3, __pyx_t_4};
5684 __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_memoryview_type, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
5685 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
5686 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5687 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5688 if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 243, __pyx_L1_error)
5689 __Pyx_GOTREF((PyObject *)__pyx_t_1);
5692 PyObject *__pyx_temp;
5694 __pyx_temp = __pyx_r;
5695 __pyx_r = ((PyObject *)__pyx_t_1);
5697 __Pyx_XDECREF(__pyx_temp);
5712 __Pyx_XDECREF(__pyx_t_1);
5713 __Pyx_XDECREF(__pyx_t_2);
5714 __Pyx_XDECREF(__pyx_t_3);
5715 __Pyx_XDECREF(__pyx_t_4);
5716 __Pyx_AddTraceback(
"View.MemoryView.array.get_memview", __pyx_clineno, __pyx_lineno, __pyx_filename);
5720 __Pyx_XGIVEREF(__pyx_r);
5721 __Pyx_RefNannyFinishContext();
5734static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self);
5735static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self) {
5736 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
5738 __Pyx_RefNannyDeclarations
5739 __Pyx_RefNannySetupContext(
"__len__ (wrapper)", 0);
5740 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
5741 __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(((
struct __pyx_array_obj *)__pyx_v_self));
5744 __Pyx_RefNannyFinishContext();
5748static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(
struct __pyx_array_obj *__pyx_v_self) {
5760 __pyx_r = (__pyx_v_self->_shape[0]);
5787static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr);
5788static PyObject *__pyx_array___getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_attr) {
5789 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
5790 PyObject *__pyx_r = 0;
5791 __Pyx_RefNannyDeclarations
5792 __Pyx_RefNannySetupContext(
"__getattr__ (wrapper)", 0);
5793 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
5794 __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(((
struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_attr));
5797 __Pyx_RefNannyFinishContext();
5801static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_attr) {
5802 PyObject *__pyx_r = NULL;
5803 __Pyx_RefNannyDeclarations
5804 PyObject *__pyx_t_1 = NULL;
5805 PyObject *__pyx_t_2 = NULL;
5806 int __pyx_lineno = 0;
5807 const char *__pyx_filename = NULL;
5808 int __pyx_clineno = 0;
5809 __Pyx_RefNannySetupContext(
"__getattr__", 0);
5818 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memview);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 249, __pyx_L1_error)
5819 __Pyx_GOTREF(__pyx_t_1);
5820 __pyx_t_2 = __Pyx_GetAttr(__pyx_t_1, __pyx_v_attr);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 249, __pyx_L1_error)
5821 __Pyx_GOTREF(__pyx_t_2);
5822 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5824 PyObject *__pyx_temp;
5826 __pyx_temp = __pyx_r;
5827 __pyx_r = __pyx_t_2;
5829 __Pyx_XDECREF(__pyx_temp);
5844 __Pyx_XDECREF(__pyx_t_1);
5845 __Pyx_XDECREF(__pyx_t_2);
5846 __Pyx_AddTraceback(
"View.MemoryView.array.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5849 __Pyx_XGIVEREF(__pyx_r);
5850 __Pyx_RefNannyFinishContext();
5863static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item);
5864static PyObject *__pyx_array___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item) {
5865 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
5866 PyObject *__pyx_r = 0;
5867 __Pyx_RefNannyDeclarations
5868 __Pyx_RefNannySetupContext(
"__getitem__ (wrapper)", 0);
5869 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
5870 __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(((
struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_item));
5873 __Pyx_RefNannyFinishContext();
5877static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item) {
5878 PyObject *__pyx_r = NULL;
5879 __Pyx_RefNannyDeclarations
5880 PyObject *__pyx_t_1 = NULL;
5881 PyObject *__pyx_t_2 = NULL;
5882 int __pyx_lineno = 0;
5883 const char *__pyx_filename = NULL;
5884 int __pyx_clineno = 0;
5885 __Pyx_RefNannySetupContext(
"__getitem__", 0);
5894 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memview);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 252, __pyx_L1_error)
5895 __Pyx_GOTREF(__pyx_t_1);
5896 __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_item);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 252, __pyx_L1_error)
5897 __Pyx_GOTREF(__pyx_t_2);
5898 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5900 PyObject *__pyx_temp;
5902 __pyx_temp = __pyx_r;
5903 __pyx_r = __pyx_t_2;
5905 __Pyx_XDECREF(__pyx_temp);
5920 __Pyx_XDECREF(__pyx_t_1);
5921 __Pyx_XDECREF(__pyx_t_2);
5922 __Pyx_AddTraceback(
"View.MemoryView.array.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5925 __Pyx_XGIVEREF(__pyx_r);
5926 __Pyx_RefNannyFinishContext();
5939static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value);
5940static int __pyx_array___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {
5941 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
5943 __Pyx_RefNannyDeclarations
5944 __Pyx_RefNannySetupContext(
"__setitem__ (wrapper)", 0);
5945 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
5946 __pyx_r = __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(((
struct __pyx_array_obj *)__pyx_v_self), ((PyObject *)__pyx_v_item), ((PyObject *)__pyx_v_value));
5949 __Pyx_RefNannyFinishContext();
5953static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(
struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_item, PyObject *__pyx_v_value) {
5955 __Pyx_RefNannyDeclarations
5956 PyObject *__pyx_t_1 = NULL;
5957 int __pyx_lineno = 0;
5958 const char *__pyx_filename = NULL;
5959 int __pyx_clineno = 0;
5960 __Pyx_RefNannySetupContext(
"__setitem__", 0);
5969 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_memview);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 255, __pyx_L1_error)
5970 __Pyx_GOTREF(__pyx_t_1);
5971 if (unlikely((PyObject_SetItem(__pyx_t_1, __pyx_v_item, __pyx_v_value) < 0))) __PYX_ERR(1, 255, __pyx_L1_error)
5972 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5986 __Pyx_XDECREF(__pyx_t_1);
5987 __Pyx_AddTraceback(
"View.MemoryView.array.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5991 __Pyx_RefNannyFinishContext();
6002static PyObject *__pyx_pw___pyx_array_1__reduce_cython__(PyObject *__pyx_v_self,
6003#
if CYTHON_VECTORCALL
6004PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
6006PyObject *__pyx_args, PyObject *__pyx_kwds
6009static PyObject *__pyx_pw___pyx_array_1__reduce_cython__(PyObject *__pyx_v_self,
6010#
if CYTHON_VECTORCALL
6011PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
6013PyObject *__pyx_args, PyObject *__pyx_kwds
6016 #if !CYTHON_VECTORCALL
6017 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
6019 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
6020 PyObject *__pyx_r = 0;
6021 __Pyx_RefNannyDeclarations
6022 __Pyx_RefNannySetupContext(
"__reduce_cython__ (wrapper)", 0);
6023 #if !CYTHON_VECTORCALL
6024 #if CYTHON_ASSUME_SAFE_SIZE
6025 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
6027 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
6030 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
6031 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"__reduce_cython__", 1, 0, 0, __pyx_nargs);
return NULL; }
6032 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
6033 if (unlikely(__pyx_kwds_len < 0))
return NULL;
6034 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"__reduce_cython__", __pyx_kwds);
return NULL;}
6035 __pyx_r = __pyx_pf___pyx_array___reduce_cython__(((
struct __pyx_array_obj *)__pyx_v_self));
6038 __Pyx_RefNannyFinishContext();
6042static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED
struct __pyx_array_obj *__pyx_v_self) {
6043 PyObject *__pyx_r = NULL;
6044 __Pyx_RefNannyDeclarations
6045 int __pyx_lineno = 0;
6046 const char *__pyx_filename = NULL;
6047 int __pyx_clineno = 0;
6048 __Pyx_RefNannySetupContext(
"__reduce_cython__", 0);
6056 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
6057 __PYX_ERR(1, 2, __pyx_L1_error)
6067 __Pyx_AddTraceback(
"View.MemoryView.array.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6069 __Pyx_XGIVEREF(__pyx_r);
6070 __Pyx_RefNannyFinishContext();
6082static PyObject *__pyx_pw___pyx_array_3__setstate_cython__(PyObject *__pyx_v_self,
6083#
if CYTHON_VECTORCALL
6084PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
6086PyObject *__pyx_args, PyObject *__pyx_kwds
6089static PyObject *__pyx_pw___pyx_array_3__setstate_cython__(PyObject *__pyx_v_self,
6090#
if CYTHON_VECTORCALL
6091PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
6093PyObject *__pyx_args, PyObject *__pyx_kwds
6096 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
6097 #if !CYTHON_VECTORCALL
6098 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
6100 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
6101 PyObject* values[1] = {0};
6102 int __pyx_lineno = 0;
6103 const char *__pyx_filename = NULL;
6104 int __pyx_clineno = 0;
6105 PyObject *__pyx_r = 0;
6106 __Pyx_RefNannyDeclarations
6107 __Pyx_RefNannySetupContext(
"__setstate_cython__ (wrapper)", 0);
6108 #if !CYTHON_VECTORCALL
6109 #if CYTHON_ASSUME_SAFE_SIZE
6110 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
6112 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
6115 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
6117 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
6118 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
6119 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
6120 if (__pyx_kwds_len > 0) {
6121 switch (__pyx_nargs) {
6123 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
6124 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 3, __pyx_L3_error)
6127 default:
goto __pyx_L5_argtuple_error;
6129 const Py_ssize_t kwd_pos_args = __pyx_nargs;
6130 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__setstate_cython__", 0) < (0)) __PYX_ERR(1, 3, __pyx_L3_error)
6131 for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
6132 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 3, __pyx_L3_error) }
6134 }
else if (unlikely(__pyx_nargs != 1)) {
6135 goto __pyx_L5_argtuple_error;
6137 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
6138 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 3, __pyx_L3_error)
6140 __pyx_v___pyx_state = values[0];
6143 __pyx_L5_argtuple_error:;
6144 __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
6146 goto __pyx_L4_argument_unpacking_done;
6148 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
6149 Py_XDECREF(values[__pyx_temp]);
6151 __Pyx_AddTraceback(
"View.MemoryView.array.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6152 __Pyx_RefNannyFinishContext();
6154 __pyx_L4_argument_unpacking_done:;
6155 __pyx_r = __pyx_pf___pyx_array_2__setstate_cython__(((
struct __pyx_array_obj *)__pyx_v_self), __pyx_v___pyx_state);
6158 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
6159 Py_XDECREF(values[__pyx_temp]);
6161 __Pyx_RefNannyFinishContext();
6165static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_array_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
6166 PyObject *__pyx_r = NULL;
6167 __Pyx_RefNannyDeclarations
6168 int __pyx_lineno = 0;
6169 const char *__pyx_filename = NULL;
6170 int __pyx_clineno = 0;
6171 __Pyx_RefNannySetupContext(
"__setstate_cython__", 0);
6178 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
6179 __PYX_ERR(1, 4, __pyx_L1_error)
6190 __Pyx_AddTraceback(
"View.MemoryView.array.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6192 __Pyx_XGIVEREF(__pyx_r);
6193 __Pyx_RefNannyFinishContext();
6205static int __pyx_array_allocate_buffer(
struct __pyx_array_obj *__pyx_v_self) {
6206 Py_ssize_t __pyx_v_i;
6207 PyObject **__pyx_v_p;
6210 Py_ssize_t __pyx_t_2;
6211 Py_ssize_t __pyx_t_3;
6212 Py_ssize_t __pyx_t_4;
6213 int __pyx_lineno = 0;
6214 const char *__pyx_filename = NULL;
6215 int __pyx_clineno = 0;
6224 __pyx_v_self->free_data = 1;
6233 __pyx_v_self->data = ((
char *)malloc(((
size_t)__pyx_v_self->len)));
6242 __pyx_t_1 = (!(__pyx_v_self->data != 0));
6244 if (unlikely(__pyx_t_1)) {
6254 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_MemoryError))), __pyx_mstate_global->__pyx_kp_u_unable_to_allocate_array_data, 0, 0);
6255 __PYX_ERR(1, 274, __pyx_L1_error)
6273 if (__pyx_v_self->dtype_is_object) {
6282 __pyx_v_p = ((PyObject **)__pyx_v_self->data);
6291 if (unlikely(__pyx_v_self->itemsize == 0)) {
6292 PyErr_SetString(PyExc_ZeroDivisionError,
"integer division or modulo by zero");
6293 __PYX_ERR(1, 278, __pyx_L1_error)
6295 else if (
sizeof(Py_ssize_t) ==
sizeof(
long) && (!(((Py_ssize_t)-1) > 0)) && unlikely(__pyx_v_self->itemsize == (Py_ssize_t)-1) && unlikely(__Pyx_UNARY_NEG_WOULD_OVERFLOW(__pyx_v_self->len))) {
6296 PyErr_SetString(PyExc_OverflowError,
"value too large to perform division");
6297 __PYX_ERR(1, 278, __pyx_L1_error)
6300 __pyx_t_2 = __Pyx_div_Py_ssize_t(__pyx_v_self->len, __pyx_v_self->itemsize, 0);
6301 __pyx_t_3 = __pyx_t_2;
6303 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
6304 __pyx_v_i = __pyx_t_4;
6313 (__pyx_v_p[__pyx_v_i]) = Py_None;
6358 __Pyx_AddTraceback(
"View.MemoryView._allocate_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
6375static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize,
char *__pyx_v_format,
char const *__pyx_v_c_mode,
char *__pyx_v_buf) {
6376 struct __pyx_array_obj *__pyx_v_result = 0;
6377 PyObject *__pyx_v_mode = 0;
6378 struct __pyx_array_obj *__pyx_r = NULL;
6379 __Pyx_RefNannyDeclarations
6380 PyObject *__pyx_t_1 = NULL;
6382 PyObject *__pyx_t_3 = NULL;
6383 PyObject *__pyx_t_4 = NULL;
6384 int __pyx_lineno = 0;
6385 const char *__pyx_filename = NULL;
6386 int __pyx_clineno = 0;
6387 __Pyx_RefNannySetupContext(
"array_cwrapper", 0);
6396 __pyx_t_2 = ((__pyx_v_c_mode[0]) ==
'f');
6399 __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_fortran);
6400 __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_fortran;
6402 __Pyx_INCREF(__pyx_mstate_global->__pyx_n_u_c);
6403 __pyx_t_1 = __pyx_mstate_global->__pyx_n_u_c;
6406 __pyx_v_mode = ((PyObject*)__pyx_t_1);
6416 __pyx_t_2 = (__pyx_v_buf == NULL);
6428 __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_itemsize);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 290, __pyx_L1_error)
6429 __Pyx_GOTREF(__pyx_t_1);
6430 __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_format);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 290, __pyx_L1_error)
6431 __Pyx_GOTREF(__pyx_t_3);
6432 __pyx_t_4 = PyTuple_New(4);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 290, __pyx_L1_error)
6433 __Pyx_GOTREF(__pyx_t_4);
6434 __Pyx_INCREF(__pyx_v_shape);
6435 __Pyx_GIVEREF(__pyx_v_shape);
6436 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape) != (0)) __PYX_ERR(1, 290, __pyx_L1_error);
6437 __Pyx_GIVEREF(__pyx_t_1);
6438 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1) != (0)) __PYX_ERR(1, 290, __pyx_L1_error);
6439 __Pyx_GIVEREF(__pyx_t_3);
6440 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3) != (0)) __PYX_ERR(1, 290, __pyx_L1_error);
6441 __Pyx_INCREF(__pyx_v_mode);
6442 __Pyx_GIVEREF(__pyx_v_mode);
6443 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_v_mode) != (0)) __PYX_ERR(1, 290, __pyx_L1_error);
6446 __pyx_t_3 = ((PyObject *)__pyx_tp_new_array(((PyTypeObject *)__pyx_mstate_global->__pyx_array_type), __pyx_t_4, NULL));
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 290, __pyx_L1_error)
6447 __Pyx_GOTREF(__pyx_t_3);
6448 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6449 __pyx_v_result = ((
struct __pyx_array_obj *)__pyx_t_3);
6470 __pyx_t_3 = PyLong_FromSsize_t(__pyx_v_itemsize);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 292, __pyx_L1_error)
6471 __Pyx_GOTREF(__pyx_t_3);
6472 __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_format);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 292, __pyx_L1_error)
6473 __Pyx_GOTREF(__pyx_t_4);
6474 __pyx_t_1 = PyTuple_New(4);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 292, __pyx_L1_error)
6475 __Pyx_GOTREF(__pyx_t_1);
6476 __Pyx_INCREF(__pyx_v_shape);
6477 __Pyx_GIVEREF(__pyx_v_shape);
6478 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape) != (0)) __PYX_ERR(1, 292, __pyx_L1_error);
6479 __Pyx_GIVEREF(__pyx_t_3);
6480 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3) != (0)) __PYX_ERR(1, 292, __pyx_L1_error);
6481 __Pyx_GIVEREF(__pyx_t_4);
6482 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_4) != (0)) __PYX_ERR(1, 292, __pyx_L1_error);
6483 __Pyx_INCREF(__pyx_v_mode);
6484 __Pyx_GIVEREF(__pyx_v_mode);
6485 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_v_mode) != (0)) __PYX_ERR(1, 292, __pyx_L1_error);
6488 __pyx_t_4 = __Pyx_PyDict_NewPresized(1);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 292, __pyx_L1_error)
6489 __Pyx_GOTREF(__pyx_t_4);
6490 if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_allocate_buffer, Py_False) < (0)) __PYX_ERR(1, 292, __pyx_L1_error)
6491 __pyx_t_3 = ((PyObject *)__pyx_tp_new_array(((PyTypeObject *)__pyx_mstate_global->__pyx_array_type), __pyx_t_1, __pyx_t_4));
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 292, __pyx_L1_error)
6492 __Pyx_GOTREF(__pyx_t_3);
6493 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6494 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
6495 __pyx_v_result = ((
struct __pyx_array_obj *)__pyx_t_3);
6505 __pyx_v_result->data = __pyx_v_buf;
6517 struct __pyx_array_obj *__pyx_temp;
6519 __pyx_temp = __pyx_r;
6520 __Pyx_INCREF((PyObject *)__pyx_v_result);
6521 __pyx_r = __pyx_v_result;
6523 __Pyx_XDECREF((PyObject *)__pyx_temp);
6537 __Pyx_XDECREF(__pyx_t_1);
6538 __Pyx_XDECREF(__pyx_t_3);
6539 __Pyx_XDECREF(__pyx_t_4);
6540 __Pyx_AddTraceback(
"View.MemoryView.array_cwrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
6543 __Pyx_XDECREF((PyObject *)__pyx_v_result);
6544 __Pyx_XDECREF(__pyx_v_mode);
6545 __Pyx_XGIVEREF((PyObject *)__pyx_r);
6546 __Pyx_RefNannyFinishContext();
6559static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self,
6560#
if CYTHON_VECTORCALL_TPNEW
6561PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
6563PyObject *__pyx_args, PyObject *__pyx_kwds
6566static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self,
6567#
if CYTHON_VECTORCALL_TPNEW
6568PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
6570PyObject *__pyx_args, PyObject *__pyx_kwds
6573 PyObject *__pyx_v_name = 0;
6574 #if !CYTHON_VECTORCALL_TPNEW
6575 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
6577 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
6578 PyObject* values[1] = {0};
6579 int __pyx_lineno = 0;
6580 const char *__pyx_filename = NULL;
6581 int __pyx_clineno = 0;
6583 __Pyx_RefNannyDeclarations
6584 __Pyx_RefNannySetupContext(
"__init__ (wrapper)", 0);
6585 #if !CYTHON_VECTORCALL_TPNEW
6586 #if CYTHON_ASSUME_SAFE_SIZE
6587 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
6589 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return -1;
6592 __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs);
6594 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_name,0};
6595 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0;
6596 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 321, __pyx_L3_error)
6597 if (__pyx_kwds_len > 0) {
6598 switch (__pyx_nargs) {
6600 values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0);
6601 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 321, __pyx_L3_error)
6604 default:
goto __pyx_L5_argtuple_error;
6606 const Py_ssize_t kwd_pos_args = __pyx_nargs;
6607 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__init__", 0) < (0)) __PYX_ERR(1, 321, __pyx_L3_error)
6608 for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
6609 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__init__", 1, 1, 1, i); __PYX_ERR(1, 321, __pyx_L3_error) }
6611 }
else if (unlikely(__pyx_nargs != 1)) {
6612 goto __pyx_L5_argtuple_error;
6614 values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0);
6615 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 321, __pyx_L3_error)
6617 __pyx_v_name = values[0];
6620 __pyx_L5_argtuple_error:;
6621 __Pyx_RaiseArgtupleInvalid(
"__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 321, __pyx_L3_error)
6623 goto __pyx_L4_argument_unpacking_done;
6625 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
6626 Py_XDECREF(values[__pyx_temp]);
6628 __Pyx_AddTraceback(
"View.MemoryView.Enum.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6629 __Pyx_RefNannyFinishContext();
6631 __pyx_L4_argument_unpacking_done:;
6632 __pyx_r = __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(((
struct __pyx_MemviewEnum_obj *)__pyx_v_self), __pyx_v_name);
6635 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
6636 Py_XDECREF(values[__pyx_temp]);
6638 __Pyx_RefNannyFinishContext();
6642static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(
struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name) {
6644 __Pyx_RefNannyDeclarations
6645 __Pyx_RefNannySetupContext(
"__init__", 0);
6654 __Pyx_INCREF(__pyx_v_name);
6655 __Pyx_GIVEREF(__pyx_v_name);
6656 __Pyx_GOTREF(__pyx_v_self->name);
6657 __Pyx_DECREF(__pyx_v_self->name);
6658 __pyx_v_self->name = __pyx_v_name;
6671 __Pyx_RefNannyFinishContext();
6684static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self);
6685static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {
6686 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
6687 PyObject *__pyx_r = 0;
6688 __Pyx_RefNannyDeclarations
6689 __Pyx_RefNannySetupContext(
"__repr__ (wrapper)", 0);
6690 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
6691 __pyx_r = __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(((
struct __pyx_MemviewEnum_obj *)__pyx_v_self));
6694 __Pyx_RefNannyFinishContext();
6698static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(
struct __pyx_MemviewEnum_obj *__pyx_v_self) {
6699 PyObject *__pyx_r = NULL;
6700 __Pyx_RefNannyDeclarations
6701 __Pyx_RefNannySetupContext(
"__repr__", 0);
6711 PyObject *__pyx_temp;
6713 __pyx_temp = __pyx_r;
6714 __Pyx_INCREF(__pyx_v_self->name);
6715 __pyx_r = __pyx_v_self->name;
6717 __Pyx_XDECREF(__pyx_temp);
6731 __Pyx_XGIVEREF(__pyx_r);
6732 __Pyx_RefNannyFinishContext();
6743static PyObject *__pyx_pw___pyx_MemviewEnum_1__reduce_cython__(PyObject *__pyx_v_self,
6744#
if CYTHON_VECTORCALL
6745PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
6747PyObject *__pyx_args, PyObject *__pyx_kwds
6750static PyObject *__pyx_pw___pyx_MemviewEnum_1__reduce_cython__(PyObject *__pyx_v_self,
6751#
if CYTHON_VECTORCALL
6752PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
6754PyObject *__pyx_args, PyObject *__pyx_kwds
6757 #if !CYTHON_VECTORCALL
6758 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
6760 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
6761 PyObject *__pyx_r = 0;
6762 __Pyx_RefNannyDeclarations
6763 __Pyx_RefNannySetupContext(
"__reduce_cython__ (wrapper)", 0);
6764 #if !CYTHON_VECTORCALL
6765 #if CYTHON_ASSUME_SAFE_SIZE
6766 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
6768 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
6771 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
6772 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"__reduce_cython__", 1, 0, 0, __pyx_nargs);
return NULL; }
6773 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
6774 if (unlikely(__pyx_kwds_len < 0))
return NULL;
6775 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"__reduce_cython__", __pyx_kwds);
return NULL;}
6776 __pyx_r = __pyx_pf___pyx_MemviewEnum___reduce_cython__(((
struct __pyx_MemviewEnum_obj *)__pyx_v_self));
6779 __Pyx_RefNannyFinishContext();
6783static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(
struct __pyx_MemviewEnum_obj *__pyx_v_self) {
6784 PyObject *__pyx_v_state = 0;
6785 PyObject *__pyx_v__dict = 0;
6786 int __pyx_v_use_setstate;
6787 PyObject *__pyx_r = NULL;
6788 __Pyx_RefNannyDeclarations
6789 PyObject *__pyx_t_1 = NULL;
6790 PyObject *__pyx_t_2 = NULL;
6793 PyObject *__pyx_t_5 = NULL;
6794 int __pyx_lineno = 0;
6795 const char *__pyx_filename = NULL;
6796 int __pyx_clineno = 0;
6797 __Pyx_RefNannySetupContext(
"__reduce_cython__", 0);
6807 __Pyx_PyCriticalSection __pyx_cs;
6808 __pyx_t_1 = ((PyObject *)__pyx_v_self);
6809 __Pyx_INCREF(__pyx_t_1);
6810 __Pyx_PyCriticalSection_Begin(&__pyx_cs, (PyObject*)__pyx_t_1);
6820 __pyx_t_2 = PyTuple_New(1);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L4_error)
6821 __Pyx_GOTREF(__pyx_t_2);
6822 __Pyx_INCREF(__pyx_v_self->name);
6823 __Pyx_GIVEREF(__pyx_v_self->name);
6824 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self->name) != (0)) __PYX_ERR(1, 6, __pyx_L4_error);
6825 __pyx_v_state = ((PyObject*)__pyx_t_2);
6835 __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_dict, Py_None);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L4_error)
6836 __Pyx_GOTREF(__pyx_t_2);
6837 __pyx_v__dict = __pyx_t_2;
6850 __Pyx_PyCriticalSection_End(&__pyx_cs);
6854 __Pyx_PyCriticalSection_End(&__pyx_cs);
6855 goto __pyx_L1_error;
6859 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6869 __pyx_t_4 = (__pyx_v__dict != Py_None);
6874 __pyx_t_3 = __pyx_t_4;
6876 goto __pyx_L7_bool_binop_done;
6878 __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v__dict);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(1, 8, __pyx_L1_error)
6880 __pyx_t_3 = __pyx_t_4;
6882 __pyx_L7_bool_binop_done:;
6893 __pyx_t_1 = PyTuple_New(1);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9, __pyx_L1_error)
6894 __Pyx_GOTREF(__pyx_t_1);
6895 __Pyx_INCREF(__pyx_v__dict);
6896 __Pyx_GIVEREF(__pyx_v__dict);
6897 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v__dict) != (0)) __PYX_ERR(1, 9, __pyx_L1_error);
6898 __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_1);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error)
6899 __Pyx_GOTREF(__pyx_t_2);
6900 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6901 __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_2));
6911 __pyx_v_use_setstate = 1;
6931 __pyx_t_3 = (__pyx_v_self->name != Py_None);
6932 __pyx_v_use_setstate = __pyx_t_3;
6943 if (__pyx_v_use_setstate) {
6952 __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 14, __pyx_L1_error)
6953 __Pyx_GOTREF(__pyx_t_2);
6954 __pyx_t_1 = PyTuple_New(3);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
6955 __Pyx_GOTREF(__pyx_t_1);
6956 __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6957 __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
6958 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(1, 14, __pyx_L1_error);
6959 __Pyx_INCREF(__pyx_mstate_global->__pyx_int_136983863);
6960 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_136983863);
6961 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_136983863) != (0)) __PYX_ERR(1, 14, __pyx_L1_error);
6962 __Pyx_INCREF(Py_None);
6963 __Pyx_GIVEREF(Py_None);
6964 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, Py_None) != (0)) __PYX_ERR(1, 14, __pyx_L1_error);
6965 __pyx_t_5 = PyTuple_New(3);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 14, __pyx_L1_error)
6966 __Pyx_GOTREF(__pyx_t_5);
6967 __Pyx_GIVEREF(__pyx_t_2);
6968 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2) != (0)) __PYX_ERR(1, 14, __pyx_L1_error);
6969 __Pyx_GIVEREF(__pyx_t_1);
6970 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_1) != (0)) __PYX_ERR(1, 14, __pyx_L1_error);
6971 __Pyx_INCREF(__pyx_v_state);
6972 __Pyx_GIVEREF(__pyx_v_state);
6973 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_state) != (0)) __PYX_ERR(1, 14, __pyx_L1_error);
6977 PyObject *__pyx_temp;
6979 __pyx_temp = __pyx_r;
6980 __pyx_r = __pyx_t_5;
6982 __Pyx_XDECREF(__pyx_temp);
7004 __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 16, __pyx_L1_error)
7005 __Pyx_GOTREF(__pyx_t_5);
7006 __pyx_t_1 = PyTuple_New(3);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 16, __pyx_L1_error)
7007 __Pyx_GOTREF(__pyx_t_1);
7008 __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
7009 __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
7010 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self)))) != (0)) __PYX_ERR(1, 16, __pyx_L1_error);
7011 __Pyx_INCREF(__pyx_mstate_global->__pyx_int_136983863);
7012 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_136983863);
7013 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_mstate_global->__pyx_int_136983863) != (0)) __PYX_ERR(1, 16, __pyx_L1_error);
7014 __Pyx_INCREF(__pyx_v_state);
7015 __Pyx_GIVEREF(__pyx_v_state);
7016 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_state) != (0)) __PYX_ERR(1, 16, __pyx_L1_error);
7017 __pyx_t_2 = PyTuple_New(2);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16, __pyx_L1_error)
7018 __Pyx_GOTREF(__pyx_t_2);
7019 __Pyx_GIVEREF(__pyx_t_5);
7020 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5) != (0)) __PYX_ERR(1, 16, __pyx_L1_error);
7021 __Pyx_GIVEREF(__pyx_t_1);
7022 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1) != (0)) __PYX_ERR(1, 16, __pyx_L1_error);
7026 PyObject *__pyx_temp;
7028 __pyx_temp = __pyx_r;
7029 __pyx_r = __pyx_t_2;
7031 __Pyx_XDECREF(__pyx_temp);
7045 __Pyx_XDECREF(__pyx_t_1);
7046 __Pyx_XDECREF(__pyx_t_2);
7047 __Pyx_XDECREF(__pyx_t_5);
7048 __Pyx_AddTraceback(
"View.MemoryView.Enum.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7051 __Pyx_XDECREF(__pyx_v_state);
7052 __Pyx_XDECREF(__pyx_v__dict);
7054 __Pyx_XGIVEREF(__pyx_r);
7055 __Pyx_RefNannyFinishContext();
7067static PyObject *__pyx_pw___pyx_MemviewEnum_3__setstate_cython__(PyObject *__pyx_v_self,
7068#
if CYTHON_VECTORCALL
7069PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
7071PyObject *__pyx_args, PyObject *__pyx_kwds
7074static PyObject *__pyx_pw___pyx_MemviewEnum_3__setstate_cython__(PyObject *__pyx_v_self,
7075#
if CYTHON_VECTORCALL
7076PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
7078PyObject *__pyx_args, PyObject *__pyx_kwds
7081 PyObject *__pyx_v___pyx_state = 0;
7082 #if !CYTHON_VECTORCALL
7083 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
7085 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
7086 PyObject* values[1] = {0};
7087 int __pyx_lineno = 0;
7088 const char *__pyx_filename = NULL;
7089 int __pyx_clineno = 0;
7090 PyObject *__pyx_r = 0;
7091 __Pyx_RefNannyDeclarations
7092 __Pyx_RefNannySetupContext(
"__setstate_cython__ (wrapper)", 0);
7093 #if !CYTHON_VECTORCALL
7094 #if CYTHON_ASSUME_SAFE_SIZE
7095 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
7097 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
7100 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
7102 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
7103 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
7104 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 17, __pyx_L3_error)
7105 if (__pyx_kwds_len > 0) {
7106 switch (__pyx_nargs) {
7108 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
7109 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 17, __pyx_L3_error)
7112 default:
goto __pyx_L5_argtuple_error;
7114 const Py_ssize_t kwd_pos_args = __pyx_nargs;
7115 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__setstate_cython__", 0) < (0)) __PYX_ERR(1, 17, __pyx_L3_error)
7116 for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
7117 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 17, __pyx_L3_error) }
7119 }
else if (unlikely(__pyx_nargs != 1)) {
7120 goto __pyx_L5_argtuple_error;
7122 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
7123 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 17, __pyx_L3_error)
7125 __pyx_v___pyx_state = values[0];
7128 __pyx_L5_argtuple_error:;
7129 __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 17, __pyx_L3_error)
7131 goto __pyx_L4_argument_unpacking_done;
7133 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
7134 Py_XDECREF(values[__pyx_temp]);
7136 __Pyx_AddTraceback(
"View.MemoryView.Enum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7137 __Pyx_RefNannyFinishContext();
7139 __pyx_L4_argument_unpacking_done:;
7140 __pyx_r = __pyx_pf___pyx_MemviewEnum_2__setstate_cython__(((
struct __pyx_MemviewEnum_obj *)__pyx_v_self), __pyx_v___pyx_state);
7143 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
7144 Py_XDECREF(values[__pyx_temp]);
7146 __Pyx_RefNannyFinishContext();
7150static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(
struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
7151 PyObject *__pyx_r = NULL;
7152 __Pyx_RefNannyDeclarations
7153 PyObject *__pyx_t_1 = NULL;
7154 PyObject *__pyx_t_2 = NULL;
7155 int __pyx_lineno = 0;
7156 const char *__pyx_filename = NULL;
7157 int __pyx_clineno = 0;
7158 __Pyx_RefNannySetupContext(
"__setstate_cython__", 0);
7165 __pyx_t_1 = __pyx_v___pyx_state;
7166 __Pyx_INCREF(__pyx_t_1);
7167 if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError(
"tuple", __pyx_t_1))) __PYX_ERR(1, 18, __pyx_L1_error)
7168 if (unlikely(__pyx_t_1 == Py_None)) {
7169 PyErr_SetString(PyExc_TypeError,
"cannot pass None into a C function argument that is declared \047not None\047");
7170 __PYX_ERR(1, 18, __pyx_L1_error)
7172 __pyx_t_2 = __pyx_unpickle_Enum__set_state(__pyx_v_self, ((PyObject*)__pyx_t_1));
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 18, __pyx_L1_error)
7173 __Pyx_GOTREF(__pyx_t_2);
7174 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
7175 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
7185 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
7188 __Pyx_XDECREF(__pyx_t_1);
7189 __Pyx_XDECREF(__pyx_t_2);
7190 __Pyx_AddTraceback(
"View.MemoryView.Enum.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7193 __Pyx_XGIVEREF(__pyx_r);
7194 __Pyx_RefNannyFinishContext();
7207static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self,
7208#
if CYTHON_VECTORCALL_TPNEW
7209PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
7211PyObject *__pyx_args, PyObject *__pyx_kwds
7214static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self,
7215#
if CYTHON_VECTORCALL_TPNEW
7216PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
7218PyObject *__pyx_args, PyObject *__pyx_kwds
7221 PyObject *__pyx_v_obj = 0;
7223 int __pyx_v_dtype_is_object;
7224 #if !CYTHON_VECTORCALL_TPNEW
7225 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
7227 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
7228 PyObject* values[3] = {0,0,0};
7229 int __pyx_lineno = 0;
7230 const char *__pyx_filename = NULL;
7231 int __pyx_clineno = 0;
7233 __Pyx_RefNannyDeclarations
7234 __Pyx_RefNannySetupContext(
"__cinit__ (wrapper)", 0);
7235 #if !CYTHON_VECTORCALL_TPNEW
7236 #if CYTHON_ASSUME_SAFE_SIZE
7237 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
7239 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return -1;
7242 __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs);
7244 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_obj,&__pyx_mstate_global->__pyx_n_u_flags,&__pyx_mstate_global->__pyx_n_u_dtype_is_object,0};
7245 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0;
7246 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 367, __pyx_L3_error)
7247 if (__pyx_kwds_len > 0) {
7248 switch (__pyx_nargs) {
7250 values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2);
7251 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 367, __pyx_L3_error)
7254 values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1);
7255 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 367, __pyx_L3_error)
7258 values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0);
7259 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 367, __pyx_L3_error)
7262 default:
goto __pyx_L5_argtuple_error;
7264 const Py_ssize_t kwd_pos_args = __pyx_nargs;
7265 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__cinit__", 0) < (0)) __PYX_ERR(1, 367, __pyx_L3_error)
7266 for (Py_ssize_t i = __pyx_nargs; i < 2; i++) {
7267 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__cinit__", 0, 2, 3, i); __PYX_ERR(1, 367, __pyx_L3_error) }
7270 switch (__pyx_nargs) {
7272 values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2);
7273 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 367, __pyx_L3_error)
7276 values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1);
7277 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 367, __pyx_L3_error)
7278 values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0);
7279 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 367, __pyx_L3_error)
7281 default:
goto __pyx_L5_argtuple_error;
7284 __pyx_v_obj = values[0];
7285 __pyx_v_flags = __Pyx_PyLong_As_int(values[1]);
if (unlikely((__pyx_v_flags == (
int)-1) && PyErr_Occurred())) __PYX_ERR(1, 367, __pyx_L3_error)
7287 __pyx_v_dtype_is_object = __Pyx_PyObject_IsTrue(values[2]);
if (unlikely((__pyx_v_dtype_is_object == (
int)-1) && PyErr_Occurred())) __PYX_ERR(1, 367, __pyx_L3_error)
7289 __pyx_v_dtype_is_object = ((int)0);
7293 __pyx_L5_argtuple_error:;
7294 __Pyx_RaiseArgtupleInvalid(
"__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 367, __pyx_L3_error)
7296 goto __pyx_L4_argument_unpacking_done;
7298 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
7299 Py_XDECREF(values[__pyx_temp]);
7301 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7302 __Pyx_RefNannyFinishContext();
7304 __pyx_L4_argument_unpacking_done:;
7305 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(((
struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_obj, __pyx_v_flags, __pyx_v_dtype_is_object);
7308 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
7309 Py_XDECREF(values[__pyx_temp]);
7313 __Pyx_RefNannyFinishContext();
7317static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj,
int __pyx_v_flags,
int __pyx_v_dtype_is_object) {
7319 __Pyx_RefNannyDeclarations
7323 int __pyx_lineno = 0;
7324 const char *__pyx_filename = NULL;
7325 int __pyx_clineno = 0;
7326 __Pyx_RefNannySetupContext(
"__cinit__", 0);
7335 __Pyx_INCREF(__pyx_v_obj);
7336 __Pyx_GIVEREF(__pyx_v_obj);
7337 __Pyx_GOTREF(__pyx_v_self->obj);
7338 __Pyx_DECREF(__pyx_v_self->obj);
7339 __pyx_v_self->obj = __pyx_v_obj;
7348 __pyx_v_self->flags = __pyx_v_flags;
7357 __pyx_t_2 = (((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))) == ((PyObject *)__pyx_mstate_global->__pyx_memoryview_type));
7362 __pyx_t_1 = __pyx_t_2;
7364 goto __pyx_L4_bool_binop_done;
7366 __pyx_t_2 = (__pyx_v_obj != Py_None);
7368 __pyx_t_1 = __pyx_t_2;
7370 __pyx_L4_bool_binop_done:;
7381 __pyx_t_3 = PyObject_GetBuffer(__pyx_v_obj, (&__pyx_v_self->view), __pyx_v_flags);
if (unlikely(__pyx_t_3 == ((
int)-1))) __PYX_ERR(1, 371, __pyx_L1_error)
7391 __pyx_t_1 = (((PyObject *)__pyx_v_self->view.obj) == NULL);
7403 ((Py_buffer *)(&__pyx_v_self->view))->obj = Py_None;
7439 __pyx_t_1 = (!__PYX_CYTHON_ATOMICS_ENABLED());
7451 __pyx_t_2 = (__pyx_memoryview_thread_locks_used < 8);
7457 __pyx_t_1 = __pyx_t_2;
7459 goto __pyx_L9_bool_binop_done;
7469 __pyx_t_2 = (!__PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING());
7472 __pyx_t_1 = __pyx_t_2;
7474 __pyx_L9_bool_binop_done:;
7493 __pyx_v_self->lock = (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]);
7502 __pyx_memoryview_thread_locks_used = (__pyx_memoryview_thread_locks_used + 1);
7520 __pyx_t_1 = (__pyx_v_self->lock == NULL);
7532 __pyx_v_self->lock = PyThread_allocate_lock();
7541 __pyx_t_1 = (__pyx_v_self->lock == NULL);
7543 if (unlikely(__pyx_t_1)) {
7553 PyErr_NoMemory(); __PYX_ERR(1, 386, __pyx_L1_error)
7589 __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
7601 __pyx_t_2 = ((__pyx_v_self->view.format[0]) ==
'O');
7607 __pyx_t_1 = __pyx_t_2;
7609 goto __pyx_L14_bool_binop_done;
7611 __pyx_t_2 = ((__pyx_v_self->view.format[1]) ==
'\x00');
7614 __pyx_t_1 = __pyx_t_2;
7616 __pyx_L14_bool_binop_done:;
7617 __pyx_v_self->dtype_is_object = __pyx_t_1;
7637 __pyx_v_self->dtype_is_object = __pyx_v_dtype_is_object;
7648 #ifndef CYTHON_WITHOUT_ASSERTIONS
7649 if (unlikely(__pyx_assertions_enabled())) {
7650 __pyx_t_1 = ((((__pyx_uintptr_t)(&__pyx_v_self->acquisition_count)) % (
sizeof(__pyx_atomic_int_type))) == 0);
7652 if (unlikely(!__pyx_t_1)) {
7653 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
7654 __PYX_ERR(1, 394, __pyx_L1_error)
7659 if ((1));
else __PYX_ERR(1, 394, __pyx_L1_error)
7669 __pyx_v_self->typeinfo = NULL;
7683 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
7687 __Pyx_RefNannyFinishContext();
7700static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self);
7701static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {
7702 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
7703 __Pyx_RefNannyDeclarations
7704 __Pyx_RefNannySetupContext(
"__dealloc__ (wrapper)", 0);
7705 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
7706 __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
7709 __Pyx_RefNannyFinishContext();
7712static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(
struct __pyx_memoryview_obj *__pyx_v_self) {
7715 Py_ssize_t __pyx_t_2;
7716 Py_ssize_t __pyx_t_3;
7718 PyThread_type_lock __pyx_t_5;
7719 PyThread_type_lock __pyx_t_6;
7728 __pyx_t_1 = (__pyx_v_self->obj != Py_None);
7739 PyBuffer_Release((&__pyx_v_self->view));
7758 __pyx_t_1 = (((Py_buffer *)(&__pyx_v_self->view))->obj == Py_None);
7770 ((Py_buffer *)(&__pyx_v_self->view))->obj = NULL;
7798 __pyx_t_1 = (__pyx_v_self->lock != NULL);
7810 __pyx_t_1 = __PYX_GET_CYTHON_COMPILING_IN_CPYTHON_FREETHREADING();
7817 __pyx_t_2 = __pyx_memoryview_thread_locks_used;
7820 __pyx_t_3 = __pyx_t_2;
7822 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
7823 __pyx_v_i = __pyx_t_4;
7832 __pyx_t_1 = ((__pyx_memoryview_thread_locks[__pyx_v_i]) == __pyx_v_self->lock);
7844 __pyx_memoryview_thread_locks_used = (__pyx_memoryview_thread_locks_used - 1);
7853 __pyx_t_1 = (__pyx_v_i != __pyx_memoryview_thread_locks_used);
7865 __pyx_t_5 = (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]);
7867 __pyx_t_6 = (__pyx_memoryview_thread_locks[__pyx_v_i]);
7877 (__pyx_memoryview_thread_locks[__pyx_v_i]) = __pyx_t_5;
7879 (__pyx_memoryview_thread_locks[__pyx_memoryview_thread_locks_used]) = __pyx_t_6;
7898 goto __pyx_L6_break;
7918 PyThread_free_lock(__pyx_v_self->lock);
7954static char *__pyx_memoryview_get_item_pointer(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {
7955 Py_ssize_t __pyx_v_dim;
7956 char *__pyx_v_itemp;
7957 PyObject *__pyx_v_idx = NULL;
7959 __Pyx_RefNannyDeclarations
7960 Py_ssize_t __pyx_t_1;
7961 PyObject *__pyx_t_2 = NULL;
7962 Py_ssize_t __pyx_t_3;
7963 PyObject *__pyx_t_4 = NULL;
7964 Py_ssize_t __pyx_t_5;
7966 int __pyx_lineno = 0;
7967 const char *__pyx_filename = NULL;
7968 int __pyx_clineno = 0;
7969 __Pyx_RefNannySetupContext(
"get_item_pointer", 0);
7978 __pyx_v_itemp = ((
char *)__pyx_v_self->view.buf);
7989 __pyx_t_2 = __pyx_v_index; __Pyx_INCREF(__pyx_t_2);
7993 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
7994 #if !CYTHON_ASSUME_SAFE_SIZE
7995 if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 423, __pyx_L1_error)
7997 if (__pyx_t_3 >= __pyx_temp)
break;
7999 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
8000 __pyx_t_4 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3));
8002 __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3);
8005 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 423, __pyx_L1_error)
8006 __Pyx_GOTREF(__pyx_t_4);
8007 __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_4);
8009 __pyx_v_dim = __pyx_t_1;
8010 __pyx_t_1 = (__pyx_t_1 + 1);
8019 __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idx);
if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 424, __pyx_L1_error)
8020 __pyx_t_6 = __pyx_pybuffer_index((&__pyx_v_self->view), __pyx_v_itemp, __pyx_t_5, __pyx_v_dim);
if (unlikely(__pyx_t_6 == ((
void *)NULL))) __PYX_ERR(1, 424, __pyx_L1_error)
8021 __pyx_v_itemp = __pyx_t_6;
8032 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8043 __pyx_r = __pyx_v_itemp;
8057 __Pyx_XDECREF(__pyx_t_2);
8058 __Pyx_XDECREF(__pyx_t_4);
8059 __Pyx_AddTraceback(
"View.MemoryView.memoryview.get_item_pointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
8064 __Pyx_XDECREF(__pyx_v_idx);
8066 __Pyx_RefNannyFinishContext();
8079static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index);
8080static PyObject *__pyx_memoryview___getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index) {
8081 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
8082 PyObject *__pyx_r = 0;
8083 __Pyx_RefNannyDeclarations
8084 __Pyx_RefNannySetupContext(
"__getitem__ (wrapper)", 0);
8085 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
8086 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(((
struct __pyx_memoryview_obj *)__pyx_v_self), ((PyObject *)__pyx_v_index));
8089 __Pyx_RefNannyFinishContext();
8093static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4__getitem__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index) {
8094 char *__pyx_v_buffer;
8095 int __pyx_v_have_slices;
8096 PyObject *__pyx_v_indices = NULL;
8097 char *__pyx_v_itemp;
8098 PyObject *__pyx_r = NULL;
8099 __Pyx_RefNannyDeclarations
8102 Py_ssize_t __pyx_t_3;
8104 PyObject *__pyx_t_5 = NULL;
8105 PyObject *__pyx_t_6 = NULL;
8106 PyObject *__pyx_t_7 = NULL;
8107 int __pyx_lineno = 0;
8108 const char *__pyx_filename = NULL;
8109 int __pyx_clineno = 0;
8110 __Pyx_RefNannySetupContext(
"__getitem__", 0);
8119 __pyx_t_2 = (__pyx_v_self->view.ndim == 1);
8125 __pyx_t_1 = __pyx_t_2;
8127 goto __pyx_L4_bool_binop_done;
8129 __pyx_t_2 = PyLong_Check(__pyx_v_index);
8131 __pyx_t_1 = __pyx_t_2;
8133 __pyx_L4_bool_binop_done:;
8144 __pyx_v_buffer = ((
char *)__pyx_v_self->view.buf);
8153 __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_v_index);
if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 434, __pyx_L1_error)
8154 __pyx_t_4 = __pyx_pybuffer_index((&__pyx_v_self->view), __pyx_v_buffer, __pyx_t_3, 0);
if (unlikely(__pyx_t_4 == ((
void *)NULL))) __PYX_ERR(1, 434, __pyx_L1_error)
8163 __pyx_t_5 = ((
struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->convert_item_to_object(__pyx_v_self, __pyx_t_4);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 433, __pyx_L1_error)
8164 __Pyx_GOTREF(__pyx_t_5);
8168 PyObject *__pyx_temp;
8170 __pyx_temp = __pyx_r;
8171 __pyx_r = __pyx_t_5;
8173 __Pyx_XDECREF(__pyx_temp);
8194 __pyx_t_1 = (__pyx_v_index == __pyx_builtin_Ellipsis);
8206 PyObject *__pyx_temp;
8208 __pyx_temp = __pyx_r;
8209 __Pyx_INCREF((PyObject *)__pyx_v_self);
8210 __pyx_r = ((PyObject *)__pyx_v_self);
8212 __Pyx_XDECREF(__pyx_temp);
8232 __pyx_t_5 = _unellipsify(__pyx_v_index, __pyx_v_self->view.ndim);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 439, __pyx_L1_error)
8233 __Pyx_GOTREF(__pyx_t_5);
8234 if (likely(__pyx_t_5 != Py_None)) {
8235 PyObject* sequence = __pyx_t_5;
8236 Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(sequence);
8237 if (unlikely(size != 2)) {
8238 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
8239 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
8240 __PYX_ERR(1, 439, __pyx_L1_error)
8242 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
8243 __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0);
8244 __Pyx_INCREF(__pyx_t_6);
8245 __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
8246 __Pyx_INCREF(__pyx_t_7);
8248 __pyx_t_6 = __Pyx_PySequence_ITEM(sequence, 0);
if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 439, __pyx_L1_error)
8249 __Pyx_GOTREF(__pyx_t_6);
8250 __pyx_t_7 = __Pyx_PySequence_ITEM(sequence, 1);
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 439, __pyx_L1_error)
8251 __Pyx_GOTREF(__pyx_t_7);
8253 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
8255 __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 439, __pyx_L1_error)
8257 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6);
if (unlikely((__pyx_t_1 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(1, 439, __pyx_L1_error)
8258 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
8259 if (!(likely(PyTuple_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None) || __Pyx_RaiseUnexpectedTypeError(
"tuple", __pyx_t_7))) __PYX_ERR(1, 439, __pyx_L1_error)
8260 __pyx_v_have_slices = __pyx_t_1;
8261 __pyx_v_indices = ((PyObject*)__pyx_t_7);
8271 if (__pyx_v_have_slices) {
8280 __pyx_t_5 = ((PyObject *)__pyx_memview_slice(__pyx_v_self, __pyx_v_indices));
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 443, __pyx_L1_error)
8281 __Pyx_GOTREF(__pyx_t_5);
8283 PyObject *__pyx_temp;
8285 __pyx_temp = __pyx_r;
8286 __pyx_r = __pyx_t_5;
8288 __Pyx_XDECREF(__pyx_temp);
8310 if (unlikely(__pyx_v_indices == Py_None)) {
8311 PyErr_SetString(PyExc_TypeError,
"cannot pass None into a C function argument that is declared \047not None\047");
8312 __PYX_ERR(1, 445, __pyx_L1_error)
8314 __pyx_t_4 = __pyx_memoryview_get_item_pointer(__pyx_v_self, ((PyObject*)__pyx_v_indices));
if (unlikely(__pyx_t_4 == ((
void *)NULL))) __PYX_ERR(1, 445, __pyx_L1_error)
8315 __pyx_v_itemp = __pyx_t_4;
8324 __pyx_t_5 = ((
struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->convert_item_to_object(__pyx_v_self, __pyx_v_itemp);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 446, __pyx_L1_error)
8325 __Pyx_GOTREF(__pyx_t_5);
8327 PyObject *__pyx_temp;
8329 __pyx_temp = __pyx_r;
8330 __pyx_r = __pyx_t_5;
8332 __Pyx_XDECREF(__pyx_temp);
8348 __Pyx_XDECREF(__pyx_t_5);
8349 __Pyx_XDECREF(__pyx_t_6);
8350 __Pyx_XDECREF(__pyx_t_7);
8351 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8356 __Pyx_XDECREF(__pyx_v_indices);
8358 __Pyx_XGIVEREF(__pyx_r);
8359 __Pyx_RefNannyFinishContext();
8372static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value);
8373static int __pyx_memoryview___setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
8374 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
8376 __Pyx_RefNannyDeclarations
8377 __Pyx_RefNannySetupContext(
"__setitem__ (wrapper)", 0);
8378 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
8379 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(((
struct __pyx_memoryview_obj *)__pyx_v_self), ((PyObject *)__pyx_v_index), ((PyObject *)__pyx_v_value));
8382 __Pyx_RefNannyFinishContext();
8386static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_6__setitem__(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
8387 int __pyx_v_have_slices;
8388 PyObject *__pyx_v_indices = NULL;
8389 PyObject *__pyx_v_obj = NULL;
8390 struct __pyx_memoryview_obj *__pyx_v_target_slice = NULL;
8392 __Pyx_RefNannyDeclarations
8395 PyObject *__pyx_t_3 = NULL;
8396 PyObject *__pyx_t_4 = NULL;
8397 PyObject *__pyx_t_5 = NULL;
8398 int __pyx_lineno = 0;
8399 const char *__pyx_filename = NULL;
8400 int __pyx_clineno = 0;
8401 __Pyx_RefNannySetupContext(
"__setitem__", 0);
8410 if (unlikely(__pyx_v_self->view.readonly)) {
8419 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_Cannot_assign_to_read_only_memor, 0, 0);
8420 __PYX_ERR(1, 450, __pyx_L1_error)
8438 __pyx_t_2 = (__pyx_v_self->view.ndim == 1);
8444 __pyx_t_1 = __pyx_t_2;
8446 goto __pyx_L5_bool_binop_done;
8448 __pyx_t_2 = PyLong_Check(__pyx_v_index);
8450 __pyx_t_1 = __pyx_t_2;
8452 __pyx_L5_bool_binop_done:;
8463 __pyx_t_3 = __pyx_memoryview_setitem_indexed1(__pyx_v_self, __pyx_v_index, __pyx_v_value);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 453, __pyx_L1_error)
8464 __Pyx_GOTREF(__pyx_t_3);
8465 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8495 __pyx_t_3 = _unellipsify(__pyx_v_index, __pyx_v_self->view.ndim);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 456, __pyx_L1_error)
8496 __Pyx_GOTREF(__pyx_t_3);
8497 if (likely(__pyx_t_3 != Py_None)) {
8498 PyObject* sequence = __pyx_t_3;
8499 Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(sequence);
8500 if (unlikely(size != 2)) {
8501 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
8502 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
8503 __PYX_ERR(1, 456, __pyx_L1_error)
8505 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
8506 __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
8507 __Pyx_INCREF(__pyx_t_4);
8508 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
8509 __Pyx_INCREF(__pyx_t_5);
8511 __pyx_t_4 = __Pyx_PySequence_ITEM(sequence, 0);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 456, __pyx_L1_error)
8512 __Pyx_GOTREF(__pyx_t_4);
8513 __pyx_t_5 = __Pyx_PySequence_ITEM(sequence, 1);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 456, __pyx_L1_error)
8514 __Pyx_GOTREF(__pyx_t_5);
8516 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8518 __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 456, __pyx_L1_error)
8520 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4);
if (unlikely((__pyx_t_1 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(1, 456, __pyx_L1_error)
8521 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
8522 if (!(likely(PyTuple_CheckExact(__pyx_t_5))||((__pyx_t_5) == Py_None) || __Pyx_RaiseUnexpectedTypeError(
"tuple", __pyx_t_5))) __PYX_ERR(1, 456, __pyx_L1_error)
8523 __pyx_v_have_slices = __pyx_t_1;
8524 __pyx_v_indices = ((PyObject*)__pyx_t_5);
8534 if (__pyx_v_have_slices) {
8543 __pyx_t_3 = __pyx_memoryview_is_slice(__pyx_v_self, __pyx_v_value);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 459, __pyx_L1_error)
8544 __Pyx_GOTREF(__pyx_t_3);
8545 __pyx_v_obj = __pyx_t_3;
8555 __pyx_t_3 = ((PyObject *)__pyx_memview_slice(__pyx_v_self, __pyx_v_indices));
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 460, __pyx_L1_error)
8556 __Pyx_GOTREF(__pyx_t_3);
8557 __pyx_v_target_slice = ((
struct __pyx_memoryview_obj *)__pyx_t_3);
8567 __pyx_t_1 = (__pyx_v_obj != Py_None);
8578 __pyx_t_3 = __pyx_memoryview_setitem_slice_assignment(__pyx_v_self, ((PyObject *)__pyx_v_target_slice), __pyx_v_obj);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 462, __pyx_L1_error)
8579 __Pyx_GOTREF(__pyx_t_3);
8580 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8600 __pyx_t_3 = __pyx_memoryview_setitem_slice_assign_scalar(__pyx_v_self, __pyx_v_target_slice, __pyx_v_value);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 464, __pyx_L1_error)
8601 __Pyx_GOTREF(__pyx_t_3);
8602 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8624 if (unlikely(__pyx_v_indices == Py_None)) {
8625 PyErr_SetString(PyExc_TypeError,
"cannot pass None into a C function argument that is declared \047not None\047");
8626 __PYX_ERR(1, 466, __pyx_L1_error)
8628 __pyx_t_3 = __pyx_memoryview_setitem_indexed(__pyx_v_self, ((PyObject*)__pyx_v_indices), __pyx_v_value);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 466, __pyx_L1_error)
8629 __Pyx_GOTREF(__pyx_t_3);
8630 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
8646 __Pyx_XDECREF(__pyx_t_3);
8647 __Pyx_XDECREF(__pyx_t_4);
8648 __Pyx_XDECREF(__pyx_t_5);
8649 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
8653 __Pyx_XDECREF(__pyx_v_indices);
8654 __Pyx_XDECREF(__pyx_v_obj);
8655 __Pyx_XDECREF((PyObject *)__pyx_v_target_slice);
8657 __Pyx_RefNannyFinishContext();
8669static PyObject *__pyx_memoryview_is_slice(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_obj) {
8670 PyObject *__pyx_r = NULL;
8671 __Pyx_RefNannyDeclarations
8674 PyObject *__pyx_t_3 = NULL;
8675 PyObject *__pyx_t_4 = NULL;
8676 PyObject *__pyx_t_5 = NULL;
8677 PyObject *__pyx_t_6 = NULL;
8678 PyObject *__pyx_t_7 = NULL;
8679 PyObject *__pyx_t_8 = NULL;
8680 PyObject *__pyx_t_9 = NULL;
8683 int __pyx_lineno = 0;
8684 const char *__pyx_filename = NULL;
8685 int __pyx_clineno = 0;
8686 __Pyx_RefNannySetupContext(
"is_slice", 0);
8687 __Pyx_INCREF(__pyx_v_obj);
8696 __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_obj, __pyx_mstate_global->__pyx_memoryview_type);
8697 __pyx_t_2 = (!__pyx_t_1);
8711 __Pyx_PyThreadState_declare
8712 __Pyx_PyThreadState_assign
8713 __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
8714 __Pyx_XGOTREF(__pyx_t_3);
8715 __Pyx_XGOTREF(__pyx_t_4);
8716 __Pyx_XGOTREF(__pyx_t_5);
8727 __pyx_t_8 = __Pyx_PyLong_From_int(((__pyx_v_self->flags & (~PyBUF_WRITABLE)) | PyBUF_ANY_CONTIGUOUS));
if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 472, __pyx_L4_error)
8728 __Pyx_GOTREF(__pyx_t_8);
8737 __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_v_self->dtype_is_object);
if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 473, __pyx_L4_error)
8738 __Pyx_GOTREF(__pyx_t_9);
8741 PyObject *__pyx_callargs[4] = {__pyx_t_7, __pyx_v_obj, __pyx_t_8, __pyx_t_9};
8742 __pyx_t_6 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_memoryview_type, __pyx_callargs+__pyx_t_10, (4-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
8743 __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
8744 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
8745 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
8746 if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 472, __pyx_L4_error)
8747 __Pyx_GOTREF((PyObject *)__pyx_t_6);
8749 __Pyx_DECREF_SET(__pyx_v_obj, ((PyObject *)__pyx_t_6));
8760 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
8761 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
8762 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
8763 goto __pyx_L9_try_end;
8765 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
8766 __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
8767 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
8768 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
8777 __pyx_t_11 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_TypeError))));
8779 __Pyx_ErrRestore(0,0,0);
8789 PyObject *__pyx_temp;
8791 __pyx_temp = __pyx_r;
8792 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
8794 __Pyx_XDECREF(__pyx_temp);
8796 goto __pyx_L7_except_return;
8798 goto __pyx_L6_except_error;
8807 __pyx_L6_except_error:;
8808 __Pyx_XGIVEREF(__pyx_t_3);
8809 __Pyx_XGIVEREF(__pyx_t_4);
8810 __Pyx_XGIVEREF(__pyx_t_5);
8811 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
8812 goto __pyx_L1_error;
8813 __pyx_L7_except_return:;
8814 __Pyx_XGIVEREF(__pyx_t_3);
8815 __Pyx_XGIVEREF(__pyx_t_4);
8816 __Pyx_XGIVEREF(__pyx_t_5);
8817 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
8839 PyObject *__pyx_temp;
8841 __pyx_temp = __pyx_r;
8842 __Pyx_INCREF(__pyx_v_obj);
8843 __pyx_r = __pyx_v_obj;
8845 __Pyx_XDECREF(__pyx_temp);
8859 __Pyx_XDECREF(__pyx_t_6);
8860 __Pyx_XDECREF(__pyx_t_7);
8861 __Pyx_XDECREF(__pyx_t_8);
8862 __Pyx_XDECREF(__pyx_t_9);
8863 __Pyx_AddTraceback(
"View.MemoryView.memoryview.is_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
8866 __Pyx_XDECREF(__pyx_v_obj);
8867 __Pyx_XGIVEREF(__pyx_r);
8868 __Pyx_RefNannyFinishContext();
8880static PyObject *__pyx_memoryview_setitem_slice_assignment(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_dst, PyObject *__pyx_v_src) {
8881 __Pyx_memviewslice __pyx_v_dst_slice;
8882 __Pyx_memviewslice __pyx_v_src_slice;
8883 __Pyx_memviewslice __pyx_v_msrc;
8884 __Pyx_memviewslice __pyx_v_mdst;
8885 PyObject *__pyx_r = NULL;
8886 __Pyx_RefNannyDeclarations
8887 __Pyx_memviewslice *__pyx_t_1;
8888 PyObject *__pyx_t_2 = NULL;
8892 int __pyx_lineno = 0;
8893 const char *__pyx_filename = NULL;
8894 int __pyx_clineno = 0;
8895 __Pyx_RefNannySetupContext(
"setitem_slice_assignment", 0);
8904 if (!(likely(((__pyx_v_src) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_src, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(1, 483, __pyx_L1_error)
8905 __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(((
struct __pyx_memoryview_obj *)__pyx_v_src), (&__pyx_v_src_slice));
if (unlikely(__pyx_t_1 == ((
void *)NULL))) __PYX_ERR(1, 483, __pyx_L1_error)
8906 __pyx_v_msrc = (__pyx_t_1[0]);
8916 if (!(likely(((__pyx_v_dst) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_dst, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(1, 484, __pyx_L1_error)
8917 __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(((
struct __pyx_memoryview_obj *)__pyx_v_dst), (&__pyx_v_dst_slice));
if (unlikely(__pyx_t_1 == ((
void *)NULL))) __PYX_ERR(1, 484, __pyx_L1_error)
8918 __pyx_v_mdst = (__pyx_t_1[0]);
8928 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_src, __pyx_mstate_global->__pyx_n_u_ndim);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 486, __pyx_L1_error)
8929 __Pyx_GOTREF(__pyx_t_2);
8930 __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_t_2);
if (unlikely((__pyx_t_3 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(1, 486, __pyx_L1_error)
8931 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8932 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dst, __pyx_mstate_global->__pyx_n_u_ndim);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 486, __pyx_L1_error)
8933 __Pyx_GOTREF(__pyx_t_2);
8934 __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_2);
if (unlikely((__pyx_t_4 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(1, 486, __pyx_L1_error)
8935 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
8936 __pyx_t_5 = __pyx_memoryview_copy_contents(__pyx_v_msrc, __pyx_v_mdst, __pyx_t_3, __pyx_t_4, __pyx_v_self->dtype_is_object);
if (unlikely(__pyx_t_5 == ((
int)-1))) __PYX_ERR(1, 486, __pyx_L1_error)
8950 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
8953 __Pyx_XDECREF(__pyx_t_2);
8954 __Pyx_AddTraceback(
"View.MemoryView.memoryview.setitem_slice_assignment", __pyx_clineno, __pyx_lineno, __pyx_filename);
8961 __Pyx_XGIVEREF(__pyx_r);
8962 __Pyx_RefNannyFinishContext();
8974static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(
struct __pyx_memoryview_obj *__pyx_v_self,
struct __pyx_memoryview_obj *__pyx_v_dst, PyObject *__pyx_v_value) {
8975 int __pyx_v_array[128];
8978 __Pyx_memviewslice *__pyx_v_dst_slice;
8979 __Pyx_memviewslice __pyx_v_tmp_slice;
8980 PyObject *__pyx_r = NULL;
8981 __Pyx_RefNannyDeclarations
8982 __Pyx_memviewslice *__pyx_t_1;
8984 PyObject *__pyx_t_3 = NULL;
8987 char const *__pyx_t_6;
8988 PyObject *__pyx_t_7 = NULL;
8989 PyObject *__pyx_t_8 = NULL;
8990 PyObject *__pyx_t_9 = NULL;
8991 PyObject *__pyx_t_10 = NULL;
8992 PyObject *__pyx_t_11 = NULL;
8993 PyObject *__pyx_t_12 = NULL;
8994 int __pyx_lineno = 0;
8995 const char *__pyx_filename = NULL;
8996 int __pyx_clineno = 0;
8997 __Pyx_RefNannySetupContext(
"setitem_slice_assign_scalar", 0);
9015 __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_dst, (&__pyx_v_tmp_slice));
if (unlikely(__pyx_t_1 == ((
void *)NULL))) __PYX_ERR(1, 496, __pyx_L1_error)
9016 __pyx_v_dst_slice = __pyx_t_1;
9025 __pyx_t_2 = (((size_t)__pyx_v_self->view.itemsize) > (
sizeof(__pyx_v_array)));
9037 __pyx_v_tmp = PyMem_Malloc(((
size_t)__pyx_v_self->view.itemsize));
9046 __pyx_t_2 = (__pyx_v_tmp == NULL);
9048 if (unlikely(__pyx_t_2)) {
9058 PyErr_NoMemory(); __PYX_ERR(1, 501, __pyx_L1_error)
9076 __pyx_v_item = __pyx_v_tmp;
9096 __pyx_v_item = ((
void *)__pyx_v_array);
9116 if (__pyx_v_self->dtype_is_object) {
9125 (((PyObject **)__pyx_v_item)[0]) = ((PyObject *)__pyx_v_value);
9145 __pyx_t_3 = ((
struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->assign_item_from_object(__pyx_v_self, ((
char *)__pyx_v_item), __pyx_v_value);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 510, __pyx_L6_error)
9146 __Pyx_GOTREF(__pyx_t_3);
9147 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9158 __pyx_t_2 = (__pyx_v_self->view.suboffsets != NULL);
9170 __pyx_t_4 = assert_direct_dimensions(__pyx_v_self->view.suboffsets, __pyx_v_self->view.ndim);
if (unlikely(__pyx_t_4 == ((
int)-1))) __PYX_ERR(1, 515, __pyx_L6_error)
9189 __pyx_memoryview_slice_assign_scalar(__pyx_v_dst_slice, __pyx_v_dst->view.ndim, ((
size_t)__pyx_v_self->view.itemsize), __pyx_v_item, __pyx_v_self->dtype_is_object);
9201 PyMem_Free(__pyx_v_tmp);
9206 __Pyx_PyThreadState_declare
9207 __Pyx_PyThreadState_assign
9208 __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0;
9209 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
9210 __Pyx_ExceptionSwap(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
9211 if ( unlikely(__Pyx_GetException(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9) < 0)) __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9);
9212 __Pyx_XGOTREF(__pyx_t_7);
9213 __Pyx_XGOTREF(__pyx_t_8);
9214 __Pyx_XGOTREF(__pyx_t_9);
9215 __Pyx_XGOTREF(__pyx_t_10);
9216 __Pyx_XGOTREF(__pyx_t_11);
9217 __Pyx_XGOTREF(__pyx_t_12);
9218 __pyx_t_4 = __pyx_lineno; __pyx_t_5 = __pyx_clineno; __pyx_t_6 = __pyx_filename;
9220 PyMem_Free(__pyx_v_tmp);
9222 __Pyx_XGIVEREF(__pyx_t_10);
9223 __Pyx_XGIVEREF(__pyx_t_11);
9224 __Pyx_XGIVEREF(__pyx_t_12);
9225 __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
9226 __Pyx_XGIVEREF(__pyx_t_7);
9227 __Pyx_XGIVEREF(__pyx_t_8);
9228 __Pyx_XGIVEREF(__pyx_t_9);
9229 __Pyx_ErrRestore(__pyx_t_7, __pyx_t_8, __pyx_t_9);
9230 __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0;
9231 __pyx_lineno = __pyx_t_4; __pyx_clineno = __pyx_t_5; __pyx_filename = __pyx_t_6;
9232 goto __pyx_L1_error;
9246 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9249 __Pyx_XDECREF(__pyx_t_3);
9250 __Pyx_AddTraceback(
"View.MemoryView.memoryview.setitem_slice_assign_scalar", __pyx_clineno, __pyx_lineno, __pyx_filename);
9258 __Pyx_XGIVEREF(__pyx_r);
9259 __Pyx_RefNannyFinishContext();
9271static PyObject *__pyx_memoryview_setitem_indexed(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_indices, PyObject *__pyx_v_value) {
9272 char *__pyx_v_itemp;
9273 PyObject *__pyx_r = NULL;
9274 __Pyx_RefNannyDeclarations
9276 PyObject *__pyx_t_2 = NULL;
9277 int __pyx_lineno = 0;
9278 const char *__pyx_filename = NULL;
9279 int __pyx_clineno = 0;
9280 __Pyx_RefNannySetupContext(
"setitem_indexed", 0);
9289 __pyx_t_1 = __pyx_memoryview_get_item_pointer(__pyx_v_self, __pyx_v_indices);
if (unlikely(__pyx_t_1 == ((
void *)NULL))) __PYX_ERR(1, 523, __pyx_L1_error)
9290 __pyx_v_itemp = __pyx_t_1;
9299 __pyx_t_2 = ((
struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->assign_item_from_object(__pyx_v_self, __pyx_v_itemp, __pyx_v_value);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 524, __pyx_L1_error)
9300 __Pyx_GOTREF(__pyx_t_2);
9301 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
9312 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9315 __Pyx_XDECREF(__pyx_t_2);
9316 __Pyx_AddTraceback(
"View.MemoryView.memoryview.setitem_indexed", __pyx_clineno, __pyx_lineno, __pyx_filename);
9320 __Pyx_XGIVEREF(__pyx_r);
9321 __Pyx_RefNannyFinishContext();
9333static PyObject *__pyx_memoryview_setitem_indexed1(
struct __pyx_memoryview_obj *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
9334 char *__pyx_v_buffer;
9335 char *__pyx_v_itemp;
9336 PyObject *__pyx_r = NULL;
9337 __Pyx_RefNannyDeclarations
9338 Py_ssize_t __pyx_t_1;
9340 PyObject *__pyx_t_3 = NULL;
9341 int __pyx_lineno = 0;
9342 const char *__pyx_filename = NULL;
9343 int __pyx_clineno = 0;
9344 __Pyx_RefNannySetupContext(
"setitem_indexed1", 0);
9353 __pyx_v_buffer = ((
char *)__pyx_v_self->view.buf);
9362 __pyx_t_1 = __Pyx_PyIndex_AsSsize_t(__pyx_v_index);
if (unlikely((__pyx_t_1 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 529, __pyx_L1_error)
9363 __pyx_t_2 = __pyx_pybuffer_index((&__pyx_v_self->view), __pyx_v_buffer, __pyx_t_1, 0);
if (unlikely(__pyx_t_2 == ((
void *)NULL))) __PYX_ERR(1, 529, __pyx_L1_error)
9364 __pyx_v_itemp = __pyx_t_2;
9374 __pyx_t_3 = ((
struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->assign_item_from_object(__pyx_v_self, __pyx_v_itemp, __pyx_v_value);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 530, __pyx_L1_error)
9375 __Pyx_GOTREF(__pyx_t_3);
9376 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
9387 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9390 __Pyx_XDECREF(__pyx_t_3);
9391 __Pyx_AddTraceback(
"View.MemoryView.memoryview.setitem_indexed1", __pyx_clineno, __pyx_lineno, __pyx_filename);
9396 __Pyx_XGIVEREF(__pyx_r);
9397 __Pyx_RefNannyFinishContext();
9409static PyObject *__pyx_memoryview_convert_item_to_object(
struct __pyx_memoryview_obj *__pyx_v_self,
char *__pyx_v_itemp) {
9410 PyObject *__pyx_v_struct = NULL;
9411 PyObject *__pyx_v_bytesitem = 0;
9412 PyObject *__pyx_v_result = NULL;
9413 PyObject *__pyx_r = NULL;
9414 __Pyx_RefNannyDeclarations
9415 PyObject *__pyx_t_1 = NULL;
9416 PyObject *__pyx_t_2 = NULL;
9417 PyObject *__pyx_t_3 = NULL;
9418 PyObject *__pyx_t_4 = NULL;
9419 PyObject *__pyx_t_5 = NULL;
9420 PyObject *__pyx_t_6 = NULL;
9422 Py_ssize_t __pyx_t_8;
9424 PyObject *__pyx_t_10 = NULL;
9426 int __pyx_lineno = 0;
9427 const char *__pyx_filename = NULL;
9428 int __pyx_clineno = 0;
9429 __Pyx_RefNannySetupContext(
"convert_item_to_object", 0);
9438 __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_struct, 0, 0, NULL, 0);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 535, __pyx_L1_error)
9439 __pyx_t_1 = __pyx_t_2;
9440 __Pyx_GOTREF(__pyx_t_1);
9441 __pyx_v_struct = __pyx_t_1;
9451 __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_itemp + 0, __pyx_v_self->view.itemsize - 0);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 538, __pyx_L1_error)
9452 __Pyx_GOTREF(__pyx_t_1);
9453 __pyx_v_bytesitem = ((PyObject*)__pyx_t_1);
9464 __Pyx_PyThreadState_declare
9465 __Pyx_PyThreadState_assign
9466 __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
9467 __Pyx_XGOTREF(__pyx_t_2);
9468 __Pyx_XGOTREF(__pyx_t_3);
9469 __Pyx_XGOTREF(__pyx_t_4);
9479 __pyx_t_5 = __pyx_v_struct;
9480 __Pyx_INCREF(__pyx_t_5);
9481 __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format);
if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 540, __pyx_L3_error)
9482 __Pyx_GOTREF(__pyx_t_6);
9485 PyObject *__pyx_callargs[3] = {__pyx_t_5, __pyx_t_6, __pyx_v_bytesitem};
9486 __pyx_t_1 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_unpack, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
9487 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9488 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
9489 if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 540, __pyx_L3_error)
9490 __Pyx_GOTREF(__pyx_t_1);
9492 __pyx_v_result = __pyx_t_1;
9512 __pyx_t_8 = __Pyx_ssize_strlen(__pyx_v_self->view.format);
if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(1, 544, __pyx_L5_except_error)
9513 __pyx_t_9 = (__pyx_t_8 == 1);
9526 __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_result, 0,
long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 545, __pyx_L5_except_error)
9527 __Pyx_GOTREF(__pyx_t_1);
9529 PyObject *__pyx_temp;
9531 __pyx_temp = __pyx_r;
9532 __pyx_r = __pyx_t_1;
9534 __Pyx_XDECREF(__pyx_temp);
9537 goto __pyx_L6_except_return;
9556 PyObject *__pyx_temp;
9558 __pyx_temp = __pyx_r;
9559 __Pyx_INCREF(__pyx_v_result);
9560 __pyx_r = __pyx_v_result;
9562 __Pyx_XDECREF(__pyx_temp);
9564 goto __pyx_L6_except_return;
9567 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
9568 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9569 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
9578 __Pyx_ErrFetch(&__pyx_t_1, &__pyx_t_6, &__pyx_t_5);
9579 __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_struct, __pyx_mstate_global->__pyx_n_u_error);
if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 541, __pyx_L5_except_error)
9580 __Pyx_GOTREF(__pyx_t_10);
9581 __pyx_t_11 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_1, __pyx_t_10);
9582 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
9583 __Pyx_ErrRestore(__pyx_t_1, __pyx_t_6, __pyx_t_5);
9584 __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0;
9586 __Pyx_AddTraceback(
"View.MemoryView.memoryview.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
9587 if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_1) < 0) __PYX_ERR(1, 541, __pyx_L5_except_error)
9588 __Pyx_XGOTREF(__pyx_t_5);
9589 __Pyx_XGOTREF(__pyx_t_6);
9590 __Pyx_XGOTREF(__pyx_t_1);
9599 __pyx_t_11 = __pyx_memoryview_err_ValueError(__pyx_k_Unable_to_convert_item_to_object);
if (unlikely(__pyx_t_11 == ((
int)-1))) __PYX_ERR(1, 542, __pyx_L5_except_error)
9601 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
9602 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
9603 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
9604 goto __pyx_L4_exception_handled;
9606 goto __pyx_L5_except_error;
9615 __pyx_L5_except_error:;
9616 __Pyx_XGIVEREF(__pyx_t_2);
9617 __Pyx_XGIVEREF(__pyx_t_3);
9618 __Pyx_XGIVEREF(__pyx_t_4);
9619 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
9620 goto __pyx_L1_error;
9621 __pyx_L6_except_return:;
9622 __Pyx_XGIVEREF(__pyx_t_2);
9623 __Pyx_XGIVEREF(__pyx_t_3);
9624 __Pyx_XGIVEREF(__pyx_t_4);
9625 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
9627 __pyx_L4_exception_handled:;
9628 __Pyx_XGIVEREF(__pyx_t_2);
9629 __Pyx_XGIVEREF(__pyx_t_3);
9630 __Pyx_XGIVEREF(__pyx_t_4);
9631 __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
9643 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9646 __Pyx_XDECREF(__pyx_t_1);
9647 __Pyx_XDECREF(__pyx_t_5);
9648 __Pyx_XDECREF(__pyx_t_6);
9649 __Pyx_XDECREF(__pyx_t_10);
9650 __Pyx_AddTraceback(
"View.MemoryView.memoryview.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
9653 __Pyx_XDECREF(__pyx_v_struct);
9654 __Pyx_XDECREF(__pyx_v_bytesitem);
9655 __Pyx_XDECREF(__pyx_v_result);
9656 __Pyx_XGIVEREF(__pyx_r);
9657 __Pyx_RefNannyFinishContext();
9669static PyObject *__pyx_memoryview_assign_item_from_object(
struct __pyx_memoryview_obj *__pyx_v_self,
char *__pyx_v_itemp, PyObject *__pyx_v_value) {
9670 PyObject *__pyx_v_struct = NULL;
9672 PyObject *__pyx_v_bytesvalue = 0;
9673 Py_ssize_t __pyx_v_i;
9674 PyObject *__pyx_r = NULL;
9675 __Pyx_RefNannyDeclarations
9676 PyObject *__pyx_t_1 = NULL;
9677 PyObject *__pyx_t_2 = NULL;
9679 PyObject *__pyx_t_4 = NULL;
9680 PyObject *__pyx_t_5 = NULL;
9681 PyObject *__pyx_t_6 = NULL;
9683 Py_ssize_t __pyx_t_8;
9684 PyObject *__pyx_t_9 = NULL;
9687 Py_ssize_t __pyx_t_12;
9690 int __pyx_lineno = 0;
9691 const char *__pyx_filename = NULL;
9692 int __pyx_clineno = 0;
9693 __Pyx_RefNannySetupContext(
"assign_item_from_object", 0);
9702 __pyx_t_2 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_struct, 0, 0, NULL, 0);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 551, __pyx_L1_error)
9703 __pyx_t_1 = __pyx_t_2;
9704 __Pyx_GOTREF(__pyx_t_1);
9705 __pyx_v_struct = __pyx_t_1;
9715 __pyx_t_3 = PyTuple_Check(__pyx_v_value);
9726 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_struct, __pyx_mstate_global->__pyx_n_u_pack);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 557, __pyx_L1_error)
9727 __Pyx_GOTREF(__pyx_t_1);
9728 __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 557, __pyx_L1_error)
9729 __Pyx_GOTREF(__pyx_t_4);
9730 __pyx_t_5 = PyTuple_New(1);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 557, __pyx_L1_error)
9731 __Pyx_GOTREF(__pyx_t_5);
9732 __Pyx_GIVEREF(__pyx_t_4);
9733 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4) != (0)) __PYX_ERR(1, 557, __pyx_L1_error);
9735 __pyx_t_4 = __Pyx_PySequence_Tuple(__pyx_v_value);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 557, __pyx_L1_error)
9736 __Pyx_GOTREF(__pyx_t_4);
9737 __pyx_t_6 = PyNumber_Add(__pyx_t_5, __pyx_t_4);
if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 557, __pyx_L1_error)
9738 __Pyx_GOTREF(__pyx_t_6);
9739 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
9740 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
9741 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 557, __pyx_L1_error)
9742 __Pyx_GOTREF(__pyx_t_4);
9743 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9744 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
9745 if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError(
"bytes", __pyx_t_4))) __PYX_ERR(1, 557, __pyx_L1_error)
9746 __pyx_v_bytesvalue = ((PyObject*)__pyx_t_4);
9767 __pyx_t_6 = __pyx_v_struct;
9768 __Pyx_INCREF(__pyx_t_6);
9769 __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_self->view.format);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 559, __pyx_L1_error)
9770 __Pyx_GOTREF(__pyx_t_1);
9773 PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_1, __pyx_v_value};
9774 __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_pack, __pyx_callargs+__pyx_t_7, (3-__pyx_t_7) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
9775 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
9776 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
9777 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 559, __pyx_L1_error)
9778 __Pyx_GOTREF(__pyx_t_4);
9780 if (!(likely(PyBytes_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError(
"bytes", __pyx_t_4))) __PYX_ERR(1, 559, __pyx_L1_error)
9781 __pyx_v_bytesvalue = ((PyObject*)__pyx_t_4);
9795 if (unlikely(__pyx_v_bytesvalue == Py_None)) {
9796 PyErr_SetString(PyExc_TypeError,
"\047NoneType\047 is not iterable");
9797 __PYX_ERR(1, 561, __pyx_L1_error)
9799 __Pyx_INCREF(__pyx_v_bytesvalue);
9800 __pyx_t_9 = __pyx_v_bytesvalue;
9801 __pyx_t_11 = __Pyx_PyBytes_AsWritableString(__pyx_t_9);
if (unlikely(__pyx_t_11 == ((
char *)NULL))) __PYX_ERR(1, 561, __pyx_L1_error)
9802 __pyx_t_12 = __Pyx_PyBytes_GET_SIZE(__pyx_t_9);
if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(1, 561, __pyx_L1_error)
9803 __pyx_t_13 = (__pyx_t_11 + __pyx_t_12);
9805 for (__pyx_t_14 = __pyx_t_11; __pyx_t_14 < __pyx_t_13; __pyx_t_14++) {
9806 __pyx_t_10 = __pyx_t_14;
9807 __pyx_v_c = (__pyx_t_10[0]);
9816 __pyx_v_i = __pyx_t_8;
9825 __pyx_t_8 = (__pyx_t_8 + 1);
9834 (__pyx_v_itemp[__pyx_v_i]) = __pyx_v_c;
9839 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
9850 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
9853 __Pyx_XDECREF(__pyx_t_1);
9854 __Pyx_XDECREF(__pyx_t_4);
9855 __Pyx_XDECREF(__pyx_t_5);
9856 __Pyx_XDECREF(__pyx_t_6);
9857 __Pyx_XDECREF(__pyx_t_9);
9858 __Pyx_AddTraceback(
"View.MemoryView.memoryview.assign_item_from_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
9861 __Pyx_XDECREF(__pyx_v_struct);
9863 __Pyx_XDECREF(__pyx_v_bytesvalue);
9865 __Pyx_XGIVEREF(__pyx_r);
9866 __Pyx_RefNannyFinishContext();
9879CYTHON_UNUSED
static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags);
9880CYTHON_UNUSED
static int __pyx_memoryview_getbuffer(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags) {
9881 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
9883 __Pyx_RefNannyDeclarations
9884 __Pyx_RefNannySetupContext(
"__getbuffer__ (wrapper)", 0);
9885 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
9886 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(((
struct __pyx_memoryview_obj *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((
int)__pyx_v_flags));
9891 __Pyx_RefNannyFinishContext();
9895static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_8__getbuffer__(
struct __pyx_memoryview_obj *__pyx_v_self, Py_buffer *__pyx_v_info,
int __pyx_v_flags) {
9897 __Pyx_RefNannyDeclarations
9901 Py_ssize_t *__pyx_t_4;
9904 Py_ssize_t __pyx_t_7;
9905 int __pyx_lineno = 0;
9906 const char *__pyx_filename = NULL;
9907 int __pyx_clineno = 0;
9908 if (unlikely(__pyx_v_info == NULL)) {
9909 PyErr_SetString(PyExc_BufferError,
"PyObject_GetBuffer: view==NULL argument is obsolete");
9912 __Pyx_RefNannySetupContext(
"__getbuffer__", 0);
9913 __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
9914 __Pyx_GIVEREF(__pyx_v_info->obj);
9923 __pyx_t_2 = ((__pyx_v_flags & PyBUF_WRITABLE) != 0);
9929 __pyx_t_1 = __pyx_t_2;
9931 goto __pyx_L4_bool_binop_done;
9934 __pyx_t_1 = __pyx_v_self->view.readonly;
9935 __pyx_L4_bool_binop_done:;
9936 if (unlikely(__pyx_t_1)) {
9946 __pyx_t_3 = __pyx_memoryview_err_ValueError(__pyx_k_Cannot_create_writable_memory_vi);
if (unlikely(__pyx_t_3 == ((
int)-1))) __PYX_ERR(1, 567, __pyx_L1_error)
9965 __pyx_t_1 = ((__pyx_v_flags & PyBUF_ND) != 0);
9977 __pyx_t_4 = __pyx_v_self->view.shape;
9979 __pyx_v_info->shape = __pyx_t_4;
9999 __pyx_v_info->shape = NULL;
10010 __pyx_t_1 = ((__pyx_v_flags & PyBUF_STRIDES) != 0);
10022 __pyx_t_4 = __pyx_v_self->view.strides;
10024 __pyx_v_info->strides = __pyx_t_4;
10044 __pyx_v_info->strides = NULL;
10055 __pyx_t_1 = ((__pyx_v_flags & PyBUF_INDIRECT) != 0);
10067 __pyx_t_4 = __pyx_v_self->view.suboffsets;
10069 __pyx_v_info->suboffsets = __pyx_t_4;
10089 __pyx_v_info->suboffsets = NULL;
10100 __pyx_t_1 = ((__pyx_v_flags & PyBUF_FORMAT) != 0);
10112 __pyx_t_5 = __pyx_v_self->view.format;
10114 __pyx_v_info->format = __pyx_t_5;
10134 __pyx_v_info->format = NULL;
10145 __pyx_t_6 = __pyx_v_self->view.buf;
10147 __pyx_v_info->buf = __pyx_t_6;
10156 __pyx_t_3 = __pyx_v_self->view.ndim;
10158 __pyx_v_info->ndim = __pyx_t_3;
10167 __pyx_t_7 = __pyx_v_self->view.itemsize;
10169 __pyx_v_info->itemsize = __pyx_t_7;
10178 __pyx_t_7 = __pyx_v_self->view.len;
10180 __pyx_v_info->len = __pyx_t_7;
10189 __pyx_t_1 = __pyx_v_self->view.readonly;
10191 __pyx_v_info->readonly = __pyx_t_1;
10200 __Pyx_INCREF((PyObject *)__pyx_v_self);
10201 __Pyx_GIVEREF((PyObject *)__pyx_v_self);
10202 __Pyx_GOTREF(__pyx_v_info->obj);
10203 __Pyx_DECREF(__pyx_v_info->obj);
10204 __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
10218 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10220 if (__pyx_v_info->obj != NULL) {
10221 __Pyx_GOTREF(__pyx_v_info->obj);
10222 __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
10226 if (__pyx_v_info->obj == Py_None) {
10227 __Pyx_GOTREF(__pyx_v_info->obj);
10228 __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
10232 __Pyx_RefNannyFinishContext();
10245static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self);
10246static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(PyObject *__pyx_v_self) {
10247 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
10248 PyObject *__pyx_r = 0;
10249 __Pyx_RefNannyDeclarations
10250 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
10251 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
10252 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
10255 __Pyx_RefNannyFinishContext();
10259static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
10260 struct __pyx_memoryviewslice_obj *__pyx_v_result = 0;
10261 PyObject *__pyx_r = NULL;
10262 __Pyx_RefNannyDeclarations
10263 PyObject *__pyx_t_1 = NULL;
10265 int __pyx_lineno = 0;
10266 const char *__pyx_filename = NULL;
10267 int __pyx_clineno = 0;
10268 __Pyx_RefNannySetupContext(
"__get__", 0);
10277 __pyx_t_1 = __pyx_memoryview_copy_object(__pyx_v_self);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 599, __pyx_L1_error)
10278 __Pyx_GOTREF(__pyx_t_1);
10279 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_memoryviewslice_type))))) __PYX_ERR(1, 599, __pyx_L1_error)
10280 __pyx_v_result = ((
struct __pyx_memoryviewslice_obj *)__pyx_t_1);
10290 __pyx_t_2 = __pyx_memslice_transpose((&__pyx_v_result->from_slice));
if (unlikely(__pyx_t_2 == ((
int)-1))) __PYX_ERR(1, 600, __pyx_L1_error)
10301 PyObject *__pyx_temp;
10303 __pyx_temp = __pyx_r;
10304 __Pyx_INCREF((PyObject *)__pyx_v_result);
10305 __pyx_r = ((PyObject *)__pyx_v_result);
10307 __Pyx_XDECREF(__pyx_temp);
10321 __Pyx_XDECREF(__pyx_t_1);
10322 __Pyx_AddTraceback(
"View.MemoryView.memoryview.T.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10325 __Pyx_XDECREF((PyObject *)__pyx_v_result);
10326 __Pyx_XGIVEREF(__pyx_r);
10327 __Pyx_RefNannyFinishContext();
10340static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self);
10341static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(PyObject *__pyx_v_self) {
10342 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
10343 PyObject *__pyx_r = 0;
10344 __Pyx_RefNannyDeclarations
10345 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
10346 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
10347 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
10350 __Pyx_RefNannyFinishContext();
10354static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
10355 PyObject *__pyx_r = NULL;
10356 __Pyx_RefNannyDeclarations
10357 PyObject *__pyx_t_1 = NULL;
10358 int __pyx_lineno = 0;
10359 const char *__pyx_filename = NULL;
10360 int __pyx_clineno = 0;
10361 __Pyx_RefNannySetupContext(
"__get__", 0);
10370 __pyx_t_1 = ((
struct __pyx_vtabstruct_memoryview *)__pyx_v_self->__pyx_vtab)->_get_base(__pyx_v_self);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 605, __pyx_L1_error)
10371 __Pyx_GOTREF(__pyx_t_1);
10373 PyObject *__pyx_temp;
10375 __pyx_temp = __pyx_r;
10376 __pyx_r = __pyx_t_1;
10378 __Pyx_XDECREF(__pyx_temp);
10393 __Pyx_XDECREF(__pyx_t_1);
10394 __Pyx_AddTraceback(
"View.MemoryView.memoryview.base.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10397 __Pyx_XGIVEREF(__pyx_r);
10398 __Pyx_RefNannyFinishContext();
10410static PyObject *__pyx_memoryview__get_base(
struct __pyx_memoryview_obj *__pyx_v_self) {
10411 PyObject *__pyx_r = NULL;
10412 __Pyx_RefNannyDeclarations
10413 __Pyx_RefNannySetupContext(
"_get_base", 0);
10423 PyObject *__pyx_temp;
10425 __pyx_temp = __pyx_r;
10426 __Pyx_INCREF(__pyx_v_self->obj);
10427 __pyx_r = __pyx_v_self->obj;
10429 __Pyx_XDECREF(__pyx_temp);
10443 __Pyx_XGIVEREF(__pyx_r);
10444 __Pyx_RefNannyFinishContext();
10457static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self);
10458static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(PyObject *__pyx_v_self) {
10459 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
10460 PyObject *__pyx_r = 0;
10461 __Pyx_RefNannyDeclarations
10462 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
10463 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
10464 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
10467 __Pyx_RefNannyFinishContext();
10471static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
10472 Py_ssize_t __pyx_7genexpr__pyx_v_length;
10473 PyObject *__pyx_r = NULL;
10474 __Pyx_RefNannyDeclarations
10475 PyObject *__pyx_t_1 = NULL;
10476 Py_ssize_t *__pyx_t_2;
10477 Py_ssize_t *__pyx_t_3;
10478 Py_ssize_t *__pyx_t_4;
10479 PyObject *__pyx_t_5 = NULL;
10480 int __pyx_lineno = 0;
10481 const char *__pyx_filename = NULL;
10482 int __pyx_clineno = 0;
10483 __Pyx_RefNannySetupContext(
"__get__", 0);
10493 __pyx_t_1 = PyList_New(0);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 612, __pyx_L1_error)
10494 __Pyx_GOTREF(__pyx_t_1);
10495 __pyx_t_3 = (__pyx_v_self->view.shape + __pyx_v_self->view.ndim);
10497 for (__pyx_t_4 = __pyx_v_self->view.shape; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
10498 __pyx_t_2 = __pyx_t_4;
10499 __pyx_7genexpr__pyx_v_length = (__pyx_t_2[0]);
10500 __pyx_t_5 = PyLong_FromSsize_t(__pyx_7genexpr__pyx_v_length);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 612, __pyx_L1_error)
10501 __Pyx_GOTREF(__pyx_t_5);
10502 __Pyx_GIVEREF(__pyx_t_5);
10503 if (unlikely(__Pyx_ListComp_AppendAndDecref(__pyx_t_1, __pyx_t_5))) __PYX_ERR(1, 612, __pyx_L1_error)
10508 __pyx_t_5 = PyList_AsTuple(((PyObject*)__pyx_t_1));
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 612, __pyx_L1_error)
10509 __Pyx_GOTREF(__pyx_t_5);
10510 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10512 PyObject *__pyx_temp;
10514 __pyx_temp = __pyx_r;
10515 __pyx_r = __pyx_t_5;
10517 __Pyx_XDECREF(__pyx_temp);
10532 __Pyx_XDECREF(__pyx_t_1);
10533 __Pyx_XDECREF(__pyx_t_5);
10534 __Pyx_AddTraceback(
"View.MemoryView.memoryview.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10538 __Pyx_XGIVEREF(__pyx_r);
10539 __Pyx_RefNannyFinishContext();
10552static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self);
10553static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(PyObject *__pyx_v_self) {
10554 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
10555 PyObject *__pyx_r = 0;
10556 __Pyx_RefNannyDeclarations
10557 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
10558 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
10559 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
10562 __Pyx_RefNannyFinishContext();
10566static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
10567 Py_ssize_t __pyx_8genexpr1__pyx_v_stride;
10568 PyObject *__pyx_r = NULL;
10569 __Pyx_RefNannyDeclarations
10572 PyObject *__pyx_t_3 = NULL;
10573 Py_ssize_t *__pyx_t_4;
10574 Py_ssize_t *__pyx_t_5;
10575 Py_ssize_t *__pyx_t_6;
10576 PyObject *__pyx_t_7 = NULL;
10577 int __pyx_lineno = 0;
10578 const char *__pyx_filename = NULL;
10579 int __pyx_clineno = 0;
10580 __Pyx_RefNannySetupContext(
"__get__", 0);
10589 __pyx_t_1 = (__pyx_v_self->view.strides == NULL);
10591 if (unlikely(__pyx_t_1)) {
10601 __pyx_t_2 = __pyx_memoryview_err_ValueError(__pyx_k_Buffer_view_does_not_expose_stri);
if (unlikely(__pyx_t_2 == ((
int)-1))) __PYX_ERR(1, 618, __pyx_L1_error)
10621 __pyx_t_3 = PyList_New(0);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 620, __pyx_L1_error)
10622 __Pyx_GOTREF(__pyx_t_3);
10623 __pyx_t_5 = (__pyx_v_self->view.strides + __pyx_v_self->view.ndim);
10625 for (__pyx_t_6 = __pyx_v_self->view.strides; __pyx_t_6 < __pyx_t_5; __pyx_t_6++) {
10626 __pyx_t_4 = __pyx_t_6;
10627 __pyx_8genexpr1__pyx_v_stride = (__pyx_t_4[0]);
10628 __pyx_t_7 = PyLong_FromSsize_t(__pyx_8genexpr1__pyx_v_stride);
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 620, __pyx_L1_error)
10629 __Pyx_GOTREF(__pyx_t_7);
10630 __Pyx_GIVEREF(__pyx_t_7);
10631 if (unlikely(__Pyx_ListComp_AppendAndDecref(__pyx_t_3, __pyx_t_7))) __PYX_ERR(1, 620, __pyx_L1_error)
10636 __pyx_t_7 = PyList_AsTuple(((PyObject*)__pyx_t_3));
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 620, __pyx_L1_error)
10637 __Pyx_GOTREF(__pyx_t_7);
10638 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
10640 PyObject *__pyx_temp;
10642 __pyx_temp = __pyx_r;
10643 __pyx_r = __pyx_t_7;
10645 __Pyx_XDECREF(__pyx_temp);
10660 __Pyx_XDECREF(__pyx_t_3);
10661 __Pyx_XDECREF(__pyx_t_7);
10662 __Pyx_AddTraceback(
"View.MemoryView.memoryview.strides.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10666 __Pyx_XGIVEREF(__pyx_r);
10667 __Pyx_RefNannyFinishContext();
10680static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self);
10681static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(PyObject *__pyx_v_self) {
10682 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
10683 PyObject *__pyx_r = 0;
10684 __Pyx_RefNannyDeclarations
10685 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
10686 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
10687 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
10690 __Pyx_RefNannyFinishContext();
10694static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
10695 Py_ssize_t __pyx_8genexpr2__pyx_v_suboffset;
10696 PyObject *__pyx_r = NULL;
10697 __Pyx_RefNannyDeclarations
10699 PyObject *__pyx_t_2 = NULL;
10700 Py_ssize_t *__pyx_t_3;
10701 Py_ssize_t *__pyx_t_4;
10702 Py_ssize_t *__pyx_t_5;
10703 PyObject *__pyx_t_6 = NULL;
10704 int __pyx_lineno = 0;
10705 const char *__pyx_filename = NULL;
10706 int __pyx_clineno = 0;
10707 __Pyx_RefNannySetupContext(
"__get__", 0);
10716 __pyx_t_1 = (__pyx_v_self->view.suboffsets == NULL);
10728 __pyx_t_2 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_tuple[0], __pyx_v_self->view.ndim);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 625, __pyx_L1_error)
10729 __Pyx_GOTREF(__pyx_t_2);
10731 PyObject *__pyx_temp;
10733 __pyx_temp = __pyx_r;
10734 __pyx_r = __pyx_t_2;
10736 __Pyx_XDECREF(__pyx_temp);
10758 __pyx_t_2 = PyList_New(0);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 627, __pyx_L1_error)
10759 __Pyx_GOTREF(__pyx_t_2);
10760 __pyx_t_4 = (__pyx_v_self->view.suboffsets + __pyx_v_self->view.ndim);
10762 for (__pyx_t_5 = __pyx_v_self->view.suboffsets; __pyx_t_5 < __pyx_t_4; __pyx_t_5++) {
10763 __pyx_t_3 = __pyx_t_5;
10764 __pyx_8genexpr2__pyx_v_suboffset = (__pyx_t_3[0]);
10765 __pyx_t_6 = PyLong_FromSsize_t(__pyx_8genexpr2__pyx_v_suboffset);
if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 627, __pyx_L1_error)
10766 __Pyx_GOTREF(__pyx_t_6);
10767 __Pyx_GIVEREF(__pyx_t_6);
10768 if (unlikely(__Pyx_ListComp_AppendAndDecref(__pyx_t_2, __pyx_t_6))) __PYX_ERR(1, 627, __pyx_L1_error)
10773 __pyx_t_6 = PyList_AsTuple(((PyObject*)__pyx_t_2));
if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 627, __pyx_L1_error)
10774 __Pyx_GOTREF(__pyx_t_6);
10775 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
10777 PyObject *__pyx_temp;
10779 __pyx_temp = __pyx_r;
10780 __pyx_r = __pyx_t_6;
10782 __Pyx_XDECREF(__pyx_temp);
10797 __Pyx_XDECREF(__pyx_t_2);
10798 __Pyx_XDECREF(__pyx_t_6);
10799 __Pyx_AddTraceback(
"View.MemoryView.memoryview.suboffsets.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10803 __Pyx_XGIVEREF(__pyx_r);
10804 __Pyx_RefNannyFinishContext();
10817static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self);
10818static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(PyObject *__pyx_v_self) {
10819 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
10820 PyObject *__pyx_r = 0;
10821 __Pyx_RefNannyDeclarations
10822 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
10823 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
10824 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
10827 __Pyx_RefNannyFinishContext();
10831static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
10832 PyObject *__pyx_r = NULL;
10833 __Pyx_RefNannyDeclarations
10834 PyObject *__pyx_t_1 = NULL;
10835 int __pyx_lineno = 0;
10836 const char *__pyx_filename = NULL;
10837 int __pyx_clineno = 0;
10838 __Pyx_RefNannySetupContext(
"__get__", 0);
10847 __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->view.ndim);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 631, __pyx_L1_error)
10848 __Pyx_GOTREF(__pyx_t_1);
10850 PyObject *__pyx_temp;
10852 __pyx_temp = __pyx_r;
10853 __pyx_r = __pyx_t_1;
10855 __Pyx_XDECREF(__pyx_temp);
10870 __Pyx_XDECREF(__pyx_t_1);
10871 __Pyx_AddTraceback(
"View.MemoryView.memoryview.ndim.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10874 __Pyx_XGIVEREF(__pyx_r);
10875 __Pyx_RefNannyFinishContext();
10888static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self);
10889static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(PyObject *__pyx_v_self) {
10890 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
10891 PyObject *__pyx_r = 0;
10892 __Pyx_RefNannyDeclarations
10893 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
10894 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
10895 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
10898 __Pyx_RefNannyFinishContext();
10902static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
10903 PyObject *__pyx_r = NULL;
10904 __Pyx_RefNannyDeclarations
10905 PyObject *__pyx_t_1 = NULL;
10906 int __pyx_lineno = 0;
10907 const char *__pyx_filename = NULL;
10908 int __pyx_clineno = 0;
10909 __Pyx_RefNannySetupContext(
"__get__", 0);
10918 __pyx_t_1 = PyLong_FromSsize_t(__pyx_v_self->view.itemsize);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 635, __pyx_L1_error)
10919 __Pyx_GOTREF(__pyx_t_1);
10921 PyObject *__pyx_temp;
10923 __pyx_temp = __pyx_r;
10924 __pyx_r = __pyx_t_1;
10926 __Pyx_XDECREF(__pyx_temp);
10941 __Pyx_XDECREF(__pyx_t_1);
10942 __Pyx_AddTraceback(
"View.MemoryView.memoryview.itemsize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10945 __Pyx_XGIVEREF(__pyx_r);
10946 __Pyx_RefNannyFinishContext();
10959static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self);
10960static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(PyObject *__pyx_v_self) {
10961 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
10962 PyObject *__pyx_r = 0;
10963 __Pyx_RefNannyDeclarations
10964 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
10965 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
10966 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
10969 __Pyx_RefNannyFinishContext();
10973static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
10974 PyObject *__pyx_r = NULL;
10975 __Pyx_RefNannyDeclarations
10976 PyObject *__pyx_t_1 = NULL;
10977 PyObject *__pyx_t_2 = NULL;
10978 PyObject *__pyx_t_3 = NULL;
10979 int __pyx_lineno = 0;
10980 const char *__pyx_filename = NULL;
10981 int __pyx_clineno = 0;
10982 __Pyx_RefNannySetupContext(
"__get__", 0);
10991 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_size);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 639, __pyx_L1_error)
10992 __Pyx_GOTREF(__pyx_t_1);
10993 __pyx_t_2 = PyLong_FromSsize_t(__pyx_v_self->view.itemsize);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 639, __pyx_L1_error)
10994 __Pyx_GOTREF(__pyx_t_2);
10995 __pyx_t_3 = __Pyx_PyNumber_Multiply_object_int(__pyx_t_1, __pyx_t_2);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 639, __pyx_L1_error)
10996 __Pyx_GOTREF(__pyx_t_3);
10997 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
10998 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11000 PyObject *__pyx_temp;
11002 __pyx_temp = __pyx_r;
11003 __pyx_r = __pyx_t_3;
11005 __Pyx_XDECREF(__pyx_temp);
11020 __Pyx_XDECREF(__pyx_t_1);
11021 __Pyx_XDECREF(__pyx_t_2);
11022 __Pyx_XDECREF(__pyx_t_3);
11023 __Pyx_AddTraceback(
"View.MemoryView.memoryview.nbytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11026 __Pyx_XGIVEREF(__pyx_r);
11027 __Pyx_RefNannyFinishContext();
11040static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self);
11041static PyObject *__pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(PyObject *__pyx_v_self) {
11042 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
11043 PyObject *__pyx_r = 0;
11044 __Pyx_RefNannyDeclarations
11045 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
11046 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
11047 __pyx_r = __pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
11050 __Pyx_RefNannyFinishContext();
11054static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(
struct __pyx_memoryview_obj *__pyx_v_self) {
11055 size_t __pyx_v_result;
11056 Py_ssize_t __pyx_v_length;
11057 PyObject *__pyx_r = NULL;
11058 __Pyx_RefNannyDeclarations
11060 Py_ssize_t *__pyx_t_2;
11061 Py_ssize_t *__pyx_t_3;
11062 Py_ssize_t *__pyx_t_4;
11063 PyObject *__pyx_t_5 = NULL;
11064 int __pyx_lineno = 0;
11065 const char *__pyx_filename = NULL;
11066 int __pyx_clineno = 0;
11067 __Pyx_RefNannySetupContext(
"__get__", 0);
11076 __pyx_t_1 = (__pyx_v_self->_size == Py_None);
11087 __pyx_v_result = 1;
11096 __pyx_t_3 = (__pyx_v_self->view.shape + __pyx_v_self->view.ndim);
11098 for (__pyx_t_4 = __pyx_v_self->view.shape; __pyx_t_4 < __pyx_t_3; __pyx_t_4++) {
11099 __pyx_t_2 = __pyx_t_4;
11100 __pyx_v_length = (__pyx_t_2[0]);
11109 __pyx_v_result = (__pyx_v_result * ((size_t)__pyx_v_length));
11120 __pyx_t_5 = __Pyx_PyLong_FromSize_t(__pyx_v_result);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 650, __pyx_L1_error)
11121 __Pyx_GOTREF(__pyx_t_5);
11122 __Pyx_GIVEREF(__pyx_t_5);
11123 __Pyx_GOTREF(__pyx_v_self->_size);
11124 __Pyx_DECREF(__pyx_v_self->_size);
11125 __pyx_v_self->_size = __pyx_t_5;
11145 PyObject *__pyx_temp;
11147 __pyx_temp = __pyx_r;
11148 __Pyx_INCREF(__pyx_v_self->_size);
11149 __pyx_r = __pyx_v_self->_size;
11151 __Pyx_XDECREF(__pyx_temp);
11165 __Pyx_XDECREF(__pyx_t_5);
11166 __Pyx_AddTraceback(
"View.MemoryView.memoryview.size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11171 __Pyx_XGIVEREF(__pyx_r);
11172 __Pyx_RefNannyFinishContext();
11185static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self);
11186static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {
11187 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
11188 Py_ssize_t __pyx_r;
11189 __Pyx_RefNannyDeclarations
11190 __Pyx_RefNannySetupContext(
"__len__ (wrapper)", 0);
11191 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
11192 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
11195 __Pyx_RefNannyFinishContext();
11199static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(
struct __pyx_memoryview_obj *__pyx_v_self) {
11200 Py_ssize_t __pyx_r;
11210 __pyx_t_1 = (__pyx_v_self->view.ndim >= 1);
11224 __pyx_r = (__pyx_v_self->view.shape[0]);
11273static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self);
11274static PyObject *__pyx_memoryview___repr__(PyObject *__pyx_v_self) {
11275 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
11276 PyObject *__pyx_r = 0;
11277 __Pyx_RefNannyDeclarations
11278 __Pyx_RefNannySetupContext(
"__repr__ (wrapper)", 0);
11279 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
11280 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
11283 __Pyx_RefNannyFinishContext();
11287static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12__repr__(
struct __pyx_memoryview_obj *__pyx_v_self) {
11288 PyObject *__pyx_r = NULL;
11289 __Pyx_RefNannyDeclarations
11290 PyObject *__pyx_t_1 = NULL;
11291 PyObject *__pyx_t_2 = NULL;
11292 PyObject *__pyx_t_3 = NULL;
11293 PyObject *__pyx_t_4[5];
11294 Py_ssize_t __pyx_t_5;
11296 int __pyx_lineno = 0;
11297 const char *__pyx_filename = NULL;
11298 int __pyx_clineno = 0;
11299 __Pyx_RefNannySetupContext(
"__repr__", 0);
11308 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_base);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 661, __pyx_L1_error)
11309 __Pyx_GOTREF(__pyx_t_1);
11310 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_class);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 661, __pyx_L1_error)
11311 __Pyx_GOTREF(__pyx_t_2);
11312 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11313 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 661, __pyx_L1_error)
11314 __Pyx_GOTREF(__pyx_t_1);
11315 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11316 __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 661, __pyx_L1_error)
11317 __Pyx_GOTREF(__pyx_t_2);
11318 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11327 __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_id, ((PyObject *)__pyx_v_self));
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 662, __pyx_L1_error)
11328 __Pyx_GOTREF(__pyx_t_1);
11329 __pyx_t_3 = __Pyx_PyObject_Format(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_x);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 662, __pyx_L1_error)
11330 __Pyx_GOTREF(__pyx_t_3);
11331 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11332 __pyx_t_4[0] = __pyx_mstate_global->__pyx_kp_u_MemoryView_of;
11333 __pyx_t_4[1] = __pyx_t_2;
11334 __pyx_t_4[2] = __pyx_mstate_global->__pyx_kp_u_at_0x;
11335 __pyx_t_4[3] = __pyx_t_3;
11336 __pyx_t_4[4] = __pyx_mstate_global->__pyx_kp_u__4;
11346 #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH
11347 __pyx_t_5 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4[1]) + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4[3]);
11350 #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH
11351 __pyx_t_6 |= __Pyx_PyUnicode_KIND_04(__pyx_t_4[1]) | __Pyx_PyUnicode_KIND_04(__pyx_t_4[3]);
11353 __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_4, 5, __pyx_t_5, __pyx_t_6);
11354 if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 661, __pyx_L1_error)
11355 __Pyx_GOTREF(__pyx_t_1);
11356 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11357 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
11359 PyObject *__pyx_temp;
11361 __pyx_temp = __pyx_r;
11362 __pyx_r = __pyx_t_1;
11364 __Pyx_XDECREF(__pyx_temp);
11379 __Pyx_XDECREF(__pyx_t_1);
11380 __Pyx_XDECREF(__pyx_t_2);
11381 __Pyx_XDECREF(__pyx_t_3);
11382 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11385 __Pyx_XGIVEREF(__pyx_r);
11386 __Pyx_RefNannyFinishContext();
11399static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self);
11400static PyObject *__pyx_memoryview___str__(PyObject *__pyx_v_self) {
11401 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
11402 PyObject *__pyx_r = 0;
11403 __Pyx_RefNannyDeclarations
11404 __Pyx_RefNannySetupContext(
"__str__ (wrapper)", 0);
11405 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
11406 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
11409 __Pyx_RefNannyFinishContext();
11413static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14__str__(
struct __pyx_memoryview_obj *__pyx_v_self) {
11414 PyObject *__pyx_r = NULL;
11415 __Pyx_RefNannyDeclarations
11416 PyObject *__pyx_t_1 = NULL;
11417 PyObject *__pyx_t_2 = NULL;
11418 PyObject *__pyx_t_3[3];
11419 Py_ssize_t __pyx_t_4;
11421 int __pyx_lineno = 0;
11422 const char *__pyx_filename = NULL;
11423 int __pyx_clineno = 0;
11424 __Pyx_RefNannySetupContext(
"__str__", 0);
11433 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_mstate_global->__pyx_n_u_base);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 665, __pyx_L1_error)
11434 __Pyx_GOTREF(__pyx_t_1);
11435 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_class);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 665, __pyx_L1_error)
11436 __Pyx_GOTREF(__pyx_t_2);
11437 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11438 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_name_2);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 665, __pyx_L1_error)
11439 __Pyx_GOTREF(__pyx_t_1);
11440 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11441 __pyx_t_2 = __Pyx_PyObject_FormatSimpleAndDecref(PyObject_Repr(__pyx_t_1), __pyx_mstate_global->__pyx_empty_unicode);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 665, __pyx_L1_error)
11442 __Pyx_GOTREF(__pyx_t_2);
11443 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
11444 __pyx_t_3[0] = __pyx_mstate_global->__pyx_kp_u_MemoryView_of;
11445 __pyx_t_3[1] = __pyx_t_2;
11446 __pyx_t_3[2] = __pyx_mstate_global->__pyx_kp_u_object;
11448 #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH
11449 __pyx_t_4 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3[1]);
11452 #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH
11453 __pyx_t_5 |= __Pyx_PyUnicode_KIND_04(__pyx_t_3[1]);
11455 __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_3, 3, __pyx_t_4, __pyx_t_5);
11456 if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 665, __pyx_L1_error)
11457 __Pyx_GOTREF(__pyx_t_1);
11458 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
11460 PyObject *__pyx_temp;
11462 __pyx_temp = __pyx_r;
11463 __pyx_r = __pyx_t_1;
11465 __Pyx_XDECREF(__pyx_temp);
11480 __Pyx_XDECREF(__pyx_t_1);
11481 __Pyx_XDECREF(__pyx_t_2);
11482 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
11485 __Pyx_XGIVEREF(__pyx_r);
11486 __Pyx_RefNannyFinishContext();
11499static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self,
11500#
if CYTHON_VECTORCALL
11501PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11503PyObject *__pyx_args, PyObject *__pyx_kwds
11506static PyObject *__pyx_memoryview_is_c_contig(PyObject *__pyx_v_self,
11507#
if CYTHON_VECTORCALL
11508PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11510PyObject *__pyx_args, PyObject *__pyx_kwds
11513 #if !CYTHON_VECTORCALL
11514 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
11516 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
11517 PyObject *__pyx_r = 0;
11518 __Pyx_RefNannyDeclarations
11519 __Pyx_RefNannySetupContext(
"is_c_contig (wrapper)", 0);
11520 #if !CYTHON_VECTORCALL
11521 #if CYTHON_ASSUME_SAFE_SIZE
11522 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
11524 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
11527 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
11528 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"is_c_contig", 1, 0, 0, __pyx_nargs);
return NULL; }
11529 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
11530 if (unlikely(__pyx_kwds_len < 0))
return NULL;
11531 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"is_c_contig", __pyx_kwds);
return NULL;}
11532 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(((
struct __pyx_memoryview_obj *)__pyx_v_self));
11535 __Pyx_RefNannyFinishContext();
11539static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(
struct __pyx_memoryview_obj *__pyx_v_self) {
11540 __Pyx_memviewslice *__pyx_v_mslice;
11541 __Pyx_memviewslice __pyx_v_tmp;
11542 PyObject *__pyx_r = NULL;
11543 __Pyx_RefNannyDeclarations
11544 __Pyx_memviewslice *__pyx_t_1;
11545 PyObject *__pyx_t_2 = NULL;
11546 int __pyx_lineno = 0;
11547 const char *__pyx_filename = NULL;
11548 int __pyx_clineno = 0;
11549 __Pyx_RefNannySetupContext(
"is_c_contig", 0);
11558 __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_self, (&__pyx_v_tmp));
if (unlikely(__pyx_t_1 == ((
void *)NULL))) __PYX_ERR(1, 671, __pyx_L1_error)
11559 __pyx_v_mslice = __pyx_t_1;
11568 __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig((__pyx_v_mslice[0]),
'C', __pyx_v_self->view.ndim));
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 672, __pyx_L1_error)
11569 __Pyx_GOTREF(__pyx_t_2);
11571 PyObject *__pyx_temp;
11573 __pyx_temp = __pyx_r;
11574 __pyx_r = __pyx_t_2;
11576 __Pyx_XDECREF(__pyx_temp);
11591 __Pyx_XDECREF(__pyx_t_2);
11592 __Pyx_AddTraceback(
"View.MemoryView.memoryview.is_c_contig", __pyx_clineno, __pyx_lineno, __pyx_filename);
11597 __Pyx_XGIVEREF(__pyx_r);
11598 __Pyx_RefNannyFinishContext();
11611static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self,
11612#
if CYTHON_VECTORCALL
11613PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11615PyObject *__pyx_args, PyObject *__pyx_kwds
11618static PyObject *__pyx_memoryview_is_f_contig(PyObject *__pyx_v_self,
11619#
if CYTHON_VECTORCALL
11620PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11622PyObject *__pyx_args, PyObject *__pyx_kwds
11625 #if !CYTHON_VECTORCALL
11626 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
11628 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
11629 PyObject *__pyx_r = 0;
11630 __Pyx_RefNannyDeclarations
11631 __Pyx_RefNannySetupContext(
"is_f_contig (wrapper)", 0);
11632 #if !CYTHON_VECTORCALL
11633 #if CYTHON_ASSUME_SAFE_SIZE
11634 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
11636 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
11639 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
11640 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"is_f_contig", 1, 0, 0, __pyx_nargs);
return NULL; }
11641 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
11642 if (unlikely(__pyx_kwds_len < 0))
return NULL;
11643 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"is_f_contig", __pyx_kwds);
return NULL;}
11644 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(((
struct __pyx_memoryview_obj *)__pyx_v_self));
11647 __Pyx_RefNannyFinishContext();
11651static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(
struct __pyx_memoryview_obj *__pyx_v_self) {
11652 __Pyx_memviewslice *__pyx_v_mslice;
11653 __Pyx_memviewslice __pyx_v_tmp;
11654 PyObject *__pyx_r = NULL;
11655 __Pyx_RefNannyDeclarations
11656 __Pyx_memviewslice *__pyx_t_1;
11657 PyObject *__pyx_t_2 = NULL;
11658 int __pyx_lineno = 0;
11659 const char *__pyx_filename = NULL;
11660 int __pyx_clineno = 0;
11661 __Pyx_RefNannySetupContext(
"is_f_contig", 0);
11670 __pyx_t_1 = __pyx_memoryview_get_slice_from_memoryview(__pyx_v_self, (&__pyx_v_tmp));
if (unlikely(__pyx_t_1 == ((
void *)NULL))) __PYX_ERR(1, 677, __pyx_L1_error)
11671 __pyx_v_mslice = __pyx_t_1;
11680 __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_memviewslice_is_contig((__pyx_v_mslice[0]),
'F', __pyx_v_self->view.ndim));
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 678, __pyx_L1_error)
11681 __Pyx_GOTREF(__pyx_t_2);
11683 PyObject *__pyx_temp;
11685 __pyx_temp = __pyx_r;
11686 __pyx_r = __pyx_t_2;
11688 __Pyx_XDECREF(__pyx_temp);
11703 __Pyx_XDECREF(__pyx_t_2);
11704 __Pyx_AddTraceback(
"View.MemoryView.memoryview.is_f_contig", __pyx_clineno, __pyx_lineno, __pyx_filename);
11709 __Pyx_XGIVEREF(__pyx_r);
11710 __Pyx_RefNannyFinishContext();
11723static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self,
11724#
if CYTHON_VECTORCALL
11725PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11727PyObject *__pyx_args, PyObject *__pyx_kwds
11730static PyObject *__pyx_memoryview_copy(PyObject *__pyx_v_self,
11731#
if CYTHON_VECTORCALL
11732PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11734PyObject *__pyx_args, PyObject *__pyx_kwds
11737 #if !CYTHON_VECTORCALL
11738 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
11740 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
11741 PyObject *__pyx_r = 0;
11742 __Pyx_RefNannyDeclarations
11743 __Pyx_RefNannySetupContext(
"copy (wrapper)", 0);
11744 #if !CYTHON_VECTORCALL
11745 #if CYTHON_ASSUME_SAFE_SIZE
11746 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
11748 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
11751 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
11752 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"copy", 1, 0, 0, __pyx_nargs);
return NULL; }
11753 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
11754 if (unlikely(__pyx_kwds_len < 0))
return NULL;
11755 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"copy", __pyx_kwds);
return NULL;}
11756 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(((
struct __pyx_memoryview_obj *)__pyx_v_self));
11759 __Pyx_RefNannyFinishContext();
11763static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(
struct __pyx_memoryview_obj *__pyx_v_self) {
11764 __Pyx_memviewslice __pyx_v_mslice;
11766 PyObject *__pyx_r = NULL;
11767 __Pyx_RefNannyDeclarations
11768 __Pyx_memviewslice __pyx_t_1;
11769 PyObject *__pyx_t_2 = NULL;
11770 int __pyx_lineno = 0;
11771 const char *__pyx_filename = NULL;
11772 int __pyx_clineno = 0;
11773 __Pyx_RefNannySetupContext(
"copy", 0);
11782 __pyx_v_flags = (__pyx_v_self->flags & (~PyBUF_F_CONTIGUOUS));
11791 __pyx_memoryview_slice_copy(__pyx_v_self, (&__pyx_v_mslice));
11800 __pyx_t_1 = __pyx_memoryview_copy_new_contig((&__pyx_v_mslice), __pyx_k_c, __pyx_v_self->view.ndim, __pyx_v_self->view.itemsize, (__pyx_v_flags | PyBUF_C_CONTIGUOUS), __pyx_v_self->dtype_is_object);
if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 685, __pyx_L1_error)
11801 __pyx_v_mslice = __pyx_t_1;
11810 __pyx_t_2 = __pyx_memoryview_copy_object_from_slice(__pyx_v_self, (&__pyx_v_mslice));
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 690, __pyx_L1_error)
11811 __Pyx_GOTREF(__pyx_t_2);
11813 PyObject *__pyx_temp;
11815 __pyx_temp = __pyx_r;
11816 __pyx_r = __pyx_t_2;
11818 __Pyx_XDECREF(__pyx_temp);
11833 __Pyx_XDECREF(__pyx_t_2);
11834 __Pyx_AddTraceback(
"View.MemoryView.memoryview.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
11839 __Pyx_XGIVEREF(__pyx_r);
11840 __Pyx_RefNannyFinishContext();
11853static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self,
11854#
if CYTHON_VECTORCALL
11855PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11857PyObject *__pyx_args, PyObject *__pyx_kwds
11860static PyObject *__pyx_memoryview_copy_fortran(PyObject *__pyx_v_self,
11861#
if CYTHON_VECTORCALL
11862PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11864PyObject *__pyx_args, PyObject *__pyx_kwds
11867 #if !CYTHON_VECTORCALL
11868 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
11870 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
11871 PyObject *__pyx_r = 0;
11872 __Pyx_RefNannyDeclarations
11873 __Pyx_RefNannySetupContext(
"copy_fortran (wrapper)", 0);
11874 #if !CYTHON_VECTORCALL
11875 #if CYTHON_ASSUME_SAFE_SIZE
11876 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
11878 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
11881 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
11882 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"copy_fortran", 1, 0, 0, __pyx_nargs);
return NULL; }
11883 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
11884 if (unlikely(__pyx_kwds_len < 0))
return NULL;
11885 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"copy_fortran", __pyx_kwds);
return NULL;}
11886 __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(((
struct __pyx_memoryview_obj *)__pyx_v_self));
11889 __Pyx_RefNannyFinishContext();
11893static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(
struct __pyx_memoryview_obj *__pyx_v_self) {
11894 __Pyx_memviewslice __pyx_v_src;
11895 __Pyx_memviewslice __pyx_v_dst;
11897 PyObject *__pyx_r = NULL;
11898 __Pyx_RefNannyDeclarations
11899 __Pyx_memviewslice __pyx_t_1;
11900 PyObject *__pyx_t_2 = NULL;
11901 int __pyx_lineno = 0;
11902 const char *__pyx_filename = NULL;
11903 int __pyx_clineno = 0;
11904 __Pyx_RefNannySetupContext(
"copy_fortran", 0);
11913 __pyx_v_flags = (__pyx_v_self->flags & (~PyBUF_C_CONTIGUOUS));
11922 __pyx_memoryview_slice_copy(__pyx_v_self, (&__pyx_v_src));
11931 __pyx_t_1 = __pyx_memoryview_copy_new_contig((&__pyx_v_src), __pyx_k_fortran, __pyx_v_self->view.ndim, __pyx_v_self->view.itemsize, (__pyx_v_flags | PyBUF_F_CONTIGUOUS), __pyx_v_self->dtype_is_object);
if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 697, __pyx_L1_error)
11932 __pyx_v_dst = __pyx_t_1;
11941 __pyx_t_2 = __pyx_memoryview_copy_object_from_slice(__pyx_v_self, (&__pyx_v_dst));
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 702, __pyx_L1_error)
11942 __Pyx_GOTREF(__pyx_t_2);
11944 PyObject *__pyx_temp;
11946 __pyx_temp = __pyx_r;
11947 __pyx_r = __pyx_t_2;
11949 __Pyx_XDECREF(__pyx_temp);
11964 __Pyx_XDECREF(__pyx_t_2);
11965 __Pyx_AddTraceback(
"View.MemoryView.memoryview.copy_fortran", __pyx_clineno, __pyx_lineno, __pyx_filename);
11971 __Pyx_XGIVEREF(__pyx_r);
11972 __Pyx_RefNannyFinishContext();
11983static PyObject *__pyx_pw___pyx_memoryview_1__reduce_cython__(PyObject *__pyx_v_self,
11984#
if CYTHON_VECTORCALL
11985PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11987PyObject *__pyx_args, PyObject *__pyx_kwds
11990static PyObject *__pyx_pw___pyx_memoryview_1__reduce_cython__(PyObject *__pyx_v_self,
11991#
if CYTHON_VECTORCALL
11992PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
11994PyObject *__pyx_args, PyObject *__pyx_kwds
11997 #if !CYTHON_VECTORCALL
11998 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
12000 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
12001 PyObject *__pyx_r = 0;
12002 __Pyx_RefNannyDeclarations
12003 __Pyx_RefNannySetupContext(
"__reduce_cython__ (wrapper)", 0);
12004 #if !CYTHON_VECTORCALL
12005 #if CYTHON_ASSUME_SAFE_SIZE
12006 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
12008 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
12011 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
12012 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"__reduce_cython__", 1, 0, 0, __pyx_nargs);
return NULL; }
12013 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
12014 if (unlikely(__pyx_kwds_len < 0))
return NULL;
12015 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"__reduce_cython__", __pyx_kwds);
return NULL;}
12016 __pyx_r = __pyx_pf___pyx_memoryview___reduce_cython__(((
struct __pyx_memoryview_obj *)__pyx_v_self));
12019 __Pyx_RefNannyFinishContext();
12023static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED
struct __pyx_memoryview_obj *__pyx_v_self) {
12024 PyObject *__pyx_r = NULL;
12025 __Pyx_RefNannyDeclarations
12026 int __pyx_lineno = 0;
12027 const char *__pyx_filename = NULL;
12028 int __pyx_clineno = 0;
12029 __Pyx_RefNannySetupContext(
"__reduce_cython__", 0);
12037 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
12038 __PYX_ERR(1, 2, __pyx_L1_error)
12048 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12050 __Pyx_XGIVEREF(__pyx_r);
12051 __Pyx_RefNannyFinishContext();
12063static PyObject *__pyx_pw___pyx_memoryview_3__setstate_cython__(PyObject *__pyx_v_self,
12064#
if CYTHON_VECTORCALL
12065PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
12067PyObject *__pyx_args, PyObject *__pyx_kwds
12070static PyObject *__pyx_pw___pyx_memoryview_3__setstate_cython__(PyObject *__pyx_v_self,
12071#
if CYTHON_VECTORCALL
12072PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
12074PyObject *__pyx_args, PyObject *__pyx_kwds
12077 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
12078 #if !CYTHON_VECTORCALL
12079 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
12081 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
12082 PyObject* values[1] = {0};
12083 int __pyx_lineno = 0;
12084 const char *__pyx_filename = NULL;
12085 int __pyx_clineno = 0;
12086 PyObject *__pyx_r = 0;
12087 __Pyx_RefNannyDeclarations
12088 __Pyx_RefNannySetupContext(
"__setstate_cython__ (wrapper)", 0);
12089 #if !CYTHON_VECTORCALL
12090 #if CYTHON_ASSUME_SAFE_SIZE
12091 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
12093 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
12096 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
12098 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
12099 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
12100 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
12101 if (__pyx_kwds_len > 0) {
12102 switch (__pyx_nargs) {
12104 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
12105 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 3, __pyx_L3_error)
12106 CYTHON_FALLTHROUGH;
12108 default:
goto __pyx_L5_argtuple_error;
12110 const Py_ssize_t kwd_pos_args = __pyx_nargs;
12111 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__setstate_cython__", 0) < (0)) __PYX_ERR(1, 3, __pyx_L3_error)
12112 for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
12113 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 3, __pyx_L3_error) }
12115 }
else if (unlikely(__pyx_nargs != 1)) {
12116 goto __pyx_L5_argtuple_error;
12118 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
12119 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 3, __pyx_L3_error)
12121 __pyx_v___pyx_state = values[0];
12123 goto __pyx_L6_skip;
12124 __pyx_L5_argtuple_error:;
12125 __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
12127 goto __pyx_L4_argument_unpacking_done;
12129 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
12130 Py_XDECREF(values[__pyx_temp]);
12132 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12133 __Pyx_RefNannyFinishContext();
12135 __pyx_L4_argument_unpacking_done:;
12136 __pyx_r = __pyx_pf___pyx_memoryview_2__setstate_cython__(((
struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v___pyx_state);
12139 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
12140 Py_XDECREF(values[__pyx_temp]);
12142 __Pyx_RefNannyFinishContext();
12146static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_memoryview_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
12147 PyObject *__pyx_r = NULL;
12148 __Pyx_RefNannyDeclarations
12149 int __pyx_lineno = 0;
12150 const char *__pyx_filename = NULL;
12151 int __pyx_clineno = 0;
12152 __Pyx_RefNannySetupContext(
"__setstate_cython__", 0);
12159 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
12160 __PYX_ERR(1, 4, __pyx_L1_error)
12171 __Pyx_AddTraceback(
"View.MemoryView.memoryview.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
12173 __Pyx_XGIVEREF(__pyx_r);
12174 __Pyx_RefNannyFinishContext();
12186static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o,
int __pyx_v_flags,
int __pyx_v_dtype_is_object, __Pyx_TypeInfo
const *__pyx_v_typeinfo) {
12187 struct __pyx_memoryview_obj *__pyx_v_result = 0;
12188 PyObject *__pyx_r = NULL;
12189 __Pyx_RefNannyDeclarations
12190 PyObject *__pyx_t_1 = NULL;
12191 PyObject *__pyx_t_2 = NULL;
12192 PyObject *__pyx_t_3 = NULL;
12193 PyObject *__pyx_t_4 = NULL;
12195 int __pyx_lineno = 0;
12196 const char *__pyx_filename = NULL;
12197 int __pyx_clineno = 0;
12198 __Pyx_RefNannySetupContext(
"memoryview_cwrapper", 0);
12208 __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_flags);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 707, __pyx_L1_error)
12209 __Pyx_GOTREF(__pyx_t_3);
12210 __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 707, __pyx_L1_error)
12211 __Pyx_GOTREF(__pyx_t_4);
12214 PyObject *__pyx_callargs[4] = {__pyx_t_2, __pyx_v_o, __pyx_t_3, __pyx_t_4};
12215 __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_memoryview_type, __pyx_callargs+__pyx_t_5, (4-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
12216 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
12217 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
12218 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
12219 if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 707, __pyx_L1_error)
12220 __Pyx_GOTREF((PyObject *)__pyx_t_1);
12222 __pyx_v_result = ((
struct __pyx_memoryview_obj *)__pyx_t_1);
12232 __pyx_v_result->typeinfo = __pyx_v_typeinfo;
12242 PyObject *__pyx_temp;
12244 __pyx_temp = __pyx_r;
12245 __Pyx_INCREF((PyObject *)__pyx_v_result);
12246 __pyx_r = ((PyObject *)__pyx_v_result);
12248 __Pyx_XDECREF(__pyx_temp);
12262 __Pyx_XDECREF(__pyx_t_1);
12263 __Pyx_XDECREF(__pyx_t_2);
12264 __Pyx_XDECREF(__pyx_t_3);
12265 __Pyx_XDECREF(__pyx_t_4);
12266 __Pyx_AddTraceback(
"View.MemoryView.memoryview_cwrapper", __pyx_clineno, __pyx_lineno, __pyx_filename);
12269 __Pyx_XDECREF((PyObject *)__pyx_v_result);
12270 __Pyx_XGIVEREF(__pyx_r);
12271 __Pyx_RefNannyFinishContext();
12283static CYTHON_INLINE
int __pyx_memoryview_check(PyObject *__pyx_v_o) {
12294 __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_o, __pyx_mstate_global->__pyx_memoryview_type);
12296 __pyx_r = __pyx_t_1;
12322static int __pyx_memoryview_err_invalid_index(PyObject *__pyx_v_item) {
12323 PyObject *__pyx_v_type_name = NULL;
12325 __Pyx_RefNannyDeclarations
12326 PyObject *__pyx_t_1 = NULL;
12327 int __pyx_lineno = 0;
12328 const char *__pyx_filename = NULL;
12329 int __pyx_clineno = 0;
12330 __Pyx_RefNannySetupContext(
"_err_invalid_index", 0);
12339 __pyx_t_1 = __Pyx_PyObject_Unicode(((PyObject *)Py_TYPE(__pyx_v_item)));
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 718, __pyx_L1_error)
12340 __Pyx_GOTREF(__pyx_t_1);
12341 __pyx_v_type_name = ((PyObject*)__pyx_t_1);
12351 (void)(PyErr_Format(PyExc_TypeError, __pyx_k_Cannot_index_with_type_200U, ((PyObject *)__pyx_v_type_name)));
12376 __Pyx_XDECREF(__pyx_t_1);
12377 __Pyx_AddTraceback(
"View.MemoryView._err_invalid_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
12380 __Pyx_XDECREF(__pyx_v_type_name);
12382 __Pyx_RefNannyFinishContext();
12394static PyObject *_unellipsify_index_tuple(PyObject *__pyx_v_index_tuple,
int __pyx_v_ndim) {
12395 Py_ssize_t __pyx_v_first_ellipsis_index;
12396 Py_ssize_t __pyx_v_idx;
12397 Py_ssize_t __pyx_v_ellipsis_end;
12398 Py_ssize_t __pyx_v_indices_from_ellipsis;
12399 int __pyx_v_have_slices;
12400 PyObject *__pyx_v_item = NULL;
12401 PyObject *__pyx_v_result = NULL;
12402 PyObject *__pyx_r = NULL;
12403 __Pyx_RefNannyDeclarations
12404 PyObject *__pyx_t_1 = NULL;
12405 Py_ssize_t __pyx_t_2;
12406 PyObject *__pyx_t_3 = NULL;
12409 Py_ssize_t __pyx_t_6;
12410 Py_ssize_t __pyx_t_7;
12411 Py_ssize_t __pyx_t_8;
12412 int __pyx_lineno = 0;
12413 const char *__pyx_filename = NULL;
12414 int __pyx_clineno = 0;
12415 __Pyx_RefNannySetupContext(
"_unellipsify_index_tuple", 0);
12416 __Pyx_INCREF(__pyx_v_index_tuple);
12425 __pyx_v_first_ellipsis_index = -1L;
12434 __pyx_v_have_slices = 0;
12452 __pyx_t_1 = __pyx_v_index_tuple; __Pyx_INCREF(__pyx_t_1);
12456 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
12457 #if !CYTHON_ASSUME_SAFE_SIZE
12458 if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 733, __pyx_L1_error)
12460 if (__pyx_t_2 >= __pyx_temp)
break;
12462 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
12463 __pyx_t_3 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2));
12465 __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2);
12468 if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 733, __pyx_L1_error)
12469 __Pyx_GOTREF(__pyx_t_3);
12470 __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_3);
12480 __pyx_t_4 = (__pyx_v_item == __pyx_builtin_Ellipsis);
12491 __pyx_v_have_slices = 1;
12500 __pyx_t_4 = (__pyx_v_first_ellipsis_index == -1L);
12512 __pyx_v_first_ellipsis_index = __pyx_v_idx;
12540 __pyx_t_4 = PySlice_Check(__pyx_v_item);
12551 __pyx_v_have_slices = 1;
12570 __pyx_t_4 = (!(PyIndex_Check(__pyx_v_item) != 0));
12572 if (unlikely(__pyx_t_4)) {
12582 __pyx_t_5 = __pyx_memoryview_err_invalid_index(__pyx_v_item);
if (unlikely(__pyx_t_5 == ((
int)-1))) __PYX_ERR(1, 741, __pyx_L1_error)
12602 __pyx_v_idx = (__pyx_v_idx + 1);
12612 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12621 __pyx_t_4 = (__pyx_v_first_ellipsis_index >= 0);
12633 __pyx_t_1 = PyList_New(1 * ((__pyx_v_ndim<0) ? 0:__pyx_v_ndim));
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 745, __pyx_L1_error)
12634 __Pyx_GOTREF(__pyx_t_1);
12635 { Py_ssize_t __pyx_temp;
12636 for (__pyx_temp=0; __pyx_temp < __pyx_v_ndim; __pyx_temp++) {
12637 __Pyx_INCREF(__pyx_mstate_global->__pyx_slice[0]);
12638 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);
12639 if (__Pyx_PyList_SET_ITEM(__pyx_t_1, __pyx_temp, __pyx_mstate_global->__pyx_slice[0]) != (0)) __PYX_ERR(1, 745, __pyx_L1_error);
12642 __pyx_v_result = ((PyObject*)__pyx_t_1);
12653 __pyx_t_2 = __pyx_v_first_ellipsis_index;
12654 __pyx_t_6 = __pyx_t_2;
12656 for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
12657 __pyx_v_idx = __pyx_t_7;
12666 __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_index_tuple, __pyx_v_idx, Py_ssize_t, 1, PyLong_FromSsize_t, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 748, __pyx_L1_error)
12667 __Pyx_GOTREF(__pyx_t_1);
12668 if (unlikely((__Pyx_SetItemInt(__pyx_v_result, __pyx_v_idx, __pyx_t_1, Py_ssize_t, 1, PyLong_FromSsize_t, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(1, 748, __pyx_L1_error)
12669 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12680 __pyx_t_2 = __Pyx_PyTuple_GET_SIZE(__pyx_v_index_tuple);
if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(1, 750, __pyx_L1_error)
12681 __pyx_v_indices_from_ellipsis = (__pyx_t_2 - __pyx_v_first_ellipsis_index);
12691 __pyx_v_ellipsis_end = (__pyx_v_ndim - __pyx_v_indices_from_ellipsis);
12701 __pyx_t_2 = __pyx_v_indices_from_ellipsis;
12702 __pyx_t_6 = __pyx_t_2;
12704 for (__pyx_t_7 = 1; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {
12705 __pyx_v_idx = __pyx_t_7;
12714 __pyx_t_8 = (__pyx_v_first_ellipsis_index + __pyx_v_idx);
12716 __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v_index_tuple, __pyx_t_8, Py_ssize_t, 1, PyLong_FromSsize_t, 1, 1, 1, __Pyx_ReferenceSharing_FunctionArgument);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 754, __pyx_L1_error)
12717 __Pyx_GOTREF(__pyx_t_1);
12719 __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_1);
12729 __pyx_t_4 = (__pyx_v_item != __pyx_builtin_Ellipsis);
12740 __pyx_t_8 = (__pyx_v_ellipsis_end + __pyx_v_idx);
12742 if (unlikely((__Pyx_SetItemInt(__pyx_v_result, __pyx_t_8, __pyx_v_item, Py_ssize_t, 1, PyLong_FromSsize_t, 1, 1, 1, __Pyx_ReferenceSharing_OwnStrongReference) < 0))) __PYX_ERR(1, 756, __pyx_L1_error)
12763 __pyx_t_1 = PyList_AsTuple(__pyx_v_result);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 758, __pyx_L1_error)
12764 __Pyx_GOTREF(__pyx_t_1);
12765 __Pyx_DECREF_SET(__pyx_v_index_tuple, ((PyObject*)__pyx_t_1));
12785 __pyx_t_4 = (__pyx_v_ndim > __pyx_v_idx);
12797 __pyx_v_have_slices = 1;
12806 __pyx_t_2 = (__pyx_v_ndim - __pyx_v_idx);
12808 __pyx_t_1 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_tuple[1], __pyx_t_2);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 763, __pyx_L1_error)
12809 __Pyx_GOTREF(__pyx_t_1);
12811 __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_index_tuple, __pyx_t_1);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 763, __pyx_L1_error)
12812 __Pyx_GOTREF(__pyx_t_3);
12813 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
12814 __Pyx_DECREF_SET(__pyx_v_index_tuple, ((PyObject*)__pyx_t_3));
12834 __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_have_slices);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 765, __pyx_L1_error)
12835 __Pyx_GOTREF(__pyx_t_3);
12836 __pyx_t_1 = PyTuple_New(2);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 765, __pyx_L1_error)
12837 __Pyx_GOTREF(__pyx_t_1);
12838 __Pyx_GIVEREF(__pyx_t_3);
12839 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3) != (0)) __PYX_ERR(1, 765, __pyx_L1_error);
12840 __Pyx_INCREF(__pyx_v_index_tuple);
12841 __Pyx_GIVEREF(__pyx_v_index_tuple);
12842 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_index_tuple) != (0)) __PYX_ERR(1, 765, __pyx_L1_error);
12845 PyObject *__pyx_temp;
12847 __pyx_temp = __pyx_r;
12848 __pyx_r = ((PyObject*)__pyx_t_1);
12850 __Pyx_XDECREF(__pyx_temp);
12865 __Pyx_XDECREF(__pyx_t_1);
12866 __Pyx_XDECREF(__pyx_t_3);
12867 __Pyx_AddTraceback(
"View.MemoryView._unellipsify_index_tuple", __pyx_clineno, __pyx_lineno, __pyx_filename);
12875 __Pyx_XDECREF(__pyx_v_item);
12876 __Pyx_XDECREF(__pyx_v_result);
12877 __Pyx_XDECREF(__pyx_v_index_tuple);
12878 __Pyx_XGIVEREF(__pyx_r);
12879 __Pyx_RefNannyFinishContext();
12891static PyObject *_unellipsify(PyObject *__pyx_v_index,
int __pyx_v_ndim) {
12892 PyObject *__pyx_v_result = 0;
12893 int __pyx_v_have_slices;
12894 PyObject *__pyx_r = NULL;
12895 __Pyx_RefNannyDeclarations
12897 PyObject *__pyx_t_2 = NULL;
12900 PyObject *__pyx_t_5 = NULL;
12901 PyObject *__pyx_t_6 = NULL;
12902 int __pyx_lineno = 0;
12903 const char *__pyx_filename = NULL;
12904 int __pyx_clineno = 0;
12905 __Pyx_RefNannySetupContext(
"_unellipsify", 0);
12914 __pyx_v_have_slices = 0;
12923 __pyx_t_1 = (__pyx_v_index == __pyx_builtin_Ellipsis);
12934 __pyx_v_have_slices = 1;
12943 __pyx_t_2 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_tuple[1], __pyx_v_ndim);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 777, __pyx_L1_error)
12944 __Pyx_GOTREF(__pyx_t_2);
12945 __pyx_v_result = ((PyObject*)__pyx_t_2);
12965 __pyx_t_1 = PyTuple_Check(__pyx_v_index);
12976 if (unlikely(__pyx_v_index == Py_None)) {
12977 PyErr_SetString(PyExc_TypeError,
"cannot pass None into a C function argument that is declared \047not None\047");
12978 __PYX_ERR(1, 780, __pyx_L1_error)
12980 __pyx_t_2 = _unellipsify_index_tuple(((PyObject*)__pyx_v_index), __pyx_v_ndim);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 780, __pyx_L1_error)
12981 __Pyx_GOTREF(__pyx_t_2);
12983 PyObject *__pyx_temp;
12985 __pyx_temp = __pyx_r;
12986 __pyx_r = ((PyObject*)__pyx_t_2);
12988 __Pyx_XDECREF(__pyx_temp);
13010 __pyx_t_1 = PySlice_Check(__pyx_v_index);
13021 __pyx_v_have_slices = 1;
13040 __pyx_t_1 = (!(PyIndex_Check(__pyx_v_index) != 0));
13042 if (unlikely(__pyx_t_1)) {
13052 __pyx_t_3 = __pyx_memoryview_err_invalid_index(__pyx_v_index);
if (unlikely(__pyx_t_3 == ((
int)-1))) __PYX_ERR(1, 786, __pyx_L1_error)
13072 switch (__pyx_v_ndim) {
13082 __pyx_t_2 = PyTuple_New(1);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 790, __pyx_L1_error)
13083 __Pyx_GOTREF(__pyx_t_2);
13084 __Pyx_INCREF(__pyx_v_index);
13085 __Pyx_GIVEREF(__pyx_v_index);
13086 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_index) != (0)) __PYX_ERR(1, 790, __pyx_L1_error);
13087 __pyx_v_result = ((PyObject*)__pyx_t_2);
13107 __pyx_v_have_slices = 1;
13116 __pyx_t_2 = PyTuple_New(2);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 793, __pyx_L1_error)
13117 __Pyx_GOTREF(__pyx_t_2);
13118 __Pyx_INCREF(__pyx_v_index);
13119 __Pyx_GIVEREF(__pyx_v_index);
13120 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_index) != (0)) __PYX_ERR(1, 793, __pyx_L1_error);
13121 __Pyx_INCREF(__pyx_mstate_global->__pyx_slice[0]);
13122 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);
13123 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_mstate_global->__pyx_slice[0]) != (0)) __PYX_ERR(1, 793, __pyx_L1_error);
13124 __pyx_v_result = ((PyObject*)__pyx_t_2);
13144 __pyx_v_have_slices = 1;
13153 __pyx_t_2 = PyTuple_New(1);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 796, __pyx_L1_error)
13154 __Pyx_GOTREF(__pyx_t_2);
13155 __Pyx_INCREF(__pyx_v_index);
13156 __Pyx_GIVEREF(__pyx_v_index);
13157 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_index) != (0)) __PYX_ERR(1, 796, __pyx_L1_error);
13158 __pyx_t_4 = (__pyx_v_ndim - 1);
13160 __pyx_t_5 = __Pyx_PySequence_Multiply(__pyx_mstate_global->__pyx_tuple[1], __pyx_t_4);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 796, __pyx_L1_error)
13161 __Pyx_GOTREF(__pyx_t_5);
13163 __pyx_t_6 = PyNumber_Add(__pyx_t_2, __pyx_t_5);
if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 796, __pyx_L1_error)
13164 __Pyx_GOTREF(__pyx_t_6);
13165 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13166 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
13167 __pyx_v_result = ((PyObject*)__pyx_t_6);
13181 __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_have_slices);
if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 798, __pyx_L1_error)
13182 __Pyx_GOTREF(__pyx_t_6);
13183 __pyx_t_5 = PyTuple_New(2);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 798, __pyx_L1_error)
13184 __Pyx_GOTREF(__pyx_t_5);
13185 __Pyx_GIVEREF(__pyx_t_6);
13186 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6) != (0)) __PYX_ERR(1, 798, __pyx_L1_error);
13187 __Pyx_INCREF(__pyx_v_result);
13188 __Pyx_GIVEREF(__pyx_v_result);
13189 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_result) != (0)) __PYX_ERR(1, 798, __pyx_L1_error);
13192 PyObject *__pyx_temp;
13194 __pyx_temp = __pyx_r;
13195 __pyx_r = ((PyObject*)__pyx_t_5);
13197 __Pyx_XDECREF(__pyx_temp);
13212 __Pyx_XDECREF(__pyx_t_2);
13213 __Pyx_XDECREF(__pyx_t_5);
13214 __Pyx_XDECREF(__pyx_t_6);
13215 __Pyx_AddTraceback(
"View.MemoryView._unellipsify", __pyx_clineno, __pyx_lineno, __pyx_filename);
13218 __Pyx_XDECREF(__pyx_v_result);
13220 __Pyx_XGIVEREF(__pyx_r);
13221 __Pyx_RefNannyFinishContext();
13233static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets,
int __pyx_v_ndim) {
13234 Py_ssize_t __pyx_v_suboffset;
13236 Py_ssize_t *__pyx_t_1;
13237 Py_ssize_t *__pyx_t_2;
13238 Py_ssize_t *__pyx_t_3;
13241 int __pyx_lineno = 0;
13242 const char *__pyx_filename = NULL;
13243 int __pyx_clineno = 0;
13252 __pyx_t_2 = (__pyx_v_suboffsets + __pyx_v_ndim);
13254 for (__pyx_t_3 = __pyx_v_suboffsets; __pyx_t_3 < __pyx_t_2; __pyx_t_3++) {
13255 __pyx_t_1 = __pyx_t_3;
13256 __pyx_v_suboffset = (__pyx_t_1[0]);
13265 __pyx_t_4 = (__pyx_v_suboffset >= 0);
13267 if (unlikely(__pyx_t_4)) {
13277 __pyx_t_5 = __pyx_memoryview_err_ValueError(__pyx_k_Indirect_dimensions_not_supporte);
if (unlikely(__pyx_t_5 == ((
int)-1))) __PYX_ERR(1, 804, __pyx_L1_error)
13314 __Pyx_AddTraceback(
"View.MemoryView.assert_direct_dimensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
13330static struct __pyx_memoryview_obj *__pyx_memview_slice(
struct __pyx_memoryview_obj *__pyx_v_memview, PyObject *__pyx_v_indices) {
13331 int __pyx_v_new_ndim;
13332 int __pyx_v_suboffset_dim;
13334 __Pyx_memviewslice __pyx_v_src;
13335 __Pyx_memviewslice __pyx_v_dst;
13336 __Pyx_memviewslice *__pyx_v_p_src;
13337 struct __pyx_memoryviewslice_obj *__pyx_v_memviewsliceobj = 0;
13338 __Pyx_memviewslice *__pyx_v_p_dst;
13339 int *__pyx_v_p_suboffset_dim;
13340 Py_ssize_t __pyx_v_start;
13341 Py_ssize_t __pyx_v_stop;
13342 Py_ssize_t __pyx_v_step;
13343 Py_ssize_t __pyx_v_cindex;
13344 int __pyx_v_have_start;
13345 int __pyx_v_have_stop;
13346 int __pyx_v_have_step;
13347 PyObject *__pyx_v_index = NULL;
13348 struct __pyx_memoryview_obj *__pyx_r = NULL;
13349 __Pyx_RefNannyDeclarations
13351 PyObject *__pyx_t_2 = NULL;
13352 struct __pyx_memoryview_obj *__pyx_t_3;
13355 Py_ssize_t __pyx_t_6;
13356 PyObject *__pyx_t_7 = NULL;
13357 Py_ssize_t __pyx_t_8;
13359 Py_ssize_t __pyx_t_10;
13360 int __pyx_lineno = 0;
13361 const char *__pyx_filename = NULL;
13362 int __pyx_clineno = 0;
13363 __Pyx_RefNannySetupContext(
"memview_slice", 0);
13372 __pyx_v_new_ndim = 0;
13373 __pyx_v_suboffset_dim = -1;
13382 (void)(memset((&__pyx_v_dst), 0, (
sizeof(__pyx_v_dst))));
13391 #ifndef CYTHON_WITHOUT_ASSERTIONS
13392 if (unlikely(__pyx_assertions_enabled())) {
13393 __pyx_t_1 = (__pyx_v_memview->view.ndim > 0);
13395 if (unlikely(!__pyx_t_1)) {
13396 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
13397 __PYX_ERR(1, 824, __pyx_L1_error)
13402 if ((1));
else __PYX_ERR(1, 824, __pyx_L1_error)
13412 __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_mstate_global->__pyx_memoryviewslice_type);
13423 __pyx_t_2 = ((PyObject *)__pyx_v_memview);
13424 __Pyx_INCREF(__pyx_t_2);
13425 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_memoryviewslice_type))))) __PYX_ERR(1, 827, __pyx_L1_error)
13426 __pyx_v_memviewsliceobj = ((
struct __pyx_memoryviewslice_obj *)__pyx_t_2);
13436 __pyx_v_p_src = (&__pyx_v_memviewsliceobj->from_slice);
13456 __pyx_memoryview_slice_copy(__pyx_v_memview, (&__pyx_v_src));
13465 __pyx_v_p_src = (&__pyx_v_src);
13476 __pyx_t_3 = __pyx_v_p_src->memview;
13478 __pyx_v_dst.memview = __pyx_t_3;
13487 __pyx_t_4 = __pyx_v_p_src->data;
13489 __pyx_v_dst.data = __pyx_t_4;
13498 __pyx_v_p_dst = (&__pyx_v_dst);
13507 __pyx_v_p_suboffset_dim = (&__pyx_v_suboffset_dim);
13518 __pyx_t_2 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_2);
13522 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
13523 #if !CYTHON_ASSUME_SAFE_SIZE
13524 if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 848, __pyx_L1_error)
13526 if (__pyx_t_6 >= __pyx_temp)
break;
13528 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
13529 __pyx_t_7 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6));
13531 __pyx_t_7 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6);
13534 if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 848, __pyx_L1_error)
13535 __Pyx_GOTREF(__pyx_t_7);
13536 __Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_7);
13538 __pyx_v_dim = __pyx_t_5;
13539 __pyx_t_5 = (__pyx_t_5 + 1);
13548 __pyx_t_1 = (PyIndex_Check(__pyx_v_index) != 0);
13560 __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_index);
if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 850, __pyx_L1_error)
13561 __pyx_v_cindex = __pyx_t_8;
13570 __pyx_t_9 = __pyx_memoryview_slice_memviewslice(__pyx_v_p_dst, (__pyx_v_p_src->shape[__pyx_v_dim]), (__pyx_v_p_src->strides[__pyx_v_dim]), (__pyx_v_p_src->suboffsets[__pyx_v_dim]), __pyx_v_dim, __pyx_v_new_ndim, __pyx_v_p_suboffset_dim, __pyx_v_cindex, 0, 0, 0, 0, 0, 0);
if (unlikely(__pyx_t_9 == ((
int)-1))) __PYX_ERR(1, 851, __pyx_L1_error)
13590 __pyx_t_1 = (__pyx_v_index == Py_None);
13601 (__pyx_v_p_dst->shape[__pyx_v_new_ndim]) = 1;
13610 (__pyx_v_p_dst->strides[__pyx_v_new_ndim]) = 0;
13619 (__pyx_v_p_dst->suboffsets[__pyx_v_new_ndim]) = -1L;
13628 __pyx_v_new_ndim = (__pyx_v_new_ndim + 1);
13648 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_start);
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 863, __pyx_L1_error)
13649 __Pyx_GOTREF(__pyx_t_7);
13650 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7);
if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 863, __pyx_L1_error)
13652 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13654 __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_7);
if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 863, __pyx_L1_error)
13655 __pyx_t_8 = __pyx_t_10;
13656 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13657 goto __pyx_L7_bool_binop_done;
13661 __pyx_L7_bool_binop_done:;
13662 __pyx_v_start = __pyx_t_8;
13671 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_stop);
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 864, __pyx_L1_error)
13672 __Pyx_GOTREF(__pyx_t_7);
13673 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7);
if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 864, __pyx_L1_error)
13675 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13677 __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_7);
if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 864, __pyx_L1_error)
13678 __pyx_t_8 = __pyx_t_10;
13679 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13680 goto __pyx_L9_bool_binop_done;
13684 __pyx_L9_bool_binop_done:;
13685 __pyx_v_stop = __pyx_t_8;
13694 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_step);
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 865, __pyx_L1_error)
13695 __Pyx_GOTREF(__pyx_t_7);
13696 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7);
if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(1, 865, __pyx_L1_error)
13698 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13700 __pyx_t_10 = __Pyx_PyIndex_AsSsize_t(__pyx_t_7);
if (unlikely((__pyx_t_10 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 865, __pyx_L1_error)
13701 __pyx_t_8 = __pyx_t_10;
13702 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13703 goto __pyx_L11_bool_binop_done;
13707 __pyx_L11_bool_binop_done:;
13708 __pyx_v_step = __pyx_t_8;
13717 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_start);
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 867, __pyx_L1_error)
13718 __Pyx_GOTREF(__pyx_t_7);
13719 __pyx_t_1 = (__pyx_t_7 != Py_None);
13720 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13721 __pyx_v_have_start = __pyx_t_1;
13730 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_stop);
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 868, __pyx_L1_error)
13731 __Pyx_GOTREF(__pyx_t_7);
13732 __pyx_t_1 = (__pyx_t_7 != Py_None);
13733 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13734 __pyx_v_have_stop = __pyx_t_1;
13743 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_index, __pyx_mstate_global->__pyx_n_u_step);
if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 869, __pyx_L1_error)
13744 __Pyx_GOTREF(__pyx_t_7);
13745 __pyx_t_1 = (__pyx_t_7 != Py_None);
13746 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
13747 __pyx_v_have_step = __pyx_t_1;
13756 __pyx_t_9 = __pyx_memoryview_slice_memviewslice(__pyx_v_p_dst, (__pyx_v_p_src->shape[__pyx_v_dim]), (__pyx_v_p_src->strides[__pyx_v_dim]), (__pyx_v_p_src->suboffsets[__pyx_v_dim]), __pyx_v_dim, __pyx_v_new_ndim, __pyx_v_p_suboffset_dim, __pyx_v_start, __pyx_v_stop, __pyx_v_step, __pyx_v_have_start, __pyx_v_have_stop, __pyx_v_have_step, 1);
if (unlikely(__pyx_t_9 == ((
int)-1))) __PYX_ERR(1, 871, __pyx_L1_error)
13766 __pyx_v_new_ndim = (__pyx_v_new_ndim + 1);
13778 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
13787 __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_mstate_global->__pyx_memoryviewslice_type);
13798 if (unlikely(!__pyx_v_memviewsliceobj)) { __Pyx_RaiseUnboundLocalError(
"memviewsliceobj"); __PYX_ERR(1, 881, __pyx_L1_error) }
13807 if (unlikely(!__pyx_v_memviewsliceobj)) { __Pyx_RaiseUnboundLocalError(
"memviewsliceobj"); __PYX_ERR(1, 882, __pyx_L1_error) }
13816 __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_dst, __pyx_v_new_ndim, __pyx_v_memviewsliceobj->to_object_func, __pyx_v_memviewsliceobj->to_dtype_func, __pyx_v_memview->dtype_is_object);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 880, __pyx_L1_error)
13817 __Pyx_GOTREF(__pyx_t_2);
13818 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(1, 880, __pyx_L1_error)
13820 struct __pyx_memoryview_obj *__pyx_temp;
13822 __pyx_temp = __pyx_r;
13823 __pyx_r = ((
struct __pyx_memoryview_obj *)__pyx_t_2);
13825 __Pyx_XDECREF((PyObject *)__pyx_temp);
13855 __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_v_dst, __pyx_v_new_ndim, NULL, NULL, __pyx_v_memview->dtype_is_object);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 885, __pyx_L1_error)
13856 __Pyx_GOTREF(__pyx_t_2);
13865 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_memoryview_type))))) __PYX_ERR(1, 885, __pyx_L1_error)
13867 struct __pyx_memoryview_obj *__pyx_temp;
13869 __pyx_temp = __pyx_r;
13870 __pyx_r = ((
struct __pyx_memoryview_obj *)__pyx_t_2);
13872 __Pyx_XDECREF((PyObject *)__pyx_temp);
13888 __Pyx_XDECREF(__pyx_t_2);
13889 __Pyx_XDECREF(__pyx_t_7);
13890 __Pyx_AddTraceback(
"View.MemoryView.memview_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
13899 __Pyx_XDECREF((PyObject *)__pyx_v_memviewsliceobj);
13909 __Pyx_XDECREF(__pyx_v_index);
13910 __Pyx_XGIVEREF((PyObject *)__pyx_r);
13911 __Pyx_RefNannyFinishContext();
13923static char *__pyx_pybuffer_index(Py_buffer *__pyx_v_view,
char *__pyx_v_bufp, Py_ssize_t __pyx_v_index, Py_ssize_t __pyx_v_dim) {
13924 Py_ssize_t __pyx_v_shape;
13925 Py_ssize_t __pyx_v_stride;
13926 Py_ssize_t __pyx_v_suboffset;
13927 Py_ssize_t __pyx_v_itemsize;
13928 char *__pyx_v_resultp;
13930 Py_ssize_t __pyx_t_1;
13933 int __pyx_lineno = 0;
13934 const char *__pyx_filename = NULL;
13935 int __pyx_clineno = 0;
13945 __pyx_v_suboffset = -1L;
13954 __pyx_t_1 = __pyx_v_view->itemsize;
13956 __pyx_v_itemsize = __pyx_t_1;
13965 __pyx_t_2 = (__pyx_v_view->ndim == 0);
13977 if (unlikely(__pyx_v_itemsize == 0)) {
13978 PyErr_SetString(PyExc_ZeroDivisionError,
"integer division or modulo by zero");
13979 __PYX_ERR(1, 900, __pyx_L1_error)
13981 else if (
sizeof(Py_ssize_t) ==
sizeof(
long) && (!(((Py_ssize_t)-1) > 0)) && unlikely(__pyx_v_itemsize == (Py_ssize_t)-1) && unlikely(__Pyx_UNARY_NEG_WOULD_OVERFLOW(__pyx_v_view->len))) {
13982 PyErr_SetString(PyExc_OverflowError,
"value too large to perform division");
13983 __PYX_ERR(1, 900, __pyx_L1_error)
13985 __pyx_v_shape = __Pyx_div_Py_ssize_t(__pyx_v_view->len, __pyx_v_itemsize, 0);
13994 __pyx_v_stride = __pyx_v_itemsize;
14014 __pyx_v_shape = (__pyx_v_view->shape[__pyx_v_dim]);
14023 __pyx_v_stride = (__pyx_v_view->strides[__pyx_v_dim]);
14032 __pyx_t_2 = (__pyx_v_view->suboffsets != NULL);
14044 __pyx_v_suboffset = (__pyx_v_view->suboffsets[__pyx_v_dim]);
14064 __pyx_t_2 = (__pyx_v_index < 0);
14076 __pyx_v_index = (__pyx_v_index + (__pyx_v_view->shape[__pyx_v_dim]));
14085 __pyx_t_2 = (__pyx_v_index < 0);
14087 if (unlikely(__pyx_t_2)) {
14097 __pyx_t_3 = __pyx_memoryview_err_IndexError(__pyx_k_Out_of_bounds_on_buffer_access_a, __pyx_v_dim);
if (unlikely(__pyx_t_3 == ((
int)-1))) __PYX_ERR(1, 911, __pyx_L1_error)
14125 __pyx_t_2 = (__pyx_v_index >= __pyx_v_shape);
14127 if (unlikely(__pyx_t_2)) {
14137 __pyx_t_3 = __pyx_memoryview_err_IndexError(__pyx_k_Out_of_bounds_on_buffer_access_a, __pyx_v_dim);
if (unlikely(__pyx_t_3 == ((
int)-1))) __PYX_ERR(1, 914, __pyx_L1_error)
14156 __pyx_v_resultp = (__pyx_v_bufp + (__pyx_v_index * __pyx_v_stride));
14165 __pyx_t_2 = (__pyx_v_suboffset >= 0);
14177 __pyx_v_resultp = ((((
char **)__pyx_v_resultp)[0]) + __pyx_v_suboffset);
14197 __pyx_r = __pyx_v_resultp;
14211 __Pyx_AddTraceback(
"View.MemoryView.pybuffer_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
14232static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {
14234 Py_ssize_t *__pyx_v_shape;
14235 Py_ssize_t *__pyx_v_strides;
14240 Py_ssize_t *__pyx_t_2;
14243 Py_ssize_t __pyx_t_5;
14244 Py_ssize_t __pyx_t_6;
14248 int __pyx_lineno = 0;
14249 const char *__pyx_filename = NULL;
14250 int __pyx_clineno = 0;
14251 PyGILState_STATE __pyx_gilstate_save;
14260 __pyx_t_1 = __pyx_v_memslice->memview->view.ndim;
14262 __pyx_v_ndim = __pyx_t_1;
14271 __pyx_t_2 = __pyx_v_memslice->shape;
14273 __pyx_v_shape = __pyx_t_2;
14282 __pyx_t_2 = __pyx_v_memslice->strides;
14284 __pyx_v_strides = __pyx_t_2;
14294 __pyx_t_3 = __Pyx_div_long(__pyx_v_ndim, 2, 1);
14295 __pyx_t_4 = __pyx_t_3;
14297 for (__pyx_t_1 = 0; __pyx_t_1 < __pyx_t_4; __pyx_t_1+=1) {
14298 __pyx_v_i = __pyx_t_1;
14307 __pyx_v_j = ((__pyx_v_ndim - 1) - __pyx_v_i);
14316 __pyx_t_5 = (__pyx_v_strides[__pyx_v_j]);
14318 __pyx_t_6 = (__pyx_v_strides[__pyx_v_i]);
14320 (__pyx_v_strides[__pyx_v_i]) = __pyx_t_5;
14322 (__pyx_v_strides[__pyx_v_j]) = __pyx_t_6;
14332 __pyx_t_6 = (__pyx_v_shape[__pyx_v_j]);
14334 __pyx_t_5 = (__pyx_v_shape[__pyx_v_i]);
14336 (__pyx_v_shape[__pyx_v_i]) = __pyx_t_6;
14338 (__pyx_v_shape[__pyx_v_j]) = __pyx_t_5;
14348 __pyx_t_8 = ((__pyx_v_memslice->suboffsets[__pyx_v_i]) >= 0);
14354 __pyx_t_7 = __pyx_t_8;
14356 goto __pyx_L6_bool_binop_done;
14358 __pyx_t_8 = ((__pyx_v_memslice->suboffsets[__pyx_v_j]) >= 0);
14361 __pyx_t_7 = __pyx_t_8;
14363 __pyx_L6_bool_binop_done:;
14364 if (unlikely(__pyx_t_7)) {
14374 __pyx_t_9 = __pyx_memoryview_err(PyExc_ValueError, __pyx_k_Cannot_transpose_memoryview_with);
if (unlikely(__pyx_t_9 == ((
int)-1))) __PYX_ERR(1, 940, __pyx_L1_error)
14411 __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
14412 __Pyx_AddTraceback(
"View.MemoryView.transpose_memslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
14414 __Pyx_PyGILState_Release(__pyx_gilstate_save);
14433static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self);
14434static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {
14435 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
14436 __Pyx_RefNannyDeclarations
14437 __Pyx_RefNannySetupContext(
"__dealloc__ (wrapper)", 0);
14438 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
14439 __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(((
struct __pyx_memoryviewslice_obj *)__pyx_v_self));
14442 __Pyx_RefNannyFinishContext();
14445static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(
struct __pyx_memoryviewslice_obj *__pyx_v_self) {
14454 __PYX_XCLEAR_MEMVIEW((&__pyx_v_self->from_slice), 1);
14476static PyObject *__pyx_memoryviewslice_convert_item_to_object(
struct __pyx_memoryviewslice_obj *__pyx_v_self,
char *__pyx_v_itemp) {
14477 PyObject *__pyx_r = NULL;
14478 __Pyx_RefNannyDeclarations
14480 PyObject *__pyx_t_2 = NULL;
14481 int __pyx_lineno = 0;
14482 const char *__pyx_filename = NULL;
14483 int __pyx_clineno = 0;
14484 __Pyx_RefNannySetupContext(
"convert_item_to_object", 0);
14493 __pyx_t_1 = (__pyx_v_self->to_object_func != NULL);
14505 __pyx_t_2 = __pyx_v_self->to_object_func(__pyx_v_itemp);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 965, __pyx_L1_error)
14506 __Pyx_GOTREF(__pyx_t_2);
14508 PyObject *__pyx_temp;
14510 __pyx_temp = __pyx_r;
14511 __pyx_r = __pyx_t_2;
14513 __Pyx_XDECREF(__pyx_temp);
14535 __pyx_t_2 = __pyx_memoryview_convert_item_to_object(((
struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_itemp);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 967, __pyx_L1_error)
14536 __Pyx_GOTREF(__pyx_t_2);
14538 PyObject *__pyx_temp;
14540 __pyx_temp = __pyx_r;
14541 __pyx_r = __pyx_t_2;
14543 __Pyx_XDECREF(__pyx_temp);
14559 __Pyx_XDECREF(__pyx_t_2);
14560 __Pyx_AddTraceback(
"View.MemoryView._memoryviewslice.convert_item_to_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
14563 __Pyx_XGIVEREF(__pyx_r);
14564 __Pyx_RefNannyFinishContext();
14576static PyObject *__pyx_memoryviewslice_assign_item_from_object(
struct __pyx_memoryviewslice_obj *__pyx_v_self,
char *__pyx_v_itemp, PyObject *__pyx_v_value) {
14577 PyObject *__pyx_r = NULL;
14578 __Pyx_RefNannyDeclarations
14581 PyObject *__pyx_t_3 = NULL;
14582 int __pyx_lineno = 0;
14583 const char *__pyx_filename = NULL;
14584 int __pyx_clineno = 0;
14585 __Pyx_RefNannySetupContext(
"assign_item_from_object", 0);
14594 __pyx_t_1 = (__pyx_v_self->to_dtype_func != NULL);
14606 __pyx_t_2 = __pyx_v_self->to_dtype_func(__pyx_v_itemp, __pyx_v_value);
if (unlikely(__pyx_t_2 == ((
int)0))) __PYX_ERR(1, 971, __pyx_L1_error)
14627 __pyx_t_3 = __pyx_memoryview_assign_item_from_object(((
struct __pyx_memoryview_obj *)__pyx_v_self), __pyx_v_itemp, __pyx_v_value);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 973, __pyx_L1_error)
14628 __Pyx_GOTREF(__pyx_t_3);
14629 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
14642 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
14645 __Pyx_XDECREF(__pyx_t_3);
14646 __Pyx_AddTraceback(
"View.MemoryView._memoryviewslice.assign_item_from_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
14649 __Pyx_XGIVEREF(__pyx_r);
14650 __Pyx_RefNannyFinishContext();
14662static PyObject *__pyx_memoryviewslice__get_base(
struct __pyx_memoryviewslice_obj *__pyx_v_self) {
14663 PyObject *__pyx_r = NULL;
14664 __Pyx_RefNannyDeclarations
14665 __Pyx_RefNannySetupContext(
"_get_base", 0);
14675 PyObject *__pyx_temp;
14677 __pyx_temp = __pyx_r;
14678 __Pyx_INCREF(__pyx_v_self->from_object);
14679 __pyx_r = __pyx_v_self->from_object;
14681 __Pyx_XDECREF(__pyx_temp);
14695 __Pyx_XGIVEREF(__pyx_r);
14696 __Pyx_RefNannyFinishContext();
14707static PyObject *__pyx_pw___pyx_memoryviewslice_1__reduce_cython__(PyObject *__pyx_v_self,
14708#
if CYTHON_VECTORCALL
14709PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
14711PyObject *__pyx_args, PyObject *__pyx_kwds
14714static PyObject *__pyx_pw___pyx_memoryviewslice_1__reduce_cython__(PyObject *__pyx_v_self,
14715#
if CYTHON_VECTORCALL
14716PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
14718PyObject *__pyx_args, PyObject *__pyx_kwds
14721 #if !CYTHON_VECTORCALL
14722 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
14724 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
14725 PyObject *__pyx_r = 0;
14726 __Pyx_RefNannyDeclarations
14727 __Pyx_RefNannySetupContext(
"__reduce_cython__ (wrapper)", 0);
14728 #if !CYTHON_VECTORCALL
14729 #if CYTHON_ASSUME_SAFE_SIZE
14730 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
14732 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
14735 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
14736 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"__reduce_cython__", 1, 0, 0, __pyx_nargs);
return NULL; }
14737 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
14738 if (unlikely(__pyx_kwds_len < 0))
return NULL;
14739 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"__reduce_cython__", __pyx_kwds);
return NULL;}
14740 __pyx_r = __pyx_pf___pyx_memoryviewslice___reduce_cython__(((
struct __pyx_memoryviewslice_obj *)__pyx_v_self));
14743 __Pyx_RefNannyFinishContext();
14747static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED
struct __pyx_memoryviewslice_obj *__pyx_v_self) {
14748 PyObject *__pyx_r = NULL;
14749 __Pyx_RefNannyDeclarations
14750 int __pyx_lineno = 0;
14751 const char *__pyx_filename = NULL;
14752 int __pyx_clineno = 0;
14753 __Pyx_RefNannySetupContext(
"__reduce_cython__", 0);
14761 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
14762 __PYX_ERR(1, 2, __pyx_L1_error)
14772 __Pyx_AddTraceback(
"View.MemoryView._memoryviewslice.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14774 __Pyx_XGIVEREF(__pyx_r);
14775 __Pyx_RefNannyFinishContext();
14787static PyObject *__pyx_pw___pyx_memoryviewslice_3__setstate_cython__(PyObject *__pyx_v_self,
14788#
if CYTHON_VECTORCALL
14789PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
14791PyObject *__pyx_args, PyObject *__pyx_kwds
14794static PyObject *__pyx_pw___pyx_memoryviewslice_3__setstate_cython__(PyObject *__pyx_v_self,
14795#
if CYTHON_VECTORCALL
14796PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
14798PyObject *__pyx_args, PyObject *__pyx_kwds
14801 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
14802 #if !CYTHON_VECTORCALL
14803 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
14805 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
14806 PyObject* values[1] = {0};
14807 int __pyx_lineno = 0;
14808 const char *__pyx_filename = NULL;
14809 int __pyx_clineno = 0;
14810 PyObject *__pyx_r = 0;
14811 __Pyx_RefNannyDeclarations
14812 __Pyx_RefNannySetupContext(
"__setstate_cython__ (wrapper)", 0);
14813 #if !CYTHON_VECTORCALL
14814 #if CYTHON_ASSUME_SAFE_SIZE
14815 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
14817 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
14820 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
14822 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
14823 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
14824 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
14825 if (__pyx_kwds_len > 0) {
14826 switch (__pyx_nargs) {
14828 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
14829 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 3, __pyx_L3_error)
14830 CYTHON_FALLTHROUGH;
14832 default:
goto __pyx_L5_argtuple_error;
14834 const Py_ssize_t kwd_pos_args = __pyx_nargs;
14835 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__setstate_cython__", 0) < (0)) __PYX_ERR(1, 3, __pyx_L3_error)
14836 for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
14837 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 3, __pyx_L3_error) }
14839 }
else if (unlikely(__pyx_nargs != 1)) {
14840 goto __pyx_L5_argtuple_error;
14842 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
14843 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 3, __pyx_L3_error)
14845 __pyx_v___pyx_state = values[0];
14847 goto __pyx_L6_skip;
14848 __pyx_L5_argtuple_error:;
14849 __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
14851 goto __pyx_L4_argument_unpacking_done;
14853 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
14854 Py_XDECREF(values[__pyx_temp]);
14856 __Pyx_AddTraceback(
"View.MemoryView._memoryviewslice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14857 __Pyx_RefNannyFinishContext();
14859 __pyx_L4_argument_unpacking_done:;
14860 __pyx_r = __pyx_pf___pyx_memoryviewslice_2__setstate_cython__(((
struct __pyx_memoryviewslice_obj *)__pyx_v_self), __pyx_v___pyx_state);
14863 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
14864 Py_XDECREF(values[__pyx_temp]);
14866 __Pyx_RefNannyFinishContext();
14870static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED
struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
14871 PyObject *__pyx_r = NULL;
14872 __Pyx_RefNannyDeclarations
14873 int __pyx_lineno = 0;
14874 const char *__pyx_filename = NULL;
14875 int __pyx_clineno = 0;
14876 __Pyx_RefNannySetupContext(
"__setstate_cython__", 0);
14883 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
14884 __PYX_ERR(1, 4, __pyx_L1_error)
14895 __Pyx_AddTraceback(
"View.MemoryView._memoryviewslice.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
14897 __Pyx_XGIVEREF(__pyx_r);
14898 __Pyx_RefNannyFinishContext();
14910static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewslice,
int __pyx_v_ndim, PyObject *(*__pyx_v_to_object_func)(
char *), __pyx_memoryview_to_dtype_func_type __pyx_v_to_dtype_func,
int __pyx_v_dtype_is_object) {
14911 struct __pyx_memoryviewslice_obj *__pyx_v_result = 0;
14912 Py_ssize_t __pyx_v_suboffset;
14913 Py_ssize_t __pyx_v_length;
14914 PyObject *__pyx_r = NULL;
14915 __Pyx_RefNannyDeclarations
14917 PyObject *__pyx_t_2 = NULL;
14918 PyObject *__pyx_t_3 = NULL;
14919 __Pyx_TypeInfo
const *__pyx_t_4;
14920 Py_buffer __pyx_t_5;
14921 Py_ssize_t *__pyx_t_6;
14922 Py_ssize_t *__pyx_t_7;
14923 Py_ssize_t *__pyx_t_8;
14924 Py_ssize_t __pyx_t_9;
14925 int __pyx_lineno = 0;
14926 const char *__pyx_filename = NULL;
14927 int __pyx_clineno = 0;
14928 __Pyx_RefNannySetupContext(
"memoryview_fromslice", 0);
14937 __pyx_t_1 = (((PyObject *)__pyx_v_memviewslice.memview) == Py_None);
14950 PyObject *__pyx_temp;
14952 __pyx_temp = __pyx_r;
14953 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
14955 __Pyx_XDECREF(__pyx_temp);
14975 __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_v_dtype_is_object);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1010, __pyx_L1_error)
14976 __Pyx_GOTREF(__pyx_t_2);
14977 __pyx_t_3 = PyTuple_New(3);
if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 1010, __pyx_L1_error)
14978 __Pyx_GOTREF(__pyx_t_3);
14979 __Pyx_INCREF(Py_None);
14980 __Pyx_GIVEREF(Py_None);
14981 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, Py_None) != (0)) __PYX_ERR(1, 1010, __pyx_L1_error);
14982 __Pyx_INCREF(__pyx_mstate_global->__pyx_int_0);
14983 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_0);
14984 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_mstate_global->__pyx_int_0) != (0)) __PYX_ERR(1, 1010, __pyx_L1_error);
14985 __Pyx_GIVEREF(__pyx_t_2);
14986 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2) != (0)) __PYX_ERR(1, 1010, __pyx_L1_error);
14988 __pyx_t_2 = ((PyObject *)__pyx_tp_new__memoryviewslice(((PyTypeObject *)__pyx_mstate_global->__pyx_memoryviewslice_type), __pyx_t_3, NULL));
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1010, __pyx_L1_error)
14989 __Pyx_GOTREF(__pyx_t_2);
14990 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
14991 __pyx_v_result = ((
struct __pyx_memoryviewslice_obj *)__pyx_t_2);
15001 __pyx_v_result->from_slice = __pyx_v_memviewslice;
15010 __PYX_INC_MEMVIEW((&__pyx_v_memviewslice), 1);
15019 __pyx_t_2 = ((
struct __pyx_vtabstruct_memoryview *)((
struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview)->__pyx_vtab)->_get_base(((
struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview));
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1015, __pyx_L1_error)
15020 __Pyx_GOTREF(__pyx_t_2);
15021 __Pyx_GIVEREF(__pyx_t_2);
15022 __Pyx_GOTREF(__pyx_v_result->from_object);
15023 __Pyx_DECREF(__pyx_v_result->from_object);
15024 __pyx_v_result->from_object = __pyx_t_2;
15034 __pyx_t_4 = __pyx_v_memviewslice.memview->typeinfo;
15036 __pyx_v_result->__pyx_base.typeinfo = __pyx_t_4;
15045 __pyx_t_5 = __pyx_v_memviewslice.memview->view;
15047 __pyx_v_result->__pyx_base.view = __pyx_t_5;
15056 __pyx_v_result->__pyx_base.view.buf = ((
void *)__pyx_v_memviewslice.data);
15065 __pyx_v_result->__pyx_base.view.ndim = __pyx_v_ndim;
15074 ((Py_buffer *)(&__pyx_v_result->__pyx_base.view))->obj = Py_None;
15083 Py_INCREF(Py_None);
15092 __pyx_t_1 = ((((
struct __pyx_memoryview_obj *)__pyx_v_memviewslice.memview)->flags & PyBUF_WRITABLE) != 0);
15104 __pyx_v_result->__pyx_base.flags = PyBUF_RECORDS;
15124 __pyx_v_result->__pyx_base.flags = PyBUF_RECORDS_RO;
15135 __pyx_v_result->__pyx_base.view.shape = ((Py_ssize_t *)__pyx_v_result->from_slice.shape);
15144 __pyx_v_result->__pyx_base.view.strides = ((Py_ssize_t *)__pyx_v_result->from_slice.strides);
15153 __pyx_v_result->__pyx_base.view.suboffsets = NULL;
15162 __pyx_t_7 = (__pyx_v_result->from_slice.suboffsets + __pyx_v_ndim);
15164 for (__pyx_t_8 = __pyx_v_result->from_slice.suboffsets; __pyx_t_8 < __pyx_t_7; __pyx_t_8++) {
15165 __pyx_t_6 = __pyx_t_8;
15166 __pyx_v_suboffset = (__pyx_t_6[0]);
15175 __pyx_t_1 = (__pyx_v_suboffset >= 0);
15187 __pyx_v_result->__pyx_base.view.suboffsets = ((Py_ssize_t *)__pyx_v_result->from_slice.suboffsets);
15196 goto __pyx_L6_break;
15217 __pyx_t_9 = __pyx_v_result->__pyx_base.view.itemsize;
15219 __pyx_v_result->__pyx_base.view.len = __pyx_t_9;
15228 __pyx_t_7 = (__pyx_v_result->__pyx_base.view.shape + __pyx_v_ndim);
15230 for (__pyx_t_8 = __pyx_v_result->__pyx_base.view.shape; __pyx_t_8 < __pyx_t_7; __pyx_t_8++) {
15231 __pyx_t_6 = __pyx_t_8;
15232 __pyx_v_length = (__pyx_t_6[0]);
15241 __pyx_v_result->__pyx_base.view.len = (__pyx_v_result->__pyx_base.view.len * __pyx_v_length);
15252 __pyx_v_result->to_object_func = __pyx_v_to_object_func;
15261 __pyx_v_result->to_dtype_func = __pyx_v_to_dtype_func;
15271 PyObject *__pyx_temp;
15273 __pyx_temp = __pyx_r;
15274 __Pyx_INCREF((PyObject *)__pyx_v_result);
15275 __pyx_r = ((PyObject *)__pyx_v_result);
15277 __Pyx_XDECREF(__pyx_temp);
15291 __Pyx_XDECREF(__pyx_t_2);
15292 __Pyx_XDECREF(__pyx_t_3);
15293 __Pyx_AddTraceback(
"View.MemoryView.memoryview_fromslice", __pyx_clineno, __pyx_lineno, __pyx_filename);
15296 __Pyx_XDECREF((PyObject *)__pyx_v_result);
15299 __Pyx_XGIVEREF(__pyx_r);
15300 __Pyx_RefNannyFinishContext();
15312static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(
struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_mslice) {
15313 struct __pyx_memoryviewslice_obj *__pyx_v_obj = 0;
15314 __Pyx_memviewslice *__pyx_r;
15315 __Pyx_RefNannyDeclarations
15317 PyObject *__pyx_t_2 = NULL;
15318 int __pyx_lineno = 0;
15319 const char *__pyx_filename = NULL;
15320 int __pyx_clineno = 0;
15321 __Pyx_RefNannySetupContext(
"get_slice_from_memview", 0);
15330 __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_mstate_global->__pyx_memoryviewslice_type);
15341 __pyx_t_2 = ((PyObject *)__pyx_v_memview);
15342 __Pyx_INCREF(__pyx_t_2);
15343 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_memoryviewslice_type))))) __PYX_ERR(1, 1054, __pyx_L1_error)
15344 __pyx_v_obj = ((
struct __pyx_memoryviewslice_obj *)__pyx_t_2);
15356 __pyx_r = (&__pyx_v_obj->from_slice);
15377 __pyx_memoryview_slice_copy(__pyx_v_memview, __pyx_v_mslice);
15388 __pyx_r = __pyx_v_mslice;
15403 __Pyx_XDECREF(__pyx_t_2);
15404 __Pyx_AddTraceback(
"View.MemoryView.get_slice_from_memview", __pyx_clineno, __pyx_lineno, __pyx_filename);
15407 __Pyx_XDECREF((PyObject *)__pyx_v_obj);
15409 __Pyx_RefNannyFinishContext();
15421static void __pyx_memoryview_slice_copy(
struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_dst) {
15423 Py_ssize_t *__pyx_v_shape;
15424 Py_ssize_t *__pyx_v_strides;
15425 Py_ssize_t *__pyx_v_suboffsets;
15426 Py_ssize_t *__pyx_t_1;
15430 Py_ssize_t __pyx_t_5;
15440 __pyx_t_1 = __pyx_v_memview->view.shape;
15442 __pyx_v_shape = __pyx_t_1;
15451 __pyx_t_1 = __pyx_v_memview->view.strides;
15453 __pyx_v_strides = __pyx_t_1;
15462 __pyx_t_1 = __pyx_v_memview->view.suboffsets;
15464 __pyx_v_suboffsets = __pyx_t_1;
15473 __pyx_v_dst->memview = ((
struct __pyx_memoryview_obj *)__pyx_v_memview);
15482 __pyx_v_dst->data = ((
char *)__pyx_v_memview->view.buf);
15492 __pyx_t_2 = __pyx_v_memview->view.ndim;
15493 __pyx_t_3 = __pyx_t_2;
15495 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
15496 __pyx_v_dim = __pyx_t_4;
15505 (__pyx_v_dst->shape[__pyx_v_dim]) = (__pyx_v_shape[__pyx_v_dim]);
15514 (__pyx_v_dst->strides[__pyx_v_dim]) = (__pyx_v_strides[__pyx_v_dim]);
15523 __pyx_t_6 = (__pyx_v_suboffsets != 0);
15527 __pyx_t_5 = (__pyx_v_suboffsets[__pyx_v_dim]);
15533 (__pyx_v_dst->suboffsets[__pyx_v_dim]) = __pyx_t_5;
15562static PyObject *__pyx_memoryview_copy_object(
struct __pyx_memoryview_obj *__pyx_v_memview) {
15563 __Pyx_memviewslice __pyx_v_memviewslice;
15564 PyObject *__pyx_r = NULL;
15565 __Pyx_RefNannyDeclarations
15566 PyObject *__pyx_t_1 = NULL;
15567 int __pyx_lineno = 0;
15568 const char *__pyx_filename = NULL;
15569 int __pyx_clineno = 0;
15570 __Pyx_RefNannySetupContext(
"memoryview_copy", 0);
15579 __pyx_memoryview_slice_copy(__pyx_v_memview, (&__pyx_v_memviewslice));
15588 __pyx_t_1 = __pyx_memoryview_copy_object_from_slice(__pyx_v_memview, (&__pyx_v_memviewslice));
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 1082, __pyx_L1_error)
15589 __Pyx_GOTREF(__pyx_t_1);
15591 PyObject *__pyx_temp;
15593 __pyx_temp = __pyx_r;
15594 __pyx_r = __pyx_t_1;
15596 __Pyx_XDECREF(__pyx_temp);
15611 __Pyx_XDECREF(__pyx_t_1);
15612 __Pyx_AddTraceback(
"View.MemoryView.memoryview_copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
15616 __Pyx_XGIVEREF(__pyx_r);
15617 __Pyx_RefNannyFinishContext();
15629static PyObject *__pyx_memoryview_copy_object_from_slice(
struct __pyx_memoryview_obj *__pyx_v_memview, __Pyx_memviewslice *__pyx_v_memviewslice) {
15630 PyObject *(*__pyx_v_to_object_func)(
char *);
15631 __pyx_memoryview_to_dtype_func_type __pyx_v_to_dtype_func;
15632 PyObject *__pyx_r = NULL;
15633 __Pyx_RefNannyDeclarations
15635 PyObject *(*__pyx_t_2)(
char *);
15636 __pyx_memoryview_to_dtype_func_type __pyx_t_3;
15637 PyObject *__pyx_t_4 = NULL;
15638 int __pyx_lineno = 0;
15639 const char *__pyx_filename = NULL;
15640 int __pyx_clineno = 0;
15641 __Pyx_RefNannySetupContext(
"memoryview_copy_from_slice", 0);
15650 __pyx_t_1 = __Pyx_TypeCheck(((PyObject *)__pyx_v_memview), __pyx_mstate_global->__pyx_memoryviewslice_type);
15661 __pyx_t_2 = ((
struct __pyx_memoryviewslice_obj *)__pyx_v_memview)->to_object_func;
15663 __pyx_v_to_object_func = __pyx_t_2;
15672 __pyx_t_3 = ((
struct __pyx_memoryviewslice_obj *)__pyx_v_memview)->to_dtype_func;
15674 __pyx_v_to_dtype_func = __pyx_t_3;
15694 __pyx_v_to_object_func = NULL;
15703 __pyx_v_to_dtype_func = NULL;
15714 __pyx_t_4 = __pyx_memoryview_fromslice((__pyx_v_memviewslice[0]), __pyx_v_memview->view.ndim, __pyx_v_to_object_func, __pyx_v_to_dtype_func, __pyx_v_memview->dtype_is_object);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1099, __pyx_L1_error)
15715 __Pyx_GOTREF(__pyx_t_4);
15717 PyObject *__pyx_temp;
15719 __pyx_temp = __pyx_r;
15720 __pyx_r = __pyx_t_4;
15722 __Pyx_XDECREF(__pyx_temp);
15737 __Pyx_XDECREF(__pyx_t_4);
15738 __Pyx_AddTraceback(
"View.MemoryView.memoryview_copy_from_slice", __pyx_clineno, __pyx_lineno, __pyx_filename);
15743 __Pyx_XGIVEREF(__pyx_r);
15744 __Pyx_RefNannyFinishContext();
15756static Py_ssize_t abs_py_ssize_t(Py_ssize_t __pyx_v_arg) {
15757 Py_ssize_t __pyx_r;
15758 Py_ssize_t __pyx_t_1;
15768 __pyx_t_2 = (__pyx_v_arg < 0);
15772 __pyx_t_1 = (-__pyx_v_arg);
15775 __pyx_t_1 = __pyx_v_arg;
15779 __pyx_r = __pyx_t_1;
15804static char __pyx_get_best_slice_order(__Pyx_memviewslice *__pyx_v_mslice,
int __pyx_v_ndim) {
15806 Py_ssize_t __pyx_v_c_stride;
15807 Py_ssize_t __pyx_v_f_stride;
15821 __pyx_v_c_stride = 0;
15830 __pyx_v_f_stride = 0;
15839 for (__pyx_t_1 = (__pyx_v_ndim - 1); __pyx_t_1 > -1; __pyx_t_1-=1) {
15840 __pyx_v_i = __pyx_t_1;
15849 __pyx_t_2 = ((__pyx_v_mslice->shape[__pyx_v_i]) > 1);
15861 __pyx_v_c_stride = (__pyx_v_mslice->strides[__pyx_v_i]);
15870 goto __pyx_L4_break;
15891 __pyx_t_1 = __pyx_v_ndim;
15892 __pyx_t_3 = __pyx_t_1;
15894 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
15895 __pyx_v_i = __pyx_t_4;
15904 __pyx_t_2 = ((__pyx_v_mslice->shape[__pyx_v_i]) > 1);
15916 __pyx_v_f_stride = (__pyx_v_mslice->strides[__pyx_v_i]);
15925 goto __pyx_L7_break;
15946 __pyx_t_2 = (abs_py_ssize_t(__pyx_v_c_stride) <= abs_py_ssize_t(__pyx_v_f_stride));
16012static void _copy_strided_to_strided(
char *__pyx_v_src_data, Py_ssize_t *__pyx_v_src_strides,
char *__pyx_v_dst_data, Py_ssize_t *__pyx_v_dst_strides, Py_ssize_t *__pyx_v_src_shape, Py_ssize_t *__pyx_v_dst_shape,
int __pyx_v_ndim,
size_t __pyx_v_itemsize) {
16013 CYTHON_UNUSED Py_ssize_t __pyx_v_i;
16014 CYTHON_UNUSED Py_ssize_t __pyx_v_src_extent;
16015 Py_ssize_t __pyx_v_dst_extent;
16016 Py_ssize_t __pyx_v_src_stride;
16017 Py_ssize_t __pyx_v_dst_stride;
16020 Py_ssize_t __pyx_t_3;
16021 Py_ssize_t __pyx_t_4;
16022 Py_ssize_t __pyx_t_5;
16033 __pyx_v_src_extent = (__pyx_v_src_shape[0]);
16042 __pyx_v_dst_extent = (__pyx_v_dst_shape[0]);
16051 __pyx_v_src_stride = (__pyx_v_src_strides[0]);
16060 __pyx_v_dst_stride = (__pyx_v_dst_strides[0]);
16069 __pyx_t_1 = (__pyx_v_ndim == 1);
16081 __pyx_t_2 = (__pyx_v_src_stride > 0);
16087 __pyx_t_1 = __pyx_t_2;
16089 goto __pyx_L5_bool_binop_done;
16091 __pyx_t_2 = (__pyx_v_dst_stride > 0);
16097 __pyx_t_1 = __pyx_t_2;
16099 goto __pyx_L5_bool_binop_done;
16109 __pyx_t_2 = (((size_t)__pyx_v_src_stride) == __pyx_v_itemsize);
16111 __pyx_t_2 = (__pyx_v_itemsize == ((size_t)__pyx_v_dst_stride));
16114 __pyx_t_1 = __pyx_t_2;
16116 __pyx_L5_bool_binop_done:;
16135 (void)(memcpy(__pyx_v_dst_data, __pyx_v_src_data, (__pyx_v_itemsize * ((
size_t)__pyx_v_dst_extent))));
16156 __pyx_t_3 = __pyx_v_dst_extent;
16157 __pyx_t_4 = __pyx_t_3;
16159 for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
16160 __pyx_v_i = __pyx_t_5;
16169 (void)(memcpy(__pyx_v_dst_data, __pyx_v_src_data, __pyx_v_itemsize));
16178 __pyx_v_src_data = (__pyx_v_src_data + __pyx_v_src_stride);
16187 __pyx_v_dst_data = (__pyx_v_dst_data + __pyx_v_dst_stride);
16212 __pyx_t_3 = __pyx_v_dst_extent;
16213 __pyx_t_4 = __pyx_t_3;
16215 for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
16216 __pyx_v_i = __pyx_t_5;
16225 _copy_strided_to_strided(__pyx_v_src_data, (__pyx_v_src_strides + 1), __pyx_v_dst_data, (__pyx_v_dst_strides + 1), (__pyx_v_src_shape + 1), (__pyx_v_dst_shape + 1), (__pyx_v_ndim - 1), __pyx_v_itemsize);
16234 __pyx_v_src_data = (__pyx_v_src_data + __pyx_v_src_stride);
16243 __pyx_v_dst_data = (__pyx_v_dst_data + __pyx_v_dst_stride);
16275static void copy_strided_to_strided(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_dst,
int __pyx_v_ndim,
size_t __pyx_v_itemsize) {
16284 _copy_strided_to_strided(__pyx_v_src->data, __pyx_v_src->strides, __pyx_v_dst->data, __pyx_v_dst->strides, __pyx_v_src->shape, __pyx_v_dst->shape, __pyx_v_ndim, __pyx_v_itemsize);
16305static size_t __pyx_memoryview_slice_get_size(__Pyx_memviewslice *__pyx_v_src,
int __pyx_v_ndim) {
16306 Py_ssize_t __pyx_v_shape;
16307 size_t __pyx_v_size;
16309 Py_ssize_t *__pyx_t_1;
16310 Py_ssize_t *__pyx_t_2;
16311 Py_ssize_t *__pyx_t_3;
16320 __pyx_v_size = ((size_t)__pyx_v_src->memview->view.itemsize);
16329 __pyx_t_2 = (__pyx_v_src->shape + __pyx_v_ndim);
16331 for (__pyx_t_3 = __pyx_v_src->shape; __pyx_t_3 < __pyx_t_2; __pyx_t_3++) {
16332 __pyx_t_1 = __pyx_t_3;
16333 __pyx_v_shape = (__pyx_t_1[0]);
16342 __pyx_v_size = (__pyx_v_size * ((size_t)__pyx_v_shape));
16355 __pyx_r = __pyx_v_size;
16382static Py_ssize_t __pyx_fill_contig_strides_array(Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, Py_ssize_t __pyx_v_stride,
int __pyx_v_ndim,
char __pyx_v_order) {
16384 Py_ssize_t __pyx_r;
16398 __pyx_t_1 = (__pyx_v_order ==
'F');
16411 __pyx_t_2 = __pyx_v_ndim;
16412 __pyx_t_3 = __pyx_t_2;
16414 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
16415 __pyx_v_idx = __pyx_t_4;
16424 (__pyx_v_strides[__pyx_v_idx]) = __pyx_v_stride;
16433 __pyx_v_stride = (__pyx_v_stride * (__pyx_v_shape[__pyx_v_idx]));
16455 for (__pyx_t_2 = (__pyx_v_ndim - 1); __pyx_t_2 > -1; __pyx_t_2-=1) {
16456 __pyx_v_idx = __pyx_t_2;
16465 (__pyx_v_strides[__pyx_v_idx]) = __pyx_v_stride;
16474 __pyx_v_stride = (__pyx_v_stride * (__pyx_v_shape[__pyx_v_idx]));
16488 __pyx_r = __pyx_v_stride;
16515static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src, __Pyx_memviewslice *__pyx_v_tmpslice,
char __pyx_v_order,
int __pyx_v_ndim) {
16517 void *__pyx_v_result;
16518 size_t __pyx_v_itemsize;
16519 size_t __pyx_v_size;
16523 struct __pyx_memoryview_obj *__pyx_t_3;
16526 int __pyx_lineno = 0;
16527 const char *__pyx_filename = NULL;
16528 int __pyx_clineno = 0;
16529 PyGILState_STATE __pyx_gilstate_save;
16538 __pyx_v_itemsize = ((size_t)__pyx_v_src->memview->view.itemsize);
16547 __pyx_v_size = __pyx_memoryview_slice_get_size(__pyx_v_src, __pyx_v_ndim);
16556 __pyx_v_result = malloc(__pyx_v_size);
16565 __pyx_t_1 = (!(__pyx_v_result != 0));
16567 if (unlikely(__pyx_t_1)) {
16577 __pyx_t_2 = __pyx_memoryview_err_no_memory();
if (unlikely(__pyx_t_2 == ((
int)-1))) __PYX_ERR(1, 1220, __pyx_L1_error)
16596 __pyx_v_tmpslice->data = ((
char *)__pyx_v_result);
16605 __pyx_t_3 = __pyx_v_src->memview;
16607 __pyx_v_tmpslice->memview = __pyx_t_3;
16617 __pyx_t_2 = __pyx_v_ndim;
16618 __pyx_t_4 = __pyx_t_2;
16620 for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
16621 __pyx_v_i = __pyx_t_5;
16630 (__pyx_v_tmpslice->shape[__pyx_v_i]) = (__pyx_v_src->shape[__pyx_v_i]);
16639 (__pyx_v_tmpslice->suboffsets[__pyx_v_i]) = -1L;
16650 (void)(__pyx_fill_contig_strides_array((&(__pyx_v_tmpslice->shape[0])), (&(__pyx_v_tmpslice->strides[0])), ((Py_ssize_t)__pyx_v_itemsize), __pyx_v_ndim, __pyx_v_order));
16660 __pyx_t_2 = __pyx_v_ndim;
16661 __pyx_t_4 = __pyx_t_2;
16663 for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) {
16664 __pyx_v_i = __pyx_t_5;
16673 __pyx_t_1 = ((__pyx_v_tmpslice->shape[__pyx_v_i]) == 1);
16685 (__pyx_v_tmpslice->strides[__pyx_v_i]) = 0;
16705 __pyx_t_1 = __pyx_memviewslice_is_contig((__pyx_v_src[0]), __pyx_v_order, __pyx_v_ndim);
16717 (void)(memcpy(__pyx_v_result, __pyx_v_src->data, __pyx_v_size));
16737 copy_strided_to_strided(__pyx_v_src, __pyx_v_tmpslice, __pyx_v_ndim, __pyx_v_itemsize);
16750 __pyx_r = __pyx_v_result;
16764 __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
16765 __Pyx_AddTraceback(
"View.MemoryView.copy_data_to_temp", __pyx_clineno, __pyx_lineno, __pyx_filename);
16767 __Pyx_PyGILState_Release(__pyx_gilstate_save);
16784static int __pyx_memoryview_err_extents(
int __pyx_v_i, Py_ssize_t __pyx_v_extent1, Py_ssize_t __pyx_v_extent2) {
16786 PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
16798 (void)(PyErr_Format(PyExc_ValueError, __pyx_k_got_differing_extents_in_dimensi, __pyx_v_i, __pyx_v_extent1, __pyx_v_extent2));
16827 __Pyx_PyGILState_Release(__pyx_gilstate_save);
16839static int __pyx_memoryview_err_dim(PyObject *__pyx_v_error,
char const *__pyx_v_msg,
int __pyx_v_dim) {
16841 PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
16853 (void)(PyErr_Format(__pyx_v_error, __pyx_v_msg, __pyx_v_dim));
16882 __Pyx_PyGILState_Release(__pyx_gilstate_save);
16894static int __pyx_memoryview_err(PyObject *__pyx_v_error,
char const *__pyx_v_msg) {
16896 PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
16907 (void)(PyErr_SetString(__pyx_v_error, __pyx_v_msg));
16935 __Pyx_PyGILState_Release(__pyx_gilstate_save);
16947static int __pyx_memoryview_err_no_memory(
void) {
16949 int __pyx_lineno = 0;
16950 const char *__pyx_filename = NULL;
16951 int __pyx_clineno = 0;
16952 PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
16961 PyErr_NoMemory(); __PYX_ERR(1, 1267, __pyx_L1_error)
16973 __Pyx_AddTraceback(
"View.MemoryView._err_no_memory", __pyx_clineno, __pyx_lineno, __pyx_filename);
16976 __Pyx_PyGILState_Release(__pyx_gilstate_save);
16988static int __pyx_memoryview_err_ValueError(
char const *__pyx_v_msg) {
16998 (void)(PyErr_SetString(PyExc_ValueError, __pyx_v_msg));
17035static int __pyx_memoryview_err_IndexError(
char const *__pyx_v_msg, Py_ssize_t __pyx_v_index) {
17045 (void)(PyErr_Format(PyExc_IndexError, __pyx_v_msg, __pyx_v_index));
17082static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_memviewslice __pyx_v_dst,
int __pyx_v_src_ndim,
int __pyx_v_dst_ndim,
int __pyx_v_dtype_is_object) {
17083 void *__pyx_v_tmpdata;
17084 size_t __pyx_v_itemsize;
17086 char __pyx_v_order;
17087 int __pyx_v_broadcasting;
17088 int __pyx_v_direct_copy;
17089 __Pyx_memviewslice __pyx_v_tmp;
17098 int __pyx_lineno = 0;
17099 const char *__pyx_filename = NULL;
17100 int __pyx_clineno = 0;
17101 PyGILState_STATE __pyx_gilstate_save;
17111 __pyx_v_tmpdata = NULL;
17120 __pyx_v_itemsize = ((size_t)__pyx_v_src.memview->view.itemsize);
17129 __pyx_v_order = __pyx_get_best_slice_order((&__pyx_v_src), __pyx_v_src_ndim);
17138 __pyx_v_broadcasting = 0;
17147 __pyx_v_direct_copy = 0;
17156 __pyx_t_1 = (__pyx_v_src_ndim < __pyx_v_dst_ndim);
17168 __pyx_memoryview_broadcast_leading((&__pyx_v_src), __pyx_v_src_ndim, __pyx_v_dst_ndim);
17187 __pyx_t_1 = (__pyx_v_dst_ndim < __pyx_v_src_ndim);
17199 __pyx_memoryview_broadcast_leading((&__pyx_v_dst), __pyx_v_dst_ndim, __pyx_v_src_ndim);
17219 __pyx_t_2 = __pyx_v_dst_ndim;
17221 __pyx_t_3 = __pyx_v_src_ndim;
17222 __pyx_t_1 = (__pyx_t_2 > __pyx_t_3);
17226 __pyx_t_4 = __pyx_t_2;
17229 __pyx_t_4 = __pyx_t_3;
17232 __pyx_v_ndim = __pyx_t_4;
17243 __pyx_t_4 = __pyx_v_ndim;
17244 __pyx_t_2 = __pyx_t_4;
17246 for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
17247 __pyx_v_i = __pyx_t_3;
17256 __pyx_t_1 = ((__pyx_v_src.shape[__pyx_v_i]) != (__pyx_v_dst.shape[__pyx_v_i]));
17268 __pyx_t_1 = ((__pyx_v_src.shape[__pyx_v_i]) == 1);
17270 if (likely(__pyx_t_1)) {
17280 __pyx_v_broadcasting = 1;
17289 (__pyx_v_src.strides[__pyx_v_i]) = 0;
17309 __pyx_t_5 = __pyx_memoryview_err_extents(__pyx_v_i, (__pyx_v_dst.shape[__pyx_v_i]), (__pyx_v_src.shape[__pyx_v_i]));
if (unlikely(__pyx_t_5 == ((
int)-1))) __PYX_ERR(1, 1312, __pyx_L1_error)
17330 __pyx_t_1 = ((__pyx_v_src.suboffsets[__pyx_v_i]) >= 0);
17332 if (unlikely(__pyx_t_1)) {
17342 __pyx_t_5 = __pyx_memoryview_err_dim(PyExc_ValueError, __pyx_k_Dimension_d_is_not_direct, __pyx_v_i);
if (unlikely(__pyx_t_5 == ((
int)-1))) __PYX_ERR(1, 1315, __pyx_L1_error)
17363 __pyx_t_1 = __pyx_slices_overlap((&__pyx_v_src), (&__pyx_v_dst), __pyx_v_ndim, __pyx_v_itemsize);
17375 __pyx_t_1 = (!__pyx_memviewslice_is_contig(__pyx_v_src, __pyx_v_order, __pyx_v_ndim));
17387 __pyx_v_order = __pyx_get_best_slice_order((&__pyx_v_dst), __pyx_v_ndim);
17405 __pyx_t_6 = __pyx_memoryview_copy_data_to_temp((&__pyx_v_src), (&__pyx_v_tmp), __pyx_v_order, __pyx_v_ndim);
if (unlikely(__pyx_t_6 == ((
void *)NULL))) __PYX_ERR(1, 1322, __pyx_L1_error)
17406 __pyx_v_tmpdata = __pyx_t_6;
17415 __pyx_v_src = __pyx_v_tmp;
17433 __pyx_t_1 = (!__pyx_v_broadcasting);
17445 __pyx_t_1 = __pyx_memviewslice_is_contig(__pyx_v_src,
'C', __pyx_v_ndim);
17457 __pyx_v_direct_copy = __pyx_memviewslice_is_contig(__pyx_v_dst,
'C', __pyx_v_ndim);
17476 __pyx_t_1 = __pyx_memviewslice_is_contig(__pyx_v_src,
'F', __pyx_v_ndim);
17488 __pyx_v_direct_copy = __pyx_memviewslice_is_contig(__pyx_v_dst,
'F', __pyx_v_ndim);
17507 if (__pyx_v_direct_copy) {
17516 __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 0);
17525 (void)(memcpy(__pyx_v_dst.data, __pyx_v_src.data, __pyx_memoryview_slice_get_size((&__pyx_v_src), __pyx_v_ndim)));
17534 __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 1);
17543 free(__pyx_v_tmpdata);
17583 __pyx_t_1 = (__pyx_v_order ==
'F');
17585 __pyx_t_1 = (
'F' == __pyx_get_best_slice_order((&__pyx_v_dst), __pyx_v_ndim));
17597 __pyx_t_4 = __pyx_memslice_transpose((&__pyx_v_src));
if (unlikely(__pyx_t_4 == ((
int)-1))) __PYX_ERR(1, 1344, __pyx_L1_error)
17607 __pyx_t_4 = __pyx_memslice_transpose((&__pyx_v_dst));
if (unlikely(__pyx_t_4 == ((
int)-1))) __PYX_ERR(1, 1345, __pyx_L1_error)
17626 __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 0);
17635 copy_strided_to_strided((&__pyx_v_src), (&__pyx_v_dst), __pyx_v_ndim, __pyx_v_itemsize);
17644 __pyx_memoryview_refcount_copying((&__pyx_v_dst), __pyx_v_dtype_is_object, __pyx_v_ndim, 1);
17653 free(__pyx_v_tmpdata);
17678 __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
17679 __Pyx_AddTraceback(
"View.MemoryView.memoryview_copy_contents", __pyx_clineno, __pyx_lineno, __pyx_filename);
17681 __Pyx_PyGILState_Release(__pyx_gilstate_save);
17703static void __pyx_memoryview_broadcast_leading(__Pyx_memviewslice *__pyx_v_mslice,
int __pyx_v_ndim,
int __pyx_v_ndim_other) {
17705 int __pyx_v_offset;
17717 __pyx_v_offset = (__pyx_v_ndim_other - __pyx_v_ndim);
17726 for (__pyx_t_1 = (__pyx_v_ndim - 1); __pyx_t_1 > -1; __pyx_t_1-=1) {
17727 __pyx_v_i = __pyx_t_1;
17736 (__pyx_v_mslice->shape[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->shape[__pyx_v_i]);
17745 (__pyx_v_mslice->strides[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->strides[__pyx_v_i]);
17754 (__pyx_v_mslice->suboffsets[(__pyx_v_i + __pyx_v_offset)]) = (__pyx_v_mslice->suboffsets[__pyx_v_i]);
17765 __pyx_t_1 = __pyx_v_offset;
17766 __pyx_t_2 = __pyx_t_1;
17768 for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
17769 __pyx_v_i = __pyx_t_3;
17778 (__pyx_v_mslice->shape[__pyx_v_i]) = 1;
17787 (__pyx_v_mslice->strides[__pyx_v_i]) = (__pyx_v_mslice->strides[0]);
17796 (__pyx_v_mslice->suboffsets[__pyx_v_i]) = -1L;
17821static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *__pyx_v_dst,
int __pyx_v_dtype_is_object,
int __pyx_v_ndim,
int __pyx_v_inc) {
17830 if (__pyx_v_dtype_is_object) {
17839 __pyx_memoryview_refcount_objects_in_slice_with_gil(__pyx_v_dst->data, __pyx_v_dst->shape, __pyx_v_dst->strides, __pyx_v_ndim, __pyx_v_inc);
17869static void __pyx_memoryview_refcount_objects_in_slice_with_gil(
char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides,
int __pyx_v_ndim,
int __pyx_v_inc) {
17870 PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
17884 __pyx_memoryview_refcount_objects_in_slice(__pyx_v_data, __pyx_v_shape, __pyx_v_strides, __pyx_v_ndim, __pyx_v_inc);
17901 __Pyx_PyGILState_Release(__pyx_gilstate_save);
17912static void __pyx_memoryview_refcount_objects_in_slice(
char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides,
int __pyx_v_ndim,
int __pyx_v_inc) {
17913 CYTHON_UNUSED Py_ssize_t __pyx_v_i;
17914 Py_ssize_t __pyx_v_stride;
17915 Py_ssize_t __pyx_t_1;
17916 Py_ssize_t __pyx_t_2;
17917 Py_ssize_t __pyx_t_3;
17928 __pyx_v_stride = (__pyx_v_strides[0]);
17938 __pyx_t_1 = (__pyx_v_shape[0]);
17939 __pyx_t_2 = __pyx_t_1;
17941 for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
17942 __pyx_v_i = __pyx_t_3;
17951 __pyx_t_4 = (__pyx_v_ndim == 1);
17972 Py_INCREF((((PyObject **)__pyx_v_data)[0]));
17992 Py_DECREF((((PyObject **)__pyx_v_data)[0]));
18014 __pyx_memoryview_refcount_objects_in_slice(__pyx_v_data, (__pyx_v_shape + 1), (__pyx_v_strides + 1), (__pyx_v_ndim - 1), __pyx_v_inc);
18025 __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
18052static void __pyx_memoryview_slice_assign_scalar(__Pyx_memviewslice *__pyx_v_dst,
int __pyx_v_ndim,
size_t __pyx_v_itemsize,
void *__pyx_v_item,
int __pyx_v_dtype_is_object) {
18061 __pyx_memoryview_refcount_copying(__pyx_v_dst, __pyx_v_dtype_is_object, __pyx_v_ndim, 0);
18070 __pyx_memoryview__slice_assign_scalar(__pyx_v_dst->data, __pyx_v_dst->shape, __pyx_v_dst->strides, __pyx_v_ndim, __pyx_v_itemsize, __pyx_v_item);
18079 __pyx_memoryview_refcount_copying(__pyx_v_dst, __pyx_v_dtype_is_object, __pyx_v_ndim, 1);
18100static void __pyx_memoryview__slice_assign_scalar(
char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides,
int __pyx_v_ndim,
size_t __pyx_v_itemsize,
void *__pyx_v_item) {
18101 CYTHON_UNUSED Py_ssize_t __pyx_v_i;
18102 Py_ssize_t __pyx_v_stride;
18103 Py_ssize_t __pyx_v_extent;
18105 Py_ssize_t __pyx_t_2;
18106 Py_ssize_t __pyx_t_3;
18107 Py_ssize_t __pyx_t_4;
18117 __pyx_v_stride = (__pyx_v_strides[0]);
18126 __pyx_v_extent = (__pyx_v_shape[0]);
18135 __pyx_t_1 = (__pyx_v_ndim == 1);
18148 __pyx_t_2 = __pyx_v_extent;
18149 __pyx_t_3 = __pyx_t_2;
18151 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
18152 __pyx_v_i = __pyx_t_4;
18161 (void)(memcpy(__pyx_v_data, __pyx_v_item, __pyx_v_itemsize));
18170 __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
18193 __pyx_t_2 = __pyx_v_extent;
18194 __pyx_t_3 = __pyx_t_2;
18196 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
18197 __pyx_v_i = __pyx_t_4;
18206 __pyx_memoryview__slice_assign_scalar(__pyx_v_data, (__pyx_v_shape + 1), (__pyx_v_strides + 1), (__pyx_v_ndim - 1), __pyx_v_itemsize, __pyx_v_item);
18214 __pyx_v_data = (__pyx_v_data + __pyx_v_stride);
18244static PyObject *__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(PyObject *__pyx_self,
18245#
if CYTHON_VECTORCALL
18246PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
18248PyObject *__pyx_args, PyObject *__pyx_kwds
18251static PyMethodDef __pyx_mdef_15View_dot_MemoryView_1__pyx_unpickle_Enum = {
"__pyx_unpickle_Enum", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
18252static PyObject *__pyx_pw_15View_dot_MemoryView_1__pyx_unpickle_Enum(PyObject *__pyx_self,
18253#
if CYTHON_VECTORCALL
18254PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
18256PyObject *__pyx_args, PyObject *__pyx_kwds
18259 PyObject *__pyx_v___pyx_type = 0;
18260 long __pyx_v___pyx_checksum;
18261 PyObject *__pyx_v___pyx_state = 0;
18262 #if !CYTHON_VECTORCALL
18263 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
18265 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
18266 PyObject* values[3] = {0,0,0};
18267 int __pyx_lineno = 0;
18268 const char *__pyx_filename = NULL;
18269 int __pyx_clineno = 0;
18270 PyObject *__pyx_r = 0;
18271 __Pyx_RefNannyDeclarations
18272 __Pyx_RefNannySetupContext(
"__pyx_unpickle_Enum (wrapper)", 0);
18273 #if !CYTHON_VECTORCALL
18274 #if CYTHON_ASSUME_SAFE_SIZE
18275 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
18277 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
18280 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
18282 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_type,&__pyx_mstate_global->__pyx_n_u_pyx_checksum,&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
18283 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
18284 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 4, __pyx_L3_error)
18285 if (__pyx_kwds_len > 0) {
18286 switch (__pyx_nargs) {
18288 values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
18289 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 4, __pyx_L3_error)
18290 CYTHON_FALLTHROUGH;
18292 values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
18293 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 4, __pyx_L3_error)
18294 CYTHON_FALLTHROUGH;
18296 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
18297 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 4, __pyx_L3_error)
18298 CYTHON_FALLTHROUGH;
18300 default:
goto __pyx_L5_argtuple_error;
18302 const Py_ssize_t kwd_pos_args = __pyx_nargs;
18303 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__pyx_unpickle_Enum", 0) < (0)) __PYX_ERR(1, 4, __pyx_L3_error)
18304 for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
18305 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__pyx_unpickle_Enum", 1, 3, 3, i); __PYX_ERR(1, 4, __pyx_L3_error) }
18307 }
else if (unlikely(__pyx_nargs != 3)) {
18308 goto __pyx_L5_argtuple_error;
18310 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
18311 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 4, __pyx_L3_error)
18312 values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
18313 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(1, 4, __pyx_L3_error)
18314 values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
18315 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(1, 4, __pyx_L3_error)
18317 __pyx_v___pyx_type = values[0];
18318 __pyx_v___pyx_checksum = __Pyx_PyLong_As_long(values[1]);
if (unlikely((__pyx_v___pyx_checksum == (
long)-1) && PyErr_Occurred())) __PYX_ERR(1, 4, __pyx_L3_error)
18319 __pyx_v___pyx_state = ((PyObject*)values[2]);
18321 goto __pyx_L6_skip;
18322 __pyx_L5_argtuple_error:;
18323 __Pyx_RaiseArgtupleInvalid(
"__pyx_unpickle_Enum", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 4, __pyx_L3_error)
18325 goto __pyx_L4_argument_unpacking_done;
18327 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
18328 Py_XDECREF(values[__pyx_temp]);
18330 __Pyx_AddTraceback(
"View.MemoryView.__pyx_unpickle_Enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
18331 __Pyx_RefNannyFinishContext();
18333 __pyx_L4_argument_unpacking_done:;
18334 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v___pyx_state), (&PyTuple_Type), 1,
"__pyx_state", 1))) __PYX_ERR(1, 4, __pyx_L1_error)
18335 __pyx_r = __pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
18341 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
18342 Py_XDECREF(values[__pyx_temp]);
18344 goto __pyx_L7_cleaned_up;
18346 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
18347 Py_XDECREF(values[__pyx_temp]);
18349 __pyx_L7_cleaned_up:;
18351 __Pyx_RefNannyFinishContext();
18355static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type,
long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
18356 PyObject *__pyx_v___pyx_result = 0;
18357 PyObject *__pyx_r = NULL;
18358 __Pyx_RefNannyDeclarations
18360 PyObject *__pyx_t_2 = NULL;
18361 PyObject *__pyx_t_3 = NULL;
18364 int __pyx_lineno = 0;
18365 const char *__pyx_filename = NULL;
18366 int __pyx_clineno = 0;
18367 __Pyx_RefNannySetupContext(
"__pyx_unpickle_Enum", 0);
18376 __pyx_t_1 = __Pyx_CheckUnpickleChecksum(__pyx_v___pyx_checksum, 0x82a3537, 0x6ae9995, 0xb068931, __pyx_k_name);
if (unlikely(__pyx_t_1 == ((
int)-1))) __PYX_ERR(1, 6, __pyx_L1_error)
18386 __pyx_t_3 = ((PyObject *)__pyx_mstate_global->__pyx_MemviewEnum_type);
18387 __Pyx_INCREF(__pyx_t_3);
18390 PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v___pyx_type};
18391 __pyx_t_2 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_new, __pyx_callargs+__pyx_t_4, (2-__pyx_t_4) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
18392 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
18393 if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 7, __pyx_L1_error)
18394 __Pyx_GOTREF(__pyx_t_2);
18396 __pyx_v___pyx_result = __pyx_t_2;
18406 __pyx_t_5 = (__pyx_v___pyx_state != ((PyObject*)Py_None));
18417 if (unlikely(__pyx_v___pyx_state == Py_None)) {
18418 PyErr_SetString(PyExc_TypeError,
"cannot pass None into a C function argument that is declared \047not None\047");
18419 __PYX_ERR(1, 9, __pyx_L1_error)
18421 __pyx_t_2 = __pyx_unpickle_Enum__set_state(((
struct __pyx_MemviewEnum_obj *)__pyx_v___pyx_result), __pyx_v___pyx_state);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 9, __pyx_L1_error)
18422 __Pyx_GOTREF(__pyx_t_2);
18423 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18442 PyObject *__pyx_temp;
18444 __pyx_temp = __pyx_r;
18445 __Pyx_INCREF(__pyx_v___pyx_result);
18446 __pyx_r = __pyx_v___pyx_result;
18448 __Pyx_XDECREF(__pyx_temp);
18462 __Pyx_XDECREF(__pyx_t_2);
18463 __Pyx_XDECREF(__pyx_t_3);
18464 __Pyx_AddTraceback(
"View.MemoryView.__pyx_unpickle_Enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
18467 __Pyx_XDECREF(__pyx_v___pyx_result);
18468 __Pyx_XGIVEREF(__pyx_r);
18469 __Pyx_RefNannyFinishContext();
18481static PyObject *__pyx_unpickle_Enum__set_state(
struct __pyx_MemviewEnum_obj *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
18482 PyObject *__pyx_r = NULL;
18483 __Pyx_RefNannyDeclarations
18484 PyObject *__pyx_t_1 = NULL;
18486 int __pyx_lineno = 0;
18487 const char *__pyx_filename = NULL;
18488 int __pyx_clineno = 0;
18489 __Pyx_RefNannySetupContext(
"__pyx_unpickle_Enum__set_state", 0);
18497 __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0,
long, 1, __Pyx_PyLong_From_long, 0, 1, 1, __Pyx_ReferenceSharing_FunctionArgument);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
18498 __Pyx_GOTREF(__pyx_t_1);
18499 __Pyx_GIVEREF(__pyx_t_1);
18500 __Pyx_GOTREF(__pyx_v___pyx_result->name);
18501 __Pyx_DECREF(__pyx_v___pyx_result->name);
18502 __pyx_v___pyx_result->name = __pyx_t_1;
18510 __pyx_t_2 = __Pyx_UpdateUnpickledDict(((PyObject *)__pyx_v___pyx_result), __pyx_v___pyx_state, 1);
if (unlikely(__pyx_t_2 == ((
int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
18522 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
18525 __Pyx_XDECREF(__pyx_t_1);
18526 __Pyx_AddTraceback(
"View.MemoryView.__pyx_unpickle_Enum__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
18529 __Pyx_XGIVEREF(__pyx_r);
18530 __Pyx_RefNannyFinishContext();
18542static PyObject *__pyx_format_from_typeinfo(__Pyx_TypeInfo
const *__pyx_v_type) {
18543 __Pyx_StructField
const *__pyx_v_field;
18544 struct __pyx_typeinfo_string __pyx_v_fmt;
18545 PyObject *__pyx_v_part = 0;
18546 PyObject *__pyx_v_result = 0;
18547 PyObject *__pyx_v_alignment = NULL;
18548 PyObject *__pyx_v_parts = NULL;
18549 PyObject *__pyx_v_extents = NULL;
18550 Py_ssize_t __pyx_7genexpr__pyx_v_i;
18551 PyObject *__pyx_r = NULL;
18552 __Pyx_RefNannyDeclarations
18554 PyObject *__pyx_t_2 = NULL;
18555 __Pyx_StructField
const *__pyx_t_3;
18556 PyObject *__pyx_t_4 = NULL;
18557 PyObject *__pyx_t_5 = NULL;
18561 Py_ssize_t __pyx_t_9;
18562 PyObject *__pyx_t_10[3];
18563 int __pyx_lineno = 0;
18564 const char *__pyx_filename = NULL;
18565 int __pyx_clineno = 0;
18566 __Pyx_RefNannySetupContext(
"format_from_typeinfo", 0);
18575 __pyx_t_1 = (__pyx_v_type->typegroup ==
'S');
18587 #ifndef CYTHON_WITHOUT_ASSERTIONS
18588 if (unlikely(__pyx_assertions_enabled())) {
18589 __pyx_t_1 = (__pyx_v_type->fields != NULL);
18591 if (unlikely(!__pyx_t_1)) {
18592 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
18593 __PYX_ERR(1, 1475, __pyx_L1_error)
18598 if ((1));
else __PYX_ERR(1, 1475, __pyx_L1_error)
18608 #ifndef CYTHON_WITHOUT_ASSERTIONS
18609 if (unlikely(__pyx_assertions_enabled())) {
18610 __pyx_t_1 = (__pyx_v_type->fields->type != NULL);
18612 if (unlikely(!__pyx_t_1)) {
18613 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_AssertionError))), 0, 0, 0);
18614 __PYX_ERR(1, 1476, __pyx_L1_error)
18619 if ((1));
else __PYX_ERR(1, 1476, __pyx_L1_error)
18629 __pyx_t_1 = ((__pyx_v_type->flags & __PYX_BUF_FLAGS_PACKED_STRUCT) != 0);
18641 __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_b__5);
18642 __pyx_v_alignment = __pyx_mstate_global->__pyx_kp_b__5;
18662 __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_b__6);
18663 __pyx_v_alignment = __pyx_mstate_global->__pyx_kp_b__6;
18674 __pyx_t_2 = PyList_New(1);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1483, __pyx_L1_error)
18675 __Pyx_GOTREF(__pyx_t_2);
18676 __Pyx_INCREF(__pyx_mstate_global->__pyx_kp_b_T);
18677 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_kp_b_T);
18678 if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_mstate_global->__pyx_kp_b_T) != (0)) __PYX_ERR(1, 1483, __pyx_L1_error);
18679 __pyx_v_parts = ((PyObject*)__pyx_t_2);
18689 __pyx_t_3 = __pyx_v_type->fields;
18691 __pyx_v_field = __pyx_t_3;
18701 __pyx_t_1 = (__pyx_v_field->type != 0);
18704 if (!__pyx_t_1)
break;
18713 __pyx_t_2 = __pyx_format_from_typeinfo(__pyx_v_field->type);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1487, __pyx_L1_error)
18714 __Pyx_GOTREF(__pyx_t_2);
18715 __Pyx_XDECREF_SET(__pyx_v_part, ((PyObject*)__pyx_t_2));
18725 __pyx_t_2 = PyNumber_Add(__pyx_v_part, __pyx_mstate_global->__pyx_kp_b__7);
if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1488, __pyx_L1_error)
18726 __Pyx_GOTREF(__pyx_t_2);
18727 __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_field->name);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1488, __pyx_L1_error)
18728 __Pyx_GOTREF(__pyx_t_4);
18729 __pyx_t_5 = PyNumber_Add(__pyx_t_2, __pyx_t_4);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1488, __pyx_L1_error)
18730 __Pyx_GOTREF(__pyx_t_5);
18731 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
18732 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18733 __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_mstate_global->__pyx_kp_b__7);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1488, __pyx_L1_error)
18734 __Pyx_GOTREF(__pyx_t_4);
18735 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
18736 __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_parts, __pyx_t_4);
if (unlikely(__pyx_t_6 == ((
int)-1))) __PYX_ERR(1, 1488, __pyx_L1_error)
18737 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18747 __pyx_v_field = (__pyx_v_field + 1);
18757 __pyx_t_4 = __Pyx_PyBytes_Join(__pyx_v_alignment, __pyx_v_parts);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1491, __pyx_L1_error)
18758 __Pyx_GOTREF(__pyx_t_4);
18759 __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_mstate_global->__pyx_kp_b__8);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1491, __pyx_L1_error)
18760 __Pyx_GOTREF(__pyx_t_5);
18761 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18762 __pyx_v_result = ((PyObject*)__pyx_t_5);
18783 __pyx_v_fmt = __Pyx_TypeInfoToFormat(__pyx_v_type);
18792 __pyx_t_5 = __Pyx_PyBytes_FromString(__pyx_v_fmt.string);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1494, __pyx_L1_error)
18793 __Pyx_GOTREF(__pyx_t_5);
18794 __pyx_v_result = ((PyObject*)__pyx_t_5);
18804 __pyx_t_1 = ((__pyx_v_type->arraysize[0]) != 0);
18817 __pyx_t_5 = PyList_New(0);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1496, __pyx_L1_error)
18818 __Pyx_GOTREF(__pyx_t_5);
18820 __pyx_t_7 = __pyx_v_type->ndim;
18821 __pyx_t_8 = __pyx_t_7;
18823 for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
18824 __pyx_7genexpr__pyx_v_i = __pyx_t_9;
18825 __pyx_t_4 = __Pyx_PyUnicode_From_size_t((__pyx_v_type->arraysize[__pyx_7genexpr__pyx_v_i]), 0,
' ',
'd');
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1496, __pyx_L1_error)
18826 __Pyx_GOTREF(__pyx_t_4);
18827 __Pyx_GIVEREF(__pyx_t_4);
18828 if (unlikely(__Pyx_ListComp_AppendAndDecref(__pyx_t_5, __pyx_t_4))) __PYX_ERR(1, 1496, __pyx_L1_error)
18833 __pyx_v_extents = ((PyObject*)__pyx_t_5);
18843 __pyx_t_5 = PyUnicode_Join(__pyx_mstate_global->__pyx_kp_u__10, __pyx_v_extents);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1497, __pyx_L1_error)
18844 __Pyx_GOTREF(__pyx_t_5);
18845 __pyx_t_10[0] = __pyx_mstate_global->__pyx_kp_u__9;
18846 __pyx_t_10[1] = __pyx_t_5;
18847 __pyx_t_10[2] = __pyx_mstate_global->__pyx_kp_u__11;
18849 #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH
18850 __pyx_t_9 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_10[1]);
18853 #if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH
18854 __pyx_t_7 |= __Pyx_PyUnicode_KIND_04(__pyx_t_10[1]);
18856 __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_10, 3, __pyx_t_9, __pyx_t_7);
18857 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1497, __pyx_L1_error)
18858 __Pyx_GOTREF(__pyx_t_4);
18859 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
18860 __pyx_t_5 = PyUnicode_AsASCIIString(((PyObject*)__pyx_t_4));
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 1497, __pyx_L1_error)
18861 __Pyx_GOTREF(__pyx_t_5);
18862 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
18863 __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_v_result);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1497, __pyx_L1_error)
18864 __Pyx_GOTREF(__pyx_t_4);
18865 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
18866 __Pyx_DECREF_SET(__pyx_v_result, ((PyObject*)__pyx_t_4));
18886 PyObject *__pyx_temp;
18888 __pyx_temp = __pyx_r;
18889 __Pyx_INCREF(__pyx_v_result);
18890 __pyx_r = __pyx_v_result;
18892 __Pyx_XDECREF(__pyx_temp);
18906 __Pyx_XDECREF(__pyx_t_2);
18907 __Pyx_XDECREF(__pyx_t_4);
18908 __Pyx_XDECREF(__pyx_t_5);
18909 __Pyx_AddTraceback(
"BufferFormatFromTypeInfo.format_from_typeinfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
18914 __Pyx_XDECREF(__pyx_v_part);
18915 __Pyx_XDECREF(__pyx_v_result);
18916 __Pyx_XDECREF(__pyx_v_alignment);
18917 __Pyx_XDECREF(__pyx_v_parts);
18918 __Pyx_XDECREF(__pyx_v_extents);
18920 __Pyx_XGIVEREF(__pyx_r);
18921 __Pyx_RefNannyFinishContext();
18933static CYTHON_INLINE PyTypeObject *__pyx_f_5numpy_5dtype_7typeobj___get__(PyArray_Descr *__pyx_v_self) {
18934 PyTypeObject *__pyx_r;
18945 __pyx_r = PyDataType_TYPEOBJ(__pyx_v_self);
18970static CYTHON_INLINE
char __pyx_f_5numpy_5dtype_4kind___get__(PyArray_Descr *__pyx_v_self) {
18982 __pyx_r = PyDataType_KIND(__pyx_v_self);
19007static CYTHON_INLINE
char __pyx_f_5numpy_5dtype_4type___get__(PyArray_Descr *__pyx_v_self) {
19019 __pyx_r = PyDataType_TYPE(__pyx_v_self);
19044static CYTHON_INLINE
char __pyx_f_5numpy_5dtype_9byteorder___get__(PyArray_Descr *__pyx_v_self) {
19056 __pyx_r = PyDataType_BYTEORDER(__pyx_v_self);
19081static CYTHON_INLINE
int __pyx_f_5numpy_5dtype_8type_num___get__(PyArray_Descr *__pyx_v_self) {
19093 __pyx_r = PyDataType_TYPENUM(__pyx_v_self);
19118static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_8itemsize___get__(PyArray_Descr *__pyx_v_self) {
19130 __pyx_r = PyDataType_ELSIZE(__pyx_v_self);
19155static CYTHON_INLINE npy_intp __pyx_f_5numpy_5dtype_9alignment___get__(PyArray_Descr *__pyx_v_self) {
19167 __pyx_r = PyDataType_ALIGNMENT(__pyx_v_self);
19192static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_6fields___get__(PyArray_Descr *__pyx_v_self) {
19193 PyObject *__pyx_r = NULL;
19194 __Pyx_RefNannyDeclarations
19195 PyObject *__pyx_t_1;
19196 __Pyx_RefNannySetupContext(
"__get__", 0);
19205 __pyx_t_1 = PyDataType_FIELDS(__pyx_v_self);
19208 PyObject *__pyx_temp;
19210 __pyx_temp = __pyx_r;
19211 __Pyx_INCREF(((PyObject *)__pyx_t_1));
19212 __pyx_r = ((PyObject *)__pyx_t_1);
19214 __Pyx_XDECREF(__pyx_temp);
19229 __Pyx_XGIVEREF(__pyx_r);
19230 __Pyx_RefNannyFinishContext();
19242static CYTHON_INLINE PyObject *__pyx_f_5numpy_5dtype_5names___get__(PyArray_Descr *__pyx_v_self) {
19243 PyObject *__pyx_r = NULL;
19244 __Pyx_RefNannyDeclarations
19245 PyObject *__pyx_t_1;
19246 __Pyx_RefNannySetupContext(
"__get__", 0);
19255 __pyx_t_1 = PyDataType_NAMES(__pyx_v_self);
19258 PyObject *__pyx_temp;
19260 __pyx_temp = __pyx_r;
19261 __Pyx_INCREF(((PyObject*)__pyx_t_1));
19262 __pyx_r = ((PyObject*)__pyx_t_1);
19264 __Pyx_XDECREF(__pyx_temp);
19279 __Pyx_XGIVEREF(__pyx_r);
19280 __Pyx_RefNannyFinishContext();
19292static CYTHON_INLINE PyArray_ArrayDescr *__pyx_f_5numpy_5dtype_8subarray___get__(PyArray_Descr *__pyx_v_self) {
19293 PyArray_ArrayDescr *__pyx_r;
19304 __pyx_r = PyDataType_SUBARRAY(__pyx_v_self);
19329static CYTHON_INLINE npy_uint64 __pyx_f_5numpy_5dtype_5flags___get__(PyArray_Descr *__pyx_v_self) {
19330 npy_uint64 __pyx_r;
19341 __pyx_r = PyDataType_FLAGS(__pyx_v_self);
19366static CYTHON_INLINE
int __pyx_f_5numpy_9broadcast_7numiter___get__(PyArrayMultiIterObject *__pyx_v_self) {
19378 __pyx_r = PyArray_MultiIter_NUMITER(__pyx_v_self);
19403static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_4size___get__(PyArrayMultiIterObject *__pyx_v_self) {
19415 __pyx_r = PyArray_MultiIter_SIZE(__pyx_v_self);
19440static CYTHON_INLINE npy_intp __pyx_f_5numpy_9broadcast_5index___get__(PyArrayMultiIterObject *__pyx_v_self) {
19452 __pyx_r = PyArray_MultiIter_INDEX(__pyx_v_self);
19477static CYTHON_INLINE
int __pyx_f_5numpy_9broadcast_2nd___get__(PyArrayMultiIterObject *__pyx_v_self) {
19489 __pyx_r = PyArray_MultiIter_NDIM(__pyx_v_self);
19514static CYTHON_INLINE npy_intp *__pyx_f_5numpy_9broadcast_10dimensions___get__(PyArrayMultiIterObject *__pyx_v_self) {
19526 __pyx_r = PyArray_MultiIter_DIMS(__pyx_v_self);
19551static CYTHON_INLINE
void **__pyx_f_5numpy_9broadcast_5iters___get__(PyArrayMultiIterObject *__pyx_v_self) {
19563 __pyx_r = PyArray_MultiIter_ITERS(__pyx_v_self);
19588static CYTHON_INLINE PyObject *__pyx_f_5numpy_7ndarray_4base___get__(PyArrayObject *__pyx_v_self) {
19600 __pyx_r = PyArray_BASE(__pyx_v_self);
19625static CYTHON_INLINE PyArray_Descr *__pyx_f_5numpy_7ndarray_5descr___get__(PyArrayObject *__pyx_v_self) {
19626 PyArray_Descr *__pyx_r = NULL;
19627 __Pyx_RefNannyDeclarations
19628 PyArray_Descr *__pyx_t_1;
19629 __Pyx_RefNannySetupContext(
"__get__", 0);
19638 __pyx_t_1 = PyArray_DESCR(__pyx_v_self);
19641 PyArray_Descr *__pyx_temp;
19643 __pyx_temp = __pyx_r;
19644 __Pyx_INCREF((PyObject *)((PyArray_Descr *)__pyx_t_1));
19645 __pyx_r = ((PyArray_Descr *)__pyx_t_1);
19647 __Pyx_XDECREF((PyObject *)__pyx_temp);
19662 __Pyx_XGIVEREF((PyObject *)__pyx_r);
19663 __Pyx_RefNannyFinishContext();
19675static CYTHON_INLINE
int __pyx_f_5numpy_7ndarray_4ndim___get__(PyArrayObject *__pyx_v_self) {
19687 __pyx_r = PyArray_NDIM(__pyx_v_self);
19712static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_5shape___get__(PyArrayObject *__pyx_v_self) {
19724 __pyx_r = PyArray_DIMS(__pyx_v_self);
19749static CYTHON_INLINE npy_intp *__pyx_f_5numpy_7ndarray_7strides___get__(PyArrayObject *__pyx_v_self) {
19761 __pyx_r = PyArray_STRIDES(__pyx_v_self);
19786static CYTHON_INLINE npy_intp __pyx_f_5numpy_7ndarray_4size___get__(PyArrayObject *__pyx_v_self) {
19798 __pyx_r = PyArray_SIZE(__pyx_v_self);
19823static CYTHON_INLINE
char *__pyx_f_5numpy_7ndarray_4data___get__(PyArrayObject *__pyx_v_self) {
19835 __pyx_r = PyArray_BYTES(__pyx_v_self);
19860static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
19861 PyObject *__pyx_r = NULL;
19862 __Pyx_RefNannyDeclarations
19863 PyObject *__pyx_t_1 = NULL;
19864 int __pyx_lineno = 0;
19865 const char *__pyx_filename = NULL;
19866 int __pyx_clineno = 0;
19867 __Pyx_RefNannySetupContext(
"PyArray_MultiIterNew1", 0);
19876 __pyx_t_1 = PyArray_MultiIterNew(1, ((
void *)__pyx_v_a));
if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 795, __pyx_L1_error)
19877 __Pyx_GOTREF(__pyx_t_1);
19879 PyObject *__pyx_temp;
19881 __pyx_temp = __pyx_r;
19882 __pyx_r = __pyx_t_1;
19884 __Pyx_XDECREF(__pyx_temp);
19899 __Pyx_XDECREF(__pyx_t_1);
19900 __Pyx_AddTraceback(
"numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
19903 __Pyx_XGIVEREF(__pyx_r);
19904 __Pyx_RefNannyFinishContext();
19916static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
19917 PyObject *__pyx_r = NULL;
19918 __Pyx_RefNannyDeclarations
19919 PyObject *__pyx_t_1 = NULL;
19920 int __pyx_lineno = 0;
19921 const char *__pyx_filename = NULL;
19922 int __pyx_clineno = 0;
19923 __Pyx_RefNannySetupContext(
"PyArray_MultiIterNew2", 0);
19932 __pyx_t_1 = PyArray_MultiIterNew(2, ((
void *)__pyx_v_a), ((
void *)__pyx_v_b));
if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 798, __pyx_L1_error)
19933 __Pyx_GOTREF(__pyx_t_1);
19935 PyObject *__pyx_temp;
19937 __pyx_temp = __pyx_r;
19938 __pyx_r = __pyx_t_1;
19940 __Pyx_XDECREF(__pyx_temp);
19955 __Pyx_XDECREF(__pyx_t_1);
19956 __Pyx_AddTraceback(
"numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
19959 __Pyx_XGIVEREF(__pyx_r);
19960 __Pyx_RefNannyFinishContext();
19972static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
19973 PyObject *__pyx_r = NULL;
19974 __Pyx_RefNannyDeclarations
19975 PyObject *__pyx_t_1 = NULL;
19976 int __pyx_lineno = 0;
19977 const char *__pyx_filename = NULL;
19978 int __pyx_clineno = 0;
19979 __Pyx_RefNannySetupContext(
"PyArray_MultiIterNew3", 0);
19988 __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, 801, __pyx_L1_error)
19989 __Pyx_GOTREF(__pyx_t_1);
19991 PyObject *__pyx_temp;
19993 __pyx_temp = __pyx_r;
19994 __pyx_r = __pyx_t_1;
19996 __Pyx_XDECREF(__pyx_temp);
20011 __Pyx_XDECREF(__pyx_t_1);
20012 __Pyx_AddTraceback(
"numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
20015 __Pyx_XGIVEREF(__pyx_r);
20016 __Pyx_RefNannyFinishContext();
20028static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
20029 PyObject *__pyx_r = NULL;
20030 __Pyx_RefNannyDeclarations
20031 PyObject *__pyx_t_1 = NULL;
20032 int __pyx_lineno = 0;
20033 const char *__pyx_filename = NULL;
20034 int __pyx_clineno = 0;
20035 __Pyx_RefNannySetupContext(
"PyArray_MultiIterNew4", 0);
20044 __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, 804, __pyx_L1_error)
20045 __Pyx_GOTREF(__pyx_t_1);
20047 PyObject *__pyx_temp;
20049 __pyx_temp = __pyx_r;
20050 __pyx_r = __pyx_t_1;
20052 __Pyx_XDECREF(__pyx_temp);
20067 __Pyx_XDECREF(__pyx_t_1);
20068 __Pyx_AddTraceback(
"numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
20071 __Pyx_XGIVEREF(__pyx_r);
20072 __Pyx_RefNannyFinishContext();
20084static 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) {
20085 PyObject *__pyx_r = NULL;
20086 __Pyx_RefNannyDeclarations
20087 PyObject *__pyx_t_1 = NULL;
20088 int __pyx_lineno = 0;
20089 const char *__pyx_filename = NULL;
20090 int __pyx_clineno = 0;
20091 __Pyx_RefNannySetupContext(
"PyArray_MultiIterNew5", 0);
20100 __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, 807, __pyx_L1_error)
20101 __Pyx_GOTREF(__pyx_t_1);
20103 PyObject *__pyx_temp;
20105 __pyx_temp = __pyx_r;
20106 __pyx_r = __pyx_t_1;
20108 __Pyx_XDECREF(__pyx_temp);
20123 __Pyx_XDECREF(__pyx_t_1);
20124 __Pyx_AddTraceback(
"numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
20127 __Pyx_XGIVEREF(__pyx_r);
20128 __Pyx_RefNannyFinishContext();
20140static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {
20141 PyObject *__pyx_r = NULL;
20142 __Pyx_RefNannyDeclarations
20144 PyObject *__pyx_t_2;
20145 __Pyx_RefNannySetupContext(
"PyDataType_SHAPE", 0);
20154 __pyx_t_1 = PyDataType_HASSUBARRAY(__pyx_v_d);
20166 __pyx_t_2 = __pyx_f_5numpy_5dtype_8subarray___get__(__pyx_v_d)->shape;
20169 PyObject *__pyx_temp;
20171 __pyx_temp = __pyx_r;
20172 __Pyx_INCREF(((PyObject*)__pyx_t_2));
20173 __pyx_r = ((PyObject*)__pyx_t_2);
20175 __Pyx_XDECREF(__pyx_temp);
20198 PyObject *__pyx_temp;
20200 __pyx_temp = __pyx_r;
20201 __Pyx_INCREF(__pyx_mstate_global->__pyx_empty_tuple);
20202 __pyx_r = __pyx_mstate_global->__pyx_empty_tuple;
20204 __Pyx_XDECREF(__pyx_temp);
20219 __Pyx_XGIVEREF(__pyx_r);
20220 __Pyx_RefNannyFinishContext();
20232static CYTHON_INLINE
int __pyx_f_5numpy_5ufunc_3nin___get__(PyUFuncObject *__pyx_v_self) {
20244 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->nin;
20269static CYTHON_INLINE
int __pyx_f_5numpy_5ufunc_4nout___get__(PyUFuncObject *__pyx_v_self) {
20281 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->nout;
20306static CYTHON_INLINE
int __pyx_f_5numpy_5ufunc_5nargs___get__(PyUFuncObject *__pyx_v_self) {
20318 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->nargs;
20343static CYTHON_INLINE PyUFuncGenericFunction *__pyx_f_5numpy_5ufunc_9functions___get__(PyUFuncObject *__pyx_v_self) {
20344 PyUFuncGenericFunction *__pyx_r;
20355 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->functions;
20380static CYTHON_INLINE
void **__pyx_f_5numpy_5ufunc_4data___get__(PyUFuncObject *__pyx_v_self) {
20392 __pyx_r = ((
void **)_PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->data);
20417static CYTHON_INLINE
int __pyx_f_5numpy_5ufunc_6ntypes___get__(PyUFuncObject *__pyx_v_self) {
20429 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->ntypes;
20454static CYTHON_INLINE
char const *__pyx_f_5numpy_5ufunc_4name___get__(PyUFuncObject *__pyx_v_self) {
20455 char const *__pyx_r;
20466 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->name;
20491static CYTHON_INLINE
char const *__pyx_f_5numpy_5ufunc_3doc___get__(PyUFuncObject *__pyx_v_self) {
20492 char const *__pyx_r;
20503 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->doc;
20528static CYTHON_INLINE
void *__pyx_f_5numpy_5ufunc_3ptr___get__(PyUFuncObject *__pyx_v_self) {
20540 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->ptr;
20565static CYTHON_INLINE PyObject *__pyx_f_5numpy_5ufunc_3obj___get__(PyUFuncObject *__pyx_v_self) {
20577 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->obj;
20602static CYTHON_INLINE PyObject *__pyx_f_5numpy_5ufunc_9userloops___get__(PyUFuncObject *__pyx_v_self) {
20614 __pyx_r = _PyUFuncObject_GET_ITEM_DATA(__pyx_v_self)->userloops;
20639static CYTHON_INLINE
void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
20641 int __pyx_lineno = 0;
20642 const char *__pyx_filename = NULL;
20643 int __pyx_clineno = 0;
20652 Py_INCREF(__pyx_v_base);
20661 __pyx_t_1 = PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base);
if (unlikely(__pyx_t_1 == ((
int)-1))) __PYX_ERR(2, 1067, __pyx_L1_error)
20675 __Pyx_AddTraceback(
"numpy.set_array_base", __pyx_clineno, __pyx_lineno, __pyx_filename);
20688static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
20689 PyObject *__pyx_v_base;
20690 PyObject *__pyx_r = NULL;
20691 __Pyx_RefNannyDeclarations
20693 __Pyx_RefNannySetupContext(
"get_array_base", 0);
20702 __pyx_v_base = PyArray_BASE(__pyx_v_arr);
20711 __pyx_t_1 = (__pyx_v_base == NULL);
20724 PyObject *__pyx_temp;
20726 __pyx_temp = __pyx_r;
20727 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
20729 __Pyx_XDECREF(__pyx_temp);
20750 PyObject *__pyx_temp;
20752 __pyx_temp = __pyx_r;
20753 __Pyx_INCREF(((PyObject *)__pyx_v_base));
20754 __pyx_r = ((PyObject *)__pyx_v_base);
20756 __Pyx_XDECREF(__pyx_temp);
20771 __Pyx_XGIVEREF(__pyx_r);
20772 __Pyx_RefNannyFinishContext();
20784static CYTHON_INLINE
int __pyx_f_5numpy_import_array(
void) {
20786 __Pyx_RefNannyDeclarations
20787 PyObject *__pyx_t_1 = NULL;
20788 PyObject *__pyx_t_2 = NULL;
20789 PyObject *__pyx_t_3 = NULL;
20791 PyObject *__pyx_t_5 = NULL;
20792 PyObject *__pyx_t_6 = NULL;
20793 PyObject *__pyx_t_7 = NULL;
20794 PyObject *__pyx_t_8 = NULL;
20795 PyObject *__pyx_t_9 = NULL;
20797 int __pyx_lineno = 0;
20798 const char *__pyx_filename = NULL;
20799 int __pyx_clineno = 0;
20800 __Pyx_RefNannySetupContext(
"import_array", 0);
20810 __Pyx_PyThreadState_declare
20811 __Pyx_PyThreadState_assign
20812 __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
20813 __Pyx_XGOTREF(__pyx_t_1);
20814 __Pyx_XGOTREF(__pyx_t_2);
20815 __Pyx_XGOTREF(__pyx_t_3);
20825 __pyx_t_4 = _import_array();
if (unlikely(__pyx_t_4 == ((
int)-1))) __PYX_ERR(2, 1079, __pyx_L3_error)
20836 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
20837 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
20838 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
20839 goto __pyx_L8_try_end;
20849 __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception))));
20851 __Pyx_AddTraceback(
"numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
20852 if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 1080, __pyx_L5_except_error)
20853 __Pyx_XGOTREF(__pyx_t_5);
20854 __Pyx_XGOTREF(__pyx_t_6);
20855 __Pyx_XGOTREF(__pyx_t_7);
20867 PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_multiarray_failed_to};
20868 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
20869 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
20870 if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1081, __pyx_L5_except_error)
20871 __Pyx_GOTREF(__pyx_t_8);
20873 __Pyx_Raise(__pyx_t_8, 0, 0, 0);
20874 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
20875 __PYX_ERR(2, 1081, __pyx_L5_except_error)
20877 goto __pyx_L5_except_error;
20886 __pyx_L5_except_error:;
20887 __Pyx_XGIVEREF(__pyx_t_1);
20888 __Pyx_XGIVEREF(__pyx_t_2);
20889 __Pyx_XGIVEREF(__pyx_t_3);
20890 __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
20891 goto __pyx_L1_error;
20907 __Pyx_XDECREF(__pyx_t_5);
20908 __Pyx_XDECREF(__pyx_t_6);
20909 __Pyx_XDECREF(__pyx_t_7);
20910 __Pyx_XDECREF(__pyx_t_8);
20911 __Pyx_XDECREF(__pyx_t_9);
20912 __Pyx_AddTraceback(
"numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
20916 __Pyx_RefNannyFinishContext();
20928static CYTHON_INLINE
int __pyx_f_5numpy_import_umath(
void) {
20930 __Pyx_RefNannyDeclarations
20931 PyObject *__pyx_t_1 = NULL;
20932 PyObject *__pyx_t_2 = NULL;
20933 PyObject *__pyx_t_3 = NULL;
20935 PyObject *__pyx_t_5 = NULL;
20936 PyObject *__pyx_t_6 = NULL;
20937 PyObject *__pyx_t_7 = NULL;
20938 PyObject *__pyx_t_8 = NULL;
20939 PyObject *__pyx_t_9 = NULL;
20941 int __pyx_lineno = 0;
20942 const char *__pyx_filename = NULL;
20943 int __pyx_clineno = 0;
20944 __Pyx_RefNannySetupContext(
"import_umath", 0);
20954 __Pyx_PyThreadState_declare
20955 __Pyx_PyThreadState_assign
20956 __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
20957 __Pyx_XGOTREF(__pyx_t_1);
20958 __Pyx_XGOTREF(__pyx_t_2);
20959 __Pyx_XGOTREF(__pyx_t_3);
20969 __pyx_t_4 = _import_umath();
if (unlikely(__pyx_t_4 == ((
int)-1))) __PYX_ERR(2, 1085, __pyx_L3_error)
20980 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
20981 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
20982 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
20983 goto __pyx_L8_try_end;
20993 __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception))));
20995 __Pyx_AddTraceback(
"numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
20996 if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 1086, __pyx_L5_except_error)
20997 __Pyx_XGOTREF(__pyx_t_5);
20998 __Pyx_XGOTREF(__pyx_t_6);
20999 __Pyx_XGOTREF(__pyx_t_7);
21011 PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_umath_failed_to_impo};
21012 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
21013 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
21014 if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1087, __pyx_L5_except_error)
21015 __Pyx_GOTREF(__pyx_t_8);
21017 __Pyx_Raise(__pyx_t_8, 0, 0, 0);
21018 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21019 __PYX_ERR(2, 1087, __pyx_L5_except_error)
21021 goto __pyx_L5_except_error;
21030 __pyx_L5_except_error:;
21031 __Pyx_XGIVEREF(__pyx_t_1);
21032 __Pyx_XGIVEREF(__pyx_t_2);
21033 __Pyx_XGIVEREF(__pyx_t_3);
21034 __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
21035 goto __pyx_L1_error;
21051 __Pyx_XDECREF(__pyx_t_5);
21052 __Pyx_XDECREF(__pyx_t_6);
21053 __Pyx_XDECREF(__pyx_t_7);
21054 __Pyx_XDECREF(__pyx_t_8);
21055 __Pyx_XDECREF(__pyx_t_9);
21056 __Pyx_AddTraceback(
"numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);
21060 __Pyx_RefNannyFinishContext();
21072static CYTHON_INLINE
int __pyx_f_5numpy_import_ufunc(
void) {
21074 __Pyx_RefNannyDeclarations
21075 PyObject *__pyx_t_1 = NULL;
21076 PyObject *__pyx_t_2 = NULL;
21077 PyObject *__pyx_t_3 = NULL;
21079 PyObject *__pyx_t_5 = NULL;
21080 PyObject *__pyx_t_6 = NULL;
21081 PyObject *__pyx_t_7 = NULL;
21082 PyObject *__pyx_t_8 = NULL;
21083 PyObject *__pyx_t_9 = NULL;
21085 int __pyx_lineno = 0;
21086 const char *__pyx_filename = NULL;
21087 int __pyx_clineno = 0;
21088 __Pyx_RefNannySetupContext(
"import_ufunc", 0);
21098 __Pyx_PyThreadState_declare
21099 __Pyx_PyThreadState_assign
21100 __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
21101 __Pyx_XGOTREF(__pyx_t_1);
21102 __Pyx_XGOTREF(__pyx_t_2);
21103 __Pyx_XGOTREF(__pyx_t_3);
21113 __pyx_t_4 = _import_umath();
if (unlikely(__pyx_t_4 == ((
int)-1))) __PYX_ERR(2, 1091, __pyx_L3_error)
21124 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
21125 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
21126 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
21127 goto __pyx_L8_try_end;
21137 __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(((PyTypeObject*)PyExc_Exception))));
21139 __Pyx_AddTraceback(
"numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
21140 if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(2, 1092, __pyx_L5_except_error)
21141 __Pyx_XGOTREF(__pyx_t_5);
21142 __Pyx_XGOTREF(__pyx_t_6);
21143 __Pyx_XGOTREF(__pyx_t_7);
21155 PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_mstate_global->__pyx_kp_u_numpy__core_umath_failed_to_impo};
21156 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ImportError)), __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
21157 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
21158 if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 1093, __pyx_L5_except_error)
21159 __Pyx_GOTREF(__pyx_t_8);
21161 __Pyx_Raise(__pyx_t_8, 0, 0, 0);
21162 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21163 __PYX_ERR(2, 1093, __pyx_L5_except_error)
21165 goto __pyx_L5_except_error;
21174 __pyx_L5_except_error:;
21175 __Pyx_XGIVEREF(__pyx_t_1);
21176 __Pyx_XGIVEREF(__pyx_t_2);
21177 __Pyx_XGIVEREF(__pyx_t_3);
21178 __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
21179 goto __pyx_L1_error;
21195 __Pyx_XDECREF(__pyx_t_5);
21196 __Pyx_XDECREF(__pyx_t_6);
21197 __Pyx_XDECREF(__pyx_t_7);
21198 __Pyx_XDECREF(__pyx_t_8);
21199 __Pyx_XDECREF(__pyx_t_9);
21200 __Pyx_AddTraceback(
"numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
21204 __Pyx_RefNannyFinishContext();
21216static CYTHON_INLINE
int __pyx_f_5numpy_is_timedelta64_object(PyObject *__pyx_v_obj) {
21228 __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyTimedeltaArrType_Type));
21254static CYTHON_INLINE
int __pyx_f_5numpy_is_datetime64_object(PyObject *__pyx_v_obj) {
21266 __pyx_r = PyObject_TypeCheck(__pyx_v_obj, (&PyDatetimeArrType_Type));
21292static CYTHON_INLINE npy_datetime __pyx_f_5numpy_get_datetime64_value(PyObject *__pyx_v_obj) {
21293 npy_datetime __pyx_r;
21304 __pyx_r = _PyDatetimeScalarObject_GetValue(__pyx_v_obj);
21329static CYTHON_INLINE npy_timedelta __pyx_f_5numpy_get_timedelta64_value(PyObject *__pyx_v_obj) {
21330 npy_timedelta __pyx_r;
21341 __pyx_r = _PyTimedeltaScalarObject_GetValue(__pyx_v_obj);
21366static CYTHON_INLINE NPY_DATETIMEUNIT __pyx_f_5numpy_get_datetime64_unit(PyObject *__pyx_v_obj) {
21367 NPY_DATETIMEUNIT __pyx_r;
21378 __pyx_r = _PyDatetimeScalarObject_GetMetadata(__pyx_v_obj).base;
21404static int __pyx_pw_22equivalent_polynomials_7Simplex_1__cinit__(PyObject *__pyx_v_self,
21405#
if CYTHON_VECTORCALL_TPNEW
21406PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
21408PyObject *__pyx_args, PyObject *__pyx_kwds
21411static int __pyx_pw_22equivalent_polynomials_7Simplex_1__cinit__(PyObject *__pyx_v_self,
21412#
if CYTHON_VECTORCALL_TPNEW
21413PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
21415PyObject *__pyx_args, PyObject *__pyx_kwds
21418 PyObject *__pyx_v_nSpace = 0;
21419 PyObject *__pyx_v_nP = 0;
21420 PyObject *__pyx_v_nQ = 0;
21421 #if !CYTHON_VECTORCALL_TPNEW
21422 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
21424 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
21425 PyObject* values[3] = {0,0,0};
21426 int __pyx_lineno = 0;
21427 const char *__pyx_filename = NULL;
21428 int __pyx_clineno = 0;
21430 __Pyx_RefNannyDeclarations
21431 __Pyx_RefNannySetupContext(
"__cinit__ (wrapper)", 0);
21432 #if !CYTHON_VECTORCALL_TPNEW
21433 #if CYTHON_ASSUME_SAFE_SIZE
21434 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
21436 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return -1;
21439 __pyx_kwvalues = __Pyx_KwValues_FASTCALL_TPNEW(__pyx_args, __pyx_nargs);
21441 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_nSpace,&__pyx_mstate_global->__pyx_n_u_nP,&__pyx_mstate_global->__pyx_n_u_nQ,0};
21442 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL_TPNEW(__pyx_kwds) : 0;
21443 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 53, __pyx_L3_error)
21444 if (__pyx_kwds_len > 0) {
21445 switch (__pyx_nargs) {
21447 values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2);
21448 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 53, __pyx_L3_error)
21449 CYTHON_FALLTHROUGH;
21451 values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1);
21452 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 53, __pyx_L3_error)
21453 CYTHON_FALLTHROUGH;
21455 values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0);
21456 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 53, __pyx_L3_error)
21457 CYTHON_FALLTHROUGH;
21459 default:
goto __pyx_L5_argtuple_error;
21461 const Py_ssize_t kwd_pos_args = __pyx_nargs;
21462 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__cinit__", 0) < (0)) __PYX_ERR(0, 53, __pyx_L3_error)
21463 for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
21464 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__cinit__", 1, 3, 3, i); __PYX_ERR(0, 53, __pyx_L3_error) }
21466 }
else if (unlikely(__pyx_nargs != 3)) {
21467 goto __pyx_L5_argtuple_error;
21469 values[0] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 0);
21470 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 53, __pyx_L3_error)
21471 values[1] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 1);
21472 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 53, __pyx_L3_error)
21473 values[2] = __Pyx_ArgRef_FASTCALL_TPNEW(__pyx_args, 2);
21474 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 53, __pyx_L3_error)
21476 __pyx_v_nSpace = values[0];
21477 __pyx_v_nP = values[1];
21478 __pyx_v_nQ = values[2];
21480 goto __pyx_L6_skip;
21481 __pyx_L5_argtuple_error:;
21482 __Pyx_RaiseArgtupleInvalid(
"__cinit__", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 53, __pyx_L3_error)
21484 goto __pyx_L4_argument_unpacking_done;
21486 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
21487 Py_XDECREF(values[__pyx_temp]);
21489 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
21490 __Pyx_RefNannyFinishContext();
21492 __pyx_L4_argument_unpacking_done:;
21493 __pyx_r = __pyx_pf_22equivalent_polynomials_7Simplex___cinit__(((
struct __pyx_obj_22equivalent_polynomials_Simplex *)__pyx_v_self), __pyx_v_nSpace, __pyx_v_nP, __pyx_v_nQ);
21496 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
21497 Py_XDECREF(values[__pyx_temp]);
21499 __Pyx_RefNannyFinishContext();
21503static int __pyx_pf_22equivalent_polynomials_7Simplex___cinit__(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self, PyObject *__pyx_v_nSpace, PyObject *__pyx_v_nP, PyObject *__pyx_v_nQ) {
21505 __Pyx_RefNannyDeclarations
21506 PyObject *__pyx_t_1 = NULL;
21507 PyObject *__pyx_t_2 = NULL;
21509 int __pyx_lineno = 0;
21510 const char *__pyx_filename = NULL;
21511 int __pyx_clineno = 0;
21512 __Pyx_RefNannySetupContext(
"__cinit__", 0);
21521 __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
21522 __Pyx_GOTREF(__pyx_t_1);
21523 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_zeros);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
21524 __Pyx_GOTREF(__pyx_t_2);
21525 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21526 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[3], NULL);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
21527 __Pyx_GOTREF(__pyx_t_1);
21528 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
21529 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 54, __pyx_L1_error)
21530 __Pyx_GIVEREF(__pyx_t_1);
21531 __Pyx_GOTREF((PyObject *)__pyx_v_self->xiBuffer);
21532 __Pyx_DECREF((PyObject *)__pyx_v_self->xiBuffer);
21533 __pyx_v_self->xiBuffer = ((PyArrayObject *)__pyx_t_1);
21543 __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_v_nSpace);
if (unlikely((__pyx_t_3 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 55, __pyx_L1_error)
21544 __pyx_v_self->nSpace = __pyx_t_3;
21553 __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_v_nP);
if (unlikely((__pyx_t_3 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 56, __pyx_L1_error)
21554 __pyx_v_self->nP = __pyx_t_3;
21563 __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_v_nQ);
if (unlikely((__pyx_t_3 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L1_error)
21564 __pyx_v_self->nQ = __pyx_t_3;
21573 __pyx_t_3 = __Pyx_PyLong_As_int(__pyx_v_nQ);
if (unlikely((__pyx_t_3 == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L1_error)
21574 __pyx_v_self->nEBQ = __pyx_t_3;
21583 __pyx_v_self->q = 0;
21597 __Pyx_XDECREF(__pyx_t_1);
21598 __Pyx_XDECREF(__pyx_t_2);
21599 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
21603 __Pyx_RefNannyFinishContext();
21616static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_3calculate(PyObject *__pyx_v_self,
21617#
if CYTHON_VECTORCALL
21618PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
21620PyObject *__pyx_args, PyObject *__pyx_kwds
21623static PyMethodDef __pyx_mdef_22equivalent_polynomials_7Simplex_3calculate = {
"calculate", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_7Simplex_3calculate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
21624static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_3calculate(PyObject *__pyx_v_self,
21625#
if CYTHON_VECTORCALL
21626PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
21628PyObject *__pyx_args, PyObject *__pyx_kwds
21631 PyArrayObject *__pyx_v_phi_dof = 0;
21632 PyArrayObject *__pyx_v_phi_nodes = 0;
21633 PyArrayObject *__pyx_v_xi = 0;
21634 #if !CYTHON_VECTORCALL
21635 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
21637 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
21638 PyObject* values[3] = {0,0,0};
21639 int __pyx_lineno = 0;
21640 const char *__pyx_filename = NULL;
21641 int __pyx_clineno = 0;
21642 PyObject *__pyx_r = 0;
21643 __Pyx_RefNannyDeclarations
21644 __Pyx_RefNannySetupContext(
"calculate (wrapper)", 0);
21645 #if !CYTHON_VECTORCALL
21646 #if CYTHON_ASSUME_SAFE_SIZE
21647 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
21649 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
21652 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
21654 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_phi_dof,&__pyx_mstate_global->__pyx_n_u_phi_nodes,&__pyx_mstate_global->__pyx_n_u_xi,0};
21655 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
21656 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 60, __pyx_L3_error)
21657 if (__pyx_kwds_len > 0) {
21658 switch (__pyx_nargs) {
21660 values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
21661 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 60, __pyx_L3_error)
21662 CYTHON_FALLTHROUGH;
21664 values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
21665 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 60, __pyx_L3_error)
21666 CYTHON_FALLTHROUGH;
21668 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
21669 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 60, __pyx_L3_error)
21670 CYTHON_FALLTHROUGH;
21672 default:
goto __pyx_L5_argtuple_error;
21674 const Py_ssize_t kwd_pos_args = __pyx_nargs;
21675 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"calculate", 0) < (0)) __PYX_ERR(0, 60, __pyx_L3_error)
21676 for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
21677 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"calculate", 1, 3, 3, i); __PYX_ERR(0, 60, __pyx_L3_error) }
21679 }
else if (unlikely(__pyx_nargs != 3)) {
21680 goto __pyx_L5_argtuple_error;
21682 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
21683 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 60, __pyx_L3_error)
21684 values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
21685 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 60, __pyx_L3_error)
21686 values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
21687 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 60, __pyx_L3_error)
21689 __pyx_v_phi_dof = ((PyArrayObject *)values[0]);
21690 __pyx_v_phi_nodes = ((PyArrayObject *)values[1]);
21691 __pyx_v_xi = ((PyArrayObject *)values[2]);
21693 goto __pyx_L6_skip;
21694 __pyx_L5_argtuple_error:;
21695 __Pyx_RaiseArgtupleInvalid(
"calculate", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 60, __pyx_L3_error)
21697 goto __pyx_L4_argument_unpacking_done;
21699 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
21700 Py_XDECREF(values[__pyx_temp]);
21702 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.calculate", __pyx_clineno, __pyx_lineno, __pyx_filename);
21703 __Pyx_RefNannyFinishContext();
21705 __pyx_L4_argument_unpacking_done:;
21706 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_phi_dof), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1,
"phi_dof", 0))) __PYX_ERR(0, 60, __pyx_L1_error)
21707 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_phi_nodes), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1,
"phi_nodes", 0))) __PYX_ERR(0, 60, __pyx_L1_error)
21708 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_xi), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1,
"xi", 0))) __PYX_ERR(0, 60, __pyx_L1_error)
21709 __pyx_r = __pyx_pf_22equivalent_polynomials_7Simplex_2calculate(((
struct __pyx_obj_22equivalent_polynomials_Simplex *)__pyx_v_self), __pyx_v_phi_dof, __pyx_v_phi_nodes, __pyx_v_xi);
21715 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
21716 Py_XDECREF(values[__pyx_temp]);
21718 goto __pyx_L7_cleaned_up;
21720 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
21721 Py_XDECREF(values[__pyx_temp]);
21723 __pyx_L7_cleaned_up:;
21724 __Pyx_RefNannyFinishContext();
21728static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_2calculate(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self, PyArrayObject *__pyx_v_phi_dof, PyArrayObject *__pyx_v_phi_nodes, PyArrayObject *__pyx_v_xi) {
21729 CYTHON_UNUSED
int __pyx_v_icase;
21730 PyObject *__pyx_r = NULL;
21731 __Pyx_RefNannyDeclarations
21732 PyObject *__pyx_t_1 = NULL;
21733 PyObject *__pyx_t_2 = NULL;
21734 PyObject *__pyx_t_3 = NULL;
21736 PyObject *__pyx_t_5 = NULL;
21738 struct __pyx_array_obj *__pyx_t_7 = NULL;
21739 PyObject *__pyx_t_8 = NULL;
21744 int __pyx_lineno = 0;
21745 const char *__pyx_filename = NULL;
21746 int __pyx_clineno = 0;
21747 __Pyx_RefNannySetupContext(
"calculate", 0);
21756 if (__Pyx_PyObject_SetSlice(((PyObject *)__pyx_v_self->xiBuffer), ((PyObject *)__pyx_v_xi), 0, (__pyx_f_5numpy_7ndarray_5shape___get__(__pyx_v_xi)[0]), NULL, NULL, NULL, 0, 1, 1) < (0)) __PYX_ERR(0, 61, __pyx_L1_error)
21765 __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error)
21766 __Pyx_GOTREF(__pyx_t_1);
21767 __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error)
21768 __Pyx_GOTREF(__pyx_t_2);
21769 __pyx_t_3 = PyTuple_New(2);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error)
21770 __Pyx_GOTREF(__pyx_t_3);
21771 __Pyx_GIVEREF(__pyx_t_1);
21772 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 62, __pyx_L1_error);
21773 __Pyx_GIVEREF(__pyx_t_2);
21774 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 62, __pyx_L1_error);
21777 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[4], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 62, __pyx_L1_error)
21778 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
21789 __pyx_t_3 = ((PyObject *)__pyx_v_self->xiBuffer);
21790 __Pyx_INCREF(__pyx_t_3);
21791 __pyx_v_icase = __pyx_v_self->s11.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_3))), 0);
21792 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
21802 __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error)
21803 __Pyx_GOTREF(__pyx_t_1);
21804 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 64, __pyx_L1_error)
21805 __Pyx_GOTREF(__pyx_t_5);
21806 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21807 __pyx_t_6 = __pyx_v_self->s11.get_H();
21810 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
21811 __PYX_ERR(0, 64, __pyx_L1_error)
21813 __pyx_t_8 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 64, __pyx_L1_error)
21814 __Pyx_GOTREF(__pyx_t_8);
21815 __pyx_t_1 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error)
21816 __Pyx_GOTREF(__pyx_t_1);
21817 #if CYTHON_COMPILING_IN_LIMITED_API
21818 __pyx_t_9 = PyBytes_AsString(__pyx_t_8);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 64, __pyx_L1_error)
21820 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_8);
21822 __pyx_t_7 = __pyx_array_new(__pyx_t_1,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 64, __pyx_L1_error)
21823 __Pyx_GOTREF((PyObject *)__pyx_t_7);
21824 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21825 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21828 #if CYTHON_UNPACK_METHODS
21829 if (unlikely(PyMethod_Check(__pyx_t_5))) {
21830 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
21832 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
21833 __Pyx_INCREF(__pyx_t_2);
21834 __Pyx_INCREF(__pyx__function);
21835 __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
21840 PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_t_7)};
21841 __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
21842 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
21843 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
21844 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
21845 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error)
21846 __Pyx_GOTREF(__pyx_t_3);
21848 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 64, __pyx_L1_error)
21849 __Pyx_GIVEREF(__pyx_t_3);
21850 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
21851 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
21852 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_3);
21863 __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
21864 __Pyx_GOTREF(__pyx_t_2);
21865 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 65, __pyx_L1_error)
21866 __Pyx_GOTREF(__pyx_t_8);
21867 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
21868 __pyx_t_6 = __pyx_v_self->s11.get_ImH();
21871 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
21872 __PYX_ERR(0, 65, __pyx_L1_error)
21874 __pyx_t_1 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error)
21875 __Pyx_GOTREF(__pyx_t_1);
21876 __pyx_t_2 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
21877 __Pyx_GOTREF(__pyx_t_2);
21878 #if CYTHON_COMPILING_IN_LIMITED_API
21879 __pyx_t_9 = PyBytes_AsString(__pyx_t_1);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 65, __pyx_L1_error)
21881 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_1);
21883 __pyx_t_7 = __pyx_array_new(__pyx_t_2,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 65, __pyx_L1_error)
21884 __Pyx_GOTREF((PyObject *)__pyx_t_7);
21885 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
21886 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21889 #if CYTHON_UNPACK_METHODS
21890 if (unlikely(PyMethod_Check(__pyx_t_8))) {
21891 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
21893 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
21894 __Pyx_INCREF(__pyx_t_5);
21895 __Pyx_INCREF(__pyx__function);
21896 __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
21901 PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_t_7)};
21902 __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
21903 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
21904 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
21905 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
21906 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error)
21907 __Pyx_GOTREF(__pyx_t_3);
21909 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 65, __pyx_L1_error)
21910 __Pyx_GIVEREF(__pyx_t_3);
21911 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
21912 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
21913 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_3);
21924 __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 66, __pyx_L1_error)
21925 __Pyx_GOTREF(__pyx_t_5);
21926 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error)
21927 __Pyx_GOTREF(__pyx_t_1);
21928 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
21929 __pyx_t_6 = __pyx_v_self->s11.get_D();
21932 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
21933 __PYX_ERR(0, 66, __pyx_L1_error)
21935 __pyx_t_2 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 66, __pyx_L1_error)
21936 __Pyx_GOTREF(__pyx_t_2);
21937 __pyx_t_5 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 66, __pyx_L1_error)
21938 __Pyx_GOTREF(__pyx_t_5);
21939 #if CYTHON_COMPILING_IN_LIMITED_API
21940 __pyx_t_9 = PyBytes_AsString(__pyx_t_2);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 66, __pyx_L1_error)
21942 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_2);
21944 __pyx_t_7 = __pyx_array_new(__pyx_t_5,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 66, __pyx_L1_error)
21945 __Pyx_GOTREF((PyObject *)__pyx_t_7);
21946 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
21947 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
21950 #if CYTHON_UNPACK_METHODS
21951 if (unlikely(PyMethod_Check(__pyx_t_1))) {
21952 __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
21954 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
21955 __Pyx_INCREF(__pyx_t_8);
21956 __Pyx_INCREF(__pyx__function);
21957 __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
21962 PyObject *__pyx_callargs[2] = {__pyx_t_8, ((PyObject *)__pyx_t_7)};
21963 __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
21964 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
21965 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
21966 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
21967 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error)
21968 __Pyx_GOTREF(__pyx_t_3);
21970 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 66, __pyx_L1_error)
21971 __Pyx_GIVEREF(__pyx_t_3);
21972 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
21973 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
21974 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_3);
21984 __pyx_t_11 = __pyx_v_self->s11.inside_out;
21986 __pyx_v_self->inside_out = __pyx_t_11;
21995 __pyx_t_12 = __pyx_v_self->s11.edge;
21997 __pyx_v_self->edge = __pyx_t_12;
22006 __pyx_t_12 = __pyx_v_self->s11.corner;
22008 __pyx_v_self->corner = __pyx_t_12;
22027 __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error)
22028 __Pyx_GOTREF(__pyx_t_3);
22029 __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error)
22030 __Pyx_GOTREF(__pyx_t_1);
22031 __pyx_t_8 = PyTuple_New(2);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 70, __pyx_L1_error)
22032 __Pyx_GOTREF(__pyx_t_8);
22033 __Pyx_GIVEREF(__pyx_t_3);
22034 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 70, __pyx_L1_error);
22035 __Pyx_GIVEREF(__pyx_t_1);
22036 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 70, __pyx_L1_error);
22039 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[5], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 70, __pyx_L1_error)
22040 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22051 __pyx_t_8 = ((PyObject *)__pyx_v_self->xiBuffer);
22052 __Pyx_INCREF(__pyx_t_8);
22053 __pyx_v_icase = __pyx_v_self->s12.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_8))), 0);
22054 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22064 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error)
22065 __Pyx_GOTREF(__pyx_t_3);
22066 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 72, __pyx_L1_error)
22067 __Pyx_GOTREF(__pyx_t_2);
22068 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22069 __pyx_t_6 = __pyx_v_self->s12.get_H();
22072 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22073 __PYX_ERR(0, 72, __pyx_L1_error)
22075 __pyx_t_5 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 72, __pyx_L1_error)
22076 __Pyx_GOTREF(__pyx_t_5);
22077 __pyx_t_3 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error)
22078 __Pyx_GOTREF(__pyx_t_3);
22079 #if CYTHON_COMPILING_IN_LIMITED_API
22080 __pyx_t_9 = PyBytes_AsString(__pyx_t_5);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 72, __pyx_L1_error)
22082 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_5);
22084 __pyx_t_7 = __pyx_array_new(__pyx_t_3,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 72, __pyx_L1_error)
22085 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22086 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22087 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22090 #if CYTHON_UNPACK_METHODS
22091 if (unlikely(PyMethod_Check(__pyx_t_2))) {
22092 __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
22094 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
22095 __Pyx_INCREF(__pyx_t_1);
22096 __Pyx_INCREF(__pyx__function);
22097 __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
22102 PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_t_7)};
22103 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22104 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
22105 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22106 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22107 if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 72, __pyx_L1_error)
22108 __Pyx_GOTREF(__pyx_t_8);
22110 if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 72, __pyx_L1_error)
22111 __Pyx_GIVEREF(__pyx_t_8);
22112 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
22113 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
22114 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_8);
22125 __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
22126 __Pyx_GOTREF(__pyx_t_1);
22127 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 73, __pyx_L1_error)
22128 __Pyx_GOTREF(__pyx_t_5);
22129 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22130 __pyx_t_6 = __pyx_v_self->s12.get_ImH();
22133 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22134 __PYX_ERR(0, 73, __pyx_L1_error)
22136 __pyx_t_3 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error)
22137 __Pyx_GOTREF(__pyx_t_3);
22138 __pyx_t_1 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
22139 __Pyx_GOTREF(__pyx_t_1);
22140 #if CYTHON_COMPILING_IN_LIMITED_API
22141 __pyx_t_9 = PyBytes_AsString(__pyx_t_3);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 73, __pyx_L1_error)
22143 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_3);
22145 __pyx_t_7 = __pyx_array_new(__pyx_t_1,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 73, __pyx_L1_error)
22146 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22147 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22148 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22151 #if CYTHON_UNPACK_METHODS
22152 if (unlikely(PyMethod_Check(__pyx_t_5))) {
22153 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
22155 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
22156 __Pyx_INCREF(__pyx_t_2);
22157 __Pyx_INCREF(__pyx__function);
22158 __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
22163 PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_t_7)};
22164 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22165 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
22166 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22167 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22168 if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 73, __pyx_L1_error)
22169 __Pyx_GOTREF(__pyx_t_8);
22171 if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 73, __pyx_L1_error)
22172 __Pyx_GIVEREF(__pyx_t_8);
22173 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
22174 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
22175 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_8);
22186 __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)
22187 __Pyx_GOTREF(__pyx_t_2);
22188 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
22189 __Pyx_GOTREF(__pyx_t_3);
22190 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22191 __pyx_t_6 = __pyx_v_self->s12.get_D();
22194 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22195 __PYX_ERR(0, 74, __pyx_L1_error)
22197 __pyx_t_1 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
22198 __Pyx_GOTREF(__pyx_t_1);
22199 __pyx_t_2 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)
22200 __Pyx_GOTREF(__pyx_t_2);
22201 #if CYTHON_COMPILING_IN_LIMITED_API
22202 __pyx_t_9 = PyBytes_AsString(__pyx_t_1);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 74, __pyx_L1_error)
22204 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_1);
22206 __pyx_t_7 = __pyx_array_new(__pyx_t_2,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 74, __pyx_L1_error)
22207 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22208 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22209 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22212 #if CYTHON_UNPACK_METHODS
22213 if (unlikely(PyMethod_Check(__pyx_t_3))) {
22214 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
22216 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
22217 __Pyx_INCREF(__pyx_t_5);
22218 __Pyx_INCREF(__pyx__function);
22219 __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
22224 PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_t_7)};
22225 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22226 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
22227 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22228 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22229 if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 74, __pyx_L1_error)
22230 __Pyx_GOTREF(__pyx_t_8);
22232 if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 74, __pyx_L1_error)
22233 __Pyx_GIVEREF(__pyx_t_8);
22234 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
22235 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
22236 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_8);
22246 __pyx_t_11 = __pyx_v_self->s12.inside_out;
22248 __pyx_v_self->inside_out = __pyx_t_11;
22257 __pyx_t_12 = __pyx_v_self->s12.edge;
22259 __pyx_v_self->edge = __pyx_t_12;
22268 __pyx_t_12 = __pyx_v_self->s12.corner;
22270 __pyx_v_self->corner = __pyx_t_12;
22289 __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 78, __pyx_L1_error)
22290 __Pyx_GOTREF(__pyx_t_8);
22291 __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 78, __pyx_L1_error)
22292 __Pyx_GOTREF(__pyx_t_3);
22293 __pyx_t_5 = PyTuple_New(2);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 78, __pyx_L1_error)
22294 __Pyx_GOTREF(__pyx_t_5);
22295 __Pyx_GIVEREF(__pyx_t_8);
22296 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 78, __pyx_L1_error);
22297 __Pyx_GIVEREF(__pyx_t_3);
22298 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 78, __pyx_L1_error);
22301 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[6], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 78, __pyx_L1_error)
22302 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22313 __pyx_t_5 = ((PyObject *)__pyx_v_self->xiBuffer);
22314 __Pyx_INCREF(__pyx_t_5);
22315 __pyx_v_icase = __pyx_v_self->s13.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_5))), 0);
22316 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22326 __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 80, __pyx_L1_error)
22327 __Pyx_GOTREF(__pyx_t_8);
22328 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)
22329 __Pyx_GOTREF(__pyx_t_1);
22330 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22331 __pyx_t_6 = __pyx_v_self->s13.get_H();
22334 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22335 __PYX_ERR(0, 80, __pyx_L1_error)
22337 __pyx_t_2 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 80, __pyx_L1_error)
22338 __Pyx_GOTREF(__pyx_t_2);
22339 __pyx_t_8 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 80, __pyx_L1_error)
22340 __Pyx_GOTREF(__pyx_t_8);
22341 #if CYTHON_COMPILING_IN_LIMITED_API
22342 __pyx_t_9 = PyBytes_AsString(__pyx_t_2);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 80, __pyx_L1_error)
22344 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_2);
22346 __pyx_t_7 = __pyx_array_new(__pyx_t_8,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 80, __pyx_L1_error)
22347 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22348 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22349 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22352 #if CYTHON_UNPACK_METHODS
22353 if (unlikely(PyMethod_Check(__pyx_t_1))) {
22354 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
22356 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
22357 __Pyx_INCREF(__pyx_t_3);
22358 __Pyx_INCREF(__pyx__function);
22359 __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
22364 PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_t_7)};
22365 __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22366 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
22367 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22368 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22369 if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 80, __pyx_L1_error)
22370 __Pyx_GOTREF(__pyx_t_5);
22372 if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 80, __pyx_L1_error)
22373 __Pyx_GIVEREF(__pyx_t_5);
22374 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
22375 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
22376 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_5);
22387 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
22388 __Pyx_GOTREF(__pyx_t_3);
22389 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error)
22390 __Pyx_GOTREF(__pyx_t_2);
22391 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22392 __pyx_t_6 = __pyx_v_self->s13.get_ImH();
22395 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22396 __PYX_ERR(0, 81, __pyx_L1_error)
22398 __pyx_t_8 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 81, __pyx_L1_error)
22399 __Pyx_GOTREF(__pyx_t_8);
22400 __pyx_t_3 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
22401 __Pyx_GOTREF(__pyx_t_3);
22402 #if CYTHON_COMPILING_IN_LIMITED_API
22403 __pyx_t_9 = PyBytes_AsString(__pyx_t_8);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 81, __pyx_L1_error)
22405 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_8);
22407 __pyx_t_7 = __pyx_array_new(__pyx_t_3,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 81, __pyx_L1_error)
22408 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22409 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22410 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22413 #if CYTHON_UNPACK_METHODS
22414 if (unlikely(PyMethod_Check(__pyx_t_2))) {
22415 __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
22417 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
22418 __Pyx_INCREF(__pyx_t_1);
22419 __Pyx_INCREF(__pyx__function);
22420 __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
22425 PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_t_7)};
22426 __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22427 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
22428 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22429 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22430 if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 81, __pyx_L1_error)
22431 __Pyx_GOTREF(__pyx_t_5);
22433 if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 81, __pyx_L1_error)
22434 __Pyx_GIVEREF(__pyx_t_5);
22435 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
22436 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
22437 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_5);
22448 __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error)
22449 __Pyx_GOTREF(__pyx_t_1);
22450 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 82, __pyx_L1_error)
22451 __Pyx_GOTREF(__pyx_t_8);
22452 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22453 __pyx_t_6 = __pyx_v_self->s13.get_D();
22456 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22457 __PYX_ERR(0, 82, __pyx_L1_error)
22459 __pyx_t_3 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error)
22460 __Pyx_GOTREF(__pyx_t_3);
22461 __pyx_t_1 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error)
22462 __Pyx_GOTREF(__pyx_t_1);
22463 #if CYTHON_COMPILING_IN_LIMITED_API
22464 __pyx_t_9 = PyBytes_AsString(__pyx_t_3);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 82, __pyx_L1_error)
22466 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_3);
22468 __pyx_t_7 = __pyx_array_new(__pyx_t_1,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 82, __pyx_L1_error)
22469 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22470 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22471 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22474 #if CYTHON_UNPACK_METHODS
22475 if (unlikely(PyMethod_Check(__pyx_t_8))) {
22476 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
22478 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
22479 __Pyx_INCREF(__pyx_t_2);
22480 __Pyx_INCREF(__pyx__function);
22481 __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
22486 PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_t_7)};
22487 __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22488 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
22489 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22490 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22491 if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 82, __pyx_L1_error)
22492 __Pyx_GOTREF(__pyx_t_5);
22494 if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 82, __pyx_L1_error)
22495 __Pyx_GIVEREF(__pyx_t_5);
22496 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
22497 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
22498 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_5);
22508 __pyx_t_11 = __pyx_v_self->s13.inside_out;
22510 __pyx_v_self->inside_out = __pyx_t_11;
22519 __pyx_t_12 = __pyx_v_self->s13.edge;
22521 __pyx_v_self->edge = __pyx_t_12;
22530 __pyx_t_12 = __pyx_v_self->s13.corner;
22532 __pyx_v_self->corner = __pyx_t_12;
22551 __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 86, __pyx_L1_error)
22552 __Pyx_GOTREF(__pyx_t_5);
22553 __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 86, __pyx_L1_error)
22554 __Pyx_GOTREF(__pyx_t_8);
22555 __pyx_t_2 = PyTuple_New(2);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)
22556 __Pyx_GOTREF(__pyx_t_2);
22557 __Pyx_GIVEREF(__pyx_t_5);
22558 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 86, __pyx_L1_error);
22559 __Pyx_GIVEREF(__pyx_t_8);
22560 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 86, __pyx_L1_error);
22563 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[7], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 86, __pyx_L1_error)
22564 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22575 __pyx_t_2 = ((PyObject *)__pyx_v_self->xiBuffer);
22576 __Pyx_INCREF(__pyx_t_2);
22577 __pyx_v_icase = __pyx_v_self->s21.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_2))), 0);
22578 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22588 __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L1_error)
22589 __Pyx_GOTREF(__pyx_t_5);
22590 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 88, __pyx_L1_error)
22591 __Pyx_GOTREF(__pyx_t_3);
22592 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22593 __pyx_t_6 = __pyx_v_self->s21.get_H();
22596 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22597 __PYX_ERR(0, 88, __pyx_L1_error)
22599 __pyx_t_1 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error)
22600 __Pyx_GOTREF(__pyx_t_1);
22601 __pyx_t_5 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 88, __pyx_L1_error)
22602 __Pyx_GOTREF(__pyx_t_5);
22603 #if CYTHON_COMPILING_IN_LIMITED_API
22604 __pyx_t_9 = PyBytes_AsString(__pyx_t_1);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 88, __pyx_L1_error)
22606 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_1);
22608 __pyx_t_7 = __pyx_array_new(__pyx_t_5,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 88, __pyx_L1_error)
22609 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22610 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22611 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22614 #if CYTHON_UNPACK_METHODS
22615 if (unlikely(PyMethod_Check(__pyx_t_3))) {
22616 __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
22618 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
22619 __Pyx_INCREF(__pyx_t_8);
22620 __Pyx_INCREF(__pyx__function);
22621 __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
22626 PyObject *__pyx_callargs[2] = {__pyx_t_8, ((PyObject *)__pyx_t_7)};
22627 __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22628 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
22629 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22630 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22631 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)
22632 __Pyx_GOTREF(__pyx_t_2);
22634 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 88, __pyx_L1_error)
22635 __Pyx_GIVEREF(__pyx_t_2);
22636 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
22637 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
22638 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_2);
22649 __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 89, __pyx_L1_error)
22650 __Pyx_GOTREF(__pyx_t_8);
22651 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
22652 __Pyx_GOTREF(__pyx_t_1);
22653 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22654 __pyx_t_6 = __pyx_v_self->s21.get_ImH();
22657 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22658 __PYX_ERR(0, 89, __pyx_L1_error)
22660 __pyx_t_5 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 89, __pyx_L1_error)
22661 __Pyx_GOTREF(__pyx_t_5);
22662 __pyx_t_8 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 89, __pyx_L1_error)
22663 __Pyx_GOTREF(__pyx_t_8);
22664 #if CYTHON_COMPILING_IN_LIMITED_API
22665 __pyx_t_9 = PyBytes_AsString(__pyx_t_5);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 89, __pyx_L1_error)
22667 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_5);
22669 __pyx_t_7 = __pyx_array_new(__pyx_t_8,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 89, __pyx_L1_error)
22670 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22671 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22672 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22675 #if CYTHON_UNPACK_METHODS
22676 if (unlikely(PyMethod_Check(__pyx_t_1))) {
22677 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
22679 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
22680 __Pyx_INCREF(__pyx_t_3);
22681 __Pyx_INCREF(__pyx__function);
22682 __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
22687 PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_t_7)};
22688 __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22689 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
22690 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22691 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22692 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 89, __pyx_L1_error)
22693 __Pyx_GOTREF(__pyx_t_2);
22695 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 89, __pyx_L1_error)
22696 __Pyx_GIVEREF(__pyx_t_2);
22697 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
22698 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
22699 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_2);
22710 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error)
22711 __Pyx_GOTREF(__pyx_t_3);
22712 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 90, __pyx_L1_error)
22713 __Pyx_GOTREF(__pyx_t_5);
22714 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22715 __pyx_t_6 = __pyx_v_self->s21.get_D();
22718 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22719 __PYX_ERR(0, 90, __pyx_L1_error)
22721 __pyx_t_8 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 90, __pyx_L1_error)
22722 __Pyx_GOTREF(__pyx_t_8);
22723 __pyx_t_3 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error)
22724 __Pyx_GOTREF(__pyx_t_3);
22725 #if CYTHON_COMPILING_IN_LIMITED_API
22726 __pyx_t_9 = PyBytes_AsString(__pyx_t_8);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 90, __pyx_L1_error)
22728 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_8);
22730 __pyx_t_7 = __pyx_array_new(__pyx_t_3,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 90, __pyx_L1_error)
22731 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22732 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22733 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22736 #if CYTHON_UNPACK_METHODS
22737 if (unlikely(PyMethod_Check(__pyx_t_5))) {
22738 __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
22740 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
22741 __Pyx_INCREF(__pyx_t_1);
22742 __Pyx_INCREF(__pyx__function);
22743 __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
22748 PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_t_7)};
22749 __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22750 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
22751 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22752 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22753 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error)
22754 __Pyx_GOTREF(__pyx_t_2);
22756 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 90, __pyx_L1_error)
22757 __Pyx_GIVEREF(__pyx_t_2);
22758 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
22759 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
22760 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_2);
22770 __pyx_t_11 = __pyx_v_self->s21.inside_out;
22772 __pyx_v_self->inside_out = __pyx_t_11;
22781 __pyx_t_12 = __pyx_v_self->s21.edge;
22783 __pyx_v_self->edge = __pyx_t_12;
22792 __pyx_t_12 = __pyx_v_self->s21.corner;
22794 __pyx_v_self->corner = __pyx_t_12;
22813 __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 94, __pyx_L1_error)
22814 __Pyx_GOTREF(__pyx_t_2);
22815 __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 94, __pyx_L1_error)
22816 __Pyx_GOTREF(__pyx_t_5);
22817 __pyx_t_1 = PyTuple_New(2);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
22818 __Pyx_GOTREF(__pyx_t_1);
22819 __Pyx_GIVEREF(__pyx_t_2);
22820 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2) != (0)) __PYX_ERR(0, 94, __pyx_L1_error);
22821 __Pyx_GIVEREF(__pyx_t_5);
22822 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_5) != (0)) __PYX_ERR(0, 94, __pyx_L1_error);
22825 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_1, __pyx_mstate_global->__pyx_tuple[8], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 94, __pyx_L1_error)
22826 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22837 __pyx_t_1 = ((PyObject *)__pyx_v_self->xiBuffer);
22838 __Pyx_INCREF(__pyx_t_1);
22839 __pyx_v_icase = __pyx_v_self->s22.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_1))), 0);
22840 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
22850 __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
22851 __Pyx_GOTREF(__pyx_t_2);
22852 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 96, __pyx_L1_error)
22853 __Pyx_GOTREF(__pyx_t_8);
22854 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22855 __pyx_t_6 = __pyx_v_self->s22.get_H();
22858 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22859 __PYX_ERR(0, 96, __pyx_L1_error)
22861 __pyx_t_3 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error)
22862 __Pyx_GOTREF(__pyx_t_3);
22863 __pyx_t_2 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
22864 __Pyx_GOTREF(__pyx_t_2);
22865 #if CYTHON_COMPILING_IN_LIMITED_API
22866 __pyx_t_9 = PyBytes_AsString(__pyx_t_3);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 96, __pyx_L1_error)
22868 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_3);
22870 __pyx_t_7 = __pyx_array_new(__pyx_t_2,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 96, __pyx_L1_error)
22871 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22872 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22873 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22876 #if CYTHON_UNPACK_METHODS
22877 if (unlikely(PyMethod_Check(__pyx_t_8))) {
22878 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
22880 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
22881 __Pyx_INCREF(__pyx_t_5);
22882 __Pyx_INCREF(__pyx__function);
22883 __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
22888 PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_t_7)};
22889 __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22890 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
22891 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22892 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22893 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
22894 __Pyx_GOTREF(__pyx_t_1);
22896 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 96, __pyx_L1_error)
22897 __Pyx_GIVEREF(__pyx_t_1);
22898 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
22899 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
22900 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_1);
22911 __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error)
22912 __Pyx_GOTREF(__pyx_t_5);
22913 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 97, __pyx_L1_error)
22914 __Pyx_GOTREF(__pyx_t_3);
22915 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22916 __pyx_t_6 = __pyx_v_self->s22.get_ImH();
22919 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22920 __PYX_ERR(0, 97, __pyx_L1_error)
22922 __pyx_t_2 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 97, __pyx_L1_error)
22923 __Pyx_GOTREF(__pyx_t_2);
22924 __pyx_t_5 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 97, __pyx_L1_error)
22925 __Pyx_GOTREF(__pyx_t_5);
22926 #if CYTHON_COMPILING_IN_LIMITED_API
22927 __pyx_t_9 = PyBytes_AsString(__pyx_t_2);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 97, __pyx_L1_error)
22929 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_2);
22931 __pyx_t_7 = __pyx_array_new(__pyx_t_5,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 97, __pyx_L1_error)
22932 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22933 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22934 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
22937 #if CYTHON_UNPACK_METHODS
22938 if (unlikely(PyMethod_Check(__pyx_t_3))) {
22939 __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
22941 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
22942 __Pyx_INCREF(__pyx_t_8);
22943 __Pyx_INCREF(__pyx__function);
22944 __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
22949 PyObject *__pyx_callargs[2] = {__pyx_t_8, ((PyObject *)__pyx_t_7)};
22950 __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
22951 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
22952 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
22953 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
22954 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error)
22955 __Pyx_GOTREF(__pyx_t_1);
22957 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 97, __pyx_L1_error)
22958 __Pyx_GIVEREF(__pyx_t_1);
22959 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
22960 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
22961 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_1);
22972 __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 98, __pyx_L1_error)
22973 __Pyx_GOTREF(__pyx_t_8);
22974 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 98, __pyx_L1_error)
22975 __Pyx_GOTREF(__pyx_t_2);
22976 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22977 __pyx_t_6 = __pyx_v_self->s22.get_D();
22980 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
22981 __PYX_ERR(0, 98, __pyx_L1_error)
22983 __pyx_t_5 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 98, __pyx_L1_error)
22984 __Pyx_GOTREF(__pyx_t_5);
22985 __pyx_t_8 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 98, __pyx_L1_error)
22986 __Pyx_GOTREF(__pyx_t_8);
22987 #if CYTHON_COMPILING_IN_LIMITED_API
22988 __pyx_t_9 = PyBytes_AsString(__pyx_t_5);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 98, __pyx_L1_error)
22990 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_5);
22992 __pyx_t_7 = __pyx_array_new(__pyx_t_8,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 98, __pyx_L1_error)
22993 __Pyx_GOTREF((PyObject *)__pyx_t_7);
22994 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
22995 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
22998 #if CYTHON_UNPACK_METHODS
22999 if (unlikely(PyMethod_Check(__pyx_t_2))) {
23000 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
23002 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
23003 __Pyx_INCREF(__pyx_t_3);
23004 __Pyx_INCREF(__pyx__function);
23005 __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
23010 PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_t_7)};
23011 __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23012 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
23013 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23014 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23015 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 98, __pyx_L1_error)
23016 __Pyx_GOTREF(__pyx_t_1);
23018 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 98, __pyx_L1_error)
23019 __Pyx_GIVEREF(__pyx_t_1);
23020 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
23021 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
23022 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_1);
23032 __pyx_t_11 = __pyx_v_self->s22.inside_out;
23034 __pyx_v_self->inside_out = __pyx_t_11;
23043 __pyx_t_12 = __pyx_v_self->s22.edge;
23045 __pyx_v_self->edge = __pyx_t_12;
23054 __pyx_t_12 = __pyx_v_self->s22.corner;
23056 __pyx_v_self->corner = __pyx_t_12;
23075 __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error)
23076 __Pyx_GOTREF(__pyx_t_1);
23077 __pyx_t_2 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error)
23078 __Pyx_GOTREF(__pyx_t_2);
23079 __pyx_t_3 = PyTuple_New(2);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error)
23080 __Pyx_GOTREF(__pyx_t_3);
23081 __Pyx_GIVEREF(__pyx_t_1);
23082 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 102, __pyx_L1_error);
23083 __Pyx_GIVEREF(__pyx_t_2);
23084 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2) != (0)) __PYX_ERR(0, 102, __pyx_L1_error);
23087 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[9], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 102, __pyx_L1_error)
23088 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23099 __pyx_t_3 = ((PyObject *)__pyx_v_self->xiBuffer);
23100 __Pyx_INCREF(__pyx_t_3);
23101 __pyx_v_icase = __pyx_v_self->s23.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_3))), 0);
23102 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23112 __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)
23113 __Pyx_GOTREF(__pyx_t_1);
23114 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 104, __pyx_L1_error)
23115 __Pyx_GOTREF(__pyx_t_5);
23116 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23117 __pyx_t_6 = __pyx_v_self->s23.get_H();
23120 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23121 __PYX_ERR(0, 104, __pyx_L1_error)
23123 __pyx_t_8 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 104, __pyx_L1_error)
23124 __Pyx_GOTREF(__pyx_t_8);
23125 __pyx_t_1 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 104, __pyx_L1_error)
23126 __Pyx_GOTREF(__pyx_t_1);
23127 #if CYTHON_COMPILING_IN_LIMITED_API
23128 __pyx_t_9 = PyBytes_AsString(__pyx_t_8);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 104, __pyx_L1_error)
23130 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_8);
23132 __pyx_t_7 = __pyx_array_new(__pyx_t_1,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 104, __pyx_L1_error)
23133 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23134 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23135 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23138 #if CYTHON_UNPACK_METHODS
23139 if (unlikely(PyMethod_Check(__pyx_t_5))) {
23140 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
23142 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
23143 __Pyx_INCREF(__pyx_t_2);
23144 __Pyx_INCREF(__pyx__function);
23145 __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
23150 PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_t_7)};
23151 __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23152 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
23153 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23154 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23155 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error)
23156 __Pyx_GOTREF(__pyx_t_3);
23158 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 104, __pyx_L1_error)
23159 __Pyx_GIVEREF(__pyx_t_3);
23160 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
23161 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
23162 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_3);
23173 __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
23174 __Pyx_GOTREF(__pyx_t_2);
23175 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 105, __pyx_L1_error)
23176 __Pyx_GOTREF(__pyx_t_8);
23177 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23178 __pyx_t_6 = __pyx_v_self->s23.get_ImH();
23181 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23182 __PYX_ERR(0, 105, __pyx_L1_error)
23184 __pyx_t_1 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
23185 __Pyx_GOTREF(__pyx_t_1);
23186 __pyx_t_2 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 105, __pyx_L1_error)
23187 __Pyx_GOTREF(__pyx_t_2);
23188 #if CYTHON_COMPILING_IN_LIMITED_API
23189 __pyx_t_9 = PyBytes_AsString(__pyx_t_1);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 105, __pyx_L1_error)
23191 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_1);
23193 __pyx_t_7 = __pyx_array_new(__pyx_t_2,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 105, __pyx_L1_error)
23194 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23195 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23196 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23199 #if CYTHON_UNPACK_METHODS
23200 if (unlikely(PyMethod_Check(__pyx_t_8))) {
23201 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
23203 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
23204 __Pyx_INCREF(__pyx_t_5);
23205 __Pyx_INCREF(__pyx__function);
23206 __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
23211 PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_t_7)};
23212 __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23213 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
23214 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23215 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23216 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 105, __pyx_L1_error)
23217 __Pyx_GOTREF(__pyx_t_3);
23219 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 105, __pyx_L1_error)
23220 __Pyx_GIVEREF(__pyx_t_3);
23221 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
23222 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
23223 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_3);
23234 __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error)
23235 __Pyx_GOTREF(__pyx_t_5);
23236 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
23237 __Pyx_GOTREF(__pyx_t_1);
23238 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23239 __pyx_t_6 = __pyx_v_self->s23.get_D();
23242 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23243 __PYX_ERR(0, 106, __pyx_L1_error)
23245 __pyx_t_2 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error)
23246 __Pyx_GOTREF(__pyx_t_2);
23247 __pyx_t_5 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error)
23248 __Pyx_GOTREF(__pyx_t_5);
23249 #if CYTHON_COMPILING_IN_LIMITED_API
23250 __pyx_t_9 = PyBytes_AsString(__pyx_t_2);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 106, __pyx_L1_error)
23252 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_2);
23254 __pyx_t_7 = __pyx_array_new(__pyx_t_5,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 106, __pyx_L1_error)
23255 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23256 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23257 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23260 #if CYTHON_UNPACK_METHODS
23261 if (unlikely(PyMethod_Check(__pyx_t_1))) {
23262 __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
23264 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
23265 __Pyx_INCREF(__pyx_t_8);
23266 __Pyx_INCREF(__pyx__function);
23267 __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
23272 PyObject *__pyx_callargs[2] = {__pyx_t_8, ((PyObject *)__pyx_t_7)};
23273 __pyx_t_3 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23274 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
23275 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23276 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23277 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error)
23278 __Pyx_GOTREF(__pyx_t_3);
23280 if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 106, __pyx_L1_error)
23281 __Pyx_GIVEREF(__pyx_t_3);
23282 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
23283 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
23284 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_3);
23294 __pyx_t_11 = __pyx_v_self->s23.inside_out;
23296 __pyx_v_self->inside_out = __pyx_t_11;
23305 __pyx_t_12 = __pyx_v_self->s23.edge;
23307 __pyx_v_self->edge = __pyx_t_12;
23316 __pyx_t_12 = __pyx_v_self->s23.corner;
23318 __pyx_v_self->corner = __pyx_t_12;
23337 __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error)
23338 __Pyx_GOTREF(__pyx_t_3);
23339 __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error)
23340 __Pyx_GOTREF(__pyx_t_1);
23341 __pyx_t_8 = PyTuple_New(2);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 110, __pyx_L1_error)
23342 __Pyx_GOTREF(__pyx_t_8);
23343 __Pyx_GIVEREF(__pyx_t_3);
23344 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3) != (0)) __PYX_ERR(0, 110, __pyx_L1_error);
23345 __Pyx_GIVEREF(__pyx_t_1);
23346 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_1) != (0)) __PYX_ERR(0, 110, __pyx_L1_error);
23349 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_8, __pyx_mstate_global->__pyx_tuple[10], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 110, __pyx_L1_error)
23350 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23361 __pyx_t_8 = ((PyObject *)__pyx_v_self->xiBuffer);
23362 __Pyx_INCREF(__pyx_t_8);
23363 __pyx_v_icase = __pyx_v_self->s31.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_8))), 0);
23364 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23374 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 112, __pyx_L1_error)
23375 __Pyx_GOTREF(__pyx_t_3);
23376 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 112, __pyx_L1_error)
23377 __Pyx_GOTREF(__pyx_t_2);
23378 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23379 __pyx_t_6 = __pyx_v_self->s31.get_H();
23382 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23383 __PYX_ERR(0, 112, __pyx_L1_error)
23385 __pyx_t_5 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 112, __pyx_L1_error)
23386 __Pyx_GOTREF(__pyx_t_5);
23387 __pyx_t_3 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 112, __pyx_L1_error)
23388 __Pyx_GOTREF(__pyx_t_3);
23389 #if CYTHON_COMPILING_IN_LIMITED_API
23390 __pyx_t_9 = PyBytes_AsString(__pyx_t_5);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 112, __pyx_L1_error)
23392 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_5);
23394 __pyx_t_7 = __pyx_array_new(__pyx_t_3,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 112, __pyx_L1_error)
23395 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23396 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23397 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23400 #if CYTHON_UNPACK_METHODS
23401 if (unlikely(PyMethod_Check(__pyx_t_2))) {
23402 __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
23404 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
23405 __Pyx_INCREF(__pyx_t_1);
23406 __Pyx_INCREF(__pyx__function);
23407 __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
23412 PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_t_7)};
23413 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23414 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
23415 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23416 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23417 if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 112, __pyx_L1_error)
23418 __Pyx_GOTREF(__pyx_t_8);
23420 if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 112, __pyx_L1_error)
23421 __Pyx_GIVEREF(__pyx_t_8);
23422 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
23423 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
23424 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_8);
23435 __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
23436 __Pyx_GOTREF(__pyx_t_1);
23437 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 113, __pyx_L1_error)
23438 __Pyx_GOTREF(__pyx_t_5);
23439 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23440 __pyx_t_6 = __pyx_v_self->s31.get_ImH();
23443 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23444 __PYX_ERR(0, 113, __pyx_L1_error)
23446 __pyx_t_3 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 113, __pyx_L1_error)
23447 __Pyx_GOTREF(__pyx_t_3);
23448 __pyx_t_1 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
23449 __Pyx_GOTREF(__pyx_t_1);
23450 #if CYTHON_COMPILING_IN_LIMITED_API
23451 __pyx_t_9 = PyBytes_AsString(__pyx_t_3);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 113, __pyx_L1_error)
23453 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_3);
23455 __pyx_t_7 = __pyx_array_new(__pyx_t_1,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 113, __pyx_L1_error)
23456 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23457 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23458 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23461 #if CYTHON_UNPACK_METHODS
23462 if (unlikely(PyMethod_Check(__pyx_t_5))) {
23463 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
23465 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
23466 __Pyx_INCREF(__pyx_t_2);
23467 __Pyx_INCREF(__pyx__function);
23468 __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
23473 PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_t_7)};
23474 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23475 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
23476 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23477 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23478 if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 113, __pyx_L1_error)
23479 __Pyx_GOTREF(__pyx_t_8);
23481 if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 113, __pyx_L1_error)
23482 __Pyx_GIVEREF(__pyx_t_8);
23483 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
23484 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
23485 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_8);
23496 __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 114, __pyx_L1_error)
23497 __Pyx_GOTREF(__pyx_t_2);
23498 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 114, __pyx_L1_error)
23499 __Pyx_GOTREF(__pyx_t_3);
23500 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23501 __pyx_t_6 = __pyx_v_self->s31.get_D();
23504 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23505 __PYX_ERR(0, 114, __pyx_L1_error)
23507 __pyx_t_1 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error)
23508 __Pyx_GOTREF(__pyx_t_1);
23509 __pyx_t_2 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 114, __pyx_L1_error)
23510 __Pyx_GOTREF(__pyx_t_2);
23511 #if CYTHON_COMPILING_IN_LIMITED_API
23512 __pyx_t_9 = PyBytes_AsString(__pyx_t_1);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 114, __pyx_L1_error)
23514 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_1);
23516 __pyx_t_7 = __pyx_array_new(__pyx_t_2,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 114, __pyx_L1_error)
23517 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23518 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23519 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23522 #if CYTHON_UNPACK_METHODS
23523 if (unlikely(PyMethod_Check(__pyx_t_3))) {
23524 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
23526 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
23527 __Pyx_INCREF(__pyx_t_5);
23528 __Pyx_INCREF(__pyx__function);
23529 __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
23534 PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_t_7)};
23535 __pyx_t_8 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23536 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
23537 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23538 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23539 if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 114, __pyx_L1_error)
23540 __Pyx_GOTREF(__pyx_t_8);
23542 if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 114, __pyx_L1_error)
23543 __Pyx_GIVEREF(__pyx_t_8);
23544 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
23545 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
23546 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_8);
23556 __pyx_t_11 = __pyx_v_self->s31.inside_out;
23558 __pyx_v_self->inside_out = __pyx_t_11;
23567 __pyx_t_12 = __pyx_v_self->s31.edge;
23569 __pyx_v_self->edge = __pyx_t_12;
23578 __pyx_t_12 = __pyx_v_self->s31.corner;
23580 __pyx_v_self->corner = __pyx_t_12;
23599 __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 118, __pyx_L1_error)
23600 __Pyx_GOTREF(__pyx_t_8);
23601 __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
23602 __Pyx_GOTREF(__pyx_t_3);
23603 __pyx_t_5 = PyTuple_New(2);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 118, __pyx_L1_error)
23604 __Pyx_GOTREF(__pyx_t_5);
23605 __Pyx_GIVEREF(__pyx_t_8);
23606 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8) != (0)) __PYX_ERR(0, 118, __pyx_L1_error);
23607 __Pyx_GIVEREF(__pyx_t_3);
23608 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3) != (0)) __PYX_ERR(0, 118, __pyx_L1_error);
23611 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_5, __pyx_mstate_global->__pyx_tuple[11], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 118, __pyx_L1_error)
23612 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23623 __pyx_t_5 = ((PyObject *)__pyx_v_self->xiBuffer);
23624 __Pyx_INCREF(__pyx_t_5);
23625 __pyx_v_icase = __pyx_v_self->s32.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_5))), 0);
23626 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23636 __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 120, __pyx_L1_error)
23637 __Pyx_GOTREF(__pyx_t_8);
23638 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error)
23639 __Pyx_GOTREF(__pyx_t_1);
23640 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23641 __pyx_t_6 = __pyx_v_self->s32.get_H();
23644 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23645 __PYX_ERR(0, 120, __pyx_L1_error)
23647 __pyx_t_2 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error)
23648 __Pyx_GOTREF(__pyx_t_2);
23649 __pyx_t_8 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 120, __pyx_L1_error)
23650 __Pyx_GOTREF(__pyx_t_8);
23651 #if CYTHON_COMPILING_IN_LIMITED_API
23652 __pyx_t_9 = PyBytes_AsString(__pyx_t_2);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 120, __pyx_L1_error)
23654 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_2);
23656 __pyx_t_7 = __pyx_array_new(__pyx_t_8,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 120, __pyx_L1_error)
23657 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23658 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23659 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23662 #if CYTHON_UNPACK_METHODS
23663 if (unlikely(PyMethod_Check(__pyx_t_1))) {
23664 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
23666 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
23667 __Pyx_INCREF(__pyx_t_3);
23668 __Pyx_INCREF(__pyx__function);
23669 __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
23674 PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_t_7)};
23675 __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23676 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
23677 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23678 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23679 if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 120, __pyx_L1_error)
23680 __Pyx_GOTREF(__pyx_t_5);
23682 if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 120, __pyx_L1_error)
23683 __Pyx_GIVEREF(__pyx_t_5);
23684 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
23685 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
23686 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_5);
23697 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 121, __pyx_L1_error)
23698 __Pyx_GOTREF(__pyx_t_3);
23699 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error)
23700 __Pyx_GOTREF(__pyx_t_2);
23701 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23702 __pyx_t_6 = __pyx_v_self->s32.get_ImH();
23705 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23706 __PYX_ERR(0, 121, __pyx_L1_error)
23708 __pyx_t_8 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 121, __pyx_L1_error)
23709 __Pyx_GOTREF(__pyx_t_8);
23710 __pyx_t_3 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 121, __pyx_L1_error)
23711 __Pyx_GOTREF(__pyx_t_3);
23712 #if CYTHON_COMPILING_IN_LIMITED_API
23713 __pyx_t_9 = PyBytes_AsString(__pyx_t_8);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 121, __pyx_L1_error)
23715 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_8);
23717 __pyx_t_7 = __pyx_array_new(__pyx_t_3,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 121, __pyx_L1_error)
23718 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23719 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23720 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23723 #if CYTHON_UNPACK_METHODS
23724 if (unlikely(PyMethod_Check(__pyx_t_2))) {
23725 __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
23727 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_2);
23728 __Pyx_INCREF(__pyx_t_1);
23729 __Pyx_INCREF(__pyx__function);
23730 __Pyx_DECREF_SET(__pyx_t_2, __pyx__function);
23735 PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_t_7)};
23736 __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_2, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23737 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
23738 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23739 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23740 if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 121, __pyx_L1_error)
23741 __Pyx_GOTREF(__pyx_t_5);
23743 if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 121, __pyx_L1_error)
23744 __Pyx_GIVEREF(__pyx_t_5);
23745 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
23746 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
23747 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_5);
23758 __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error)
23759 __Pyx_GOTREF(__pyx_t_1);
23760 __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 122, __pyx_L1_error)
23761 __Pyx_GOTREF(__pyx_t_8);
23762 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23763 __pyx_t_6 = __pyx_v_self->s32.get_D();
23766 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23767 __PYX_ERR(0, 122, __pyx_L1_error)
23769 __pyx_t_3 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error)
23770 __Pyx_GOTREF(__pyx_t_3);
23771 __pyx_t_1 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error)
23772 __Pyx_GOTREF(__pyx_t_1);
23773 #if CYTHON_COMPILING_IN_LIMITED_API
23774 __pyx_t_9 = PyBytes_AsString(__pyx_t_3);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 122, __pyx_L1_error)
23776 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_3);
23778 __pyx_t_7 = __pyx_array_new(__pyx_t_1,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 122, __pyx_L1_error)
23779 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23780 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23781 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23784 #if CYTHON_UNPACK_METHODS
23785 if (unlikely(PyMethod_Check(__pyx_t_8))) {
23786 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
23788 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_8);
23789 __Pyx_INCREF(__pyx_t_2);
23790 __Pyx_INCREF(__pyx__function);
23791 __Pyx_DECREF_SET(__pyx_t_8, __pyx__function);
23796 PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_t_7)};
23797 __pyx_t_5 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_8, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23798 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
23799 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23800 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23801 if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 122, __pyx_L1_error)
23802 __Pyx_GOTREF(__pyx_t_5);
23804 if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 122, __pyx_L1_error)
23805 __Pyx_GIVEREF(__pyx_t_5);
23806 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
23807 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
23808 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_5);
23818 __pyx_t_11 = __pyx_v_self->s32.inside_out;
23820 __pyx_v_self->inside_out = __pyx_t_11;
23829 __pyx_t_12 = __pyx_v_self->s32.edge;
23831 __pyx_v_self->edge = __pyx_t_12;
23840 __pyx_t_12 = __pyx_v_self->s32.corner;
23842 __pyx_v_self->corner = __pyx_t_12;
23861 __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_self->nSpace);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error)
23862 __Pyx_GOTREF(__pyx_t_5);
23863 __pyx_t_8 = __Pyx_PyLong_From_int(__pyx_v_self->nP);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 126, __pyx_L1_error)
23864 __Pyx_GOTREF(__pyx_t_8);
23865 __pyx_t_2 = PyTuple_New(2);
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error)
23866 __Pyx_GOTREF(__pyx_t_2);
23867 __Pyx_GIVEREF(__pyx_t_5);
23868 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5) != (0)) __PYX_ERR(0, 126, __pyx_L1_error);
23869 __Pyx_GIVEREF(__pyx_t_8);
23870 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8) != (0)) __PYX_ERR(0, 126, __pyx_L1_error);
23873 __pyx_t_4 = __Pyx_PyObject_RichCompareBool(__pyx_t_2, __pyx_mstate_global->__pyx_tuple[12], Py_EQ);
if (unlikely((__pyx_t_4 < 0))) __PYX_ERR(0, 126, __pyx_L1_error)
23874 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23885 __pyx_t_2 = ((PyObject *)__pyx_v_self->xiBuffer);
23886 __Pyx_INCREF(__pyx_t_2);
23887 __pyx_v_icase = __pyx_v_self->s33.calculate(((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_dof)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(__pyx_v_phi_nodes)), ((
double *)__pyx_f_5numpy_7ndarray_4data___get__(((PyArrayObject *)__pyx_t_2))), 0);
23888 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
23898 __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 128, __pyx_L1_error)
23899 __Pyx_GOTREF(__pyx_t_5);
23900 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 128, __pyx_L1_error)
23901 __Pyx_GOTREF(__pyx_t_3);
23902 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23903 __pyx_t_6 = __pyx_v_self->s33.get_H();
23906 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23907 __PYX_ERR(0, 128, __pyx_L1_error)
23909 __pyx_t_1 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error)
23910 __Pyx_GOTREF(__pyx_t_1);
23911 __pyx_t_5 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 128, __pyx_L1_error)
23912 __Pyx_GOTREF(__pyx_t_5);
23913 #if CYTHON_COMPILING_IN_LIMITED_API
23914 __pyx_t_9 = PyBytes_AsString(__pyx_t_1);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 128, __pyx_L1_error)
23916 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_1);
23918 __pyx_t_7 = __pyx_array_new(__pyx_t_5,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 128, __pyx_L1_error)
23919 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23920 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23921 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
23924 #if CYTHON_UNPACK_METHODS
23925 if (unlikely(PyMethod_Check(__pyx_t_3))) {
23926 __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
23928 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_3);
23929 __Pyx_INCREF(__pyx_t_8);
23930 __Pyx_INCREF(__pyx__function);
23931 __Pyx_DECREF_SET(__pyx_t_3, __pyx__function);
23936 PyObject *__pyx_callargs[2] = {__pyx_t_8, ((PyObject *)__pyx_t_7)};
23937 __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_3, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23938 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
23939 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
23940 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
23941 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error)
23942 __Pyx_GOTREF(__pyx_t_2);
23944 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 128, __pyx_L1_error)
23945 __Pyx_GIVEREF(__pyx_t_2);
23946 __Pyx_GOTREF((PyObject *)__pyx_v_self->_H);
23947 __Pyx_DECREF((PyObject *)__pyx_v_self->_H);
23948 __pyx_v_self->_H = ((PyArrayObject *)__pyx_t_2);
23959 __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 129, __pyx_L1_error)
23960 __Pyx_GOTREF(__pyx_t_8);
23961 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error)
23962 __Pyx_GOTREF(__pyx_t_1);
23963 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23964 __pyx_t_6 = __pyx_v_self->s33.get_ImH();
23967 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
23968 __PYX_ERR(0, 129, __pyx_L1_error)
23970 __pyx_t_5 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 129, __pyx_L1_error)
23971 __Pyx_GOTREF(__pyx_t_5);
23972 __pyx_t_8 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 129, __pyx_L1_error)
23973 __Pyx_GOTREF(__pyx_t_8);
23974 #if CYTHON_COMPILING_IN_LIMITED_API
23975 __pyx_t_9 = PyBytes_AsString(__pyx_t_5);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 129, __pyx_L1_error)
23977 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_5);
23979 __pyx_t_7 = __pyx_array_new(__pyx_t_8,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 129, __pyx_L1_error)
23980 __Pyx_GOTREF((PyObject *)__pyx_t_7);
23981 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
23982 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23985 #if CYTHON_UNPACK_METHODS
23986 if (unlikely(PyMethod_Check(__pyx_t_1))) {
23987 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
23989 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_1);
23990 __Pyx_INCREF(__pyx_t_3);
23991 __Pyx_INCREF(__pyx__function);
23992 __Pyx_DECREF_SET(__pyx_t_1, __pyx__function);
23997 PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_t_7)};
23998 __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_1, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
23999 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
24000 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
24001 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
24002 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 129, __pyx_L1_error)
24003 __Pyx_GOTREF(__pyx_t_2);
24005 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 129, __pyx_L1_error)
24006 __Pyx_GIVEREF(__pyx_t_2);
24007 __Pyx_GOTREF((PyObject *)__pyx_v_self->_ImH);
24008 __Pyx_DECREF((PyObject *)__pyx_v_self->_ImH);
24009 __pyx_v_self->_ImH = ((PyArrayObject *)__pyx_t_2);
24020 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error)
24021 __Pyx_GOTREF(__pyx_t_3);
24022 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_asarray);
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 130, __pyx_L1_error)
24023 __Pyx_GOTREF(__pyx_t_5);
24024 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24025 __pyx_t_6 = __pyx_v_self->s33.get_D();
24028 PyErr_SetString(PyExc_ValueError,
"Cannot create cython.array from NULL pointer");
24029 __PYX_ERR(0, 130, __pyx_L1_error)
24031 __pyx_t_8 = __pyx_format_from_typeinfo(&__Pyx_TypeInfo_double);
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 130, __pyx_L1_error)
24032 __Pyx_GOTREF(__pyx_t_8);
24033 __pyx_t_3 = Py_BuildValue(
"(" __PYX_BUILD_PY_SSIZE_T
")", ((Py_ssize_t)__pyx_v_self->nQ));
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 130, __pyx_L1_error)
24034 __Pyx_GOTREF(__pyx_t_3);
24035 #if CYTHON_COMPILING_IN_LIMITED_API
24036 __pyx_t_9 = PyBytes_AsString(__pyx_t_8);
if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 130, __pyx_L1_error)
24038 __pyx_t_9 = PyBytes_AS_STRING(__pyx_t_8);
24040 __pyx_t_7 = __pyx_array_new(__pyx_t_3,
sizeof(
double), __pyx_t_9,
"c", (
char *) __pyx_t_6);
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 130, __pyx_L1_error)
24041 __Pyx_GOTREF((PyObject *)__pyx_t_7);
24042 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
24043 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
24046 #if CYTHON_UNPACK_METHODS
24047 if (unlikely(PyMethod_Check(__pyx_t_5))) {
24048 __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
24050 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_5);
24051 __Pyx_INCREF(__pyx_t_1);
24052 __Pyx_INCREF(__pyx__function);
24053 __Pyx_DECREF_SET(__pyx_t_5, __pyx__function);
24058 PyObject *__pyx_callargs[2] = {__pyx_t_1, ((PyObject *)__pyx_t_7)};
24059 __pyx_t_2 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_5, __pyx_callargs+__pyx_t_10, (2-__pyx_t_10) | (__pyx_t_10*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
24060 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
24061 __Pyx_DECREF((PyObject *)__pyx_t_7); __pyx_t_7 = 0;
24062 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
24063 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 130, __pyx_L1_error)
24064 __Pyx_GOTREF(__pyx_t_2);
24066 if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 130, __pyx_L1_error)
24067 __Pyx_GIVEREF(__pyx_t_2);
24068 __Pyx_GOTREF((PyObject *)__pyx_v_self->_D);
24069 __Pyx_DECREF((PyObject *)__pyx_v_self->_D);
24070 __pyx_v_self->_D = ((PyArrayObject *)__pyx_t_2);
24080 __pyx_t_11 = __pyx_v_self->s33.inside_out;
24082 __pyx_v_self->inside_out = __pyx_t_11;
24091 __pyx_t_12 = __pyx_v_self->s33.edge;
24093 __pyx_v_self->edge = __pyx_t_12;
24102 __pyx_t_12 = __pyx_v_self->s33.corner;
24104 __pyx_v_self->corner = __pyx_t_12;
24125 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
24128 __Pyx_XDECREF(__pyx_t_1);
24129 __Pyx_XDECREF(__pyx_t_2);
24130 __Pyx_XDECREF(__pyx_t_3);
24131 __Pyx_XDECREF(__pyx_t_5);
24132 __Pyx_XDECREF((PyObject *)__pyx_t_7);
24133 __Pyx_XDECREF(__pyx_t_8);
24134 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.calculate", __pyx_clineno, __pyx_lineno, __pyx_filename);
24138 __Pyx_XGIVEREF(__pyx_r);
24139 __Pyx_RefNannyFinishContext();
24152static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_5set_quad(PyObject *__pyx_v_self,
24153#
if CYTHON_VECTORCALL
24154PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
24156PyObject *__pyx_args, PyObject *__pyx_kwds
24159static PyMethodDef __pyx_mdef_22equivalent_polynomials_7Simplex_5set_quad = {
"set_quad", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_7Simplex_5set_quad, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
24160static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_5set_quad(PyObject *__pyx_v_self,
24161#
if CYTHON_VECTORCALL
24162PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
24164PyObject *__pyx_args, PyObject *__pyx_kwds
24168 #if !CYTHON_VECTORCALL
24169 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
24171 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
24172 PyObject* values[1] = {0};
24173 int __pyx_lineno = 0;
24174 const char *__pyx_filename = NULL;
24175 int __pyx_clineno = 0;
24176 PyObject *__pyx_r = 0;
24177 __Pyx_RefNannyDeclarations
24178 __Pyx_RefNannySetupContext(
"set_quad (wrapper)", 0);
24179 #if !CYTHON_VECTORCALL
24180 #if CYTHON_ASSUME_SAFE_SIZE
24181 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
24183 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
24186 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
24188 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_q,0};
24189 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
24190 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 134, __pyx_L3_error)
24191 if (__pyx_kwds_len > 0) {
24192 switch (__pyx_nargs) {
24194 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
24195 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 134, __pyx_L3_error)
24196 CYTHON_FALLTHROUGH;
24198 default:
goto __pyx_L5_argtuple_error;
24200 const Py_ssize_t kwd_pos_args = __pyx_nargs;
24201 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"set_quad", 0) < (0)) __PYX_ERR(0, 134, __pyx_L3_error)
24202 for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
24203 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"set_quad", 1, 1, 1, i); __PYX_ERR(0, 134, __pyx_L3_error) }
24205 }
else if (unlikely(__pyx_nargs != 1)) {
24206 goto __pyx_L5_argtuple_error;
24208 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
24209 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 134, __pyx_L3_error)
24211 __pyx_v_q = __Pyx_PyLong_As_int(values[0]);
if (unlikely((__pyx_v_q == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 134, __pyx_L3_error)
24213 goto __pyx_L6_skip;
24214 __pyx_L5_argtuple_error:;
24215 __Pyx_RaiseArgtupleInvalid(
"set_quad", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 134, __pyx_L3_error)
24217 goto __pyx_L4_argument_unpacking_done;
24219 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
24220 Py_XDECREF(values[__pyx_temp]);
24222 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.set_quad", __pyx_clineno, __pyx_lineno, __pyx_filename);
24223 __Pyx_RefNannyFinishContext();
24225 __pyx_L4_argument_unpacking_done:;
24226 __pyx_r = __pyx_pf_22equivalent_polynomials_7Simplex_4set_quad(((
struct __pyx_obj_22equivalent_polynomials_Simplex *)__pyx_v_self), __pyx_v_q);
24229 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
24230 Py_XDECREF(values[__pyx_temp]);
24233 __Pyx_RefNannyFinishContext();
24237static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_4set_quad(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self,
int __pyx_v_q) {
24238 PyObject *__pyx_r = NULL;
24239 __Pyx_RefNannyDeclarations
24240 __Pyx_RefNannySetupContext(
"set_quad", 0);
24249 __pyx_v_self->q = __pyx_v_q;
24260 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
24261 __Pyx_XGIVEREF(__pyx_r);
24262 __Pyx_RefNannyFinishContext();
24275static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_1H_1__get__(PyObject *__pyx_v_self);
24276static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_1H_1__get__(PyObject *__pyx_v_self) {
24277 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
24278 PyObject *__pyx_r = 0;
24279 __Pyx_RefNannyDeclarations
24280 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
24281 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
24282 __pyx_r = __pyx_pf_22equivalent_polynomials_7Simplex_1H___get__(((
struct __pyx_obj_22equivalent_polynomials_Simplex *)__pyx_v_self));
24285 __Pyx_RefNannyFinishContext();
24289static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_1H___get__(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self) {
24290 PyObject *__pyx_r = NULL;
24291 __Pyx_RefNannyDeclarations
24294 PyObject *__pyx_t_3 = NULL;
24295 int __pyx_lineno = 0;
24296 const char *__pyx_filename = NULL;
24297 int __pyx_clineno = 0;
24298 __Pyx_RefNannySetupContext(
"__get__", 0);
24307 __pyx_t_2 = (__pyx_v_self->edge == -1L);
24313 __pyx_t_1 = __pyx_t_2;
24315 goto __pyx_L4_bool_binop_done;
24317 __pyx_t_2 = (__pyx_v_self->corner == -1L);
24320 __pyx_t_1 = __pyx_t_2;
24322 __pyx_L4_bool_binop_done:;
24334 PyObject *__pyx_temp;
24336 __pyx_temp = __pyx_r;
24337 __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
24338 __pyx_r = __pyx_mstate_global->__pyx_float_0_0;
24340 __Pyx_XDECREF(__pyx_temp);
24360 __pyx_t_2 = (__pyx_v_self->edge == 1);
24366 __pyx_t_1 = __pyx_t_2;
24368 goto __pyx_L6_bool_binop_done;
24370 __pyx_t_2 = (__pyx_v_self->corner == 1);
24373 __pyx_t_1 = __pyx_t_2;
24375 __pyx_L6_bool_binop_done:;
24387 PyObject *__pyx_temp;
24389 __pyx_temp = __pyx_r;
24390 __Pyx_INCREF(__pyx_mstate_global->__pyx_float_1_0);
24391 __pyx_r = __pyx_mstate_global->__pyx_float_1_0;
24393 __Pyx_XDECREF(__pyx_temp);
24413 __pyx_t_1 = (__pyx_v_self->inside_out != 0);
24425 __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_self->_ImH), __pyx_v_self->q,
int, 1, __Pyx_PyLong_From_int, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 147, __pyx_L1_error)
24426 __Pyx_GOTREF(__pyx_t_3);
24428 PyObject *__pyx_temp;
24430 __pyx_temp = __pyx_r;
24431 __pyx_r = __pyx_t_3;
24433 __Pyx_XDECREF(__pyx_temp);
24455 __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_self->_H), __pyx_v_self->q,
int, 1, __Pyx_PyLong_From_int, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 149, __pyx_L1_error)
24456 __Pyx_GOTREF(__pyx_t_3);
24458 PyObject *__pyx_temp;
24460 __pyx_temp = __pyx_r;
24461 __pyx_r = __pyx_t_3;
24463 __Pyx_XDECREF(__pyx_temp);
24479 __Pyx_XDECREF(__pyx_t_3);
24480 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.H.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
24483 __Pyx_XGIVEREF(__pyx_r);
24484 __Pyx_RefNannyFinishContext();
24497static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_3ImH_1__get__(PyObject *__pyx_v_self);
24498static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_3ImH_1__get__(PyObject *__pyx_v_self) {
24499 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
24500 PyObject *__pyx_r = 0;
24501 __Pyx_RefNannyDeclarations
24502 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
24503 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
24504 __pyx_r = __pyx_pf_22equivalent_polynomials_7Simplex_3ImH___get__(((
struct __pyx_obj_22equivalent_polynomials_Simplex *)__pyx_v_self));
24507 __Pyx_RefNannyFinishContext();
24511static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_3ImH___get__(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self) {
24512 PyObject *__pyx_r = NULL;
24513 __Pyx_RefNannyDeclarations
24516 PyObject *__pyx_t_3 = NULL;
24517 int __pyx_lineno = 0;
24518 const char *__pyx_filename = NULL;
24519 int __pyx_clineno = 0;
24520 __Pyx_RefNannySetupContext(
"__get__", 0);
24529 __pyx_t_2 = (__pyx_v_self->edge == -1L);
24535 __pyx_t_1 = __pyx_t_2;
24537 goto __pyx_L4_bool_binop_done;
24539 __pyx_t_2 = (__pyx_v_self->corner == -1L);
24542 __pyx_t_1 = __pyx_t_2;
24544 __pyx_L4_bool_binop_done:;
24556 PyObject *__pyx_temp;
24558 __pyx_temp = __pyx_r;
24559 __Pyx_INCREF(__pyx_mstate_global->__pyx_float_1_0);
24560 __pyx_r = __pyx_mstate_global->__pyx_float_1_0;
24562 __Pyx_XDECREF(__pyx_temp);
24582 __pyx_t_2 = (__pyx_v_self->edge == 1);
24588 __pyx_t_1 = __pyx_t_2;
24590 goto __pyx_L6_bool_binop_done;
24592 __pyx_t_2 = (__pyx_v_self->corner == 1);
24595 __pyx_t_1 = __pyx_t_2;
24597 __pyx_L6_bool_binop_done:;
24609 PyObject *__pyx_temp;
24611 __pyx_temp = __pyx_r;
24612 __Pyx_INCREF(__pyx_mstate_global->__pyx_float_0_0);
24613 __pyx_r = __pyx_mstate_global->__pyx_float_0_0;
24615 __Pyx_XDECREF(__pyx_temp);
24635 __pyx_t_1 = (__pyx_v_self->inside_out != 0);
24647 __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_self->_H), __pyx_v_self->q,
int, 1, __Pyx_PyLong_From_int, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 157, __pyx_L1_error)
24648 __Pyx_GOTREF(__pyx_t_3);
24650 PyObject *__pyx_temp;
24652 __pyx_temp = __pyx_r;
24653 __pyx_r = __pyx_t_3;
24655 __Pyx_XDECREF(__pyx_temp);
24677 __pyx_t_3 = __Pyx_GetItemInt(((PyObject *)__pyx_v_self->_ImH), __pyx_v_self->q,
int, 1, __Pyx_PyLong_From_int, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 159, __pyx_L1_error)
24678 __Pyx_GOTREF(__pyx_t_3);
24680 PyObject *__pyx_temp;
24682 __pyx_temp = __pyx_r;
24683 __pyx_r = __pyx_t_3;
24685 __Pyx_XDECREF(__pyx_temp);
24701 __Pyx_XDECREF(__pyx_t_3);
24702 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.ImH.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
24705 __Pyx_XGIVEREF(__pyx_r);
24706 __Pyx_RefNannyFinishContext();
24719static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_1D_1__get__(PyObject *__pyx_v_self);
24720static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_1D_1__get__(PyObject *__pyx_v_self) {
24721 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
24722 PyObject *__pyx_r = 0;
24723 __Pyx_RefNannyDeclarations
24724 __Pyx_RefNannySetupContext(
"__get__ (wrapper)", 0);
24725 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
24726 __pyx_r = __pyx_pf_22equivalent_polynomials_7Simplex_1D___get__(((
struct __pyx_obj_22equivalent_polynomials_Simplex *)__pyx_v_self));
24729 __Pyx_RefNannyFinishContext();
24733static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_1D___get__(
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self) {
24734 PyObject *__pyx_r = NULL;
24735 __Pyx_RefNannyDeclarations
24736 PyObject *__pyx_t_1 = NULL;
24737 int __pyx_lineno = 0;
24738 const char *__pyx_filename = NULL;
24739 int __pyx_clineno = 0;
24740 __Pyx_RefNannySetupContext(
"__get__", 0);
24749 __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_self->_D), __pyx_v_self->q,
int, 1, __Pyx_PyLong_From_int, 1, 1, 1, __Pyx_ReferenceSharing_SharedReference);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 164, __pyx_L1_error)
24750 __Pyx_GOTREF(__pyx_t_1);
24752 PyObject *__pyx_temp;
24754 __pyx_temp = __pyx_r;
24755 __pyx_r = __pyx_t_1;
24757 __Pyx_XDECREF(__pyx_temp);
24772 __Pyx_XDECREF(__pyx_t_1);
24773 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.D.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
24776 __Pyx_XGIVEREF(__pyx_r);
24777 __Pyx_RefNannyFinishContext();
24788static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_7__reduce_cython__(PyObject *__pyx_v_self,
24789#
if CYTHON_VECTORCALL
24790PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
24792PyObject *__pyx_args, PyObject *__pyx_kwds
24795static PyMethodDef __pyx_mdef_22equivalent_polynomials_7Simplex_7__reduce_cython__ = {
"__reduce_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_7Simplex_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
24796static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_7__reduce_cython__(PyObject *__pyx_v_self,
24797#
if CYTHON_VECTORCALL
24798PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
24800PyObject *__pyx_args, PyObject *__pyx_kwds
24803 #if !CYTHON_VECTORCALL
24804 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
24806 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
24807 PyObject *__pyx_r = 0;
24808 __Pyx_RefNannyDeclarations
24809 __Pyx_RefNannySetupContext(
"__reduce_cython__ (wrapper)", 0);
24810 #if !CYTHON_VECTORCALL
24811 #if CYTHON_ASSUME_SAFE_SIZE
24812 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
24814 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
24817 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
24818 if (unlikely(__pyx_nargs > 0)) { __Pyx_RaiseArgtupleInvalid(
"__reduce_cython__", 1, 0, 0, __pyx_nargs);
return NULL; }
24819 const Py_ssize_t __pyx_kwds_len = unlikely(__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
24820 if (unlikely(__pyx_kwds_len < 0))
return NULL;
24821 if (unlikely(__pyx_kwds_len > 0)) {__Pyx_RejectKeywords(
"__reduce_cython__", __pyx_kwds);
return NULL;}
24822 __pyx_r = __pyx_pf_22equivalent_polynomials_7Simplex_6__reduce_cython__(((
struct __pyx_obj_22equivalent_polynomials_Simplex *)__pyx_v_self));
24825 __Pyx_RefNannyFinishContext();
24829static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_6__reduce_cython__(CYTHON_UNUSED
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self) {
24830 PyObject *__pyx_r = NULL;
24831 __Pyx_RefNannyDeclarations
24832 int __pyx_lineno = 0;
24833 const char *__pyx_filename = NULL;
24834 int __pyx_clineno = 0;
24835 __Pyx_RefNannySetupContext(
"__reduce_cython__", 0);
24843 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
24844 __PYX_ERR(1, 2, __pyx_L1_error)
24854 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
24856 __Pyx_XGIVEREF(__pyx_r);
24857 __Pyx_RefNannyFinishContext();
24869static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_9__setstate_cython__(PyObject *__pyx_v_self,
24870#
if CYTHON_VECTORCALL
24871PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
24873PyObject *__pyx_args, PyObject *__pyx_kwds
24876static PyMethodDef __pyx_mdef_22equivalent_polynomials_7Simplex_9__setstate_cython__ = {
"__setstate_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_7Simplex_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
24877static PyObject *__pyx_pw_22equivalent_polynomials_7Simplex_9__setstate_cython__(PyObject *__pyx_v_self,
24878#
if CYTHON_VECTORCALL
24879PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
24881PyObject *__pyx_args, PyObject *__pyx_kwds
24884 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
24885 #if !CYTHON_VECTORCALL
24886 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
24888 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
24889 PyObject* values[1] = {0};
24890 int __pyx_lineno = 0;
24891 const char *__pyx_filename = NULL;
24892 int __pyx_clineno = 0;
24893 PyObject *__pyx_r = 0;
24894 __Pyx_RefNannyDeclarations
24895 __Pyx_RefNannySetupContext(
"__setstate_cython__ (wrapper)", 0);
24896 #if !CYTHON_VECTORCALL
24897 #if CYTHON_ASSUME_SAFE_SIZE
24898 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
24900 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
24903 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
24905 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_pyx_state,0};
24906 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
24907 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
24908 if (__pyx_kwds_len > 0) {
24909 switch (__pyx_nargs) {
24911 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
24912 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 3, __pyx_L3_error)
24913 CYTHON_FALLTHROUGH;
24915 default:
goto __pyx_L5_argtuple_error;
24917 const Py_ssize_t kwd_pos_args = __pyx_nargs;
24918 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"__setstate_cython__", 0) < (0)) __PYX_ERR(1, 3, __pyx_L3_error)
24919 for (Py_ssize_t i = __pyx_nargs; i < 1; i++) {
24920 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, i); __PYX_ERR(1, 3, __pyx_L3_error) }
24922 }
else if (unlikely(__pyx_nargs != 1)) {
24923 goto __pyx_L5_argtuple_error;
24925 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
24926 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(1, 3, __pyx_L3_error)
24928 __pyx_v___pyx_state = values[0];
24930 goto __pyx_L6_skip;
24931 __pyx_L5_argtuple_error:;
24932 __Pyx_RaiseArgtupleInvalid(
"__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
24934 goto __pyx_L4_argument_unpacking_done;
24936 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
24937 Py_XDECREF(values[__pyx_temp]);
24939 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
24940 __Pyx_RefNannyFinishContext();
24942 __pyx_L4_argument_unpacking_done:;
24943 __pyx_r = __pyx_pf_22equivalent_polynomials_7Simplex_8__setstate_cython__(((
struct __pyx_obj_22equivalent_polynomials_Simplex *)__pyx_v_self), __pyx_v___pyx_state);
24946 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
24947 Py_XDECREF(values[__pyx_temp]);
24949 __Pyx_RefNannyFinishContext();
24953static PyObject *__pyx_pf_22equivalent_polynomials_7Simplex_8__setstate_cython__(CYTHON_UNUSED
struct __pyx_obj_22equivalent_polynomials_Simplex *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
24954 PyObject *__pyx_r = NULL;
24955 __Pyx_RefNannyDeclarations
24956 int __pyx_lineno = 0;
24957 const char *__pyx_filename = NULL;
24958 int __pyx_clineno = 0;
24959 __Pyx_RefNannySetupContext(
"__setstate_cython__", 0);
24966 __Pyx_Raise(((PyObject *)(((PyTypeObject*)PyExc_TypeError))), __pyx_mstate_global->__pyx_kp_u_no_default___reduce___due_to_non, 0, 0);
24967 __PYX_ERR(1, 4, __pyx_L1_error)
24978 __Pyx_AddTraceback(
"equivalent_polynomials.Simplex.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
24980 __Pyx_XGIVEREF(__pyx_r);
24981 __Pyx_RefNannyFinishContext();
24994static PyObject *__pyx_pw_22equivalent_polynomials_1calc_edge_H(PyObject *__pyx_self,
24995#
if CYTHON_VECTORCALL
24996PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
24998PyObject *__pyx_args, PyObject *__pyx_kwds
25001PyDoc_STRVAR(__pyx_doc_22equivalent_polynomials_calc_edge_H,
"Edge-restricted moment-fit Heaviside on a cut edge (reference t in [0,1] from the edge\047s\n node 0 to node 1). phi0, phi1 must have opposite signs. Returns the monomial coefficients\n of H_hat in {1, t, ..., t**nP}, fitting the indicator of {phi > 0}.");
25002static PyMethodDef __pyx_mdef_22equivalent_polynomials_1calc_edge_H = {
"calc_edge_H", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_1calc_edge_H, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_22equivalent_polynomials_calc_edge_H};
25003static PyObject *__pyx_pw_22equivalent_polynomials_1calc_edge_H(PyObject *__pyx_self,
25004#
if CYTHON_VECTORCALL
25005PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
25007PyObject *__pyx_args, PyObject *__pyx_kwds
25010 double __pyx_v_phi0;
25011 double __pyx_v_phi1;
25013 #if !CYTHON_VECTORCALL
25014 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
25016 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
25017 PyObject* values[3] = {0,0,0};
25018 int __pyx_lineno = 0;
25019 const char *__pyx_filename = NULL;
25020 int __pyx_clineno = 0;
25021 PyObject *__pyx_r = 0;
25022 __Pyx_RefNannyDeclarations
25023 __Pyx_RefNannySetupContext(
"calc_edge_H (wrapper)", 0);
25024 #if !CYTHON_VECTORCALL
25025 #if CYTHON_ASSUME_SAFE_SIZE
25026 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
25028 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
25031 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
25033 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_phi0,&__pyx_mstate_global->__pyx_n_u_phi1,&__pyx_mstate_global->__pyx_n_u_nP,0};
25034 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
25035 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 166, __pyx_L3_error)
25036 if (__pyx_kwds_len > 0) {
25037 switch (__pyx_nargs) {
25039 values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
25040 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 166, __pyx_L3_error)
25041 CYTHON_FALLTHROUGH;
25043 values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
25044 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 166, __pyx_L3_error)
25045 CYTHON_FALLTHROUGH;
25047 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
25048 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 166, __pyx_L3_error)
25049 CYTHON_FALLTHROUGH;
25051 default:
goto __pyx_L5_argtuple_error;
25053 const Py_ssize_t kwd_pos_args = __pyx_nargs;
25054 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"calc_edge_H", 0) < (0)) __PYX_ERR(0, 166, __pyx_L3_error)
25055 for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
25056 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"calc_edge_H", 1, 3, 3, i); __PYX_ERR(0, 166, __pyx_L3_error) }
25058 }
else if (unlikely(__pyx_nargs != 3)) {
25059 goto __pyx_L5_argtuple_error;
25061 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
25062 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 166, __pyx_L3_error)
25063 values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
25064 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 166, __pyx_L3_error)
25065 values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
25066 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 166, __pyx_L3_error)
25068 __pyx_v_phi0 = __Pyx_PyFloat_AsDouble(values[0]);
if (unlikely((__pyx_v_phi0 == (
double)-1) && PyErr_Occurred())) __PYX_ERR(0, 166, __pyx_L3_error)
25069 __pyx_v_phi1 = __Pyx_PyFloat_AsDouble(values[1]);
if (unlikely((__pyx_v_phi1 == (
double)-1) && PyErr_Occurred())) __PYX_ERR(0, 166, __pyx_L3_error)
25070 __pyx_v_nP = __Pyx_PyLong_As_int(values[2]);
if (unlikely((__pyx_v_nP == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 166, __pyx_L3_error)
25072 goto __pyx_L6_skip;
25073 __pyx_L5_argtuple_error:;
25074 __Pyx_RaiseArgtupleInvalid(
"calc_edge_H", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 166, __pyx_L3_error)
25076 goto __pyx_L4_argument_unpacking_done;
25078 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
25079 Py_XDECREF(values[__pyx_temp]);
25081 __Pyx_AddTraceback(
"equivalent_polynomials.calc_edge_H", __pyx_clineno, __pyx_lineno, __pyx_filename);
25082 __Pyx_RefNannyFinishContext();
25084 __pyx_L4_argument_unpacking_done:;
25085 __pyx_r = __pyx_pf_22equivalent_polynomials_calc_edge_H(__pyx_self, __pyx_v_phi0, __pyx_v_phi1, __pyx_v_nP);
25088 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
25089 Py_XDECREF(values[__pyx_temp]);
25094 __Pyx_RefNannyFinishContext();
25098static PyObject *__pyx_pf_22equivalent_polynomials_calc_edge_H(CYTHON_UNUSED PyObject *__pyx_self,
double __pyx_v_phi0,
double __pyx_v_phi1,
int __pyx_v_nP) {
25099 PyArrayObject *__pyx_v_C_H = 0;
25100 PyObject *__pyx_r = NULL;
25101 __Pyx_RefNannyDeclarations
25102 PyObject *__pyx_t_1 = NULL;
25103 PyObject *__pyx_t_2 = NULL;
25104 PyObject *__pyx_t_3 = NULL;
25105 PyObject *__pyx_t_4 = NULL;
25107 int __pyx_lineno = 0;
25108 const char *__pyx_filename = NULL;
25109 int __pyx_clineno = 0;
25110 __Pyx_RefNannySetupContext(
"calc_edge_H", 0);
25120 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_np);
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 170, __pyx_L1_error)
25121 __Pyx_GOTREF(__pyx_t_3);
25122 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_mstate_global->__pyx_n_u_zeros);
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 170, __pyx_L1_error)
25123 __Pyx_GOTREF(__pyx_t_4);
25124 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25125 __pyx_t_3 = __Pyx_PyLong_From_long((__pyx_v_nP + 1));
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 170, __pyx_L1_error)
25126 __Pyx_GOTREF(__pyx_t_3);
25128 #if CYTHON_UNPACK_METHODS
25129 if (unlikely(PyMethod_Check(__pyx_t_4))) {
25130 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
25132 PyObject* __pyx__function = PyMethod_GET_FUNCTION(__pyx_t_4);
25133 __Pyx_INCREF(__pyx_t_2);
25134 __Pyx_INCREF(__pyx__function);
25135 __Pyx_DECREF_SET(__pyx_t_4, __pyx__function);
25140 PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_t_3};
25141 __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
25142 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
25143 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
25144 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
25145 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 170, __pyx_L1_error)
25146 __Pyx_GOTREF(__pyx_t_1);
25148 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_mstate_global->__pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 170, __pyx_L1_error)
25149 __pyx_v_C_H = ((PyArrayObject *)__pyx_t_1);
25159 switch (__pyx_v_nP) {
25208 PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_kp_u_nP_must_be_1_2_3_or_4};
25209 __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
25210 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
25211 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
25212 __Pyx_GOTREF(__pyx_t_1);
25214 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
25215 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25216 __PYX_ERR(0, 175, __pyx_L1_error)
25228 PyObject *__pyx_temp;
25230 __pyx_temp = __pyx_r;
25231 __Pyx_INCREF((PyObject *)__pyx_v_C_H);
25232 __pyx_r = ((PyObject *)__pyx_v_C_H);
25234 __Pyx_XDECREF(__pyx_temp);
25248 __Pyx_XDECREF(__pyx_t_1);
25249 __Pyx_XDECREF(__pyx_t_2);
25250 __Pyx_XDECREF(__pyx_t_3);
25251 __Pyx_XDECREF(__pyx_t_4);
25252 __Pyx_AddTraceback(
"equivalent_polynomials.calc_edge_H", __pyx_clineno, __pyx_lineno, __pyx_filename);
25255 __Pyx_XDECREF((PyObject *)__pyx_v_C_H);
25256 __Pyx_XGIVEREF(__pyx_r);
25257 __Pyx_RefNannyFinishContext();
25270static PyObject *__pyx_pw_22equivalent_polynomials_3eval_edge_poly(PyObject *__pyx_self,
25271#
if CYTHON_VECTORCALL
25272PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
25274PyObject *__pyx_args, PyObject *__pyx_kwds
25277static PyMethodDef __pyx_mdef_22equivalent_polynomials_3eval_edge_poly = {
"eval_edge_poly", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_3eval_edge_poly, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
25278static PyObject *__pyx_pw_22equivalent_polynomials_3eval_edge_poly(PyObject *__pyx_self,
25279#
if CYTHON_VECTORCALL
25280PyObject *
const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
25282PyObject *__pyx_args, PyObject *__pyx_kwds
25285 PyArrayObject *__pyx_v_C = 0;
25288 #if !CYTHON_VECTORCALL
25289 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
25291 CYTHON_UNUSED PyObject *
const *__pyx_kwvalues;
25292 PyObject* values[3] = {0,0,0};
25293 int __pyx_lineno = 0;
25294 const char *__pyx_filename = NULL;
25295 int __pyx_clineno = 0;
25296 PyObject *__pyx_r = 0;
25297 __Pyx_RefNannyDeclarations
25298 __Pyx_RefNannySetupContext(
"eval_edge_poly (wrapper)", 0);
25299 #if !CYTHON_VECTORCALL
25300 #if CYTHON_ASSUME_SAFE_SIZE
25301 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
25303 __pyx_nargs = PyTuple_Size(__pyx_args);
if (unlikely(__pyx_nargs < 0))
return NULL;
25306 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
25308 PyObject **
const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_C,&__pyx_mstate_global->__pyx_n_u_t,&__pyx_mstate_global->__pyx_n_u_nP,0};
25309 const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
25310 if (unlikely(__pyx_kwds_len < 0)) __PYX_ERR(0, 178, __pyx_L3_error)
25311 if (__pyx_kwds_len > 0) {
25312 switch (__pyx_nargs) {
25314 values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
25315 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 178, __pyx_L3_error)
25316 CYTHON_FALLTHROUGH;
25318 values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
25319 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 178, __pyx_L3_error)
25320 CYTHON_FALLTHROUGH;
25322 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
25323 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 178, __pyx_L3_error)
25324 CYTHON_FALLTHROUGH;
25326 default:
goto __pyx_L5_argtuple_error;
25328 const Py_ssize_t kwd_pos_args = __pyx_nargs;
25329 if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len,
"eval_edge_poly", 0) < (0)) __PYX_ERR(0, 178, __pyx_L3_error)
25330 for (Py_ssize_t i = __pyx_nargs; i < 3; i++) {
25331 if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid(
"eval_edge_poly", 1, 3, 3, i); __PYX_ERR(0, 178, __pyx_L3_error) }
25333 }
else if (unlikely(__pyx_nargs != 3)) {
25334 goto __pyx_L5_argtuple_error;
25336 values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
25337 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 178, __pyx_L3_error)
25338 values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
25339 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 178, __pyx_L3_error)
25340 values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
25341 if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 178, __pyx_L3_error)
25343 __pyx_v_C = ((PyArrayObject *)values[0]);
25344 __pyx_v_t = __Pyx_PyFloat_AsDouble(values[1]);
if (unlikely((__pyx_v_t == (
double)-1) && PyErr_Occurred())) __PYX_ERR(0, 178, __pyx_L3_error)
25345 __pyx_v_nP = __Pyx_PyLong_As_int(values[2]);
if (unlikely((__pyx_v_nP == (
int)-1) && PyErr_Occurred())) __PYX_ERR(0, 178, __pyx_L3_error)
25347 goto __pyx_L6_skip;
25348 __pyx_L5_argtuple_error:;
25349 __Pyx_RaiseArgtupleInvalid(
"eval_edge_poly", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 178, __pyx_L3_error)
25351 goto __pyx_L4_argument_unpacking_done;
25353 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
25354 Py_XDECREF(values[__pyx_temp]);
25356 __Pyx_AddTraceback(
"equivalent_polynomials.eval_edge_poly", __pyx_clineno, __pyx_lineno, __pyx_filename);
25357 __Pyx_RefNannyFinishContext();
25359 __pyx_L4_argument_unpacking_done:;
25360 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_C), __pyx_mstate_global->__pyx_ptype_5numpy_ndarray, 1,
"C", 0))) __PYX_ERR(0, 178, __pyx_L1_error)
25361 __pyx_r = __pyx_pf_22equivalent_polynomials_2eval_edge_poly(__pyx_self, __pyx_v_C, __pyx_v_t, __pyx_v_nP);
25367 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
25368 Py_XDECREF(values[__pyx_temp]);
25370 goto __pyx_L7_cleaned_up;
25372 for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(
sizeof(values)/
sizeof(values[0])); ++__pyx_temp) {
25373 Py_XDECREF(values[__pyx_temp]);
25375 __pyx_L7_cleaned_up:;
25378 __Pyx_RefNannyFinishContext();
25382static PyObject *__pyx_pf_22equivalent_polynomials_2eval_edge_poly(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_C,
double __pyx_v_t,
int __pyx_v_nP) {
25383 PyObject *__pyx_r = NULL;
25384 __Pyx_RefNannyDeclarations
25385 PyObject *__pyx_t_1 = NULL;
25386 PyObject *__pyx_t_2 = NULL;
25388 int __pyx_lineno = 0;
25389 const char *__pyx_filename = NULL;
25390 int __pyx_clineno = 0;
25391 __Pyx_RefNannySetupContext(
"eval_edge_poly", 0);
25400 switch (__pyx_v_nP) {
25403 __Pyx_GOTREF(__pyx_t_1);
25405 PyObject *__pyx_temp;
25407 __pyx_temp = __pyx_r;
25408 __pyx_r = __pyx_t_1;
25410 __Pyx_XDECREF(__pyx_temp);
25425 __Pyx_GOTREF(__pyx_t_1);
25427 PyObject *__pyx_temp;
25429 __pyx_temp = __pyx_r;
25430 __pyx_r = __pyx_t_1;
25432 __Pyx_XDECREF(__pyx_temp);
25447 __Pyx_GOTREF(__pyx_t_1);
25449 PyObject *__pyx_temp;
25451 __pyx_temp = __pyx_r;
25452 __pyx_r = __pyx_t_1;
25454 __Pyx_XDECREF(__pyx_temp);
25468 __Pyx_GOTREF(__pyx_t_1);
25470 PyObject *__pyx_temp;
25472 __pyx_temp = __pyx_r;
25473 __pyx_r = __pyx_t_1;
25475 __Pyx_XDECREF(__pyx_temp);
25490 PyObject *__pyx_callargs[2] = {__pyx_t_2, __pyx_mstate_global->__pyx_kp_u_nP_must_be_1_2_3_or_4};
25491 __pyx_t_1 = __Pyx_PyObject_FastCall((PyObject*)(((PyTypeObject*)PyExc_ValueError)), __pyx_callargs+__pyx_t_3, (2-__pyx_t_3) | (__pyx_t_3*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
25492 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
25493 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 183, __pyx_L1_error)
25494 __Pyx_GOTREF(__pyx_t_1);
25496 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
25497 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
25498 __PYX_ERR(0, 183, __pyx_L1_error)
25512 __Pyx_XDECREF(__pyx_t_1);
25513 __Pyx_XDECREF(__pyx_t_2);
25514 __Pyx_AddTraceback(
"equivalent_polynomials.eval_edge_poly", __pyx_clineno, __pyx_lineno, __pyx_filename);
25517 __Pyx_XGIVEREF(__pyx_r);
25518 __Pyx_RefNannyFinishContext();
25523static PyObject *__pyx_tp_new__initialisation_22equivalent_polynomials_Simplex(PyObject *o,
25524#
if CYTHON_VECTORCALL_TPNEW
25525 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
25527 PyObject *a, PyObject *k
25530 struct __pyx_obj_22equivalent_polynomials_Simplex *p = ((
struct __pyx_obj_22equivalent_polynomials_Simplex *)o);
25531 __Pyx_default_placement_construct(&(p->s11));
25532 __Pyx_default_placement_construct(&(p->s12));
25533 __Pyx_default_placement_construct(&(p->s13));
25534 __Pyx_default_placement_construct(&(p->s21));
25535 __Pyx_default_placement_construct(&(p->s22));
25536 __Pyx_default_placement_construct(&(p->s23));
25537 __Pyx_default_placement_construct(&(p->s31));
25538 __Pyx_default_placement_construct(&(p->s32));
25539 __Pyx_default_placement_construct(&(p->s33));
25540 p->xiBuffer = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
25541 p->_H = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
25542 p->_ImH = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
25543 p->_D = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
25545 int cinit_result = __pyx_pw_22equivalent_polynomials_7Simplex_1__cinit__(o,
25546#
if CYTHON_VECTORCALL_TPNEW
25547 args, nargs, kwnames
25552 if (unlikely(cinit_result))
goto bad;
25556 Py_DECREF(o); o = 0;
25560static PyObject *__pyx_tp_new_vectorcall_22equivalent_polynomials_Simplex(PyTypeObject *t,
25561#
if CYTHON_VECTORCALL_TPNEW
25562 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
25564 PyObject *a, PyObject *k
25568 o = __Pyx_AllocateExtensionType(t, 0);
25569 if (unlikely(!o))
return 0;
25570 return __pyx_tp_new__initialisation_22equivalent_polynomials_Simplex(o,
25571#
if CYTHON_VECTORCALL_TPNEW
25572 args, nargs, kwnames
25579#if CYTHON_VECTORCALL_TPNEW
25580static PyObject *__pyx_tp_new_22equivalent_polynomials_Simplex(PyTypeObject *t, PyObject *a, PyObject *k) {
25581 return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_22equivalent_polynomials_Simplex, t, a, k);
25585#if CYTHON_VECTORCALL_TPNEW
25586static PyObject *__pyx_tp_vectorcall_22equivalent_polynomials_Simplex(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames) {
25587 if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_ptype_22equivalent_polynomials_Simplex || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) {
25588 return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames);
25590 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
25591 PyObject *o = __pyx_tp_new_vectorcall_22equivalent_polynomials_Simplex((PyTypeObject*)t, args, nargs, kwnames);
25596static void __pyx_tp_dealloc_22equivalent_polynomials_Simplex(PyObject *o) {
25597 struct __pyx_obj_22equivalent_polynomials_Simplex *p = (
struct __pyx_obj_22equivalent_polynomials_Simplex *)o;
25598 #if CYTHON_USE_TP_FINALIZE
25599 if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
25600 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_22equivalent_polynomials_Simplex) {
25601 if (PyObject_CallFinalizerFromDealloc(o))
return;
25605 PyObject_GC_UnTrack(o);
25606 __Pyx_call_destructor(p->s11);
25607 __Pyx_call_destructor(p->s12);
25608 __Pyx_call_destructor(p->s13);
25609 __Pyx_call_destructor(p->s21);
25610 __Pyx_call_destructor(p->s22);
25611 __Pyx_call_destructor(p->s23);
25612 __Pyx_call_destructor(p->s31);
25613 __Pyx_call_destructor(p->s32);
25614 __Pyx_call_destructor(p->s33);
25615 Py_CLEAR(p->xiBuffer);
25619 PyTypeObject *tp = Py_TYPE(o);
25620 #if CYTHON_USE_TYPE_SLOTS
25624 freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
25625 if (tp_free) tp_free(o);
25628 #if CYTHON_USE_TYPE_SPECS
25633static int __pyx_tp_traverse_22equivalent_polynomials_Simplex(PyObject *o, visitproc
v,
void *a) {
25635 struct __pyx_obj_22equivalent_polynomials_Simplex *p = (
struct __pyx_obj_22equivalent_polynomials_Simplex *)o;
25637 e = __Pyx_call_type_traverse(o, 1,
v, a);
25641 e = (*v)(((PyObject *)p->xiBuffer), a);
if (e)
return e;
25644 e = (*v)(((PyObject *)p->_H), a);
if (e)
return e;
25647 e = (*v)(((PyObject *)p->_ImH), a);
if (e)
return e;
25650 e = (*v)(((PyObject *)p->_D), a);
if (e)
return e;
25655static int __pyx_tp_clear_22equivalent_polynomials_Simplex(PyObject *o) {
25657 struct __pyx_obj_22equivalent_polynomials_Simplex *p = (
struct __pyx_obj_22equivalent_polynomials_Simplex *)o;
25658 tmp = ((PyObject*)p->xiBuffer);
25659 p->xiBuffer = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
25661 tmp = ((PyObject*)p->_H);
25662 p->_H = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
25664 tmp = ((PyObject*)p->_ImH);
25665 p->_ImH = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
25667 tmp = ((PyObject*)p->_D);
25668 p->_D = ((PyArrayObject *)Py_None); Py_INCREF(Py_None);
25673static PyObject *__pyx_getprop_22equivalent_polynomials_7Simplex_H(PyObject *o, CYTHON_UNUSED
void *x) {
25674 return __pyx_pw_22equivalent_polynomials_7Simplex_1H_1__get__(o);
25677static PyObject *__pyx_getprop_22equivalent_polynomials_7Simplex_ImH(PyObject *o, CYTHON_UNUSED
void *x) {
25678 return __pyx_pw_22equivalent_polynomials_7Simplex_3ImH_1__get__(o);
25681static PyObject *__pyx_getprop_22equivalent_polynomials_7Simplex_D(PyObject *o, CYTHON_UNUSED
void *x) {
25682 return __pyx_pw_22equivalent_polynomials_7Simplex_1D_1__get__(o);
25685static PyMethodDef __pyx_methods_22equivalent_polynomials_Simplex[] = {
25686 {
"calculate", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_7Simplex_3calculate, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
25687 {
"set_quad", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_7Simplex_5set_quad, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
25688 {
"__reduce_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_7Simplex_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
25689 {
"__setstate_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_22equivalent_polynomials_7Simplex_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
25693static struct PyGetSetDef __pyx_getsets_22equivalent_polynomials_Simplex[] = {
25694 {
"H", __pyx_getprop_22equivalent_polynomials_7Simplex_H, 0, 0, 0},
25695 {
"ImH", __pyx_getprop_22equivalent_polynomials_7Simplex_ImH, 0, 0, 0},
25696 {
"D", __pyx_getprop_22equivalent_polynomials_7Simplex_D, 0, 0, 0},
25699#if CYTHON_USE_TYPE_SPECS
25700static PyType_Slot __pyx_type_22equivalent_polynomials_Simplex_slots[] = {
25701 {Py_tp_dealloc, (
void *)__pyx_tp_dealloc_22equivalent_polynomials_Simplex},
25702 {Py_tp_traverse, (
void *)__pyx_tp_traverse_22equivalent_polynomials_Simplex},
25703 {Py_tp_clear, (
void *)__pyx_tp_clear_22equivalent_polynomials_Simplex},
25704 {Py_tp_methods, (
void *)__pyx_methods_22equivalent_polynomials_Simplex},
25705 {Py_tp_getset, (
void *)__pyx_getsets_22equivalent_polynomials_Simplex},
25706 {Py_tp_new, (
void *)__pyx_tp_new_22equivalent_polynomials_Simplex},
25707 #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
25708 #if CYTHON_VECTORCALL_TPNEW
25709 {Py_tp_vectorcall, (
void *)__pyx_tp_vectorcall_22equivalent_polynomials_Simplex},
25714static PyType_Spec __pyx_type_22equivalent_polynomials_Simplex_spec = {
25715 "equivalent_polynomials.Simplex",
25716 sizeof(
struct __pyx_obj_22equivalent_polynomials_Simplex),
25718 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
25719 __pyx_type_22equivalent_polynomials_Simplex_slots,
25723static PyTypeObject __pyx_type_22equivalent_polynomials_Simplex = {
25724 PyVarObject_HEAD_INIT(0, 0)
25725 "equivalent_polynomials.""Simplex",
25726 sizeof(
struct __pyx_obj_22equivalent_polynomials_Simplex),
25728 __pyx_tp_dealloc_22equivalent_polynomials_Simplex,
25743 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
25745 __pyx_tp_traverse_22equivalent_polynomials_Simplex,
25746 __pyx_tp_clear_22equivalent_polynomials_Simplex,
25751 __pyx_methods_22equivalent_polynomials_Simplex,
25753 __pyx_getsets_22equivalent_polynomials_Simplex,
25758 #
if !CYTHON_USE_TYPE_SPECS
25763 __pyx_tp_new_22equivalent_polynomials_Simplex,
25773 #
if CYTHON_USE_TP_FINALIZE
25778 #
if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
25779 #
if CYTHON_VECTORCALL_TPNEW
25780 __pyx_tp_vectorcall_22equivalent_polynomials_Simplex,
25785 #
if __PYX_NEED_TP_PRINT_SLOT == 1
25788 #
if PY_VERSION_HEX >= 0x030C0000
25791 #
if PY_VERSION_HEX >= 0x030d00A4
25794 #
if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000
25799static struct __pyx_vtabstruct_array __pyx_vtable_array;
25801static PyObject *__pyx_tp_new__initialisation_array(PyObject *o,
25802#
if CYTHON_VECTORCALL_TPNEW
25803 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
25805 PyObject *a, PyObject *k
25808 struct __pyx_array_obj *p = ((
struct __pyx_array_obj *)o);
25809 p->__pyx_vtab = __pyx_vtabptr_array;
25810 p->mode = ((PyObject*)Py_None); Py_INCREF(Py_None);
25811 p->_format = ((PyObject*)Py_None); Py_INCREF(Py_None);
25813 int cinit_result = __pyx_array___cinit__(o,
25814#
if CYTHON_VECTORCALL_TPNEW
25815 args, nargs, kwnames
25820 if (unlikely(cinit_result))
goto bad;
25824 Py_DECREF(o); o = 0;
25828static PyObject *__pyx_tp_new_vectorcall_array(PyTypeObject *t,
25829#
if CYTHON_VECTORCALL_TPNEW
25830 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
25832 PyObject *a, PyObject *k
25836 o = __Pyx_AllocateExtensionType(t, 0);
25837 if (unlikely(!o))
return 0;
25838 return __pyx_tp_new__initialisation_array(o,
25839#
if CYTHON_VECTORCALL_TPNEW
25840 args, nargs, kwnames
25847#if CYTHON_VECTORCALL_TPNEW
25848static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k) {
25849 return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_array, t, a, k);
25853#if CYTHON_VECTORCALL_TPNEW
25854static PyObject *__pyx_tp_vectorcall_array(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames) {
25855 if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_array_type || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) {
25856 return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames);
25858 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
25859 PyObject *o = __pyx_tp_new_vectorcall_array((PyTypeObject*)t, args, nargs, kwnames);
25864static void __pyx_tp_dealloc_array(PyObject *o) {
25865 struct __pyx_array_obj *p = (
struct __pyx_array_obj *)o;
25866 #if CYTHON_USE_TP_FINALIZE
25867 if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
25868 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_array) {
25869 if (PyObject_CallFinalizerFromDealloc(o))
return;
25874 PyObject *etype, *eval, *etb;
25875 __Pyx_PyErr_FetchException(&etype, &eval, &etb);
25876 __Pyx_DeallocKeepAliveBegin(o);
25877 __pyx_array___dealloc__(o);
25878 __Pyx_DeallocKeepAliveEnd(o);
25879 __Pyx_PyErr_RestoreException(etype, eval, etb);
25882 Py_CLEAR(p->_format);
25883 PyTypeObject *tp = Py_TYPE(o);
25884 #if CYTHON_USE_TYPE_SLOTS
25888 freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
25889 if (tp_free) tp_free(o);
25892 #if CYTHON_USE_TYPE_SPECS
25897static PyObject *__pyx_sq_item_array(PyObject *o, Py_ssize_t i) {
25899 PyObject *x = PyLong_FromSsize_t(i);
if (unlikely(!x))
return NULL;
25900 #if CYTHON_USE_TYPE_SLOTS || (!CYTHON_USE_TYPE_SPECS && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
25901 binaryfunc
f = Py_TYPE(o)->tp_as_mapping->mp_subscript;
25903 binaryfunc
f = ((binaryfunc)PyType_GetSlot(Py_TYPE(o), Py_mp_subscript));
25910static PyObject *__pyx_mp_subscript_array(PyObject *o, PyObject *i) {
25911 return __pyx_array___getitem__(o, i);
25914static int __pyx_sq_ass_item_array(PyObject *o, Py_ssize_t i, PyObject *
v) {
25916 PyObject *x = PyLong_FromSsize_t(i);
if (unlikely(!x))
return -1;
25917 int r = __pyx_array___setitem__(o, x,
v);
25921 __Pyx_RaiseErrorWithObjectType1(PyExc_NotImplementedError,
"Subscript %.10s not supported by " __Pyx_FMT_TYPENAME,
"deletion", o);
25926static int __pyx_mp_ass_subscript_array(PyObject *o, PyObject *i, PyObject *
v) {
25928 return __pyx_array___setitem__(o, i,
v);
25930 __Pyx_RaiseErrorWithObjectType1(PyExc_NotImplementedError,
"Subscript %.10s not supported by " __Pyx_FMT_TYPENAME,
"deletion", o);
25935static PyObject *__pyx_tp_getattro_array(PyObject *o, PyObject *
n) {
25936 PyObject *
v = PyObject_GenericGetAttr(o,
n);
25937 if (!
v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
25939 v = __pyx_array___getattr__(o,
n);
25944static PyObject *__pyx_getprop___pyx_array_memview(PyObject *o, CYTHON_UNUSED
void *x) {
25945 return __pyx_pw_15View_dot_MemoryView_5array_7memview_1__get__(o);
25948static PyMethodDef __pyx_methods_array[] = {
25949 {
"__getattr__", (PyCFunction)__pyx_array___getattr__, METH_O|METH_COEXIST, 0},
25950 {
"__reduce_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_array_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
25951 {
"__setstate_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_array_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
25955static struct PyGetSetDef __pyx_getsets_array[] = {
25956 {
"memview", __pyx_getprop___pyx_array_memview, 0, 0, 0},
25959#if CYTHON_USE_TYPE_SPECS
25960#if !CYTHON_COMPILING_IN_LIMITED_API
25962static PyBufferProcs __pyx_tp_as_buffer_array = {
25963 __pyx_array_getbuffer,
25967static PyType_Slot __pyx_type___pyx_array_slots[] = {
25968 {Py_tp_dealloc, (
void *)__pyx_tp_dealloc_array},
25969 {Py_sq_length, (
void *)__pyx_array___len__},
25970 {Py_sq_item, (
void *)__pyx_sq_item_array},
25971 {Py_sq_ass_item, (
void *)__pyx_sq_ass_item_array},
25972 {Py_mp_length, (
void *)__pyx_array___len__},
25973 {Py_mp_subscript, (
void *)__pyx_mp_subscript_array},
25974 {Py_mp_ass_subscript, (
void *)__pyx_mp_ass_subscript_array},
25975 {Py_tp_getattro, (
void *)__pyx_tp_getattro_array},
25976 #if defined(Py_bf_getbuffer)
25977 {Py_bf_getbuffer, (
void *)__pyx_array_getbuffer},
25979 {Py_tp_methods, (
void *)__pyx_methods_array},
25980 {Py_tp_getset, (
void *)__pyx_getsets_array},
25981 {Py_tp_new, (
void *)__pyx_tp_new_array},
25982 #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
25983 #if CYTHON_VECTORCALL_TPNEW
25984 {Py_tp_vectorcall, (
void *)__pyx_tp_vectorcall_array},
25989static PyType_Spec __pyx_type___pyx_array_spec = {
25990 "equivalent_polynomials.array",
25991 sizeof(
struct __pyx_array_obj),
25993 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_SEQUENCE,
25994 __pyx_type___pyx_array_slots,
25998static PySequenceMethods __pyx_tp_as_sequence_array = {
25999 __pyx_array___len__,
26002 __pyx_sq_item_array,
26004 __pyx_sq_ass_item_array,
26011static PyMappingMethods __pyx_tp_as_mapping_array = {
26012 __pyx_array___len__,
26013 __pyx_mp_subscript_array,
26014 __pyx_mp_ass_subscript_array,
26017static PyBufferProcs __pyx_tp_as_buffer_array = {
26018 __pyx_array_getbuffer,
26022static PyTypeObject __pyx_type___pyx_array = {
26023 PyVarObject_HEAD_INIT(0, 0)
26024 "equivalent_polynomials.""array",
26025 sizeof(
struct __pyx_array_obj),
26027 __pyx_tp_dealloc_array,
26034 &__pyx_tp_as_sequence_array,
26035 &__pyx_tp_as_mapping_array,
26039 __pyx_tp_getattro_array,
26041 &__pyx_tp_as_buffer_array,
26042 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_SEQUENCE,
26050 __pyx_methods_array,
26052 __pyx_getsets_array,
26057 #
if !CYTHON_USE_TYPE_SPECS
26062 __pyx_tp_new_array,
26072 #
if CYTHON_USE_TP_FINALIZE
26077 #
if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
26078 #
if CYTHON_VECTORCALL_TPNEW
26079 __pyx_tp_vectorcall_array,
26084 #
if __PYX_NEED_TP_PRINT_SLOT == 1
26087 #
if PY_VERSION_HEX >= 0x030C0000
26090 #
if PY_VERSION_HEX >= 0x030d00A4
26093 #
if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000
26099static PyObject *__pyx_tp_new__initialisation_Enum(PyObject *o,
26100#
if CYTHON_VECTORCALL_TPNEW
26101 CYTHON_UNUSED PyObject *
const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames
26103 CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k
26106 struct __pyx_MemviewEnum_obj *p = ((
struct __pyx_MemviewEnum_obj *)o);
26107 p->name = Py_None; Py_INCREF(Py_None);
26111static PyObject *__pyx_tp_new_vectorcall_Enum(PyTypeObject *t,
26112#
if CYTHON_VECTORCALL_TPNEW
26113 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
26115 PyObject *a, PyObject *k
26119 o = __Pyx_AllocateExtensionType(t, 0);
26120 if (unlikely(!o))
return 0;
26121 return __pyx_tp_new__initialisation_Enum(o,
26122#
if CYTHON_VECTORCALL_TPNEW
26123 args, nargs, kwnames
26130#if CYTHON_VECTORCALL_TPNEW
26131static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k) {
26132 return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_Enum, t, a, k);
26136#if CYTHON_VECTORCALL_TPNEW
26137static PyObject *__pyx_tp_vectorcall_Enum(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames) {
26138 if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_MemviewEnum_type || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) {
26139 return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames);
26141 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
26142 PyObject *o = __pyx_tp_new_vectorcall_Enum((PyTypeObject*)t, args, nargs, kwnames);
26144 assert(Py_TYPE(o) == (PyTypeObject*)t);
26145 if (unlikely(__pyx_MemviewEnum___init__(o, args, nargs, kwnames) < 0)) {
26153#if CYTHON_VECTORCALL_TPNEW
26154static int __pyx_tp_init_Enum(PyObject *o, PyObject *args, PyObject *kwds) {
26155 return __Pyx_CallTpinitAsVectorcall(__pyx_MemviewEnum___init__, o, args, kwds);
26159static void __pyx_tp_dealloc_Enum(PyObject *o) {
26160 struct __pyx_MemviewEnum_obj *p = (
struct __pyx_MemviewEnum_obj *)o;
26161 #if CYTHON_USE_TP_FINALIZE
26162 if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
26163 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_Enum) {
26164 if (PyObject_CallFinalizerFromDealloc(o))
return;
26168 PyObject_GC_UnTrack(o);
26170 PyTypeObject *tp = Py_TYPE(o);
26171 #if CYTHON_USE_TYPE_SLOTS
26175 freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
26176 if (tp_free) tp_free(o);
26179 #if CYTHON_USE_TYPE_SPECS
26184static int __pyx_tp_traverse_Enum(PyObject *o, visitproc
v,
void *a) {
26186 struct __pyx_MemviewEnum_obj *p = (
struct __pyx_MemviewEnum_obj *)o;
26188 e = __Pyx_call_type_traverse(o, 1,
v, a);
26192 e = (*v)(p->name, a);
if (e)
return e;
26197static int __pyx_tp_clear_Enum(PyObject *o) {
26199 struct __pyx_MemviewEnum_obj *p = (
struct __pyx_MemviewEnum_obj *)o;
26200 tmp = ((PyObject*)p->name);
26201 p->name = Py_None; Py_INCREF(Py_None);
26206static PyMethodDef __pyx_methods_Enum[] = {
26207 {
"__reduce_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_MemviewEnum_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26208 {
"__setstate_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_MemviewEnum_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26211#if CYTHON_USE_TYPE_SPECS
26212static PyType_Slot __pyx_type___pyx_MemviewEnum_slots[] = {
26213 {Py_tp_dealloc, (
void *)__pyx_tp_dealloc_Enum},
26214 {Py_tp_repr, (
void *)__pyx_MemviewEnum___repr__},
26215 {Py_tp_traverse, (
void *)__pyx_tp_traverse_Enum},
26216 {Py_tp_clear, (
void *)__pyx_tp_clear_Enum},
26217 {Py_tp_methods, (
void *)__pyx_methods_Enum},
26218 {Py_tp_init, (
void *)__pyx_tp_init_Enum},
26219 {Py_tp_new, (
void *)__pyx_tp_new_Enum},
26220 #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
26221 #if CYTHON_VECTORCALL_TPNEW
26222 {Py_tp_vectorcall, (
void *)__pyx_tp_vectorcall_Enum},
26227static PyType_Spec __pyx_type___pyx_MemviewEnum_spec = {
26228 "equivalent_polynomials.Enum",
26229 sizeof(
struct __pyx_MemviewEnum_obj),
26231 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
26232 __pyx_type___pyx_MemviewEnum_slots,
26236static PyTypeObject __pyx_type___pyx_MemviewEnum = {
26237 PyVarObject_HEAD_INIT(0, 0)
26238 "equivalent_polynomials.""Enum",
26239 sizeof(
struct __pyx_MemviewEnum_obj),
26241 __pyx_tp_dealloc_Enum,
26246 __pyx_MemviewEnum___repr__,
26256 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
26258 __pyx_tp_traverse_Enum,
26259 __pyx_tp_clear_Enum,
26264 __pyx_methods_Enum,
26271 #
if !CYTHON_USE_TYPE_SPECS
26274 __pyx_tp_init_Enum,
26286 #
if CYTHON_USE_TP_FINALIZE
26291 #
if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
26292 #
if CYTHON_VECTORCALL_TPNEW
26293 __pyx_tp_vectorcall_Enum,
26298 #
if __PYX_NEED_TP_PRINT_SLOT == 1
26301 #
if PY_VERSION_HEX >= 0x030C0000
26304 #
if PY_VERSION_HEX >= 0x030d00A4
26307 #
if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000
26312static struct __pyx_vtabstruct_memoryview __pyx_vtable_memoryview;
26314static PyObject *__pyx_tp_new__initialisation_memoryview(PyObject *o,
26315#
if CYTHON_VECTORCALL_TPNEW
26316 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
26318 PyObject *a, PyObject *k
26321 struct __pyx_memoryview_obj *p = ((
struct __pyx_memoryview_obj *)o);
26322 p->__pyx_vtab = __pyx_vtabptr_memoryview;
26323 p->obj = Py_None; Py_INCREF(Py_None);
26324 p->_size = Py_None; Py_INCREF(Py_None);
26325 p->view.obj = NULL;
26327 int cinit_result = __pyx_memoryview___cinit__(o,
26328#
if CYTHON_VECTORCALL_TPNEW
26329 args, nargs, kwnames
26334 if (unlikely(cinit_result))
goto bad;
26338 Py_DECREF(o); o = 0;
26342static PyObject *__pyx_tp_new_vectorcall_memoryview(PyTypeObject *t,
26343#
if CYTHON_VECTORCALL_TPNEW
26344 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
26346 PyObject *a, PyObject *k
26350 o = __Pyx_AllocateExtensionType(t, 0);
26351 if (unlikely(!o))
return 0;
26352 return __pyx_tp_new__initialisation_memoryview(o,
26353#
if CYTHON_VECTORCALL_TPNEW
26354 args, nargs, kwnames
26361#if CYTHON_VECTORCALL_TPNEW
26362static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k) {
26363 return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall_memoryview, t, a, k);
26367#if CYTHON_VECTORCALL_TPNEW
26368static PyObject *__pyx_tp_vectorcall_memoryview(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames) {
26369 if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_memoryview_type || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) {
26370 return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames);
26372 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
26373 PyObject *o = __pyx_tp_new_vectorcall_memoryview((PyTypeObject*)t, args, nargs, kwnames);
26378static void __pyx_tp_dealloc_memoryview(PyObject *o) {
26379 struct __pyx_memoryview_obj *p = (
struct __pyx_memoryview_obj *)o;
26380 #if CYTHON_USE_TP_FINALIZE
26381 if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
26382 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_memoryview) {
26383 if (PyObject_CallFinalizerFromDealloc(o))
return;
26387 PyObject_GC_UnTrack(o);
26389 PyObject *etype, *eval, *etb;
26390 __Pyx_PyErr_FetchException(&etype, &eval, &etb);
26391 __Pyx_DeallocKeepAliveBegin(o);
26392 __pyx_memoryview___dealloc__(o);
26393 __Pyx_DeallocKeepAliveEnd(o);
26394 __Pyx_PyErr_RestoreException(etype, eval, etb);
26397 Py_CLEAR(p->_size);
26398 PyTypeObject *tp = Py_TYPE(o);
26399 #if CYTHON_USE_TYPE_SLOTS
26403 freefunc tp_free = (freefunc)PyType_GetSlot(tp, Py_tp_free);
26404 if (tp_free) tp_free(o);
26407 #if CYTHON_USE_TYPE_SPECS
26412static int __pyx_tp_traverse_memoryview(PyObject *o, visitproc
v,
void *a) {
26414 struct __pyx_memoryview_obj *p = (
struct __pyx_memoryview_obj *)o;
26416 e = __Pyx_call_type_traverse(o, 1,
v, a);
26420 e = (*v)(p->obj, a);
if (e)
return e;
26423 e = (*v)(p->_size, a);
if (e)
return e;
26426 e = (*v)(p->view.obj, a);
if (e)
return e;
26431static int __pyx_tp_clear_memoryview(PyObject *o) {
26433 struct __pyx_memoryview_obj *p = (
struct __pyx_memoryview_obj *)o;
26434 tmp = ((PyObject*)p->obj);
26435 p->obj = Py_None; Py_INCREF(Py_None);
26437 tmp = ((PyObject*)p->_size);
26438 p->_size = Py_None; Py_INCREF(Py_None);
26440 Py_CLEAR(p->view.obj);
26444static PyObject *__pyx_sq_item_memoryview(PyObject *o, Py_ssize_t i) {
26446 PyObject *x = PyLong_FromSsize_t(i);
if (unlikely(!x))
return NULL;
26447 #if CYTHON_USE_TYPE_SLOTS || (!CYTHON_USE_TYPE_SPECS && __PYX_LIMITED_VERSION_HEX < 0x030A0000)
26448 binaryfunc
f = Py_TYPE(o)->tp_as_mapping->mp_subscript;
26450 binaryfunc
f = ((binaryfunc)PyType_GetSlot(Py_TYPE(o), Py_mp_subscript));
26457static PyObject *__pyx_mp_subscript_memoryview(PyObject *o, PyObject *i) {
26458 return __pyx_memoryview___getitem__(o, i);
26461static int __pyx_sq_ass_item_memoryview(PyObject *o, Py_ssize_t i, PyObject *
v) {
26463 PyObject *x = PyLong_FromSsize_t(i);
if (unlikely(!x))
return -1;
26464 int r = __pyx_memoryview___setitem__(o, x,
v);
26468 __Pyx_RaiseErrorWithObjectType1(PyExc_NotImplementedError,
"Subscript %.10s not supported by " __Pyx_FMT_TYPENAME,
"deletion", o);
26473static int __pyx_mp_ass_subscript_memoryview(PyObject *o, PyObject *i, PyObject *
v) {
26475 return __pyx_memoryview___setitem__(o, i,
v);
26477 __Pyx_RaiseErrorWithObjectType1(PyExc_NotImplementedError,
"Subscript %.10s not supported by " __Pyx_FMT_TYPENAME,
"deletion", o);
26482static PyObject *__pyx_getprop___pyx_memoryview_T(PyObject *o, CYTHON_UNUSED
void *x) {
26483 return __pyx_pw_15View_dot_MemoryView_10memoryview_1T_1__get__(o);
26486static PyObject *__pyx_getprop___pyx_memoryview_base(PyObject *o, CYTHON_UNUSED
void *x) {
26487 return __pyx_pw_15View_dot_MemoryView_10memoryview_4base_1__get__(o);
26490static PyObject *__pyx_getprop___pyx_memoryview_shape(PyObject *o, CYTHON_UNUSED
void *x) {
26491 return __pyx_pw_15View_dot_MemoryView_10memoryview_5shape_1__get__(o);
26494static PyObject *__pyx_getprop___pyx_memoryview_strides(PyObject *o, CYTHON_UNUSED
void *x) {
26495 return __pyx_pw_15View_dot_MemoryView_10memoryview_7strides_1__get__(o);
26498static PyObject *__pyx_getprop___pyx_memoryview_suboffsets(PyObject *o, CYTHON_UNUSED
void *x) {
26499 return __pyx_pw_15View_dot_MemoryView_10memoryview_10suboffsets_1__get__(o);
26502static PyObject *__pyx_getprop___pyx_memoryview_ndim(PyObject *o, CYTHON_UNUSED
void *x) {
26503 return __pyx_pw_15View_dot_MemoryView_10memoryview_4ndim_1__get__(o);
26506static PyObject *__pyx_getprop___pyx_memoryview_itemsize(PyObject *o, CYTHON_UNUSED
void *x) {
26507 return __pyx_pw_15View_dot_MemoryView_10memoryview_8itemsize_1__get__(o);
26510static PyObject *__pyx_getprop___pyx_memoryview_nbytes(PyObject *o, CYTHON_UNUSED
void *x) {
26511 return __pyx_pw_15View_dot_MemoryView_10memoryview_6nbytes_1__get__(o);
26514static PyObject *__pyx_getprop___pyx_memoryview_size(PyObject *o, CYTHON_UNUSED
void *x) {
26515 return __pyx_pw_15View_dot_MemoryView_10memoryview_4size_1__get__(o);
26518static PyMethodDef __pyx_methods_memoryview[] = {
26519 {
"is_c_contig", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_is_c_contig, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26520 {
"is_f_contig", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_is_f_contig, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26521 {
"copy", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_copy, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26522 {
"copy_fortran", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_memoryview_copy_fortran, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26523 {
"__reduce_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryview_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26524 {
"__setstate_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryview_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26528static struct PyGetSetDef __pyx_getsets_memoryview[] = {
26529 {
"T", __pyx_getprop___pyx_memoryview_T, 0, 0, 0},
26530 {
"base", __pyx_getprop___pyx_memoryview_base, 0, 0, 0},
26531 {
"shape", __pyx_getprop___pyx_memoryview_shape, 0, 0, 0},
26532 {
"strides", __pyx_getprop___pyx_memoryview_strides, 0, 0, 0},
26533 {
"suboffsets", __pyx_getprop___pyx_memoryview_suboffsets, 0, 0, 0},
26534 {
"ndim", __pyx_getprop___pyx_memoryview_ndim, 0, 0, 0},
26535 {
"itemsize", __pyx_getprop___pyx_memoryview_itemsize, 0, 0, 0},
26536 {
"nbytes", __pyx_getprop___pyx_memoryview_nbytes, 0, 0, 0},
26537 {
"size", __pyx_getprop___pyx_memoryview_size, 0, 0, 0},
26540#if CYTHON_USE_TYPE_SPECS
26541#if !CYTHON_COMPILING_IN_LIMITED_API
26543static PyBufferProcs __pyx_tp_as_buffer_memoryview = {
26544 __pyx_memoryview_getbuffer,
26548static PyType_Slot __pyx_type___pyx_memoryview_slots[] = {
26549 {Py_tp_dealloc, (
void *)__pyx_tp_dealloc_memoryview},
26550 {Py_tp_repr, (
void *)__pyx_memoryview___repr__},
26551 {Py_sq_length, (
void *)__pyx_memoryview___len__},
26552 {Py_sq_item, (
void *)__pyx_sq_item_memoryview},
26553 {Py_sq_ass_item, (
void *)__pyx_sq_ass_item_memoryview},
26554 {Py_mp_length, (
void *)__pyx_memoryview___len__},
26555 {Py_mp_subscript, (
void *)__pyx_mp_subscript_memoryview},
26556 {Py_mp_ass_subscript, (
void *)__pyx_mp_ass_subscript_memoryview},
26557 {Py_tp_str, (
void *)__pyx_memoryview___str__},
26558 #if defined(Py_bf_getbuffer)
26559 {Py_bf_getbuffer, (
void *)__pyx_memoryview_getbuffer},
26561 {Py_tp_traverse, (
void *)__pyx_tp_traverse_memoryview},
26562 {Py_tp_clear, (
void *)__pyx_tp_clear_memoryview},
26563 {Py_tp_methods, (
void *)__pyx_methods_memoryview},
26564 {Py_tp_getset, (
void *)__pyx_getsets_memoryview},
26565 {Py_tp_new, (
void *)__pyx_tp_new_memoryview},
26566 #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
26567 #if CYTHON_VECTORCALL_TPNEW
26568 {Py_tp_vectorcall, (
void *)__pyx_tp_vectorcall_memoryview},
26573static PyType_Spec __pyx_type___pyx_memoryview_spec = {
26574 "equivalent_polynomials.memoryview",
26575 sizeof(
struct __pyx_memoryview_obj),
26577 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
26578 __pyx_type___pyx_memoryview_slots,
26582static PySequenceMethods __pyx_tp_as_sequence_memoryview = {
26583 __pyx_memoryview___len__,
26586 __pyx_sq_item_memoryview,
26588 __pyx_sq_ass_item_memoryview,
26595static PyMappingMethods __pyx_tp_as_mapping_memoryview = {
26596 __pyx_memoryview___len__,
26597 __pyx_mp_subscript_memoryview,
26598 __pyx_mp_ass_subscript_memoryview,
26601static PyBufferProcs __pyx_tp_as_buffer_memoryview = {
26602 __pyx_memoryview_getbuffer,
26606static PyTypeObject __pyx_type___pyx_memoryview = {
26607 PyVarObject_HEAD_INIT(0, 0)
26608 "equivalent_polynomials.""memoryview",
26609 sizeof(
struct __pyx_memoryview_obj),
26611 __pyx_tp_dealloc_memoryview,
26616 __pyx_memoryview___repr__,
26618 &__pyx_tp_as_sequence_memoryview,
26619 &__pyx_tp_as_mapping_memoryview,
26622 __pyx_memoryview___str__,
26625 &__pyx_tp_as_buffer_memoryview,
26626 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
26628 __pyx_tp_traverse_memoryview,
26629 __pyx_tp_clear_memoryview,
26634 __pyx_methods_memoryview,
26636 __pyx_getsets_memoryview,
26641 #
if !CYTHON_USE_TYPE_SPECS
26646 __pyx_tp_new_memoryview,
26656 #
if CYTHON_USE_TP_FINALIZE
26661 #
if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
26662 #
if CYTHON_VECTORCALL_TPNEW
26663 __pyx_tp_vectorcall_memoryview,
26668 #
if __PYX_NEED_TP_PRINT_SLOT == 1
26671 #
if PY_VERSION_HEX >= 0x030C0000
26674 #
if PY_VERSION_HEX >= 0x030d00A4
26677 #
if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000
26682static struct __pyx_vtabstruct__memoryviewslice __pyx_vtable__memoryviewslice;
26684static PyObject *__pyx_tp_new__initialisation__memoryviewslice(PyObject *o,
26685#
if CYTHON_VECTORCALL_TPNEW
26686 CYTHON_UNUSED PyObject *
const *args, CYTHON_UNUSED Py_ssize_t nargs, CYTHON_UNUSED PyObject *kwnames
26688 CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k
26691 struct __pyx_memoryviewslice_obj *p = ((
struct __pyx_memoryviewslice_obj *)o);
26692 p->__pyx_base.__pyx_vtab = (
struct __pyx_vtabstruct_memoryview*)__pyx_vtabptr__memoryviewslice;
26693 __Pyx_default_placement_construct(&(p->from_slice));
26694 p->from_object = Py_None; Py_INCREF(Py_None);
26695 p->from_slice.memview = NULL;
26699static PyObject *__pyx_tp_new_vectorcall__memoryviewslice(PyTypeObject *t,
26700#
if CYTHON_VECTORCALL_TPNEW
26701 PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames
26703 PyObject *a, PyObject *k
26707 o = __pyx_tp_new_vectorcall_memoryview(t,
26708#
if CYTHON_VECTORCALL_TPNEW
26709 args, nargs, kwnames
26714 if (unlikely(!o))
return 0;
26715 return __pyx_tp_new__initialisation__memoryviewslice(o,
26716#
if CYTHON_VECTORCALL_TPNEW
26717 args, nargs, kwnames
26724#if CYTHON_VECTORCALL_TPNEW
26725static PyObject *__pyx_tp_new__memoryviewslice(PyTypeObject *t, PyObject *a, PyObject *k) {
26726 return __Pyx_CallTpnewAsVectorcall(__pyx_tp_new_vectorcall__memoryviewslice, t, a, k);
26730#if CYTHON_VECTORCALL_TPNEW
26731static PyObject *__pyx_tp_vectorcall__memoryviewslice(PyObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames) {
26732 if (unlikely((PyTypeObject*)t != __pyx_mstate_global->__pyx_memoryviewslice_type || __Pyx_PyType_HasFeature((PyTypeObject*)t, Py_TPFLAGS_IS_ABSTRACT))) {
26733 return __Pyx_CallNewInitFromVectorcall((PyTypeObject*)t, args, nargsf, kwnames);
26735 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
26736 PyObject *o = __pyx_tp_new_vectorcall__memoryviewslice((PyTypeObject*)t, args, nargs, kwnames);
26741static void __pyx_tp_dealloc__memoryviewslice(PyObject *o) {
26742 struct __pyx_memoryviewslice_obj *p = (
struct __pyx_memoryviewslice_obj *)o;
26743 #if CYTHON_USE_TP_FINALIZE
26744 if (unlikely(__Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
26745 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc__memoryviewslice) {
26746 if (PyObject_CallFinalizerFromDealloc(o))
return;
26750 PyObject_GC_UnTrack(o);
26752 PyObject *etype, *eval, *etb;
26753 __Pyx_PyErr_FetchException(&etype, &eval, &etb);
26754 __Pyx_DeallocKeepAliveBegin(o);
26755 __pyx_memoryviewslice___dealloc__(o);
26756 __Pyx_DeallocKeepAliveEnd(o);
26757 __Pyx_PyErr_RestoreException(etype, eval, etb);
26759 __Pyx_call_destructor(p->from_slice);
26760 Py_CLEAR(p->from_object);
26761 PyObject_GC_Track(o);
26762 __pyx_tp_dealloc_memoryview(o);
26765static int __pyx_tp_traverse__memoryviewslice(PyObject *o, visitproc
v,
void *a) {
26767 struct __pyx_memoryviewslice_obj *p = (
struct __pyx_memoryviewslice_obj *)o;
26768 e = __pyx_tp_traverse_memoryview(o,
v, a);
if (e)
return e;
26769 if (p->from_object) {
26770 e = (*v)(p->from_object, a);
if (e)
return e;
26775static int __pyx_tp_clear__memoryviewslice(PyObject *o) {
26777 struct __pyx_memoryviewslice_obj *p = (
struct __pyx_memoryviewslice_obj *)o;
26778 __pyx_tp_clear_memoryview(o);
26779 tmp = ((PyObject*)p->from_object);
26780 p->from_object = Py_None; Py_INCREF(Py_None);
26782 __PYX_XCLEAR_MEMVIEW(&p->from_slice, 1);
26786static PyMethodDef __pyx_methods__memoryviewslice[] = {
26787 {
"__reduce_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryviewslice_1__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26788 {
"__setstate_cython__", (PyCFunction)(
void(*)(
void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw___pyx_memoryviewslice_3__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
26791#if CYTHON_USE_TYPE_SPECS
26792static PyType_Slot __pyx_type___pyx_memoryviewslice_slots[] = {
26793 {Py_tp_dealloc, (
void *)__pyx_tp_dealloc__memoryviewslice},
26794 {Py_tp_doc, (
void *)PyDoc_STR(
"Internal class for passing memoryview slices to Python")},
26795 {Py_tp_traverse, (
void *)__pyx_tp_traverse__memoryviewslice},
26796 {Py_tp_clear, (
void *)__pyx_tp_clear__memoryviewslice},
26797 {Py_tp_methods, (
void *)__pyx_methods__memoryviewslice},
26798 {Py_tp_new, (
void *)__pyx_tp_new__memoryviewslice},
26799 #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
26800 #if CYTHON_VECTORCALL_TPNEW
26801 {Py_tp_vectorcall, (
void *)__pyx_tp_vectorcall__memoryviewslice},
26806static PyType_Spec __pyx_type___pyx_memoryviewslice_spec = {
26807 "equivalent_polynomials._memoryviewslice",
26808 sizeof(
struct __pyx_memoryviewslice_obj),
26810 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_SEQUENCE,
26811 __pyx_type___pyx_memoryviewslice_slots,
26815static PyTypeObject __pyx_type___pyx_memoryviewslice = {
26816 PyVarObject_HEAD_INIT(0, 0)
26817 "equivalent_polynomials.""_memoryviewslice",
26818 sizeof(
struct __pyx_memoryviewslice_obj),
26820 __pyx_tp_dealloc__memoryviewslice,
26825 #
if CYTHON_COMPILING_IN_PYPY || 0
26826 __pyx_memoryview___repr__,
26835 #
if CYTHON_COMPILING_IN_PYPY || 0
26836 __pyx_memoryview___str__,
26843 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_SEQUENCE,
26844 PyDoc_STR(
"Internal class for passing memoryview slices to Python"),
26845 __pyx_tp_traverse__memoryviewslice,
26846 __pyx_tp_clear__memoryviewslice,
26851 __pyx_methods__memoryviewslice,
26858 #if !CYTHON_USE_TYPE_SPECS
26863 __pyx_tp_new__memoryviewslice,
26873 #if CYTHON_USE_TP_FINALIZE
26878 #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800) && (!CYTHON_COMPILING_IN_LIMITED_API || __PYX_LIMITED_VERSION_HEX >= 0x030E0000)
26879 #if CYTHON_VECTORCALL_TPNEW
26880 __pyx_tp_vectorcall__memoryviewslice,
26885 #if __PYX_NEED_TP_PRINT_SLOT == 1
26888 #if PY_VERSION_HEX >= 0x030C0000
26891 #if PY_VERSION_HEX >= 0x030d00A4
26894 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x030a0000
26900static PyMethodDef __pyx_methods[] = {
26904static CYTHON_SMALL_CODE
int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate);
26905static CYTHON_SMALL_CODE
int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate);
26906static CYTHON_SMALL_CODE
int __Pyx_InitGlobals(
void);
26907static CYTHON_SMALL_CODE
int __Pyx_InitAfterSharedUtility(
void);
26908static CYTHON_SMALL_CODE
int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate);
26909static CYTHON_SMALL_CODE
int __Pyx_modinit_Global_init_code(__pyx_mstatetype *__pyx_mstate);
26910static CYTHON_SMALL_CODE
int __Pyx_modinit_Variable_export_code(__pyx_mstatetype *__pyx_mstate);
26911static CYTHON_SMALL_CODE
int __Pyx_modinit_Function_export_code(__pyx_mstatetype *__pyx_mstate);
26912static CYTHON_SMALL_CODE
int __Pyx_modinit_Exttype___pyx_obj_22equivalent_polynomials_Simplex(__pyx_mstatetype *__pyx_mstate);
26913static CYTHON_SMALL_CODE
int __Pyx_modinit_Exttype___pyx_array_obj(__pyx_mstatetype *__pyx_mstate);
26914static CYTHON_SMALL_CODE
int __Pyx_modinit_Exttype___pyx_MemviewEnum_obj(__pyx_mstatetype *__pyx_mstate);
26915static CYTHON_SMALL_CODE
int __Pyx_modinit_Exttype___pyx_memoryview_obj(__pyx_mstatetype *__pyx_mstate);
26916static CYTHON_SMALL_CODE
int __Pyx_modinit_Exttype___pyx_memoryviewslice_obj(__pyx_mstatetype *__pyx_mstate);
26917static CYTHON_SMALL_CODE
int __Pyx_modinit_Type_import_code(__pyx_mstatetype *__pyx_mstate);
26918static CYTHON_SMALL_CODE
int __Pyx_modinit_Variable_import_code(__pyx_mstatetype *__pyx_mstate);
26919static CYTHON_SMALL_CODE
int __Pyx_modinit_Function_import_code(__pyx_mstatetype *__pyx_mstate);
26920static CYTHON_SMALL_CODE
int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate);
26923static int __Pyx_modinit_Global_init_code(__pyx_mstatetype *__pyx_mstate) {
26924 __Pyx_RefNannyDeclarations
26925 CYTHON_UNUSED_VAR(__pyx_mstate);
26926 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Global_init_code", 0);
26928 __pyx_collections_abc_Sequence = Py_None; Py_INCREF(Py_None);
26929 generic = Py_None; Py_INCREF(Py_None);
26930 strided = Py_None; Py_INCREF(Py_None);
26931 indirect = Py_None; Py_INCREF(Py_None);
26932 contiguous = Py_None; Py_INCREF(Py_None);
26933 indirect_contiguous = Py_None; Py_INCREF(Py_None);
26934 __Pyx_RefNannyFinishContext();
26938static int __Pyx_modinit_Variable_export_code(__pyx_mstatetype *__pyx_mstate) {
26939 __Pyx_RefNannyDeclarations
26940 CYTHON_UNUSED_VAR(__pyx_mstate);
26941 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Variable_export_code", 0);
26943 __Pyx_RefNannyFinishContext();
26947static int __Pyx_modinit_Function_export_code(__pyx_mstatetype *__pyx_mstate) {
26948 __Pyx_RefNannyDeclarations
26949 CYTHON_UNUSED_VAR(__pyx_mstate);
26950 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Function_export_code", 0);
26952 __Pyx_RefNannyFinishContext();
26956static int __Pyx_modinit_Exttype___pyx_obj_22equivalent_polynomials_Simplex(__pyx_mstatetype *__pyx_mstate) {
26957 __Pyx_RefNannyDeclarations
26958 int __pyx_lineno = 0;
26959 const char *__pyx_filename = NULL;
26960 int __pyx_clineno = 0;
26961 CYTHON_UNUSED_VAR(__pyx_mstate);
26962 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Exttype___pyx_obj_22equivalent_polynomials_Simplex", 0);
26964 #if CYTHON_USE_TYPE_SPECS
26965 __pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_22equivalent_polynomials_Simplex_spec, NULL);
if (unlikely(!__pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex)) __PYX_ERR(0, 30, __pyx_L1_error)
26967 __pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex = &__pyx_type_22equivalent_polynomials_Simplex;
26969 #if !CYTHON_COMPILING_IN_LIMITED_API
26971 #if !CYTHON_USE_TYPE_SPECS
26972 if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex) < (0)) __PYX_ERR(0, 30, __pyx_L1_error)
26974 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
26975 PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex);
26977 #if !CYTHON_COMPILING_IN_LIMITED_API
26978 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex->tp_dictoffset && __pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex->tp_getattro == PyObject_GenericGetAttr)) {
26979 __pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex->tp_getattro = PyObject_GenericGetAttr;
26982 if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_Simplex, (PyObject *) __pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex) < (0)) __PYX_ERR(0, 30, __pyx_L1_error)
26983 if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_ptype_22equivalent_polynomials_Simplex) < (0)) __PYX_ERR(0, 30, __pyx_L1_error)
26984 __Pyx_RefNannyFinishContext();
26987 __Pyx_RefNannyFinishContext();
26991static int __Pyx_modinit_Exttype___pyx_array_obj(__pyx_mstatetype *__pyx_mstate) {
26992 __Pyx_RefNannyDeclarations
26993 int __pyx_lineno = 0;
26994 const char *__pyx_filename = NULL;
26995 int __pyx_clineno = 0;
26996 CYTHON_UNUSED_VAR(__pyx_mstate);
26997 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Exttype___pyx_array_obj", 0);
26999 __pyx_vtabptr_array = &__pyx_vtable_array;
27000 __pyx_vtable_array.get_memview = (PyObject *(*)(
struct __pyx_array_obj *))__pyx_array_get_memview;
27001 #if CYTHON_USE_TYPE_SPECS
27002 __pyx_mstate->__pyx_array_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_array_spec, NULL);
if (unlikely(!__pyx_mstate->__pyx_array_type)) __PYX_ERR(1, 128, __pyx_L1_error)
27003 #if !CYTHON_COMPILING_IN_LIMITED_API
27004 __pyx_mstate->__pyx_array_type->tp_as_buffer = &__pyx_tp_as_buffer_array;
27005 if (!__pyx_mstate->__pyx_array_type->tp_as_buffer->bf_releasebuffer && __pyx_mstate->__pyx_array_type->tp_base->tp_as_buffer && __pyx_mstate->__pyx_array_type->tp_base->tp_as_buffer->bf_releasebuffer) {
27006 __pyx_mstate->__pyx_array_type->tp_as_buffer->bf_releasebuffer = __pyx_mstate->__pyx_array_type->tp_base->tp_as_buffer->bf_releasebuffer;
27008 #elif defined(Py_bf_getbuffer) && defined(Py_bf_releasebuffer)
27010 #elif defined(_MSC_VER)
27011 #pragma message ("The buffer protocol is not supported in the Limited C-API < 3.11.")
27013 #warning "The buffer protocol is not supported in the Limited C-API < 3.11."
27016 __pyx_mstate->__pyx_array_type = &__pyx_type___pyx_array;
27018 if (__Pyx_ApplySequenceOrMappingFlag(__pyx_mstate->__pyx_array_type, 1) < (0)) __PYX_ERR(1, 128, __pyx_L1_error)
27019 #if !CYTHON_COMPILING_IN_LIMITED_API
27021 #if !CYTHON_USE_TYPE_SPECS
27022 if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(1, 128, __pyx_L1_error)
27024 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
27025 PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_array_type);
27027 if (__Pyx_SetVtable(__pyx_mstate->__pyx_array_type, __pyx_vtabptr_array) < (0)) __PYX_ERR(1, 128, __pyx_L1_error)
27028 if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_array_type) < (0)) __PYX_ERR(1, 128, __pyx_L1_error)
27029 __Pyx_RefNannyFinishContext();
27032 __Pyx_RefNannyFinishContext();
27036static int __Pyx_modinit_Exttype___pyx_MemviewEnum_obj(__pyx_mstatetype *__pyx_mstate) {
27037 __Pyx_RefNannyDeclarations
27038 int __pyx_lineno = 0;
27039 const char *__pyx_filename = NULL;
27040 int __pyx_clineno = 0;
27041 CYTHON_UNUSED_VAR(__pyx_mstate);
27042 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Exttype___pyx_MemviewEnum_obj", 0);
27044 #if CYTHON_USE_TYPE_SPECS
27045 __pyx_mstate->__pyx_MemviewEnum_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_MemviewEnum_spec, NULL);
if (unlikely(!__pyx_mstate->__pyx_MemviewEnum_type)) __PYX_ERR(1, 318, __pyx_L1_error)
27047 __pyx_mstate->__pyx_MemviewEnum_type = &__pyx_type___pyx_MemviewEnum;
27049 #if !CYTHON_COMPILING_IN_LIMITED_API
27051 #if !CYTHON_USE_TYPE_SPECS
27052 if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_MemviewEnum_type) < (0)) __PYX_ERR(1, 318, __pyx_L1_error)
27054 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
27055 PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_MemviewEnum_type);
27057 #if !CYTHON_COMPILING_IN_LIMITED_API
27058 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_MemviewEnum_type->tp_dictoffset && __pyx_mstate->__pyx_MemviewEnum_type->tp_getattro == PyObject_GenericGetAttr)) {
27059 __pyx_mstate->__pyx_MemviewEnum_type->tp_getattro = PyObject_GenericGetAttr;
27062 if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_MemviewEnum_type) < (0)) __PYX_ERR(1, 318, __pyx_L1_error)
27063 __Pyx_RefNannyFinishContext();
27066 __Pyx_RefNannyFinishContext();
27070static int __Pyx_modinit_Exttype___pyx_memoryview_obj(__pyx_mstatetype *__pyx_mstate) {
27071 __Pyx_RefNannyDeclarations
27072 int __pyx_lineno = 0;
27073 const char *__pyx_filename = NULL;
27074 int __pyx_clineno = 0;
27075 CYTHON_UNUSED_VAR(__pyx_mstate);
27076 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Exttype___pyx_memoryview_obj", 0);
27078 __pyx_vtabptr_memoryview = &__pyx_vtable_memoryview;
27079 __pyx_vtable_memoryview.get_item_pointer = (
char *(*)(
struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_get_item_pointer;
27080 __pyx_vtable_memoryview.is_slice = (PyObject *(*)(
struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_is_slice;
27081 __pyx_vtable_memoryview.setitem_slice_assignment = (PyObject *(*)(
struct __pyx_memoryview_obj *, PyObject *, PyObject *))__pyx_memoryview_setitem_slice_assignment;
27082 __pyx_vtable_memoryview.setitem_slice_assign_scalar = (PyObject *(*)(
struct __pyx_memoryview_obj *,
struct __pyx_memoryview_obj *, PyObject *))__pyx_memoryview_setitem_slice_assign_scalar;
27083 __pyx_vtable_memoryview.setitem_indexed = (PyObject *(*)(
struct __pyx_memoryview_obj *, PyObject *, PyObject *))__pyx_memoryview_setitem_indexed;
27084 __pyx_vtable_memoryview.setitem_indexed1 = (PyObject *(*)(
struct __pyx_memoryview_obj *, PyObject *, PyObject *))__pyx_memoryview_setitem_indexed1;
27085 __pyx_vtable_memoryview.convert_item_to_object = (PyObject *(*)(
struct __pyx_memoryview_obj *,
char *))__pyx_memoryview_convert_item_to_object;
27086 __pyx_vtable_memoryview.assign_item_from_object = (PyObject *(*)(
struct __pyx_memoryview_obj *,
char *, PyObject *))__pyx_memoryview_assign_item_from_object;
27087 __pyx_vtable_memoryview._get_base = (PyObject *(*)(
struct __pyx_memoryview_obj *))__pyx_memoryview__get_base;
27088 #if CYTHON_USE_TYPE_SPECS
27089 __pyx_mstate->__pyx_memoryview_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_memoryview_spec, NULL);
if (unlikely(!__pyx_mstate->__pyx_memoryview_type)) __PYX_ERR(1, 353, __pyx_L1_error)
27090 #if !CYTHON_COMPILING_IN_LIMITED_API
27091 __pyx_mstate->__pyx_memoryview_type->tp_as_buffer = &__pyx_tp_as_buffer_memoryview;
27092 if (!__pyx_mstate->__pyx_memoryview_type->tp_as_buffer->bf_releasebuffer && __pyx_mstate->__pyx_memoryview_type->tp_base->tp_as_buffer && __pyx_mstate->__pyx_memoryview_type->tp_base->tp_as_buffer->bf_releasebuffer) {
27093 __pyx_mstate->__pyx_memoryview_type->tp_as_buffer->bf_releasebuffer = __pyx_mstate->__pyx_memoryview_type->tp_base->tp_as_buffer->bf_releasebuffer;
27095 #elif defined(Py_bf_getbuffer) && defined(Py_bf_releasebuffer)
27097 #elif defined(_MSC_VER)
27098 #pragma message ("The buffer protocol is not supported in the Limited C-API < 3.11.")
27100 #warning "The buffer protocol is not supported in the Limited C-API < 3.11."
27103 __pyx_mstate->__pyx_memoryview_type = &__pyx_type___pyx_memoryview;
27105 #if !CYTHON_COMPILING_IN_LIMITED_API
27107 #if !CYTHON_USE_TYPE_SPECS
27108 if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(1, 353, __pyx_L1_error)
27110 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
27111 PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_memoryview_type);
27113 #if !CYTHON_COMPILING_IN_LIMITED_API
27114 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_memoryview_type->tp_dictoffset && __pyx_mstate->__pyx_memoryview_type->tp_getattro == PyObject_GenericGetAttr)) {
27115 __pyx_mstate->__pyx_memoryview_type->tp_getattro = PyObject_GenericGetAttr;
27118 if (__Pyx_SetVtable(__pyx_mstate->__pyx_memoryview_type, __pyx_vtabptr_memoryview) < (0)) __PYX_ERR(1, 353, __pyx_L1_error)
27119 if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_memoryview_type) < (0)) __PYX_ERR(1, 353, __pyx_L1_error)
27120 __Pyx_RefNannyFinishContext();
27123 __Pyx_RefNannyFinishContext();
27127static int __Pyx_modinit_Exttype___pyx_memoryviewslice_obj(__pyx_mstatetype *__pyx_mstate) {
27128 __Pyx_RefNannyDeclarations
27129 PyObject *__pyx_t_1 = NULL;
27130 int __pyx_lineno = 0;
27131 const char *__pyx_filename = NULL;
27132 int __pyx_clineno = 0;
27133 CYTHON_UNUSED_VAR(__pyx_mstate);
27134 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Exttype___pyx_memoryviewslice_obj", 0);
27136 __pyx_vtabptr__memoryviewslice = &__pyx_vtable__memoryviewslice;
27137 __pyx_vtable__memoryviewslice.__pyx_base = *__pyx_vtabptr_memoryview;
27138 __pyx_vtable__memoryviewslice.__pyx_base.convert_item_to_object = (PyObject *(*)(
struct __pyx_memoryview_obj *,
char *))__pyx_memoryviewslice_convert_item_to_object;
27139 __pyx_vtable__memoryviewslice.__pyx_base.assign_item_from_object = (PyObject *(*)(
struct __pyx_memoryview_obj *,
char *, PyObject *))__pyx_memoryviewslice_assign_item_from_object;
27140 __pyx_vtable__memoryviewslice.__pyx_base._get_base = (PyObject *(*)(
struct __pyx_memoryview_obj *))__pyx_memoryviewslice__get_base;
27141 #if CYTHON_USE_TYPE_SPECS
27142 __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_mstate_global->__pyx_memoryview_type);
if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 947, __pyx_L1_error)
27143 __Pyx_GOTREF(__pyx_t_1);
27144 __pyx_mstate->__pyx_memoryviewslice_type = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type___pyx_memoryviewslice_spec, __pyx_t_1);
27145 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
27146 if (unlikely(!__pyx_mstate->__pyx_memoryviewslice_type)) __PYX_ERR(1, 947, __pyx_L1_error)
27148 __pyx_mstate->__pyx_memoryviewslice_type = &__pyx_type___pyx_memoryviewslice;
27150 if (__Pyx_ApplySequenceOrMappingFlag(__pyx_mstate->__pyx_memoryviewslice_type, 1) < (0)) __PYX_ERR(1, 947, __pyx_L1_error)
27151 #if !CYTHON_COMPILING_IN_LIMITED_API
27152 __pyx_mstate_global->__pyx_memoryviewslice_type->tp_base = __pyx_mstate_global->__pyx_memoryview_type;
27154 #if !CYTHON_USE_TYPE_SPECS
27155 if (__Pyx_PyType_Ready(__pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(1, 947, __pyx_L1_error)
27157 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
27158 PyUnstable_Object_EnableDeferredRefcount((PyObject*)__pyx_mstate->__pyx_memoryviewslice_type);
27160 #if !CYTHON_COMPILING_IN_LIMITED_API
27161 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_mstate->__pyx_memoryviewslice_type->tp_dictoffset && __pyx_mstate->__pyx_memoryviewslice_type->tp_getattro == PyObject_GenericGetAttr)) {
27162 __pyx_mstate->__pyx_memoryviewslice_type->tp_getattro = PyObject_GenericGetAttr;
27165 if (__Pyx_SetVtable(__pyx_mstate->__pyx_memoryviewslice_type, __pyx_vtabptr__memoryviewslice) < (0)) __PYX_ERR(1, 947, __pyx_L1_error)
27166 if (__Pyx_setup_reduce((PyObject *) __pyx_mstate->__pyx_memoryviewslice_type) < (0)) __PYX_ERR(1, 947, __pyx_L1_error)
27167 __Pyx_RefNannyFinishContext();
27170 __Pyx_XDECREF(__pyx_t_1);
27171 __Pyx_RefNannyFinishContext();
27175static int __Pyx_modinit_Type_import_code(__pyx_mstatetype *__pyx_mstate) {
27176 __Pyx_RefNannyDeclarations
27177 PyObject *__pyx_t_1 = NULL;
27178 int __pyx_lineno = 0;
27179 const char *__pyx_filename = NULL;
27180 int __pyx_clineno = 0;
27181 CYTHON_UNUSED_VAR(__pyx_mstate);
27182 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Type_import_code", 0);
27184 __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME);
if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 9, __pyx_L1_error)
27185 __Pyx_GOTREF(__pyx_t_1);
27186 __pyx_mstate->__pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_3_0(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME,
"type",
27187 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27188 sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyTypeObject),
27189 #elif CYTHON_COMPILING_IN_LIMITED_API
27192 sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyHeapTypeObject),
27194 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_7cpython_4type_type) __PYX_ERR(3, 9, __pyx_L1_error)
27195 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27196 __pyx_t_1 = PyImport_ImportModule(
"numpy");
if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 229, __pyx_L1_error)
27197 __Pyx_GOTREF(__pyx_t_1);
27198 __pyx_mstate->__pyx_ptype_5numpy_dtype = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"dtype",
27199 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27200 sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArray_Descr),
27201 #elif CYTHON_COMPILING_IN_LIMITED_API
27202 sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArray_Descr),
27204 sizeof(PyArray_Descr), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArray_Descr),
27206 __Pyx_ImportType_CheckSize_Ignore_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_dtype) __PYX_ERR(2, 229, __pyx_L1_error)
27207 __pyx_mstate->__pyx_ptype_5numpy_flatiter = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"flatiter",
27208 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27209 sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayIterObject),
27210 #elif CYTHON_COMPILING_IN_LIMITED_API
27211 sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayIterObject),
27213 sizeof(PyArrayIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayIterObject),
27215 __Pyx_ImportType_CheckSize_Ignore_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_flatiter) __PYX_ERR(2, 286, __pyx_L1_error)
27216 __pyx_mstate->__pyx_ptype_5numpy_broadcast = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"broadcast",
27217 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27218 sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayMultiIterObject),
27219 #elif CYTHON_COMPILING_IN_LIMITED_API
27220 sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayMultiIterObject),
27222 sizeof(PyArrayMultiIterObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayMultiIterObject),
27224 __Pyx_ImportType_CheckSize_Ignore_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_broadcast) __PYX_ERR(2, 290, __pyx_L1_error)
27225 __pyx_mstate->__pyx_ptype_5numpy_ndarray = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"ndarray",
27226 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27227 sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayObject),
27228 #elif CYTHON_COMPILING_IN_LIMITED_API
27229 sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayObject),
27231 sizeof(PyArrayObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyArrayObject),
27233 __Pyx_ImportType_CheckSize_Ignore_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_ndarray) __PYX_ERR(2, 329, __pyx_L1_error)
27234 __pyx_mstate->__pyx_ptype_5numpy_generic = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"generic",
27235 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27236 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27237 #elif CYTHON_COMPILING_IN_LIMITED_API
27238 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27240 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27242 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_generic) __PYX_ERR(2, 847, __pyx_L1_error)
27243 __pyx_mstate->__pyx_ptype_5numpy_number = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"number",
27244 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27245 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27246 #elif CYTHON_COMPILING_IN_LIMITED_API
27247 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27249 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27251 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_number) __PYX_ERR(2, 849, __pyx_L1_error)
27252 __pyx_mstate->__pyx_ptype_5numpy_integer = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"integer",
27253 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27254 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27255 #elif CYTHON_COMPILING_IN_LIMITED_API
27256 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27258 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27260 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_integer) __PYX_ERR(2, 851, __pyx_L1_error)
27261 __pyx_mstate->__pyx_ptype_5numpy_signedinteger = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"signedinteger",
27262 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27263 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27264 #elif CYTHON_COMPILING_IN_LIMITED_API
27265 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27267 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27269 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_signedinteger) __PYX_ERR(2, 853, __pyx_L1_error)
27270 __pyx_mstate->__pyx_ptype_5numpy_unsignedinteger = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"unsignedinteger",
27271 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27272 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27273 #elif CYTHON_COMPILING_IN_LIMITED_API
27274 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27276 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27278 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_unsignedinteger) __PYX_ERR(2, 855, __pyx_L1_error)
27279 __pyx_mstate->__pyx_ptype_5numpy_inexact = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"inexact",
27280 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27281 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27282 #elif CYTHON_COMPILING_IN_LIMITED_API
27283 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27285 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27287 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_inexact) __PYX_ERR(2, 857, __pyx_L1_error)
27288 __pyx_mstate->__pyx_ptype_5numpy_floating = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"floating",
27289 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27290 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27291 #elif CYTHON_COMPILING_IN_LIMITED_API
27292 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27294 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27296 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_floating) __PYX_ERR(2, 859, __pyx_L1_error)
27297 __pyx_mstate->__pyx_ptype_5numpy_complexfloating = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"complexfloating",
27298 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27299 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27300 #elif CYTHON_COMPILING_IN_LIMITED_API
27301 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27303 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27305 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_complexfloating) __PYX_ERR(2, 861, __pyx_L1_error)
27306 __pyx_mstate->__pyx_ptype_5numpy_flexible = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"flexible",
27307 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27308 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27309 #elif CYTHON_COMPILING_IN_LIMITED_API
27310 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27312 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27314 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_flexible) __PYX_ERR(2, 863, __pyx_L1_error)
27315 __pyx_mstate->__pyx_ptype_5numpy_character = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"character",
27316 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27317 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27318 #elif CYTHON_COMPILING_IN_LIMITED_API
27319 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27321 sizeof(PyObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyObject),
27323 __Pyx_ImportType_CheckSize_Warn_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_character) __PYX_ERR(2, 865, __pyx_L1_error)
27324 __pyx_mstate->__pyx_ptype_5numpy_ufunc = __Pyx_ImportType_3_3_0(__pyx_t_1,
"numpy",
"ufunc",
27325 #
if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
27326 sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyUFuncObject),
27327 #elif CYTHON_COMPILING_IN_LIMITED_API
27328 sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyUFuncObject),
27330 sizeof(PyUFuncObject), __PYX_GET_STRUCT_ALIGNMENT_3_3_0(PyUFuncObject),
27332 __Pyx_ImportType_CheckSize_Ignore_3_3_0);
if (!__pyx_mstate->__pyx_ptype_5numpy_ufunc) __PYX_ERR(2, 946, __pyx_L1_error)
27333 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
27334 __Pyx_RefNannyFinishContext();
27337 __Pyx_XDECREF(__pyx_t_1);
27338 __Pyx_RefNannyFinishContext();
27342static int __Pyx_modinit_Variable_import_code(__pyx_mstatetype *__pyx_mstate) {
27343 __Pyx_RefNannyDeclarations
27344 CYTHON_UNUSED_VAR(__pyx_mstate);
27345 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Variable_import_code", 0);
27347 __Pyx_RefNannyFinishContext();
27351static int __Pyx_modinit_Function_import_code(__pyx_mstatetype *__pyx_mstate) {
27352 __Pyx_RefNannyDeclarations
27353 CYTHON_UNUSED_VAR(__pyx_mstate);
27354 __Pyx_RefNannySetupContext(
"__Pyx_modinit_Function_import_code", 0);
27356 __Pyx_RefNannyFinishContext();
27360#if CYTHON_PEP489_MULTI_PHASE_INIT
27361static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def);
27362static int __pyx_pymod_exec_equivalent_polynomials(PyObject* module);
27363static PyModuleDef_Slot __pyx_moduledef_slots[] = {
27364 {Py_mod_create, (
void*)__pyx_pymod_create},
27365 {Py_mod_exec, (
void*)__pyx_pymod_exec_equivalent_polynomials},
27366 #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
27367 {Py_mod_gil, __Pyx_FREETHREADING_COMPATIBLE},
27369 #if PY_VERSION_HEX >= 0x030C0000 && CYTHON_USE_MODULE_STATE
27370 {Py_mod_multiple_interpreters, Py_MOD_MULTIPLE_INTERPRETERS_NOT_SUPPORTED},
27378 struct PyModuleDef __pyx_moduledef =
27380 static struct PyModuleDef __pyx_moduledef =
27383 PyModuleDef_HEAD_INIT,
27384 "equivalent_polynomials",
27386 #if CYTHON_USE_MODULE_STATE
27387 sizeof(__pyx_mstatetype),
27389 (CYTHON_PEP489_MULTI_PHASE_INIT) ? 0 : -1,
27392 #if CYTHON_PEP489_MULTI_PHASE_INIT
27393 __pyx_moduledef_slots,
27397 #if CYTHON_USE_MODULE_STATE
27412#ifndef CYTHON_NO_PYINIT_EXPORT
27413 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
27416 #define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
27418 #define __Pyx_PyMODINIT_FUNC PyObject *
27422__Pyx_PyMODINIT_FUNC PyInit_equivalent_polynomials(
void) CYTHON_SMALL_CODE;
27423__Pyx_PyMODINIT_FUNC PyInit_equivalent_polynomials(
void)
27424#if CYTHON_PEP489_MULTI_PHASE_INIT
27426 return PyModuleDef_Init(&__pyx_moduledef);
27429#if CYTHON_COMPILING_IN_LIMITED_API && (__PYX_LIMITED_VERSION_HEX < 0x030A0000 &&\
27430 (defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)))
27431static PY_INT64_T __Pyx_GetCurrentInterpreterId(
void) {
27433 PyObject *module = PyImport_ImportModule(
"_interpreters");
27435 if (!PyErr_ExceptionMatches(PyExc_Exception)) {
27439 module = PyImport_ImportModule("_xxsubinterpreters");
27440 if (!module)
goto bad;
27442 PyObject *current = PyObject_CallMethod(module,
"get_current", NULL);
27444 if (!current)
goto bad;
27445 if (PyTuple_Check(current)) {
27446 PyObject *new_current = PySequence_GetItem(current, 0);
27447 Py_DECREF(current);
27448 current = new_current;
27449 if (!new_current)
goto bad;
27451 long long as_c_int = PyLong_AsLongLong(current);
27452 Py_DECREF(current);
27456 PySys_WriteStderr(
"__Pyx_GetCurrentInterpreterId failed. Try setting the C define CYTHON_PEP489_MULTI_PHASE_INIT=0\n");
27460#if !CYTHON_USE_MODULE_STATE
27461static CYTHON_SMALL_CODE
int __Pyx_check_single_interpreter(
void) {
27462 static PY_INT64_T main_interpreter_id = -1;
27463#if CYTHON_COMPILING_IN_GRAAL && defined(GRAALPY_VERSION_NUM) && GRAALPY_VERSION_NUM > 0x19000000
27464 PY_INT64_T current_id = GraalPyInterpreterState_GetIDFromThreadState(PyThreadState_Get());
27465#elif CYTHON_COMPILING_IN_GRAAL
27466 PY_INT64_T current_id = PyInterpreterState_GetIDFromThreadState(PyThreadState_Get());
27467#elif CYTHON_COMPILING_IN_LIMITED_API && (__PYX_LIMITED_VERSION_HEX < 0x030A0000 &&\
27468 (defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)))
27469 PY_INT64_T current_id = __Pyx_GetCurrentInterpreterId();
27470#elif CYTHON_COMPILING_IN_LIMITED_API
27471 PY_INT64_T current_id = PyInterpreterState_GetID(PyInterpreterState_Get());
27473 PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
27475 if (unlikely(current_id == -1)) {
27478 if (main_interpreter_id == -1) {
27479 main_interpreter_id = current_id;
27481 }
else if (unlikely(main_interpreter_id != current_id)) {
27484 "Interpreter change detected - this module can only be loaded into one interpreter per process.");
27490static CYTHON_SMALL_CODE
int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict,
const char* from_name,
const char* to_name,
int allow_none)
27492 PyObject *value = PyObject_GetAttrString(spec, from_name);
27494 if (likely(value)) {
27495 if (allow_none || value != Py_None) {
27496 result = PyDict_SetItemString(moddict, to_name, value);
27499 }
else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
27506static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) {
27507 PyObject *module = NULL, *moddict, *modname;
27508 CYTHON_UNUSED_VAR(def);
27509 #if !CYTHON_USE_MODULE_STATE
27510 if (__Pyx_check_single_interpreter())
27514 return __Pyx_NewRef(__pyx_m);
27515 modname = PyObject_GetAttrString(spec,
"name");
27516 if (unlikely(!modname))
goto bad;
27517 module = PyModule_NewObject(modname);
27518 Py_DECREF(modname);
27519 if (unlikely(!module))
goto bad;
27520 moddict = PyModule_GetDict(module);
27521 if (unlikely(!moddict))
goto bad;
27522 if (unlikely(__Pyx_copy_spec_to_module(spec, moddict,
"loader",
"__loader__", 1) < 0))
goto bad;
27523 if (unlikely(__Pyx_copy_spec_to_module(spec, moddict,
"origin",
"__file__", 1) < 0))
goto bad;
27524 if (unlikely(__Pyx_copy_spec_to_module(spec, moddict,
"parent",
"__package__", 1) < 0))
goto bad;
27525 if (unlikely(__Pyx_copy_spec_to_module(spec, moddict,
"submodule_search_locations",
"__path__", 0) < 0))
goto bad;
27528 Py_XDECREF(module);
27533static CYTHON_SMALL_CODE
int __pyx_pymod_exec_equivalent_polynomials(PyObject *__pyx_pyinit_module)
27536 int stringtab_initialized = 0;
27537 #if CYTHON_USE_MODULE_STATE
27538 int pystate_addmodule_run = 0;
27540 __pyx_mstatetype *__pyx_mstate = NULL;
27541 PyObject *__pyx_t_1 = NULL;
27542 PyObject *__pyx_t_2 = NULL;
27543 PyObject *__pyx_t_3 = NULL;
27544 PyObject *__pyx_t_4 = NULL;
27545 PyObject *__pyx_t_5 = NULL;
27547 static PyThread_type_lock __pyx_t_7[8];
27549 int __pyx_lineno = 0;
27550 const char *__pyx_filename = NULL;
27551 int __pyx_clineno = 0;
27552 __Pyx_RefNannyDeclarations
27553 #if CYTHON_PEP489_MULTI_PHASE_INIT
27555 if (__pyx_m == __pyx_pyinit_module)
return 0;
27556 PyErr_SetString(PyExc_RuntimeError,
"Module 'equivalent_polynomials' has already been imported. Re-initialisation is not supported.");
27560 if (__pyx_m)
return __Pyx_NewRef(__pyx_m);
27563 #if CYTHON_PEP489_MULTI_PHASE_INIT
27564 __pyx_t_1 = __pyx_pyinit_module;
27565 Py_INCREF(__pyx_t_1);
27567 __pyx_t_1 = PyModule_Create(&__pyx_moduledef);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
27569 #if CYTHON_USE_MODULE_STATE
27571 int add_module_result = __Pyx_State_AddModule(__pyx_t_1, &__pyx_moduledef);
27573 if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
27574 pystate_addmodule_run = 1;
27577 __pyx_m = __pyx_t_1;
27579 #if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
27580 PyUnstable_Module_SetGIL(__pyx_m, Py_MOD_GIL_USED);
27582 __pyx_mstate = __pyx_mstate_global;
27583 CYTHON_UNUSED_VAR(__pyx_t_1);
27584 __pyx_mstate->__pyx_d = PyModule_GetDict(__pyx_m);
if (unlikely(!__pyx_mstate->__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
27585 Py_INCREF(__pyx_mstate->__pyx_d);
27586 __pyx_mstate->__pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME);
if (unlikely(!__pyx_mstate->__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
27587 __pyx_mstate->__pyx_cython_runtime = __Pyx_PyImport_AddModuleRef(
"cython_runtime");
if (unlikely(!__pyx_mstate->__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
27588 if (PyObject_SetAttrString(__pyx_m,
"__builtins__", __pyx_mstate->__pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
27590 #if CYTHON_REFNANNY
27591 __Pyx_RefNanny = __Pyx_RefNannyImportAPI(
"refnanny");
27592 if (!__Pyx_RefNanny) {
27593 if (PyErr_ExceptionMatches(PyExc_Exception)) {
27595 __Pyx_RefNanny = __Pyx_RefNannyImportAPI(
"Cython.Runtime.refnanny");
27597 if (!__Pyx_RefNanny)
27598 Py_FatalError(
"failed to import 'refnanny' module");
27602__Pyx_RefNannySetupContext(
"PyInit_equivalent_polynomials", 0);
27603 __Pyx_init_runtime_version();
27604 if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
27605 __pyx_mstate->__pyx_empty_tuple = PyTuple_New(0);
if (unlikely(!__pyx_mstate->__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
27606 __pyx_mstate->__pyx_empty_bytes = PyBytes_FromStringAndSize(
"", 0);
if (unlikely(!__pyx_mstate->__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
27607 __pyx_mstate->__pyx_empty_unicode = PyUnicode_FromStringAndSize(
"", 0);
if (unlikely(!__pyx_mstate->__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
27610 if (__Pyx_InitConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
27611 stringtab_initialized = 1;
27612 if (__Pyx_InitGlobals() < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
27613 if (__pyx_module_is_main_equivalent_polynomials) {
27614 if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_n_u_main) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
27617 PyObject *modules = PyImport_GetModuleDict();
if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
27618 if (!PyDict_GetItemString(modules,
"equivalent_polynomials")) {
27619 if (unlikely((PyDict_SetItemString(modules,
"equivalent_polynomials", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
27623 if (__Pyx_InitCachedBuiltins(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
27625 if (__Pyx_InitCachedConstants(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
27626 if (__Pyx_CreateCodeObjects(__pyx_mstate) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
27628 (void)__Pyx_modinit_Global_init_code(__pyx_mstate);
27629 (void)__Pyx_modinit_Variable_export_code(__pyx_mstate);
27630 (void)__Pyx_modinit_Function_export_code(__pyx_mstate);
27632 if (unlikely((__Pyx_modinit_Exttype___pyx_obj_22equivalent_polynomials_Simplex(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
27633 if (unlikely((__Pyx_modinit_Exttype___pyx_array_obj(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
27634 if (unlikely((__Pyx_modinit_Exttype___pyx_MemviewEnum_obj(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
27635 if (unlikely((__Pyx_modinit_Exttype___pyx_memoryview_obj(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
27636 if (unlikely((__Pyx_modinit_Exttype___pyx_memoryviewslice_obj(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
27637 if (unlikely((__Pyx_modinit_Type_import_code(__pyx_mstate) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
27638 (void)__Pyx_modinit_Variable_import_code(__pyx_mstate);
27639 (void)__Pyx_modinit_Function_import_code(__pyx_mstate);
27640 if (__Pyx_InitAfterSharedUtility() < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
27651 __Pyx_PyThreadState_declare
27652 __Pyx_PyThreadState_assign
27653 __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
27654 __Pyx_XGOTREF(__pyx_t_1);
27655 __Pyx_XGOTREF(__pyx_t_2);
27656 __Pyx_XGOTREF(__pyx_t_3);
27669 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_collections_abc};
27670 __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_builtin___import__, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
27671 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27672 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 119, __pyx_L2_error)
27673 __Pyx_GOTREF(__pyx_t_4);
27675 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_abc);
if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 119, __pyx_L2_error)
27676 __Pyx_GOTREF(__pyx_t_5);
27677 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27678 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_Sequence);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 119, __pyx_L2_error)
27679 __Pyx_GOTREF(__pyx_t_4);
27680 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
27681 __Pyx_XGOTREF(__pyx_collections_abc_Sequence);
27682 __Pyx_DECREF_SET(__pyx_collections_abc_Sequence, __pyx_t_4);
27683 __Pyx_GIVEREF(__pyx_t_4);
27694 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
27695 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
27696 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
27697 goto __pyx_L7_try_end;
27699 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
27700 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27710 __Pyx_ErrRestore(0,0,0);
27719 __Pyx_INCREF(Py_None);
27720 __Pyx_XGOTREF(__pyx_collections_abc_Sequence);
27721 __Pyx_DECREF_SET(__pyx_collections_abc_Sequence, Py_None);
27722 __Pyx_GIVEREF(Py_None);
27723 goto __pyx_L3_exception_handled;
27725 __pyx_L3_exception_handled:;
27726 __Pyx_XGIVEREF(__pyx_t_1);
27727 __Pyx_XGIVEREF(__pyx_t_2);
27728 __Pyx_XGIVEREF(__pyx_t_3);
27729 __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
27741 __Pyx_PyThreadState_declare
27742 __Pyx_PyThreadState_assign
27743 __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1);
27744 __Pyx_XGOTREF(__pyx_t_3);
27745 __Pyx_XGOTREF(__pyx_t_2);
27746 __Pyx_XGOTREF(__pyx_t_1);
27756 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_count);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 259, __pyx_L10_error)
27757 __Pyx_GOTREF(__pyx_t_4);
27758 if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_array_type, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_4) < (0)) __PYX_ERR(1, 259, __pyx_L10_error)
27759 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27768 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_index);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 260, __pyx_L10_error)
27769 __Pyx_GOTREF(__pyx_t_4);
27770 if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_array_type, __pyx_mstate_global->__pyx_n_u_index, __pyx_t_4) < (0)) __PYX_ERR(1, 260, __pyx_L10_error)
27771 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27781 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
27782 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
27783 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
27784 goto __pyx_L15_try_end;
27786 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
27787 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27797 __Pyx_ErrRestore(0,0,0);
27798 goto __pyx_L11_exception_handled;
27800 __pyx_L11_exception_handled:;
27801 __Pyx_XGIVEREF(__pyx_t_3);
27802 __Pyx_XGIVEREF(__pyx_t_2);
27803 __Pyx_XGIVEREF(__pyx_t_1);
27804 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_1);
27805 __pyx_L15_try_end:;
27818 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_strided_and_direct_or_indirect};
27819 __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
27820 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27821 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 326, __pyx_L1_error)
27822 __Pyx_GOTREF((PyObject *)__pyx_t_4);
27824 __Pyx_XGOTREF(generic);
27825 __Pyx_DECREF_SET(generic, ((PyObject *)__pyx_t_4));
27826 __Pyx_GIVEREF((PyObject *)__pyx_t_4);
27839 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_strided_and_direct};
27840 __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
27841 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27842 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 327, __pyx_L1_error)
27843 __Pyx_GOTREF((PyObject *)__pyx_t_4);
27845 __Pyx_XGOTREF(strided);
27846 __Pyx_DECREF_SET(strided, ((PyObject *)__pyx_t_4));
27847 __Pyx_GIVEREF((PyObject *)__pyx_t_4);
27860 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_strided_and_indirect};
27861 __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
27862 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27863 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 328, __pyx_L1_error)
27864 __Pyx_GOTREF((PyObject *)__pyx_t_4);
27866 __Pyx_XGOTREF(indirect);
27867 __Pyx_DECREF_SET(indirect, ((PyObject *)__pyx_t_4));
27868 __Pyx_GIVEREF((PyObject *)__pyx_t_4);
27881 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_contiguous_and_direct};
27882 __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
27883 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27884 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 331, __pyx_L1_error)
27885 __Pyx_GOTREF((PyObject *)__pyx_t_4);
27887 __Pyx_XGOTREF(contiguous);
27888 __Pyx_DECREF_SET(contiguous, ((PyObject *)__pyx_t_4));
27889 __Pyx_GIVEREF((PyObject *)__pyx_t_4);
27902 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_contiguous_and_indirect};
27903 __pyx_t_4 = __Pyx_PyObject_FastCall((PyObject*)__pyx_mstate_global->__pyx_MemviewEnum_type, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
27904 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
27905 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 332, __pyx_L1_error)
27906 __Pyx_GOTREF((PyObject *)__pyx_t_4);
27908 __Pyx_XGOTREF(indirect_contiguous);
27909 __Pyx_DECREF_SET(indirect_contiguous, ((PyObject *)__pyx_t_4));
27910 __Pyx_GIVEREF((PyObject *)__pyx_t_4);
27920 __pyx_memoryview_thread_locks_used = 0;
27929 __pyx_t_7[0] = PyThread_allocate_lock();
27930 __pyx_t_7[1] = PyThread_allocate_lock();
27931 __pyx_t_7[2] = PyThread_allocate_lock();
27932 __pyx_t_7[3] = PyThread_allocate_lock();
27933 __pyx_t_7[4] = PyThread_allocate_lock();
27934 __pyx_t_7[5] = PyThread_allocate_lock();
27935 __pyx_t_7[6] = PyThread_allocate_lock();
27936 __pyx_t_7[7] = PyThread_allocate_lock();
27937 memcpy(&(__pyx_memoryview_thread_locks[0]), __pyx_t_7,
sizeof(__pyx_memoryview_thread_locks[0]) * (8));
27947 __Pyx_PyThreadState_declare
27948 __Pyx_PyThreadState_assign
27949 __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
27950 __Pyx_XGOTREF(__pyx_t_1);
27951 __Pyx_XGOTREF(__pyx_t_2);
27952 __Pyx_XGOTREF(__pyx_t_3);
27962 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_count);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 980, __pyx_L18_error)
27963 __Pyx_GOTREF(__pyx_t_4);
27964 if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_memoryviewslice_type, __pyx_mstate_global->__pyx_n_u_count, __pyx_t_4) < (0)) __PYX_ERR(1, 980, __pyx_L18_error)
27965 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27974 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_collections_abc_Sequence, __pyx_mstate_global->__pyx_n_u_index);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 981, __pyx_L18_error)
27975 __Pyx_GOTREF(__pyx_t_4);
27976 if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_memoryviewslice_type, __pyx_mstate_global->__pyx_n_u_index, __pyx_t_4) < (0)) __PYX_ERR(1, 981, __pyx_L18_error)
27977 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
27987 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
27988 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
27989 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
27990 goto __pyx_L23_try_end;
27992 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
27993 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
28003 __Pyx_ErrRestore(0,0,0);
28004 goto __pyx_L19_exception_handled;
28006 __pyx_L19_exception_handled:;
28007 __Pyx_XGIVEREF(__pyx_t_1);
28008 __Pyx_XGIVEREF(__pyx_t_2);
28009 __Pyx_XGIVEREF(__pyx_t_3);
28010 __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
28011 __pyx_L23_try_end:;
28022 __Pyx_PyThreadState_declare
28023 __Pyx_PyThreadState_assign
28024 __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_2, &__pyx_t_1);
28025 __Pyx_XGOTREF(__pyx_t_3);
28026 __Pyx_XGOTREF(__pyx_t_2);
28027 __Pyx_XGOTREF(__pyx_t_1);
28037 __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_collections_abc_Sequence);
if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(1, 986, __pyx_L26_error)
28048 __pyx_t_5 = __pyx_collections_abc_Sequence;
28049 __Pyx_INCREF(__pyx_t_5);
28052 PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_memoryviewslice_type)};
28053 __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_register, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
28054 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
28055 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 990, __pyx_L26_error)
28056 __Pyx_GOTREF(__pyx_t_4);
28058 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28067 __pyx_t_5 = __pyx_collections_abc_Sequence;
28068 __Pyx_INCREF(__pyx_t_5);
28071 PyObject *__pyx_callargs[2] = {__pyx_t_5, ((PyObject *)__pyx_mstate_global->__pyx_array_type)};
28072 __pyx_t_4 = __Pyx_PyObject_FastCallMethod((PyObject*)__pyx_mstate_global->__pyx_n_u_register, __pyx_callargs+__pyx_t_6, (2-__pyx_t_6) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET));
28073 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
28074 if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 991, __pyx_L26_error)
28075 __Pyx_GOTREF(__pyx_t_4);
28077 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28096 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
28097 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
28098 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
28099 goto __pyx_L31_try_end;
28101 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
28102 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
28112 __Pyx_ErrRestore(0,0,0);
28113 goto __pyx_L27_exception_handled;
28115 __pyx_L27_exception_handled:;
28116 __Pyx_XGIVEREF(__pyx_t_3);
28117 __Pyx_XGIVEREF(__pyx_t_2);
28118 __Pyx_XGIVEREF(__pyx_t_1);
28119 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_2, __pyx_t_1);
28120 __pyx_L31_try_end:;
28130 __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_15View_dot_MemoryView_1__pyx_unpickle_Enum, NULL, __pyx_mstate_global->__pyx_n_u_View_MemoryView);
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 4, __pyx_L1_error)
28131 __Pyx_GOTREF(__pyx_t_4);
28132 if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum, __pyx_t_4) < (0)) __PYX_ERR(1, 4, __pyx_L1_error)
28133 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28141 __pyx_t_1 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_numpy, 0, 0, NULL, 0);
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
28142 __pyx_t_4 = __pyx_t_1;
28143 __Pyx_GOTREF(__pyx_t_4);
28144 if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_np, __pyx_t_4) < (0)) __PYX_ERR(0, 2, __pyx_L1_error)
28145 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28154 __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_22equivalent_polynomials_7Simplex_3calculate, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Simplex_calculate, NULL, __pyx_mstate_global->__pyx_n_u_equivalent_polynomials, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0]));
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error)
28155 __Pyx_GOTREF(__pyx_t_4);
28156 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
28157 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
28159 if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_22equivalent_polynomials_Simplex, __pyx_mstate_global->__pyx_n_u_calculate, __pyx_t_4) < (0)) __PYX_ERR(0, 60, __pyx_L1_error)
28160 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28169 __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_22equivalent_polynomials_7Simplex_5set_quad, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Simplex_set_quad, NULL, __pyx_mstate_global->__pyx_n_u_equivalent_polynomials, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1]));
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 134, __pyx_L1_error)
28170 __Pyx_GOTREF(__pyx_t_4);
28171 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
28172 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
28174 if (__Pyx_SetItemOnTypeDict(__pyx_mstate_global->__pyx_ptype_22equivalent_polynomials_Simplex, __pyx_mstate_global->__pyx_n_u_set_quad, __pyx_t_4) < (0)) __PYX_ERR(0, 134, __pyx_L1_error)
28175 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28182 __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_22equivalent_polynomials_7Simplex_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Simplex___reduce_cython, NULL, __pyx_mstate_global->__pyx_n_u_equivalent_polynomials, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2]));
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 1, __pyx_L1_error)
28183 __Pyx_GOTREF(__pyx_t_4);
28184 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
28185 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
28187 if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_reduce_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 1, __pyx_L1_error)
28188 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28196 __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_22equivalent_polynomials_7Simplex_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_mstate_global->__pyx_n_u_Simplex___setstate_cython, NULL, __pyx_mstate_global->__pyx_n_u_equivalent_polynomials, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[3]));
if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 3, __pyx_L1_error)
28197 __Pyx_GOTREF(__pyx_t_4);
28198 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
28199 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
28201 if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_setstate_cython, __pyx_t_4) < (0)) __PYX_ERR(1, 3, __pyx_L1_error)
28202 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28211 __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_22equivalent_polynomials_1calc_edge_H, 0, __pyx_mstate_global->__pyx_n_u_calc_edge_H, NULL, __pyx_mstate_global->__pyx_n_u_equivalent_polynomials, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[4]));
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 166, __pyx_L1_error)
28212 __Pyx_GOTREF(__pyx_t_4);
28213 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
28214 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
28216 if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_calc_edge_H, __pyx_t_4) < (0)) __PYX_ERR(0, 166, __pyx_L1_error)
28217 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28226 __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_22equivalent_polynomials_3eval_edge_poly, 0, __pyx_mstate_global->__pyx_n_u_eval_edge_poly, NULL, __pyx_mstate_global->__pyx_n_u_equivalent_polynomials, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[5]));
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 178, __pyx_L1_error)
28227 __Pyx_GOTREF(__pyx_t_4);
28228 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030E0000
28229 PyUnstable_Object_EnableDeferredRefcount(__pyx_t_4);
28231 if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_eval_edge_poly, __pyx_t_4) < (0)) __PYX_ERR(0, 178, __pyx_L1_error)
28232 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28239 __pyx_t_4 = __Pyx_PyDict_NewPresized(0);
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1, __pyx_L1_error)
28240 __Pyx_GOTREF(__pyx_t_4);
28241 if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_4) < (0)) __PYX_ERR(0, 1, __pyx_L1_error)
28242 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
28248 __Pyx_XDECREF(__pyx_t_4);
28249 __Pyx_XDECREF(__pyx_t_5);
28251 if (__pyx_mstate->__pyx_d && stringtab_initialized) {
28252 __Pyx_AddTraceback(
"init equivalent_polynomials", __pyx_clineno, __pyx_lineno, __pyx_filename);
28254 #if !CYTHON_USE_MODULE_STATE
28257 Py_DECREF(__pyx_m);
28258 if (pystate_addmodule_run) {
28259 PyObject *tp, *value, *tb;
28260 __Pyx_PyErr_FetchException(&tp, &value, &tb);
28261 __Pyx_State_RemoveModule(&__pyx_moduledef);
28262 __Pyx_PyErr_RestoreException(tp, value, tb);
28265 }
else if (!PyErr_Occurred()) {
28266 PyErr_SetString(PyExc_ImportError,
"init equivalent_polynomials");
28269 __Pyx_RefNannyFinishContext();
28270 #if CYTHON_PEP489_MULTI_PHASE_INIT
28271 return (__pyx_m != NULL) ? 0 : -1;
28279static int __Pyx_InitCachedBuiltins(__pyx_mstatetype *__pyx_mstate) {
28280 int __pyx_lineno = 0;
28281 const char *__pyx_filename = NULL;
28282 int __pyx_clineno = 0;
28283 CYTHON_UNUSED_VAR(__pyx_mstate);
28284 __pyx_builtin___import__ = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_import);
if (!__pyx_builtin___import__) __PYX_ERR(1, 119, __pyx_L1_error)
28285 __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_enumerate);
if (!__pyx_builtin_enumerate) __PYX_ERR(1, 175, __pyx_L1_error)
28286 __pyx_builtin_Ellipsis = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_Ellipsis);
if (!__pyx_builtin_Ellipsis) __PYX_ERR(1, 436, __pyx_L1_error)
28287 __pyx_builtin_id = __Pyx_GetBuiltinName(__pyx_mstate->__pyx_n_u_id);
if (!__pyx_builtin_id) __PYX_ERR(1, 662, __pyx_L1_error)
28290 __pyx_mstate->__pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
28291 __pyx_mstate->__pyx_umethod_PyDict_Type_items.method_name = &__pyx_mstate->__pyx_n_u_items;
28292 __pyx_mstate->__pyx_umethod_PyDict_Type_pop.type = (PyObject*)&PyDict_Type;
28293 __pyx_mstate->__pyx_umethod_PyDict_Type_pop.method_name = &__pyx_mstate->__pyx_n_u_pop;
28294 __pyx_mstate->__pyx_umethod_PyDict_Type_values.type = (PyObject*)&PyDict_Type;
28295 __pyx_mstate->__pyx_umethod_PyDict_Type_values.method_name = &__pyx_mstate->__pyx_n_u_values;
28302static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) {
28303 __Pyx_RefNannyDeclarations
28304 int __pyx_lineno = 0;
28305 const char *__pyx_filename = NULL;
28306 int __pyx_clineno = 0;
28307 CYTHON_UNUSED_VAR(__pyx_mstate);
28308 __Pyx_RefNannySetupContext(
"__Pyx_InitCachedConstants", 0);
28317 __pyx_mstate_global->__pyx_tuple[0] = PyTuple_New(1);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[0])) __PYX_ERR(1, 625, __pyx_L1_error)
28318 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[0]);
28319 __Pyx_INCREF(__pyx_mstate_global->__pyx_int_neg_1);
28320 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_neg_1);
28321 if (__Pyx_PyTuple_SET_ITEM(__pyx_mstate_global->__pyx_tuple[0], 0, __pyx_mstate_global->__pyx_int_neg_1) != (0)) __PYX_ERR(1, 625, __pyx_L1_error);
28322 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[0]);
28331 __pyx_mstate_global->__pyx_slice[0] = PySlice_New(Py_None, Py_None, Py_None);
if (unlikely(!__pyx_mstate_global->__pyx_slice[0])) __PYX_ERR(1, 745, __pyx_L1_error)
28332 __Pyx_GOTREF(__pyx_mstate_global->__pyx_slice[0]);
28333 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);
28342 __pyx_mstate_global->__pyx_tuple[1] = PyTuple_New(1);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[1])) __PYX_ERR(1, 763, __pyx_L1_error)
28343 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[1]);
28344 __Pyx_INCREF(__pyx_mstate_global->__pyx_slice[0]);
28345 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_slice[0]);
28346 if (__Pyx_PyTuple_SET_ITEM(__pyx_mstate_global->__pyx_tuple[1], 0, __pyx_mstate_global->__pyx_slice[0]) != (0)) __PYX_ERR(1, 763, __pyx_L1_error);
28347 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[1]);
28357 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_50, __pyx_mstate_global->__pyx_int_3};
28358 __pyx_mstate_global->__pyx_tuple[2] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[2])) __PYX_ERR(0, 54, __pyx_L1_error)
28359 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[2]);
28361 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[2]);
28363 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_tuple[2], __pyx_mstate_global->__pyx_n_u_d};
28364 __pyx_mstate_global->__pyx_tuple[3] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[3])) __PYX_ERR(0, 54, __pyx_L1_error)
28365 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[3]);
28367 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[3]);
28377 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_int_1};
28378 __pyx_mstate_global->__pyx_tuple[4] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[4])) __PYX_ERR(0, 62, __pyx_L1_error)
28379 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[4]);
28381 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[4]);
28391 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_int_2};
28392 __pyx_mstate_global->__pyx_tuple[5] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[5])) __PYX_ERR(0, 70, __pyx_L1_error)
28393 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[5]);
28395 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[5]);
28405 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_int_3};
28406 __pyx_mstate_global->__pyx_tuple[6] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[6])) __PYX_ERR(0, 78, __pyx_L1_error)
28407 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[6]);
28409 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[6]);
28419 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_int_1};
28420 __pyx_mstate_global->__pyx_tuple[7] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[7])) __PYX_ERR(0, 86, __pyx_L1_error)
28421 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[7]);
28423 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[7]);
28433 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_int_2};
28434 __pyx_mstate_global->__pyx_tuple[8] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[8])) __PYX_ERR(0, 94, __pyx_L1_error)
28435 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[8]);
28437 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[8]);
28447 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_2, __pyx_mstate_global->__pyx_int_3};
28448 __pyx_mstate_global->__pyx_tuple[9] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[9])) __PYX_ERR(0, 102, __pyx_L1_error)
28449 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[9]);
28451 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[9]);
28461 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_3, __pyx_mstate_global->__pyx_int_1};
28462 __pyx_mstate_global->__pyx_tuple[10] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[10])) __PYX_ERR(0, 110, __pyx_L1_error)
28463 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[10]);
28465 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[10]);
28475 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_3, __pyx_mstate_global->__pyx_int_2};
28476 __pyx_mstate_global->__pyx_tuple[11] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[11])) __PYX_ERR(0, 118, __pyx_L1_error)
28477 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[11]);
28479 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[11]);
28489 PyObject* __pyx_temp[2] = {__pyx_mstate_global->__pyx_int_3, __pyx_mstate_global->__pyx_int_3};
28490 __pyx_mstate_global->__pyx_tuple[12] = __Pyx_PyTuple_FromArray(__pyx_temp, 2);
if (unlikely(!__pyx_mstate_global->__pyx_tuple[12])) __PYX_ERR(0, 126, __pyx_L1_error)
28491 __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[12]);
28493 __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[12]);
28494 #if CYTHON_IMMORTAL_CONSTANTS
28496 PyObject **table = __pyx_mstate->__pyx_tuple;
28497 for (Py_ssize_t i=0; i<13; ++i) {
28498 #if PY_VERSION_HEX >= 0x030F0000
28499 PyUnstable_SetImmortal(table[i]);
28500 #elif CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
28501 if ((PY_SSIZE_T_MAX <= _Py_IMMORTAL_REFCNT_LOCAL))
break;
28502 #if PY_VERSION_HEX < 0x030E0000
28503 if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
28505 if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
28508 Py_SET_REFCNT(table[i], ((Py_ssize_t)_Py_IMMORTAL_REFCNT_LOCAL + 1));
28511 if ((PY_SSIZE_T_MAX < _Py_IMMORTAL_INITIAL_REFCNT))
break;
28512 Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
28517 #if CYTHON_IMMORTAL_CONSTANTS
28519 PyObject **table = __pyx_mstate->__pyx_slice;
28520 for (Py_ssize_t i=0; i<1; ++i) {
28521 #if PY_VERSION_HEX >= 0x030F0000
28522 PyUnstable_SetImmortal(table[i]);
28523 #elif CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
28524 if ((PY_SSIZE_T_MAX <= _Py_IMMORTAL_REFCNT_LOCAL))
break;
28525 #if PY_VERSION_HEX < 0x030E0000
28526 if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
28528 if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
28531 Py_SET_REFCNT(table[i], ((Py_ssize_t)_Py_IMMORTAL_REFCNT_LOCAL + 1));
28534 if ((PY_SSIZE_T_MAX < _Py_IMMORTAL_INITIAL_REFCNT))
break;
28535 Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
28540 __Pyx_RefNannyFinishContext();
28543 __Pyx_RefNannyFinishContext();
28548static int __Pyx_InitConstants(__pyx_mstatetype *__pyx_mstate) {
28549 int __pyx_lineno = 0;
28550 const char *__pyx_filename = NULL;
28551 int __pyx_clineno = 0;
28552 CYTHON_UNUSED_VAR(__pyx_mstate);
28554 const struct {
const unsigned int length: 8; } str_length_index[] = {{6},{8},{1},{15},{1},{1},{1},{2},{15},{23},{25},{32},{20},{22},{1},{1},{37},{45},{22},{179},{8},{15},{7},{6},{2},{9},{24},{50},{39},{34},{34},{30},{37},{5},{1},{3},{8},{8},{7},{25},{27},{17},{16},{15},{20},{12},{9},{17},{8},{8},{12},{10},{8},{10},{8},{7},{14},{11},{10},{19},{14},{12},{10},{17},{13},{12},{12},{19},{8},{13},{3},{15},{7},{18},{4},{1},{11},{9},{18},{5},{1},{15},{6},{9},{22},{5},{14},{5},{6},{7},{5},{2},{5},{5},{8},{4},{7},{4},{2},{2},{6},{4},{4},{2},{5},{3},{4},{4},{4},{7},{9},{3},{1},{8},{4},{8},{10},{5},{4},{5},{4},{4},{6},{1},{6},{6},{6},{1},{2},{5}};
28555 const struct {
const unsigned int length: 11; } bytes_length_index[] = {{0},{1},{1},{2},{1},{1},{109},{9},{131},{9},{1481}};
28556 #ifndef CYTHON_COMPRESS_STRINGS
28557 #define CYTHON_COMPRESS_STRINGS 90
28559 #if (CYTHON_COMPRESS_STRINGS) == 1
28560static const char cstring[] =
"x\332\355T\313O\033G\030/\025i\\\212\242\244\242\255\242\36604\250@\013NHQ\324FQ*\004D\241RS\036i\024)RG\343\331o\355\t\2633\353y\270^\252J\0349\372\270\307=\372\350#G\216=\372\350?\243\177B\277\331\305@K\224K\216a\245\335\231\375\236\277\357I\230#\367\272D7^\003w\217\027\026\234\001 \261a\315\004\224[\\\\\252?$\217~\201D\233\354\205\200?\210\216\311#\256\225\023M\257\275%LE$\022&\250\376\237,\324\230a\235\021\021D\027\204\2116o\345\377\227v&\371\370\247u\246\224v\204Y+\232\2128M\014\260hY+\231\221\244\004\331A\220[\252\303\244\210H\242#X\"\320MQ\027M\315\363\371\340w>\326\306\031\246\346\227H\023M\215\205m\213\245\200\256\010\353\nK\236i\007\304\26507\353\231kiE\220\026\201\024\r0\314\001z\013\370\320\252\tB\212lon/\257\376\260Z\2425\0202i\211\365\r.\021(\330\220\264\206\027\322\241u\227\245`\353d+&\231\366D\001\342\302(R\224\273\250\340Z\240\210\005\027.d\276\214\2319\241\025Eu\241\232\363\247i\022\035\010\332O\230\264PgQDQ\016\270\2262\360\264\262u\326\340\221\260\254!\001T\3706\271\260\325-R\333$\361\326\221\006\220\225%r\177\211|\277\024\262\263\2524\006\0323/\035\241\324@\3449PJ\"_zRZ-c\340\035\301$r\271P\302Q\252|\222fu\312\265\201z\202z\202\031\3032\0223!\253\350D\222b\312/\212\371\204\271\326%\211\324 |o\357B\333\013,\n\366\037M\265\314\224N\320\237\255\247Y\327\227\330\203\006\223Rs,\005\251\234E\314\261\372\033\270UUCY\252\206\262\365\265\275\365\255\255\365u\372tSJ\221Za\367\320\035(\016{\010BB\367\364\250\237\005\317\313\006\240\364\234\201\205\261X\217\313,\316$\367\0229c\002J\322\266gQ\030\235\372\371\024Q\272\235u\361\335\300\026\242\317\240\353v!\246\364\264\314\230nLmh\204\363K\023\234p\220\004B\024t\360\211\275\342\341l\216\301\340S\2451\334\022&Ty\352\310\313\222\247XR\235\301=\245\230L\312[\300\367\255O\252\277S+\341\032\232\264\272y\225\n\276\217\0266\325X\256\343B\226\203\r\214L\216\315\216;\345R\332\316\010\320\r?!#c\035{\001\372\245\234R\352\300\206X\204\r=\243=N\017`?\217KK\033>\216q\032m\331\000\314f\212\013]?\223\264\rf\201\207\202P\210""\232@\237\236\325\206KdSL\017.\001\016\r\306\367\271\366\312EQ\0315z\253V!\266\004\256\017\300\260\313\221\177sO\2021\330\316H\257\234\004N,Y\323\342\212\301\016?]4\202#\024\021\341\026\203n\250\242\255>\007\360Z\013\205[+\254\254\260\252\324\266\332Q{)\202\n\t\302\235\227\250\264\034\032\004\204\324\375\264%\356\341\273\202/\215t\034\016\205j6\325i\333@SX\\G\026d<n:<O\047\271\234\202\340\021Sl0\317\220Z\247\3615\236;\207%F\343>\305\021\n\221x\260\335.\212\032m\037\376\372\374\317\337\377:\234\030M^?\264Gw\216~\353};\374\352n\2773\330\031\210\343\366\311\365\223\366\350\343\351\243\365#\373\356\364\251\233\275\251|6_\t\316\246\216\276\353\355\034N\374S\373\340\332\227\371\327\371\223b\266\270_\354\024l\014\343\345\360\263o\212\270\277\326\1771xp|\373\344\316\311Ne\266\363\356\3641\214\321\344\047G+\207k\243Z\220kW\227\255\336n\317\344\237\347\355b\262(\t\033\275Z>\231o\0263\305n\321\036M\317\3646\360\367\347\202\025\007\203/\216k\047S\177/\016\367^\r_\301\020\304P\230\241\311\206\331\301h\372f\357\243^#\257\025\023\305\355\376\\\037\006\253\003w\374\340\344V`\324\362\017\363\005\214\366\307\376\306\340\332\340\371\361\314\361K\304\3646\215\033yT\314afJ\345\311|\243\230\010\327\251|\016\351\263\243\033\237\366\026\360\n\305ja\372\267\256\020^!\274B\370f\204W\323\374^ \374\027\357\035-l";
28561 PyObject *data = __Pyx_DecompressString(cstring, 1135, 1);
28562 #define __Pyx_DecompressString_LZSS_UNUSED
28563 if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error)
28564 const char*
const bytes = __Pyx_PyBytes_AsString(data);
28565 #if !CYTHON_ASSUME_SAFE_MACROS
28566 if (likely(bytes));
else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) }
28568 #elif (CYTHON_COMPRESS_STRINGS) > 0 && (CYTHON_COMPRESS_STRINGS) <= 90
28569static const char cstring[] =
"\377 at 0x o\377bject>((\377tree fra\377gment)),\377.: <Memo\377ryView o\377f <conti\377guous an\237d dir7\001\007\ri\375n\021\005stride\275d\"\010 or \004\031>\371<(\tA\006>?Can\377not assi\377gn to re\377ad-only \365m\240\002v\242\000Inva\377lid mode\237, exp\327\000|\000\047\373c\047t\001\047fort\177ran\047, gH\000\276%\005shape\222\000 \377axis Not\357e th\231 Cyt\357hon \021\000del\177iberatek\000\336\320\001cter!\001n \177PEP-484\212\"\373re\306!s sub\333cl\246\000es\261!bu\357ilti\260\000ype\377s. If yoOu ne\224 \303\000p\316\000\376%\tthen se\335t\200\000e \047\357\002at\377ion_typi\267ng\047\355$iv\242\000o\377 False.a\367dd_\231 ecol\371l\310@+\000s.abc\377disablee\275n\002\001gcis\004\003d\377nP must \377be 1, 2,\367 3,\222A4no \377default \377__reduce\337__ due\002no{n-\312@vial\033\000\377cinit__n\377umpy._co\357re.m5\000iar\377ray fail\316\330\003imp\360 \033\tum\267ath\021\016pr\363 u?s/equi\277@\375`\377_polynom~m\000s.pyxu\301\002\276\364Aalloc\210@ >g\003data.\013\020\320C\374\242\204\001\377cs.ASCI\377ICC_HEll\277ipsisSl\000e\357nceS\244\000lexj\000\004.\364\006c\374B__\017\007\326\226@st\204`_\013\rca\217lcul\236`=\005\300@_\257quad\267\205\001.\274\205\007_\357_Pyx\001\000Dic\377t_NextRegf__\340D\354 __\265b\373__\001\005getit\313em\r\001d0\001\027\000fu\003nc\035\001\030\000\207\003+\000\343#3\001\357main\003\002odu\335lM\002nam\002\003ew\374T\001\312 _check\003suT\000\n\001?\004\025\001\343`\362@~\037\001unpick?\000\033En \005vt\314a\230\001\327\000alO\005\242e\246.\274fex\314\001\340\216!\203\005\277&\346\000\303.__t\273es\333`_is\327ao\377utineabc\376\361E_buffer\373as\351basync\277io.cor$\003s\337basec\215A_e\337dge_H\223Fcl\372F\000_\234 trace\377backcoun\207tdd\361\002k\000\205\211\003\220`o?deenum\356\206\002\376s\377erroreva\371l_\003\252\204\001flags\277format\342\207\004i\375c\210\000idinde\365x\302As\000\002izej?oinmem\257\210\001\247\210\001\177nPnQnSp\222\000~\250Andimnp\327\205\002\367obj\023\000kphi\3650\001\0001\005\000_dof\376""\003\001nodespo\377pqregist\277erself\355es\323et\303\206\004\327\210\002so\000st\367art%\000psto>\001\000ructt\340@\201 \337updat\306\001ue\367sxx\232\000ros:\377OT{^}\200\001\330\377\004\007\200s\210#\210U\377\220*\320\034/\250v\260\377Q\260i\270q\300\007\300\377q\330\t\014\210C\210s\374\000\025\006\047\n\020\220\n\230!\373\2301i\001\n\210+\220Q\377\200\001\360\010\000\005\033\230\377\"\230F\240!\2402\240\367Q\240a\177\005X\320\025&\377\240f\250A\250V\2606\277\270\031\300#\300Q\201\003v\370\000\025\006\047\177\005\330\004\013\2101\257\200A\330\010\333\001q\003\003I\377\220R\220r\230\026\230q\367\240\004\240\025\002D\220\010\230\377\004\230E\240\024\240R\240\277q\330\014\024\220D\014\000J\377\240a\240z\260\027\270\010\377\300\n\310)\320S[\320\377[e\320ei\320ir\377\320ry\320yz\330\014\377\020\220\006\220b\230\010\240\377\001\240\031\250$\250e\260\1774\260t\2706\300\021\025\001\337\010\230\002\230(\353\0009\250\377D\260\005\260T\270\024\270\371X\331\000\026\031\016\230d\240$\270\227 S\000\210\001D\240\001]\001\n\373\230$\025\000!\330\016\022\220\375(\010\000e\2404\240r\250\301\021\000\237B\377\202s\344\200\377\312\204]\010\014\001\210\314\204\377\216\206\337";
28570 PyObject *data = __Pyx_DecompressString_LZSS(cstring, 1481, 3308);
28571 #define __Pyx_DecompressString_UNUSED
28572 if (unlikely(!data)) __PYX_ERR(0, 1, __pyx_L1_error)
28573 const char*
const bytes = __Pyx_PyBytes_AsString(data);
28574 #if !CYTHON_ASSUME_SAFE_MACROS
28575 if (likely(bytes));
else { Py_DECREF(data); __PYX_ERR(0, 1, __pyx_L1_error) }
28578static const char bytes[] =
" at 0x object>((tree fragment)),.: <MemoryView of <contiguous and direct><contiguous and indirect><strided and direct or indirect><strided and direct><strided and indirect>>?Cannot assign to read-only memoryviewInvalid mode, expected \047c\047 or \047fortran\047, got Invalid shape in axis Note that Cython is deliberately stricter than PEP-484 and rejects subclasses of builtin types. If you need to pass subclasses then set the \047annotation_typing\047 directive to False.add_notecollections.abcdisableenablegcisenablednP must be 1, 2, 3, or 4no default __reduce__ due to non-trivial __cinit__numpy._core.multiarray failed to importnumpy._core.umath failed to importproteus/equivalent_polynomials.pyxunable to allocate array data.unable to allocate shape and strides.ASCIICC_HEllipsisSequenceSimplexSimplex.__reduce_cython__Simplex.__setstate_cython__Simplex.calculateSimplex.set_quadView.MemoryView__Pyx_PyDict_NextRef__annotate____class____class_getitem____dict____func____getstate____import____main____module____name____new____pyx_checksum__pyx_state__pyx_type__pyx_unpickle_Enum__pyx_vtable____qualname____reduce____reduce_cython____reduce_ex____set_name____setstate____setstate_cython____test___is_coroutineabcallocate_bufferasarrayasyncio.coroutinesbaseccalc_edge_Hcalculatecline_in_tracebackcountddtype_is_objectencodeenumerateequivalent_polynomialserroreval_edge_polyflagsformatfortranicaseidindexitemsitemsizejoinmemviewmodenPnQnSpacenamendimnpnumpyobjpackphi0phi1phi_dofphi_nodespopqregisterselfset_quadsetdefaultshapesizestartstepstopstructtunpackupdatevaluesxxizeros:OT{^}\200\001\330\004\007\200s\210#\210U\220*\320\034/\250v\260Q\260i\270q\300\007\300q\330\t\014\210C\210s\220*\320\034/\250v\260Q\260i\270q\300\007\300q\330\t\014\210C\210s\220*\320\034/\250v\260Q\260i\270q\300\007\300q\330\t\014\210C\210s\220*\320\034/\250v\260Q\260i\270q\300\007\300q\330\n\020\220\n\230!\2301\200\001\330\004\n\210+\220Q\200\001\360\010\000\005\033\230\"\230F\240!\2402\240Q\240a\330\004\007\200s""\210#\210X\320\025&\240f\250A\250V\2606\270\031\300#\300Q\330\t\014\210C\210v\320\025&\240f\250A\250V\2606\270\031\300#\300Q\330\t\014\210C\210v\320\025&\240f\250A\250V\2606\270\031\300#\300Q\330\t\014\210C\210v\320\025&\240f\250A\250V\2606\270\031\300#\300Q\330\n\020\220\n\230!\2301\330\004\013\2101\200A\330\010\014\210C\210q\200A\330\010\014\210I\220R\220r\230\026\230q\240\004\240A\330\010\014\210D\220\010\230\004\230E\240\024\240R\240q\330\014\024\220D\230\004\230J\240a\240z\260\027\270\010\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!\330\016\022\220(\230$\230e\2404\240r\250\021\330\014\024\220D\230\004\230J\240a\240z\260\027\270\010\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!\330\016\022\220(\230$\230e\2404\240r\250\021\330\014\024\220D\230\004\230J\240a\240z\260\027\270\010\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!\330\016\022\220(\230$\230e\2404\240r\250\021\330\014\024\220D\230\004\230J\240a\240z\260\027\270\010""\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!\330\016\022\220(\230$\230e\2404\240r\250\021\330\014\024\220D\230\004\230J\240a\240z\260\027\270\010\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!\330\016\022\220(\230$\230e\2404\240r\250\021\330\014\024\220D\230\004\230J\240a\240z\260\027\270\010\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!\330\010\014\210D\220\010\230\004\230E\240\024\240R\240q\330\014\024\220D\230\004\230J\240a\240z\260\027\270\010\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!\330\016\022\220(\230$\230e\2404\240r\250\021\330\014\024\220D\230\004\230J\240a\240z\260""\027\270\010\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!\330\016\022\220(\230$\230e\2404\240r\250\021\330\014\024\220D\230\004\230J\240a\240z\260\027\270\010\300\n\310)\320S[\320[e\320ei\320ir\320ry\320yz\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\010\230\002\230(\240!\2409\250D\260\005\260T\270\024\270X\300Q\330\014\020\220\006\220b\230\010\240\001\240\031\250$\250e\2604\260t\2706\300\021\330\014\020\220\016\230d\240$\240a\330\014\020\220\010\230\004\230D\240\001\330\014\020\220\n\230$\230d\240!";
28579 PyObject *data = NULL;
28580 #define __Pyx_DecompressString_UNUSED
28581 #define __Pyx_DecompressString_LZSS_UNUSED
28583 PyObject **stringtab = __pyx_mstate->__pyx_string_tab;
28584 Py_ssize_t pos = 0;
28585 for (
int i = 0; i < 130; i++) {
28586 Py_ssize_t bytes_length = str_length_index[i].length;
28587 PyObject *
string = PyUnicode_DecodeUTF8(bytes + pos, bytes_length, NULL);
28588 if (likely(
string) && i >= 33) PyUnicode_InternInPlace(&
string);
28589 if (unlikely(!
string)) {
28591 __PYX_ERR(0, 1, __pyx_L1_error)
28593 stringtab[i] = string;
28594 pos += bytes_length;
28596 for (
int i = 130; i < 141; i++) {
28597 Py_ssize_t bytes_length = bytes_length_index[i-130].length;
28598 PyObject *
string = PyBytes_FromStringAndSize(bytes + pos, bytes_length);
28599 stringtab[i] = string;
28600 pos += bytes_length;
28601 if (unlikely(!
string)) {
28603 __PYX_ERR(0, 1, __pyx_L1_error)
28607 for (Py_ssize_t i = 0; i < 141; i++) {
28608 if (unlikely(PyObject_Hash(stringtab[i]) == -1)) {
28609 __PYX_ERR(0, 1, __pyx_L1_error)
28612 #if CYTHON_IMMORTAL_CONSTANTS
28614 PyObject **table = stringtab + 130;
28615 for (Py_ssize_t i=0; i<11; ++i) {
28616 #if PY_VERSION_HEX >= 0x030F0000
28617 PyUnstable_SetImmortal(table[i]);
28618 #elif CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
28619 if ((PY_SSIZE_T_MAX <= _Py_IMMORTAL_REFCNT_LOCAL))
break;
28620 #if PY_VERSION_HEX < 0x030E0000
28621 if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
28623 if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
28626 Py_SET_REFCNT(table[i], ((Py_ssize_t)_Py_IMMORTAL_REFCNT_LOCAL + 1));
28629 if ((PY_SSIZE_T_MAX < _Py_IMMORTAL_INITIAL_REFCNT))
break;
28630 Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
28637 PyObject **numbertab = __pyx_mstate->__pyx_number_tab;
28638 double const c_constants[] = {0.0,1.0};
28639 for (
int i = 0; i < 2; i++) {
28640 numbertab[i] = PyFloat_FromDouble(c_constants[i]);
28641 if (unlikely(!numbertab[i])) __PYX_ERR(0, 1, __pyx_L1_error)
28645 PyObject **numbertab = __pyx_mstate->__pyx_number_tab + 2;
28646 int8_t
const cint_constants_1[] = {0,-1,1,2,3,50};
28647 int32_t
const cint_constants_4[] = {136983863L};
28648 for (
int i = 0; i < 7; i++) {
28649 numbertab[i] = PyLong_FromLong((i < 6 ? cint_constants_1[i - 0] : cint_constants_4[i - 6]));
28650 if (unlikely(!numbertab[i])) __PYX_ERR(0, 1, __pyx_L1_error)
28653 #if CYTHON_IMMORTAL_CONSTANTS
28655 PyObject **table = __pyx_mstate->__pyx_number_tab;
28656 for (Py_ssize_t i=0; i<9; ++i) {
28657 #if PY_VERSION_HEX >= 0x030F0000
28658 PyUnstable_SetImmortal(table[i]);
28659 #elif CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
28660 if ((PY_SSIZE_T_MAX <= _Py_IMMORTAL_REFCNT_LOCAL))
break;
28661 #if PY_VERSION_HEX < 0x030E0000
28662 if (_Py_IsOwnedByCurrentThread(table[i]) && Py_REFCNT(table[i]) == 1)
28664 if (PyUnstable_Object_IsUniquelyReferenced(table[i]))
28667 Py_SET_REFCNT(table[i], ((Py_ssize_t)_Py_IMMORTAL_REFCNT_LOCAL + 1));
28670 if ((PY_SSIZE_T_MAX < _Py_IMMORTAL_INITIAL_REFCNT))
break;
28671 Py_SET_REFCNT(table[i], _Py_IMMORTAL_INITIAL_REFCNT);
28685 unsigned int argcount : 3;
28686 unsigned int num_posonly_args : 1;
28687 unsigned int num_kwonly_args : 1;
28688 unsigned int nlocals : 3;
28689 unsigned int flags : 10;
28690 unsigned int first_line : 8;
28691} __Pyx_PyCode_New_function_description;
28696static PyObject* __Pyx_PyCode_New(
28697 const __Pyx_PyCode_New_function_description descr,
28698 PyObject *
const *varnames,
28699 PyObject *filename,
28700 PyObject *funcname,
28701 PyObject *line_table,
28702 PyObject *tuple_dedup_map
28706static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) {
28707 PyObject* tuple_dedup_map = PyDict_New();
28708 if (unlikely(!tuple_dedup_map))
return -1;
28710 const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 5, (
unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 60};
28711 PyObject*
const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_phi_dof, __pyx_mstate->__pyx_n_u_phi_nodes, __pyx_mstate->__pyx_n_u_xi, __pyx_mstate->__pyx_n_u_icase};
28712 __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_proteus_equivalent_polynomials_p, __pyx_mstate->__pyx_n_u_calculate, __pyx_mstate->__pyx_kp_b_iso88591_A_IRr_q_A_D_E_Rq_D_Jaz_S_eeiirry, tuple_dedup_map);
if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0]))
goto bad;
28715 const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (
unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 134};
28716 PyObject*
const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_q};
28717 __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_proteus_equivalent_polynomials_p, __pyx_mstate->__pyx_n_u_set_quad, __pyx_mstate->__pyx_kp_b_iso88591_A_Cq, tuple_dedup_map);
if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1]))
goto bad;
28720 const __Pyx_PyCode_New_function_description descr = {1, 0, 0, 1, (
unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 1};
28721 PyObject*
const varnames[] = {__pyx_mstate->__pyx_n_u_self};
28722 __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_reduce_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map);
if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2]))
goto bad;
28725 const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (
unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 3};
28726 PyObject*
const varnames[] = {__pyx_mstate->__pyx_n_u_self, __pyx_mstate->__pyx_n_u_pyx_state};
28727 __pyx_mstate_global->__pyx_codeobj_tab[3] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_tree_fragment, __pyx_mstate->__pyx_n_u_setstate_cython, __pyx_mstate->__pyx_kp_b_iso88591_Q, tuple_dedup_map);
if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[3]))
goto bad;
28730 const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 4, (
unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 166};
28731 PyObject*
const varnames[] = {__pyx_mstate->__pyx_n_u_phi0, __pyx_mstate->__pyx_n_u_phi1, __pyx_mstate->__pyx_n_u_nP, __pyx_mstate->__pyx_n_u_C_H};
28732 __pyx_mstate_global->__pyx_codeobj_tab[4] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_proteus_equivalent_polynomials_p, __pyx_mstate->__pyx_n_u_calc_edge_H, __pyx_mstate->__pyx_kp_b_iso88591_F_2Qa_s_X_fAV6_Q_Cv_fAV6_Q_Cv_f, tuple_dedup_map);
if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[4]))
goto bad;
28735 const __Pyx_PyCode_New_function_description descr = {3, 0, 0, 3, (
unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 178};
28736 PyObject*
const varnames[] = {__pyx_mstate->__pyx_n_u_C, __pyx_mstate->__pyx_n_u_t, __pyx_mstate->__pyx_n_u_nP};
28737 __pyx_mstate_global->__pyx_codeobj_tab[5] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_proteus_equivalent_polynomials_p, __pyx_mstate->__pyx_n_u_eval_edge_poly, __pyx_mstate->__pyx_kp_b_iso88591_s_U_vQiq_q_Cs_vQiq_q_Cs_vQiq_q, tuple_dedup_map);
if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[5]))
goto bad;
28739 Py_DECREF(tuple_dedup_map);
28742 Py_DECREF(tuple_dedup_map);
28747static int __Pyx_InitGlobals(
void) {
28748 int __pyx_lineno = 0;
28749 const char *__pyx_filename = NULL;
28750 int __pyx_clineno = 0;
28752 if (likely(__Pyx_init_co_variables() == 0 && __Pyx_init_tpflags_variables() == 0));
else
28754 if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
28757 #if CYTHON_COMPILING_IN_LIMITED_API
28759 PyObject *builtins = PyEval_GetBuiltins();
28760 if (likely(builtins)) {
28761 PyObject *type_name = PyUnicode_FromStringAndSize(
"frozendict",
sizeof(
"frozendict")-1);
28762 if (likely(type_name)) {
28763 PyObject *frozendict_type = PyObject_GetItem(builtins, type_name);
28764 Py_DECREF(type_name);
28765 if (!frozendict_type && PyErr_ExceptionMatches(PyExc_KeyError)) {
28767 frozendict_type = (PyObject*) &PyDict_Type;
28768 Py_INCREF(frozendict_type);
28770 __pyx_mstate_global->__Pyx_PyFrozenDictType = frozendict_type;
28776 if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
28779 if (likely(__Pyx_init_assertions_enabled() == 0));
else
28781 if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
28790 #ifdef NPY_FEATURE_VERSION
28791 #ifndef NO_IMPORT_ARRAY
28792 if (unlikely(_import_array() == -1)) {
28793 PyErr_SetString(PyExc_ImportError,
"numpy.core.multiarray failed to import "
28794 "(auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; "
28795 "use '<void>numpy._import_array' to disable if you are certain you don't need it).");
28800 if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
28803 if (likely(__pyx_CommonTypesMetaclass_init(__pyx_m) == 0));
else
28805 if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
28808 #if CYTHON_COMPILING_IN_LIMITED_API
28810 PyObject *typesModule=NULL;
28811 typesModule = PyImport_ImportModule(
"types");
28813 __pyx_mstate_global->__Pyx_CachedMethodType = PyObject_GetAttrString(typesModule,
"MethodType");
28814 Py_DECREF(typesModule);
28819 if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
28827static int __Pyx_InitAfterSharedUtility(
void) {
28828 int __pyx_lineno = 0;
28829 const char *__pyx_filename = NULL;
28830 int __pyx_clineno = 0;
28832 if (likely(__pyx_CyFunction_init(__pyx_m) == 0));
else
28834 if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
28845#pragma warning( push )
28850#pragma warning( disable : 4127 )
28860static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(
const char *modname) {
28861 PyObject *m = NULL, *p = NULL;
28863 m = PyImport_ImportModule(modname);
28865 p = PyObject_GetAttrString(m,
"RefNannyAPI");
28867 r = PyLong_AsVoidPtr(p);
28871 return (__Pyx_RefNannyAPIStruct *)
r;
28876#if CYTHON_COMPILING_IN_CPYTHON
28877static CYTHON_INLINE
void __Pyx_copy_object_array(PyObject *
const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
28880 for (i = 0; i < length; i++) {
28881 v = dest[i] = src[i];
28888#if !(PY_VERSION_HEX >= 0x030F0000 && !CYTHON_COMPILING_IN_LIMITED_API)
28889CYTHON_UNUSED
static PyObject *
28890__Pyx_PyTuple_FromArray(PyObject *
const *src, Py_ssize_t
n) {
28892 return __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple);
28894 PyObject *res = PyTuple_New(
n);
28895 if (unlikely(res == NULL))
return NULL;
28896 #if CYTHON_COMPILING_IN_CPYTHON
28897 __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item,
n);
28900 for (i = 0; i <
n; i++) {
28902 if (unlikely(__Pyx_PyTuple_SET_ITEM(res, i, src[i]) < (0))) {
28913#ifndef __Pyx_DEFINED_PyObject_CompareStrStrBoolEq
28914#define __Pyx_DEFINED_PyObject_CompareStrStrBoolEq
28915static CYTHON_INLINE
int __Pyx_PyObject_CompareStrStrBoolEq(PyObject* s1, PyObject* s2) {
28916 #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000
28917 int result = PyUnicode_Equal(s1, s2);
28918 #if !CYTHON_COMPILING_IN_CPYTHON
28919 if (unlikely(result == -1))
return -1;
28921 if (result == 0)
goto __pyx_return_false;
else goto __pyx_return_true;
28923 int result = PyUnicode_Compare(s1, s2);
28924 if (unlikely((result == -1) && PyErr_Occurred()))
return -1;
28925 if (result == 0)
goto __pyx_return_true;
else goto __pyx_return_false;
28933static CYTHON_INLINE
int __Pyx_PyObject_CompareBoolEq_str_str(PyObject *op1, PyObject *op2,
int pyop) {
28934 CYTHON_UNUSED_VAR(pyop);
28935 if (unlikely(op1 == Py_None)) {
28936 if (op2 == Py_None)
goto __pyx_return_true;
else goto __pyx_return_false;
28938 if (unlikely(op2 == Py_None)) {
28939 if (op1 == Py_None)
goto __pyx_return_true;
else goto __pyx_return_false;
28942 if (likely(op1 != Py_None)) {
28943 if (op1 == op2)
goto __pyx_return_true;
28944 if (likely(op2 != Py_None)) {
28945 return __Pyx_PyObject_CompareStrStrBoolEq(op1, op2);
28947 goto __pyx_richcmp;
28950 if ((0))
goto __pyx_richcmp;
28951 if ((0))
goto __pyx_return_true;
28952 if ((0))
goto __pyx_return_false;
28954 return __Pyx_PyObject_RichCompareBool(op1, op2, Py_EQ);
28962#if CYTHON_VECTORCALL
28963static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *
const *kwvalues, PyObject *
s)
28965 Py_ssize_t i,
n = __Pyx_PyTuple_GET_SIZE(kwnames);
28966 #if !CYTHON_ASSUME_SAFE_SIZE
28967 if (unlikely(
n == -1))
return NULL;
28969 for (i = 0; i <
n; i++)
28971 PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i);
28972 #if !CYTHON_ASSUME_SAFE_MACROS
28973 if (unlikely(!namei))
return NULL;
28975 if (
s == namei)
return kwvalues[i];
28977 for (i = 0; i <
n; i++)
28979 PyObject *namei = __Pyx_PyTuple_GET_ITEM(kwnames, i);
28980 #if !CYTHON_ASSUME_SAFE_MACROS
28981 if (unlikely(!namei))
return NULL;
28983 int eq = __Pyx_PyUnicode_Equals(
s, namei);
28984 if (unlikely(eq != 0)) {
28985 if (unlikely(eq < 0))
return NULL;
28986 return kwvalues[i];
28991#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000 || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL
28992CYTHON_UNUSED
static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *
const *kwvalues) {
28993 Py_ssize_t i, nkwargs;
28995#if !CYTHON_ASSUME_SAFE_SIZE
28996 nkwargs = PyTuple_Size(kwnames);
28997 if (unlikely(nkwargs < 0))
return NULL;
28999 nkwargs = PyTuple_GET_SIZE(kwnames);
29001 dict = PyDict_New();
29002 if (unlikely(!dict))
29004 for (i=0; i<nkwargs; i++) {
29005#if !CYTHON_ASSUME_SAFE_MACROS
29006 PyObject *key = PyTuple_GetItem(kwnames, i);
29007 if (!key)
goto bad;
29009 PyObject *key = PyTuple_GET_ITEM(kwnames, i);
29011 if (unlikely(PyDict_SetItem(dict, key, kwvalues[i]) < 0))
29023#if CYTHON_COMPILING_IN_CPYTHON
29024static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
29026 ternaryfunc call = Py_TYPE(func)->tp_call;
29027 if (unlikely(!call))
29028 return PyObject_Call(func, arg, kw);
29029 if (unlikely(Py_EnterRecursiveCall(
" while calling a Python object")))
29031 result = (*call)(func, arg, kw);
29032 Py_LeaveRecursiveCall();
29033 if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
29036 "NULL result without error in PyObject_Call");
29043#if CYTHON_COMPILING_IN_CPYTHON
29044static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
29045 PyObject *self, *result;
29047 cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
29048 self = __Pyx_CyOrPyCFunction_GET_SELF(func);
29049 if (unlikely(Py_EnterRecursiveCall(
" while calling a Python object")))
29051 result = cfunc(self, arg);
29052 Py_LeaveRecursiveCall();
29053 if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
29056 "NULL result without error in PyObject_Call");
29063#if CYTHON_COMPILING_IN_LIMITED_API
29064static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject *
const*args,
size_t nargs, PyObject *kwargs) {
29065 PyObject *argstuple;
29066 PyObject *result = 0;
29068 argstuple = PyTuple_New((Py_ssize_t)nargs);
29069 if (unlikely(!argstuple))
return NULL;
29070 for (i = 0; i < nargs; i++) {
29071 Py_INCREF(args[i]);
29072 if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) != (0))
goto bad;
29074 result = __Pyx_PyObject_Call(func, argstuple, kwargs);
29076 Py_DECREF(argstuple);
29080#if CYTHON_VECTORCALL && !(CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY)
29081 #if CYTHON_COMPILING_IN_CPYTHON
29082static CYTHON_INLINE vectorcallfunc __Pyx_PyVectorcall_Function(PyObject *callable) {
29083 PyTypeObject *tp = Py_TYPE(callable);
29084 #if defined(__Pyx_CyFunction_USED)
29085 if (__Pyx_CyFunction_CheckExact(callable)) {
29086 return __Pyx_CyFunction_func_vectorcall(callable);
29089 if (!PyType_HasFeature(tp, Py_TPFLAGS_HAVE_VECTORCALL)) {
29092 assert(PyCallable_Check(callable));
29093 Py_ssize_t offset = tp->tp_vectorcall_offset;
29094 assert(offset > 0);
29095 vectorcallfunc ptr;
29096 memcpy(&ptr, (
char *) callable + offset,
sizeof(ptr));
29100 #define __Pyx_PyVectorcall_Function(callable) PyVectorcall_Function(callable)
29103static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwargs) {
29104 Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(nargsf);
29105#if CYTHON_COMPILING_IN_CPYTHON
29106 if (nargs == 0 && kwargs == NULL) {
29107 if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
29108 return __Pyx_PyObject_CallMethO(func, NULL);
29110 else if (nargs == 1 && kwargs == NULL) {
29111 if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
29112 return __Pyx_PyObject_CallMethO(func, args[0]);
29115 if (kwargs == NULL) {
29116 #if CYTHON_VECTORCALL
29117 #if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
29118 return PyObject_Vectorcall(func, args, nargsf, NULL);
29120 vectorcallfunc
f = __Pyx_PyVectorcall_Function(func);
29122 return f(func, args, nargsf, NULL);
29128 return __Pyx_PyObject_Call(func, __pyx_mstate_global->__pyx_empty_tuple, kwargs);
29130 #if CYTHON_COMPILING_IN_LIMITED_API
29131 return __Pyx_PyObject_FastCall_fallback(func, args, (
size_t)nargs, kwargs);
29132 #elif CYTHON_COMPILING_IN_PYPY
29133 return PyObject_VectorcallDict(func, args, (
size_t) nargs, kwargs);
29135 return PyObject_VectorcallDict(func, args, nargsf, kwargs);
29140static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
29141 PyObject *args[2] = {NULL, arg};
29142 return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
29146static CYTHON_INLINE
int __Pyx_IgnoreGivenException(PyObject *given_exception, PyObject *ignorable_exception) {
29147 if (PyErr_GivenExceptionMatches(given_exception ? given_exception : PyErr_Occurred(), ignorable_exception)) {
29155#if CYTHON_COMPILING_IN_CPYTHON
29156static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
29158 a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*);
29162 return b == &PyBaseObject_Type;
29164static CYTHON_INLINE
int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
29166 if (a == b)
return 1;
29170 n = PyTuple_GET_SIZE(mro);
29171 for (i = 0; i <
n; i++) {
29172 if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
29177 return __Pyx_InBases(a, b);
29179static CYTHON_INLINE
int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) {
29181 if (cls == a || cls == b)
return 1;
29185 n = PyTuple_GET_SIZE(mro);
29186 for (i = 0; i <
n; i++) {
29187 PyObject *base = PyTuple_GET_ITEM(mro, i);
29188 if (base == (PyObject *)a || base == (PyObject *)b)
29193 return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b);
29198#if CYTHON_USE_TYPE_SLOTS
29199static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
29200 PyTypeObject* tp = Py_TYPE(obj);
29201 if (likely(tp->tp_getattro))
29202 return tp->tp_getattro(obj, attr_name);
29203 return PyObject_GetAttr(obj, attr_name);
29208#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030C0000
29209static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *args, PyObject *kwargs) {
29211 PyObject *selfless_args = PyTuple_GetSlice(args, 1, PyTuple_Size(args));
29212 if (unlikely(!selfless_args))
return NULL;
29213 result = PyObject_Call(method, selfless_args, kwargs);
29214 Py_DECREF(selfless_args);
29218static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *
const *args, Py_ssize_t nargs, PyObject *kwnames) {
29219 return PyObject_Vectorcall(method, args ? args+1 : NULL, nargs ? (
size_t) nargs-1 : 0, kwnames);
29222static PyMethodDef __Pyx_UnboundCMethod_Def = {
29223 "CythonUnboundCMethod",
29224 __PYX_REINTERPRET_FUNCION(PyCFunction, __Pyx_SelflessCall),
29225#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030C0000
29226 METH_VARARGS | METH_KEYWORDS,
29228 METH_FASTCALL | METH_KEYWORDS,
29232static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
29233 PyObject *method, *result=NULL;
29234 method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name);
29235 if (unlikely(!method))
29238#if CYTHON_COMPILING_IN_CPYTHON
29239 if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
29241 PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
29242 target->func = descr->d_method->ml_meth;
29243 target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST);
29246#if CYTHON_COMPILING_IN_PYPY
29248 if (PyCFunction_Check(method))
29253#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
29254 self = PyObject_GetAttrString(method,
"__self__");
29255 if (!self && !__Pyx_IgnoreException(PyExc_AttributeError)) {
29259 self = PyCFunction_GET_SELF(method);
29261 self_found = (self && self != Py_None);
29262#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
29266 PyObject *unbound_method = PyCFunction_New(&__Pyx_UnboundCMethod_Def, method);
29267 if (unlikely(!unbound_method))
return -1;
29269 result = unbound_method;
29272#if !CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
29273 if (unlikely(target->method)) {
29277 target->method = result;
29282#if CYTHON_COMPILING_IN_CPYTHON
29283static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
29284 int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc);
29285 if (likely(was_initialized == 2 && cfunc->func)) {
29286 if (likely(cfunc->flag == METH_NOARGS))
29287 return __Pyx_CallCFunction(cfunc, self, NULL);
29288 if (likely(cfunc->flag == METH_FASTCALL))
29289 return __Pyx_CallCFunctionFast(cfunc, self, NULL, 0);
29290 if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
29291 return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, NULL, 0, NULL);
29292 if (likely(cfunc->flag == (METH_VARARGS | METH_KEYWORDS)))
29293 return __Pyx_CallCFunctionWithKeywords(cfunc, self, __pyx_mstate_global->__pyx_empty_tuple, NULL);
29294 if (cfunc->flag == METH_VARARGS)
29295 return __Pyx_CallCFunction(cfunc, self, __pyx_mstate_global->__pyx_empty_tuple);
29296 return __Pyx__CallUnboundCMethod0(cfunc, self);
29298#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
29299 else if (unlikely(was_initialized == 1)) {
29300 __Pyx_CachedCFunction tmp_cfunc = {
29305 tmp_cfunc.type = cfunc->type;
29306 tmp_cfunc.method_name = cfunc->method_name;
29307 return __Pyx__CallUnboundCMethod0(&tmp_cfunc, self);
29310 PyObject *result = __Pyx__CallUnboundCMethod0(cfunc, self);
29311 __Pyx_CachedCFunction_SetFinishedInitializing(cfunc);
29315static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) {
29317 if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0))
return NULL;
29318 result = __Pyx_PyObject_CallOneArg(cfunc->method, self);
29323static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) {
29324 return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_items, d);
29328static CYTHON_INLINE PyObject* __Pyx_PyDict_Values(PyObject* d) {
29329 return __Pyx_CallUnboundCMethod0(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_values, d);
29333#if CYTHON_AVOID_BORROWED_REFS
29334static int __Pyx_PyDict_NextRef(PyObject *p, PyObject **ppos, PyObject **pkey, PyObject **pvalue) {
29335 PyObject *next = NULL;
29338 PyObject *dictview = pkey ? __Pyx_PyDict_Items(p) : __Pyx_PyDict_Values(p);
29339 if (unlikely(!dictview))
goto bad;
29340 *ppos = PyObject_GetIter(dictview);
29341 Py_DECREF(dictview);
29343 *ppos = PyObject_GetIter(p);
29345 if (unlikely(!*ppos))
goto bad;
29347 next = PyIter_Next(*ppos);
29349 if (PyErr_Occurred())
goto bad;
29352 if (pkey && pvalue) {
29353 *pkey = __Pyx_PySequence_ITEM(next, 0);
29354 if (unlikely(*pkey))
goto bad;
29355 *pvalue = __Pyx_PySequence_ITEM(next, 1);
29356 if (unlikely(*pvalue))
goto bad;
29367#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000
29368 PyErr_FormatUnraisable(
"Exception ignored in __Pyx_PyDict_NextRef");
29370 PyErr_WriteUnraisable(__pyx_mstate_global->__pyx_n_u_Pyx_PyDict_NextRef);
29372 if (pkey) *pkey = NULL;
29373 if (pvalue) *pvalue = NULL;
29377static int __Pyx_PyDict_NextRef(PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue) {
29378 int result = PyDict_Next(p, ppos, pkey, pvalue);
29379 if (likely(result == 1)) {
29380 if (pkey) Py_INCREF(*pkey);
29381 if (pvalue) Py_INCREF(*pvalue);
29388static void __Pyx_RaiseDoubleKeywordsError(
29389 const char* func_name,
29392 PyErr_Format(PyExc_TypeError,
29393 "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
29397#if CYTHON_COMPILING_IN_CPYTHON
29398static CYTHON_INLINE PyObject *__Pyx_CallUnboundCMethod2(__Pyx_CachedCFunction *cfunc, PyObject *self, PyObject *arg1, PyObject *arg2) {
29399 int was_initialized = __Pyx_CachedCFunction_GetAndSetInitializing(cfunc);
29400 if (likely(was_initialized == 2 && cfunc->func)) {
29401 PyObject *args[2] = {arg1, arg2};
29402 if (cfunc->flag == METH_FASTCALL) {
29403 return __Pyx_CallCFunctionFast(cfunc, self, args, 2);
29405 if (cfunc->flag == (METH_FASTCALL | METH_KEYWORDS))
29406 return __Pyx_CallCFunctionFastWithKeywords(cfunc, self, args, 2, NULL);
29408#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
29409 else if (unlikely(was_initialized == 1)) {
29410 __Pyx_CachedCFunction tmp_cfunc = {
29415 tmp_cfunc.type = cfunc->type;
29416 tmp_cfunc.method_name = cfunc->method_name;
29417 return __Pyx__CallUnboundCMethod2(&tmp_cfunc, self, arg1, arg2);
29420 PyObject *result = __Pyx__CallUnboundCMethod2(cfunc, self, arg1, arg2);
29421 __Pyx_CachedCFunction_SetFinishedInitializing(cfunc);
29425static PyObject* __Pyx__CallUnboundCMethod2(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg1, PyObject* arg2){
29426 if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0))
return NULL;
29427#if CYTHON_COMPILING_IN_CPYTHON
29428 if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
29429 PyObject *result = NULL;
29430 PyObject *args = PyTuple_New(2);
29431 if (unlikely(!args))
return NULL;
29433 PyTuple_SET_ITEM(args, 0, arg1);
29435 PyTuple_SET_ITEM(args, 1, arg2);
29436 if (cfunc->flag & METH_KEYWORDS)
29437 result = __Pyx_CallCFunctionWithKeywords(cfunc, self, args, NULL);
29439 result = __Pyx_CallCFunction(cfunc, self, args);
29445 PyObject *args[4] = {NULL, self, arg1, arg2};
29446 return __Pyx_PyObject_FastCall(cfunc->method, args+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
29451static int __Pyx_ValidateDuplicatePosArgs(
29453 PyObject **
const argnames[],
29454 PyObject **
const *first_kw_arg,
29455 const char* function_name)
29457 PyObject **
const *name = argnames;
29458 while (name != first_kw_arg) {
29459 PyObject *key = **name;
29460 int found = PyDict_Contains(kwds, key);
29461 if (unlikely(found)) {
29462 if (found == 1) __Pyx_RaiseDoubleKeywordsError(function_name, key);
29471#if CYTHON_USE_UNICODE_INTERNALS
29472static CYTHON_INLINE
int __Pyx_UnicodeKeywordsEqual(PyObject *s1, PyObject *s2) {
29474 Py_ssize_t len = PyUnicode_GET_LENGTH(s1);
29475 if (len != PyUnicode_GET_LENGTH(s2))
return 0;
29476 kind = PyUnicode_KIND(s1);
29477 if (kind != PyUnicode_KIND(s2))
return 0;
29478 const void *data1 = PyUnicode_DATA(s1);
29479 const void *data2 = PyUnicode_DATA(s2);
29480 return (memcmp(data1, data2, (
size_t) len * (
size_t) kind) == 0);
29483static int __Pyx_MatchKeywordArg_str(
29485 PyObject **
const argnames[],
29486 PyObject **
const *first_kw_arg,
29487 size_t *index_found,
29488 const char *function_name)
29490 PyObject **
const *name;
29491 #if CYTHON_USE_UNICODE_INTERNALS
29492 Py_hash_t key_hash = ((PyASCIIObject*)key)->hash;
29493 if (unlikely(key_hash == -1)) {
29494 key_hash = PyObject_Hash(key);
29495 if (unlikely(key_hash == -1))
29499 name = first_kw_arg;
29501 PyObject *name_str = **name;
29502 #if CYTHON_USE_UNICODE_INTERNALS
29503 if (key_hash == ((PyASCIIObject*)name_str)->hash && __Pyx_UnicodeKeywordsEqual(name_str, key)) {
29504 *index_found = (size_t) (name - argnames);
29508 #if CYTHON_ASSUME_SAFE_SIZE
29509 if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key))
29512 int cmp = PyUnicode_Compare(name_str, key);
29513 if (cmp < 0 && unlikely(PyErr_Occurred()))
goto bad;
29515 *index_found = (size_t) (name - argnames);
29523 while (name != first_kw_arg) {
29524 PyObject *name_str = **name;
29525 #if CYTHON_USE_UNICODE_INTERNALS
29526 if (unlikely(key_hash == ((PyASCIIObject*)name_str)->hash)) {
29527 if (__Pyx_UnicodeKeywordsEqual(name_str, key))
29528 goto arg_passed_twice;
29531 #if CYTHON_ASSUME_SAFE_SIZE
29532 if (PyUnicode_GET_LENGTH(name_str) == PyUnicode_GET_LENGTH(key))
29535 if (unlikely(name_str == key))
goto arg_passed_twice;
29536 int cmp = PyUnicode_Compare(name_str, key);
29537 if (cmp < 0 && unlikely(PyErr_Occurred()))
goto bad;
29538 if (cmp == 0)
goto arg_passed_twice;
29545 __Pyx_RaiseDoubleKeywordsError(function_name, key);
29550static int __Pyx_MatchKeywordArg_nostr(
29552 PyObject **
const argnames[],
29553 PyObject **
const *first_kw_arg,
29554 size_t *index_found,
29555 const char *function_name)
29557 PyObject **
const *name;
29558 if (unlikely(!PyUnicode_Check(key)))
goto invalid_keyword_type;
29559 name = first_kw_arg;
29561 int cmp = PyObject_RichCompareBool(**name, key, Py_EQ);
29563 *index_found = (size_t) (name - argnames);
29566 if (unlikely(cmp == -1))
goto bad;
29570 while (name != first_kw_arg) {
29571 int cmp = PyObject_RichCompareBool(**name, key, Py_EQ);
29572 if (unlikely(cmp != 0)) {
29573 if (cmp == 1)
goto arg_passed_twice;
29580 __Pyx_RaiseDoubleKeywordsError(function_name, key);
29582invalid_keyword_type:
29583 PyErr_Format(PyExc_TypeError,
29584 "%.200s() keywords must be strings", function_name);
29589static CYTHON_INLINE
int __Pyx_MatchKeywordArg(
29591 PyObject **
const argnames[],
29592 PyObject **
const *first_kw_arg,
29593 size_t *index_found,
29594 const char *function_name)
29596 return likely(PyUnicode_CheckExact(key)) ?
29597 __Pyx_MatchKeywordArg_str(key, argnames, first_kw_arg, index_found, function_name) :
29598 __Pyx_MatchKeywordArg_nostr(key, argnames, first_kw_arg, index_found, function_name);
29600static void __Pyx_RejectUnknownKeyword(
29602 PyObject **
const argnames[],
29603 PyObject **
const *first_kw_arg,
29604 const char *function_name)
29606 #if CYTHON_AVOID_BORROWED_REFS
29607 PyObject *pos = NULL;
29609 Py_ssize_t pos = 0;
29611 PyObject *key = NULL;
29612 __Pyx_BEGIN_CRITICAL_SECTION(kwds);
29613 #if CYTHON_AVOID_BORROWED_REFS
29614 while (__Pyx_PyDict_NextRef(kwds, &pos, &key, NULL))
29616 (void) __Pyx_PyDict_NextRef;
29617 while (PyDict_Next(kwds, &pos, &key, NULL))
29620 PyObject**
const *name = first_kw_arg;
29621 while (*name && (**name != key)) name++;
29623 size_t index_found = 0;
29624 int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name);
29627 PyErr_Format(PyExc_TypeError,
29628 "%s() got an unexpected keyword argument '%U'",
29629 function_name, key);
29631 #if CYTHON_AVOID_BORROWED_REFS
29637 #if CYTHON_AVOID_BORROWED_REFS
29641 __Pyx_END_CRITICAL_SECTION();
29642 #if CYTHON_AVOID_BORROWED_REFS
29645 assert(PyErr_Occurred());
29647static int __Pyx_ParseKeywordDict(
29649 PyObject **
const argnames[],
29650 PyObject *values[],
29651 Py_ssize_t num_pos_args,
29652 Py_ssize_t num_kwargs,
29653 const char* function_name,
29654 int ignore_unknown_kwargs)
29656 PyObject**
const *name;
29657 PyObject**
const *first_kw_arg = argnames + num_pos_args;
29658 Py_ssize_t extracted = 0;
29659#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
29660 if (unlikely(!PyArg_ValidateKeywordArguments(kwds)))
return -1;
29662 name = first_kw_arg;
29663 while (*name && num_kwargs > extracted) {
29664 PyObject * key = **name;
29667 #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
29668 found = PyDict_GetItemRef(kwds, key, &value);
29670 value = PyDict_GetItemWithError(kwds, key);
29675 if (unlikely(PyErr_Occurred()))
goto bad;
29679 if (unlikely(found < 0))
goto bad;
29680 values[name-argnames] = value;
29685 if (num_kwargs > extracted) {
29686 if (ignore_unknown_kwargs) {
29687 if (unlikely(__Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name) == -1))
29690 __Pyx_RejectUnknownKeyword(kwds, argnames, first_kw_arg, function_name);
29698static int __Pyx_ParseKeywordDictToDict(
29700 PyObject **
const argnames[],
29702 PyObject *values[],
29703 Py_ssize_t num_pos_args,
29704 const char* function_name)
29706 PyObject**
const *name;
29707 PyObject**
const *first_kw_arg = argnames + num_pos_args;
29709#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
29710 if (unlikely(!PyArg_ValidateKeywordArguments(kwds)))
return -1;
29712 if (PyDict_Update(kwds2, kwds) < 0)
goto bad;
29713 name = first_kw_arg;
29715 PyObject *key = **name;
29717#if !CYTHON_COMPILING_IN_LIMITED_API && (PY_VERSION_HEX >= 0x030d00A2 || defined(PyDict_Pop))
29718 int found = PyDict_Pop(kwds2, key, &value);
29720 if (unlikely(found < 0))
goto bad;
29721 values[name-argnames] = value;
29723#elif __PYX_LIMITED_VERSION_HEX >= 0x030d0000
29724 int found = PyDict_GetItemRef(kwds2, key, &value);
29726 if (unlikely(found < 0))
goto bad;
29727 values[name-argnames] = value;
29728 if (unlikely(PyDict_DelItem(kwds2, key) < 0))
goto bad;
29731 #if CYTHON_COMPILING_IN_CPYTHON
29732 value = _PyDict_Pop(kwds2, key, kwds2);
29734 value = __Pyx_CallUnboundCMethod2(&__pyx_mstate_global->__pyx_umethod_PyDict_Type_pop, kwds2, key, kwds2);
29736 if (value == kwds2) {
29739 if (unlikely(!value))
goto bad;
29740 values[name-argnames] = value;
29745 len = PyDict_Size(kwds2);
29747 return __Pyx_ValidateDuplicatePosArgs(kwds, argnames, first_kw_arg, function_name);
29748 }
else if (unlikely(len == -1)) {
29755static int __Pyx_ParseKeywordsTuple(
29757 PyObject *
const *kwvalues,
29758 PyObject **
const argnames[],
29760 PyObject *values[],
29761 Py_ssize_t num_pos_args,
29762 Py_ssize_t num_kwargs,
29763 const char* function_name,
29764 int ignore_unknown_kwargs)
29766 PyObject *key = NULL;
29767 PyObject**
const * name;
29768 PyObject**
const *first_kw_arg = argnames + num_pos_args;
29769 for (Py_ssize_t pos = 0; pos < num_kwargs; pos++) {
29770#if CYTHON_AVOID_BORROWED_REFS
29771 key = __Pyx_PySequence_ITEM(kwds, pos);
29773 key = __Pyx_PyTuple_GET_ITEM(kwds, pos);
29775#if !CYTHON_ASSUME_SAFE_MACROS
29776 if (unlikely(!key))
goto bad;
29778 name = first_kw_arg;
29779 while (*name && (**name != key)) name++;
29781 PyObject *value = kwvalues[pos];
29782 values[name-argnames] = __Pyx_NewRef(value);
29784 size_t index_found = 0;
29785 int cmp = __Pyx_MatchKeywordArg(key, argnames, first_kw_arg, &index_found, function_name);
29787 PyObject *value = kwvalues[pos];
29788 values[index_found] = __Pyx_NewRef(value);
29790 if (unlikely(cmp == -1))
goto bad;
29792 PyObject *value = kwvalues[pos];
29793 if (unlikely(PyDict_SetItem(kwds2, key, value)))
goto bad;
29794 }
else if (!ignore_unknown_kwargs) {
29795 goto invalid_keyword;
29799 #if CYTHON_AVOID_BORROWED_REFS
29806 PyErr_Format(PyExc_TypeError,
29807 "%s() got an unexpected keyword argument '%U'",
29808 function_name, key);
29811 #if CYTHON_AVOID_BORROWED_REFS
29818static int __Pyx_ParseKeywords(
29820 PyObject *
const *kwvalues,
29821 PyObject **
const argnames[],
29823 PyObject *values[],
29824 Py_ssize_t num_pos_args,
29825 Py_ssize_t num_kwargs,
29826 const char* function_name,
29827 int ignore_unknown_kwargs)
29829 if (CYTHON_VECTORCALL && likely(PyTuple_Check(kwds)))
29830 return __Pyx_ParseKeywordsTuple(kwds, kwvalues, argnames, kwds2, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs);
29832 return __Pyx_ParseKeywordDictToDict(kwds, argnames, kwds2, values, num_pos_args, function_name);
29834 return __Pyx_ParseKeywordDict(kwds, argnames, values, num_pos_args, num_kwargs, function_name, ignore_unknown_kwargs);
29838static void __Pyx_RaiseArgtupleInvalid(
29839 const char* func_name,
29841 Py_ssize_t num_min,
29842 Py_ssize_t num_max,
29843 Py_ssize_t num_found)
29845 Py_ssize_t num_expected;
29846 const char *more_or_less;
29847 if (num_found < num_min) {
29848 num_expected = num_min;
29849 more_or_less =
"at least";
29851 num_expected = num_max;
29852 more_or_less =
"at most";
29855 more_or_less =
"exactly";
29857 PyErr_Format(PyExc_TypeError,
29858 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T
"d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T
"d given)",
29859 func_name, more_or_less, num_expected,
29860 (num_expected == 1) ?
"" :
"s", num_found);
29864static void __Pyx_ArgTypeError(PyObject *obj, PyTypeObject *type,
const char *name,
int exact)
29866 __Pyx_TypeName type_name;
29867 __Pyx_TypeName obj_type_name;
29868 PyObject *extra_info = __pyx_mstate_global->__pyx_empty_unicode;
29869 int from_annotation_subclass = 0;
29870 if (unlikely(!type)) {
29871 PyErr_SetString(PyExc_SystemError,
"Missing type object");
29873 }
else if (exact == 2) {
29874 if (__Pyx_TypeCheck(obj, type)) {
29875 from_annotation_subclass = 1;
29876 extra_info = __pyx_mstate_global->__pyx_kp_u_Note_that_Cython_is_deliberately;
29879 type_name = __Pyx_PyType_GetFullyQualifiedName(type);
29880 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
29881 if (unlikely(!type_name))
return;
29883 obj_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(obj));
29884 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
29885 if (unlikely(!obj_type_name))
goto obj_type_name_failed;
29887 PyErr_Format(PyExc_TypeError,
29888 "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME
", got " __Pyx_FMT_TYPENAME
")"
29889#
if __PYX_LIMITED_VERSION_HEX < 0x030C0000
29892 , name, type_name, obj_type_name
29893#
if __PYX_LIMITED_VERSION_HEX < 0x030C0000
29894 , (from_annotation_subclass ?
". " :
""), extra_info
29897#if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
29898 if (exact == 2 && from_annotation_subclass) {
29900 PyObject *vargs[2];
29901 vargs[0] = PyErr_GetRaisedException();
29902 vargs[1] = extra_info;
29903 res = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_kp_u_add_note, vargs, 2, NULL);
29905 PyErr_SetRaisedException(vargs[0]);
29908 __Pyx_DECREF_TypeName(obj_type_name);
29909#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
29910obj_type_name_failed:
29912 __Pyx_DECREF_TypeName(type_name);
29917static CYTHON_INLINE
int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type,
int none_allowed,
const char *name,
int exact) {
29918 if (likely(Py_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None))))
29920 if (!exact && likely(type) && likely(__Pyx_TypeCheck(obj, type)))
29922 __Pyx_ArgTypeError(obj, type, name, exact);
29927#if CYTHON_FAST_THREAD_STATE
29928static CYTHON_INLINE
void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
29929#if PY_VERSION_HEX >= 0x030C00A6
29930 PyObject *tmp_value;
29931 assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value)));
29933 #if CYTHON_COMPILING_IN_CPYTHON
29934 if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb))
29936 PyException_SetTraceback(value, tb);
29938 tmp_value = tstate->current_exception;
29939 tstate->current_exception = value;
29940 Py_XDECREF(tmp_value);
29944 PyObject *tmp_type, *tmp_value, *tmp_tb;
29945 tmp_type = tstate->curexc_type;
29946 tmp_value = tstate->curexc_value;
29947 tmp_tb = tstate->curexc_traceback;
29948 tstate->curexc_type = type;
29949 tstate->curexc_value = value;
29950 tstate->curexc_traceback = tb;
29951 Py_XDECREF(tmp_type);
29952 Py_XDECREF(tmp_value);
29953 Py_XDECREF(tmp_tb);
29956static CYTHON_INLINE
void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
29957#if PY_VERSION_HEX >= 0x030C00A6
29958 PyObject* exc_value;
29959 exc_value = tstate->current_exception;
29960 tstate->current_exception = 0;
29961 *value = exc_value;
29965 *type = (PyObject*) Py_TYPE(exc_value);
29967 #if CYTHON_COMPILING_IN_CPYTHON
29968 *tb = ((PyBaseExceptionObject*) exc_value)->traceback;
29971 *tb = PyException_GetTraceback(exc_value);
29975 *type = tstate->curexc_type;
29976 *value = tstate->curexc_value;
29977 *tb = tstate->curexc_traceback;
29978 tstate->curexc_type = 0;
29979 tstate->curexc_value = 0;
29980 tstate->curexc_traceback = 0;
29986#if CYTHON_COMPILING_IN_CPYTHON
29987static CYTHON_INLINE
int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
29989 return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2);
29991 return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
29994static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
29996 assert(PyExceptionClass_Check(exc_type));
29997 n = PyTuple_GET_SIZE(tuple);
29998 for (i=0; i<
n; i++) {
29999 if (exc_type == PyTuple_GET_ITEM(tuple, i))
return 1;
30001 for (i=0; i<
n; i++) {
30002 PyObject *t = PyTuple_GET_ITEM(tuple, i);
30003 if (likely(PyExceptionClass_Check(t))) {
30004 if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t))
return 1;
30010static CYTHON_INLINE
int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
30011 if (likely(err == exc_type))
return 1;
30012 if (likely(PyExceptionClass_Check(err))) {
30013 if (likely(PyExceptionClass_Check(exc_type))) {
30014 return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
30015 }
else if (likely(PyTuple_Check(exc_type))) {
30016 return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
30020 return PyErr_GivenExceptionMatches(err, exc_type);
30022static CYTHON_INLINE
int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
30023 assert(PyExceptionClass_Check(exc_type1));
30024 assert(PyExceptionClass_Check(exc_type2));
30025 if (likely(err == exc_type1 || err == exc_type2))
return 1;
30026 if (likely(PyExceptionClass_Check(err))) {
30027 return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
30029 return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
30034#if CYTHON_FAST_THREAD_STATE
30035static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
30037 n = PyTuple_GET_SIZE(tuple);
30038 for (i=0; i<
n; i++) {
30039 if (exc_type == PyTuple_GET_ITEM(tuple, i))
return 1;
30041 for (i=0; i<
n; i++) {
30042 if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i)))
return 1;
30046static CYTHON_INLINE
int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
30048 PyObject *exc_type;
30049#if PY_VERSION_HEX >= 0x030C00A6
30050 PyObject *current_exception = tstate->current_exception;
30051 if (unlikely(!current_exception))
return 0;
30052 exc_type = (PyObject*) Py_TYPE(current_exception);
30053 if (exc_type == err)
return 1;
30055 exc_type = tstate->curexc_type;
30056 if (exc_type == err)
return 1;
30057 if (unlikely(!exc_type))
return 0;
30059 #if CYTHON_AVOID_BORROWED_REFS
30060 Py_INCREF(exc_type);
30062 if (unlikely(PyTuple_Check(err))) {
30063 result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
30065 result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
30067 #if CYTHON_AVOID_BORROWED_REFS
30068 Py_DECREF(exc_type);
30075#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
30076static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(
void) {
30077 __Pyx_PyThreadState_declare
30078 __Pyx_PyThreadState_assign
30079 if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
30080 __Pyx_PyErr_Clear();
30083static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
30085#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
30086 (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
30089#if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS
30090 PyTypeObject* tp = Py_TYPE(obj);
30091 if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
30092 return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
30095 result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
30096 if (unlikely(!result)) {
30097 __Pyx_PyObject_GetAttrStr_ClearAttributeError();
30104static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
30105 PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_mstate_global->__pyx_b, name);
30106 if (unlikely(!result) && !PyErr_Occurred()) {
30107 PyErr_Format(PyExc_NameError,
30108 "name '%U' is not defined", name);
30114#if !CYTHON_VECTORCALL
30115static PyObject *__Pyx_PyObject_FastCallMethod(PyObject *name, PyObject *
const *args,
size_t nargsf) {
30117 switch (__Pyx_PyVectorcall_NARGS(nargsf)) {
30119 return PyObject_CallMethodObjArgs(args[0], name, NULL);
30121 return PyObject_CallMethodObjArgs(args[0], name, args[1], NULL);
30123 return PyObject_CallMethodObjArgs(args[0], name, args[1], args[2], NULL);
30125 return PyObject_CallMethodObjArgs(args[0], name, args[1], args[2], args[3], NULL);
30127 return PyObject_CallMethodObjArgs(args[0], name, args[1], args[2], args[3], args[4], NULL);
30129 PyObject *attr = PyObject_GetAttr(args[0], name);
30130 if (unlikely(!attr))
30132 result = __Pyx_PyObject_FastCall(attr, args+1, nargsf - 1);
30139#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
30140static __Pyx_TypeName
30141__Pyx_PyType_GetFullyQualifiedName(PyTypeObject* tp)
30143 PyObject *module = NULL, *name = NULL, *result = NULL;
30144 #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
30145 name = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
30146 __pyx_mstate_global->__pyx_n_u_qualname);
30148 name = PyType_GetQualName(tp);
30150 if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name)))
goto bad;
30151 module = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
30152 __pyx_mstate_global->__pyx_n_u_module);
30153 if (unlikely(module == NULL) || unlikely(!PyUnicode_Check(module)))
goto bad;
30154 if (PyUnicode_CompareWithASCIIString(module,
"builtins") == 0) {
30159 result = PyUnicode_FromFormat(
"%U.%U", module, name);
30160 if (unlikely(result == NULL))
goto bad;
30163 Py_XDECREF(module);
30171 result = __Pyx_NewRef(__pyx_mstate_global->__pyx_kp_u_);
30178static void __Pyx_RaiseErrorWithType1(PyObject* exc_type,
const char* message,
const char *arg, PyTypeObject *type_obj) {
30179 __Pyx_TypeName type_name = __Pyx_PyType_GetFullyQualifiedName(type_obj);
30180 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
30181 if (unlikely(!type_name))
return;
30183 PyErr_Format(exc_type, message, arg, type_name);
30184 __Pyx_DECREF_TypeName(type_name);
30188static int __Pyx_RaiseUnexpectedTypeError(
const char *expected, PyObject *obj) {
30189 __Pyx_RaiseTypeErrorWithObjectType1(
30190 "Expected %.42s, got " __Pyx_FMT_TYPENAME,
30196static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
30197 PyObject* owned_instance = NULL;
30198 if (tb == Py_None) {
30200 }
else if (tb && !PyTraceBack_Check(tb)) {
30201 PyErr_SetString(PyExc_TypeError,
30202 "raise: arg 3 must be a traceback or None");
30205 if (value == Py_None)
30207 if (PyExceptionInstance_Check(type)) {
30209 PyErr_SetString(PyExc_TypeError,
30210 "instance exception may not have a separate value");
30214 type = (PyObject*) Py_TYPE(value);
30215 }
else if (PyExceptionClass_Check(type)) {
30216 PyObject *instance_class = NULL;
30217 if (value && PyExceptionInstance_Check(value)) {
30218 instance_class = (PyObject*) Py_TYPE(value);
30219 if (instance_class != type) {
30220 int is_subclass = PyObject_IsSubclass(instance_class, type);
30221 if (!is_subclass) {
30222 instance_class = NULL;
30223 }
else if (unlikely(is_subclass == -1)) {
30226 type = instance_class;
30230 if (!instance_class) {
30233 args = PyTuple_New(0);
30234 else if (PyTuple_Check(value)) {
30238 args = PyTuple_Pack(1, value);
30241 owned_instance = PyObject_Call(type, args, NULL);
30243 if (!owned_instance)
30245 value = owned_instance;
30246 if (!PyExceptionInstance_Check(value)) {
30247 PyErr_Format(PyExc_TypeError,
30248 "calling %R should have returned an instance of "
30249 "BaseException, not %R",
30250 type, Py_TYPE(value));
30255 PyErr_SetString(PyExc_TypeError,
30256 "raise: exception class must be a subclass of BaseException");
30260 PyObject *fixed_cause;
30261 if (cause == Py_None) {
30262 fixed_cause = NULL;
30263 }
else if (PyExceptionClass_Check(cause)) {
30264 fixed_cause = PyObject_CallObject(cause, NULL);
30265 if (fixed_cause == NULL)
30267 }
else if (PyExceptionInstance_Check(cause)) {
30268 fixed_cause = cause;
30269 Py_INCREF(fixed_cause);
30271 PyErr_SetString(PyExc_TypeError,
30272 "exception causes must derive from "
30276 PyException_SetCause(value, fixed_cause);
30278 PyErr_SetObject(type, value);
30280#if PY_VERSION_HEX >= 0x030C00A6
30281 PyException_SetTraceback(value, tb);
30282#elif CYTHON_FAST_THREAD_STATE
30283 PyThreadState *tstate = __Pyx_PyThreadState_Current;
30284 PyObject* tmp_tb = tstate->curexc_traceback;
30285 if (tb != tmp_tb) {
30287 tstate->curexc_traceback = tb;
30288 Py_XDECREF(tmp_tb);
30291 PyObject *tmp_type, *tmp_value, *tmp_tb;
30292 PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
30294 PyErr_Restore(tmp_type, tmp_value, tb);
30295 Py_XDECREF(tmp_tb);
30299 Py_XDECREF(owned_instance);
30304static const char DIGIT_PAIRS_10[2*10*10+1] = {
30305 "00010203040506070809"
30306 "10111213141516171819"
30307 "20212223242526272829"
30308 "30313233343536373839"
30309 "40414243444546474849"
30310 "50515253545556575859"
30311 "60616263646566676869"
30312 "70717273747576777879"
30313 "80818283848586878889"
30314 "90919293949596979899"
30316static const char DIGIT_PAIRS_8[2*8*8+1] = {
30326static const char DIGITS_HEX[2*16+1] = {
30332static PyObject* __Pyx_PyUnicode_BuildFromAscii(Py_ssize_t ulength,
const char* chars,
int clength,
30333 int prepend_sign,
char padding_char) {
30335 Py_ssize_t uoffset = ulength - clength;
30336#if CYTHON_USE_UNICODE_INTERNALS
30339 uval = PyUnicode_New(ulength, 127);
30340 if (unlikely(!uval))
return NULL;
30341 udata = PyUnicode_DATA(uval);
30344 if (prepend_sign) {
30345 __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, 0,
'-');
30348 for (; i < uoffset; i++) {
30349 __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, i, padding_char);
30352 for (i=0; i < clength; i++) {
30353 __Pyx_PyUnicode_WRITE(PyUnicode_1BYTE_KIND, udata, uoffset+i, chars[i]);
30357 PyObject *
sign = NULL, *padding = NULL;
30360 prepend_sign = !!prepend_sign;
30361 if (uoffset > prepend_sign) {
30362 padding = PyUnicode_FromOrdinal(padding_char);
30363 if (likely(padding) && uoffset > prepend_sign + 1) {
30364 PyObject *tmp = PySequence_Repeat(padding, uoffset - prepend_sign);
30365 Py_DECREF(padding);
30368 if (unlikely(!padding))
goto done_or_error;
30370 if (prepend_sign) {
30371 sign = PyUnicode_FromOrdinal(
'-');
30372 if (unlikely(!
sign))
goto done_or_error;
30375 uval = PyUnicode_DecodeASCII(chars, clength, NULL);
30376 if (likely(uval) && padding) {
30377 PyObject *tmp = PyUnicode_Concat(padding, uval);
30381 if (likely(uval) &&
sign) {
30382 PyObject *tmp = PyUnicode_Concat(
sign, uval);
30387 Py_XDECREF(padding);
30395static CYTHON_INLINE
int __Pyx_CheckUnicodeValue(
int value) {
30396 return value <= 1114111;
30398static PyObject* __Pyx_PyUnicode_FromOrdinal_Padded(
int value, Py_ssize_t ulength,
char padding_char) {
30399 Py_ssize_t padding_length = ulength - 1;
30400 if (likely((padding_length <= 250) && (value < 0xD800 || value > 0xDFFF))) {
30402 if (value <= 255) {
30403 memset(chars, padding_char, (
size_t) padding_length);
30404 chars[ulength-1] = (char) value;
30405 return PyUnicode_DecodeLatin1(chars, ulength, NULL);
30407 char *cpos = chars +
sizeof(chars);
30408 if (value < 0x800) {
30409 *--cpos = (char) (0x80 | (value & 0x3f));
30411 *--cpos = (char) (0xc0 | (value & 0x1f));
30412 }
else if (value < 0x10000) {
30413 *--cpos = (char) (0x80 | (value & 0x3f));
30415 *--cpos = (char) (0x80 | (value & 0x3f));
30417 *--cpos = (char) (0xe0 | (value & 0x0f));
30419 *--cpos = (char) (0x80 | (value & 0x3f));
30421 *--cpos = (char) (0x80 | (value & 0x3f));
30423 *--cpos = (char) (0x80 | (value & 0x3f));
30425 *--cpos = (char) (0xf0 | (value & 0x07));
30427 cpos -= padding_length;
30428 memset(cpos, padding_char, (
size_t) padding_length);
30429 return PyUnicode_DecodeUTF8(cpos, chars +
sizeof(chars) - cpos, NULL);
30431 if (value <= 127 && CYTHON_USE_UNICODE_INTERNALS) {
30432 const char chars[1] = {(char) value};
30433 return __Pyx_PyUnicode_BuildFromAscii(ulength, chars, 1, 0, padding_char);
30436 PyObject *uchar, *padding_uchar, *padding, *result;
30437 padding_uchar = PyUnicode_FromOrdinal(padding_char);
30438 if (unlikely(!padding_uchar))
return NULL;
30439 padding = PySequence_Repeat(padding_uchar, padding_length);
30440 Py_DECREF(padding_uchar);
30441 if (unlikely(!padding))
return NULL;
30442 uchar = PyUnicode_FromOrdinal(value);
30443 if (unlikely(!uchar)) {
30444 Py_DECREF(padding);
30447 result = PyUnicode_Concat(padding, uchar);
30448 Py_DECREF(padding);
30455static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_int(
int value, Py_ssize_t width,
char padding_char) {
30456#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
30457#pragma GCC diagnostic push
30458#pragma GCC diagnostic ignored "-Wconversion"
30460 const int neg_one = (int) -1, const_zero = (
int) 0;
30461#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
30462#pragma GCC diagnostic pop
30464 const int is_unsigned = neg_one > const_zero;
30465 if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
30466 !(
sizeof(value) <= 2 || value & ~ (
int) 0x01fffff || __Pyx_CheckUnicodeValue((
int) value)))) {
30467 PyErr_SetString(PyExc_OverflowError,
"%c arg not in range(0x110000)");
30471 return PyUnicode_FromOrdinal((
int) value);
30473 return __Pyx_PyUnicode_FromOrdinal_Padded((
int) value, width, padding_char);
30475static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_int(
int value, Py_ssize_t width,
char padding_char,
char format_char) {
30476 char digits[
sizeof(int)*3+2];
30477 char *dpos, *end = digits +
sizeof(int)*3+2;
30478 const char *hex_digits = DIGITS_HEX;
30479 Py_ssize_t length, ulength;
30480 int prepend_sign, last_one_off;
30482#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
30483#pragma GCC diagnostic push
30484#pragma GCC diagnostic ignored "-Wconversion"
30486 const int neg_one = (int) -1, const_zero = (
int) 0;
30487#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
30488#pragma GCC diagnostic pop
30490 const int is_unsigned = neg_one > const_zero;
30491 if (format_char ==
'X') {
30500 switch (format_char) {
30502 digit_pos = abs((
int)(remaining % (8*8)));
30503 remaining = (int) (remaining / (8*8));
30505 memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
30506 last_one_off = (digit_pos < 8);
30509 digit_pos = abs((
int)(remaining % (10*10)));
30510 remaining = (int) (remaining / (10*10));
30512 memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
30513 last_one_off = (digit_pos < 10);
30516 *(--dpos) = hex_digits[abs((
int)(remaining % 16))];
30517 remaining = (int) (remaining / 16);
30523 }
while (unlikely(remaining != 0));
30524 assert(!last_one_off || *dpos ==
'0');
30525 dpos += last_one_off;
30526 length = end - dpos;
30529 if (!is_unsigned && value <= neg_one) {
30530 if (padding_char ==
' ' || width <= length + 1) {
30538 if (width > ulength) {
30541 if (ulength == 1) {
30542 return PyUnicode_FromOrdinal(*dpos);
30544 return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (
int) length, prepend_sign, padding_char);
30548static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width,
char padding_char) {
30549#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
30550#pragma GCC diagnostic push
30551#pragma GCC diagnostic ignored "-Wconversion"
30553 const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0;
30554#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
30555#pragma GCC diagnostic pop
30557 const int is_unsigned = neg_one > const_zero;
30558 if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
30559 !(
sizeof(value) <= 2 || value & ~ (Py_ssize_t) 0x01fffff || __Pyx_CheckUnicodeValue((
int) value)))) {
30560 PyErr_SetString(PyExc_OverflowError,
"%c arg not in range(0x110000)");
30564 return PyUnicode_FromOrdinal((
int) value);
30566 return __Pyx_PyUnicode_FromOrdinal_Padded((
int) value, width, padding_char);
30568static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_Py_ssize_t(Py_ssize_t value, Py_ssize_t width,
char padding_char,
char format_char) {
30569 char digits[
sizeof(Py_ssize_t)*3+2];
30570 char *dpos, *end = digits +
sizeof(Py_ssize_t)*3+2;
30571 const char *hex_digits = DIGITS_HEX;
30572 Py_ssize_t length, ulength;
30573 int prepend_sign, last_one_off;
30574 Py_ssize_t remaining;
30575#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
30576#pragma GCC diagnostic push
30577#pragma GCC diagnostic ignored "-Wconversion"
30579 const Py_ssize_t neg_one = (Py_ssize_t) -1, const_zero = (Py_ssize_t) 0;
30580#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
30581#pragma GCC diagnostic pop
30583 const int is_unsigned = neg_one > const_zero;
30584 if (format_char ==
'X') {
30593 switch (format_char) {
30595 digit_pos = abs((
int)(remaining % (8*8)));
30596 remaining = (Py_ssize_t) (remaining / (8*8));
30598 memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
30599 last_one_off = (digit_pos < 8);
30602 digit_pos = abs((
int)(remaining % (10*10)));
30603 remaining = (Py_ssize_t) (remaining / (10*10));
30605 memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
30606 last_one_off = (digit_pos < 10);
30609 *(--dpos) = hex_digits[abs((
int)(remaining % 16))];
30610 remaining = (Py_ssize_t) (remaining / 16);
30616 }
while (unlikely(remaining != 0));
30617 assert(!last_one_off || *dpos ==
'0');
30618 dpos += last_one_off;
30619 length = end - dpos;
30622 if (!is_unsigned && value <= neg_one) {
30623 if (padding_char ==
' ' || width <= length + 1) {
30631 if (width > ulength) {
30634 if (ulength == 1) {
30635 return PyUnicode_FromOrdinal(*dpos);
30637 return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (
int) length, prepend_sign, padding_char);
30641static PyObject* __Pyx_PyUnicode_Join(PyObject** values, Py_ssize_t value_count, Py_ssize_t result_ulength,
int kind) {
30642#if __Pyx_PyUnicode_Join_CAN_USE_KIND_AND_LENGTH && CYTHON_USE_UNICODE_INTERNALS
30643 PyObject *result_uval;
30644 int result_ukind, kind_shift;
30645 Py_ssize_t i, char_pos;
30646 void *result_udata;
30647 static const Py_UCS4 max_char[5] = {0x7fU, 0xffU, 0xffffU, 0xffffU, 0x10ffffU};
30648 assert (kind >= 0);
30649 if (kind > PyUnicode_4BYTE_KIND) kind = PyUnicode_4BYTE_KIND;
30650 result_uval = PyUnicode_New(result_ulength, max_char[kind]);
30651 if (unlikely(!result_uval))
return NULL;
30652 kind_shift = kind >> 1;
30653 result_ukind = 1 << kind_shift;
30654 result_udata = PyUnicode_DATA(result_uval);
30655 assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0);
30656 if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - result_ulength < 0))
30659 for (i=0; i < value_count; i++) {
30661 Py_ssize_t ulength;
30663 PyObject *uval = values[i];
30664 if (__Pyx_PyUnicode_READY(uval) == (-1))
30666 ulength = __Pyx_PyUnicode_GET_LENGTH(uval);
30667 #if !CYTHON_ASSUME_SAFE_SIZE
30668 if (unlikely(ulength < 0))
goto bad;
30670 if (unlikely(!ulength))
30672 if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos))
30674 ukind = __Pyx_PyUnicode_KIND(uval);
30675 udata = __Pyx_PyUnicode_DATA(uval);
30676 if (ukind == result_ukind) {
30677 memcpy((
char *)result_udata + (char_pos << kind_shift), udata, (
size_t) (ulength << kind_shift));
30679 #if PY_VERSION_HEX >= 0x030d0000
30680 if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0))
goto bad;
30681 #elif CYTHON_COMPILING_IN_CPYTHON || defined(_PyUnicode_FastCopyCharacters)
30682 _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
30685 for (j=0; j < ulength; j++) {
30686 Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j);
30687 __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar);
30691 char_pos += ulength;
30693 return result_uval;
30695 PyErr_SetString(PyExc_OverflowError,
"join() result is too long for a Python string");
30697 Py_DECREF(result_uval);
30701 PyObject *result = NULL;
30702 PyObject *value_tuple = PyTuple_New(value_count);
30703 if (unlikely(!value_tuple))
return NULL;
30704 CYTHON_UNUSED_VAR(kind);
30705 CYTHON_UNUSED_VAR(result_ulength);
30706 for (i=0; i<value_count; i++) {
30707 Py_INCREF(values[i]);
30708 if (__Pyx_PyTuple_SET_ITEM(value_tuple, i, values[i]) != (0))
goto bad;
30710 result = PyUnicode_Join(__pyx_mstate_global->__pyx_empty_unicode, value_tuple);
30712 Py_DECREF(value_tuple);
30718#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_GRAAL)
30719static CYTHON_INLINE
int __Pyx__PyUnicode_EqualsUCS4(PyObject* s1, Py_UCS4 ch2,
int equals) {
30723 if (unlikely(__Pyx_PyUnicode_READY(s1) < 0))
goto bad;
30724 length = __Pyx_PyUnicode_GET_LENGTH(s1);
30725 #if !CYTHON_ASSUME_SAFE_SIZE
30726 if (unlikely(length < 0))
goto bad;
30728 if (length != 1)
goto return_ne;
30729 kind = PyUnicode_KIND(s1);
30731 if (likely(kind == PyUnicode_1BYTE_KIND)) {
30732 ch1 = PyUnicode_1BYTE_DATA(s1)[0];
30733 }
else if (kind == PyUnicode_2BYTE_KIND) {
30734 ch1 = PyUnicode_2BYTE_DATA(s1)[0];
30736 ch1 = PyUnicode_4BYTE_DATA(s1)[0];
30738 }
else if (ch2 < 65536) {
30739 if (kind == PyUnicode_2BYTE_KIND) {
30740 ch1 = PyUnicode_2BYTE_DATA(s1)[0];
30741 }
else if (kind == PyUnicode_4BYTE_KIND) {
30742 ch1 = PyUnicode_4BYTE_DATA(s1)[0];
30747 if (kind == PyUnicode_4BYTE_KIND){
30748 ch1 = PyUnicode_4BYTE_DATA(s1)[0];
30759 return (equals == Py_EQ);
30761 return (equals == Py_NE);
30768#ifndef __Pyx_DEFINED_PyObject_CompareStrStrBoolEq
30769#define __Pyx_DEFINED_PyObject_CompareStrStrBoolEq
30770static CYTHON_INLINE
int __Pyx_PyObject_CompareStrStrBoolEq(PyObject* s1, PyObject* s2) {
30771 #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000
30772 int result = PyUnicode_Equal(s1, s2);
30773 #if !CYTHON_COMPILING_IN_CPYTHON
30774 if (unlikely(result == -1))
return -1;
30776 if (result == 0)
goto __pyx_return_false;
else goto __pyx_return_true;
30778 int result = PyUnicode_Compare(s1, s2);
30779 if (unlikely((result == -1) && PyErr_Occurred()))
return -1;
30780 if (result == 0)
goto __pyx_return_true;
else goto __pyx_return_false;
30788static CYTHON_INLINE
int __Pyx_PyObject_CompareBoolEq_object_str(PyObject *op1, PyObject *op2,
int pyop) {
30789 CYTHON_UNUSED_VAR(pyop);
30790 if (unlikely(op2 == Py_None)) {
30791 if (op1 == Py_None)
goto __pyx_return_true;
else goto __pyx_richcmp;
30793 if (PyFloat_CheckExact(op1)) {
30794 goto __pyx_richcmp;
30796 if (PyLong_CheckExact(op1)) {
30797 if (op1 == op2)
goto __pyx_return_true;
30798 goto __pyx_richcmp;
30801 if (likely(PyUnicode_CheckExact(op1))) {
30802 if (op1 == op2)
goto __pyx_return_true;
30803 if (likely(op2 != Py_None)) {
30804 return __Pyx_PyObject_CompareStrStrBoolEq(op1, op2);
30806 goto __pyx_richcmp;
30809 if ((0))
goto __pyx_richcmp;
30810 if ((0))
goto __pyx_return_true;
30811 if ((0))
goto __pyx_return_false;
30813 return __Pyx_PyObject_RichCompareBool(op1, op2, Py_EQ);
30821#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL)
30822#ifndef __Pyx_DEFINED_PyObject_ComparePyBytesPyBytesEq
30823#define __Pyx_DEFINED_PyObject_ComparePyBytesPyBytesEq
30824static CYTHON_INLINE PyObject* __Pyx_PyObject_ComparePyBytesPyBytesEq(PyObject* s1, PyObject* s2) {
30825 #if CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS
30826 const char *ps1, *ps2;
30827 Py_ssize_t length = PyBytes_GET_SIZE(s1);
30828 if (length != PyBytes_GET_SIZE(s2))
goto __pyx_return_false;
30829 ps1 = PyBytes_AS_STRING(s1);
30830 ps2 = PyBytes_AS_STRING(s2);
30833 Py_ssize_t length, length2;
30834 if (unlikely(PyBytes_AsStringAndSize(s1, &ps1, &length) == -1))
return NULL;
30835 if (unlikely(PyBytes_AsStringAndSize(s2, &ps2, &length2) == -1))
return NULL;
30836 if (length != length2)
goto __pyx_return_false;
30838 if (ps1[0] != ps2[0])
goto __pyx_return_false;
30839 if (length == 1)
goto __pyx_return_true;
30842#if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
30843 Py_hash_t hash1 = ((PyBytesObject*)s1)->ob_shash;
30844 Py_hash_t hash2 = ((PyBytesObject*)s2)->ob_shash;
30845 if (hash1 != hash2 && hash1 != -1 && hash2 != -1)
goto __pyx_return_false;
30847 cmp = memcmp(ps1, ps2, (
size_t)length);
30848 if (cmp == 0)
goto __pyx_return_true;
else goto __pyx_return_false;
30857#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL)
30858#ifndef __Pyx_DEFINED_PyObject_ComparePyByteArrayPyBytesEq
30859#define __Pyx_DEFINED_PyObject_ComparePyByteArrayPyBytesEq
30860static CYTHON_INLINE PyObject* __Pyx_PyObject_ComparePyByteArrayPyBytesEq(PyObject* s1, PyObject* s2) {
30861 #if CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS
30862 const char *ps1, *ps2;
30863 Py_ssize_t length = PyByteArray_GET_SIZE(s1);
30864 if (length != PyBytes_GET_SIZE(s2))
goto __pyx_return_false;
30865 ps1 = PyByteArray_AS_STRING(s1);
30866 ps2 = PyBytes_AS_STRING(s2);
30869 Py_ssize_t length, length2;
30870 ps1 = __Pyx_PyByteArray_AsString(s1);
if (unlikely(!ps1))
return NULL;
30871 length = __Pyx_PyByteArray_GET_SIZE(s1);
if (unlikely(length == -1))
return NULL;
30872 if (unlikely(PyBytes_AsStringAndSize(s2, &ps2, &length2) == -1))
return NULL;
30873 if (length != length2)
goto __pyx_return_false;
30875 if (length == 0)
goto __pyx_return_true;
30876 if (ps1[0] != ps2[0])
goto __pyx_return_false;
30877 if (length == 1)
goto __pyx_return_true;
30880 cmp = memcmp(ps1, ps2, (
size_t)length);
30881 if (cmp == 0)
goto __pyx_return_true;
else goto __pyx_return_false;
30890static CYTHON_INLINE PyObject* __Pyx_PyObject_CompareEq_object_bytes(PyObject *op1, PyObject *op2,
int pyop) {
30891 CYTHON_UNUSED_VAR(pyop);
30892 if (unlikely(op2 == Py_None)) {
30893 if (op1 == Py_None)
goto __pyx_return_true;
else goto __pyx_richcmp;
30895 if (PyFloat_CheckExact(op1)) {
30896 goto __pyx_richcmp;
30898 if (PyLong_CheckExact(op1)) {
30899 if (op1 == op2)
goto __pyx_return_true;
30900 goto __pyx_richcmp;
30902 #if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL)
30903 if (likely(PyBytes_CheckExact(op1))) {
30904 if (op1 == op2)
goto __pyx_return_true;
30905 if (likely(op2 != Py_None)) {
30906 return __Pyx_PyObject_ComparePyBytesPyBytesEq(op1, op2);
30908 goto __pyx_richcmp;
30911 if ((0))
goto __pyx_richcmp;
30912 if ((0))
goto __pyx_return_true;
30913 if ((0))
goto __pyx_return_false;
30915 return PyObject_RichCompare(op1, op2, Py_EQ);
30923static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *
n) {
30924#if CYTHON_USE_TYPE_SLOTS
30925 if (likely(PyUnicode_Check(
n)))
30926 return __Pyx_PyObject_GetAttrStr(o,
n);
30928 return PyObject_GetAttr(o,
n);
30932#if CYTHON_COMPILING_IN_LIMITED_API
30933static CYTHON_INLINE PyObject* __Pyx__PyFrozenDict_New(PyObject* frozendict_type, PyObject* it) {
30934 return PyObject_CallFunctionObjArgs(frozendict_type, it, NULL);
30939#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
30940static int __Pyx_GetItemInt_wraparound(PyObject *o, PySequenceMethods *sm, Py_ssize_t *i) {
30942 if (likely(sm->sq_length)) {
30943 Py_ssize_t l = sm->sq_length(o);
30944 if (likely(l >= 0)) {
30947 if (!PyErr_ExceptionMatches(PyExc_OverflowError))
30957static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
30959 if (unlikely(!j))
return NULL;
30960 r = PyObject_GetItem(o, j);
30964static PyObject *__Pyx_GetItemInt_Generic_size(PyObject *o, Py_ssize_t i) {
30965 return __Pyx_GetItemInt_Generic(o, PyLong_FromSsize_t(i));
30967static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
30968 int wraparound,
int boundscheck,
int unsafe_shared) {
30969 CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
30970#if CYTHON_AVOID_BORROWED_REFS
30971 CYTHON_UNUSED_VAR(boundscheck);
30972 Py_ssize_t wrapped_i = i;
30973 if (wraparound & unlikely(i < 0)) {
30974 Py_ssize_t size = __Pyx_PyList_GET_SIZE(o);
30975 #if !CYTHON_ASSUME_SAFE_SIZE
30976 if (unlikely(size < 0))
return NULL;
30980 return __Pyx_PyList_GetItemRef(o, wrapped_i);
30981#elif CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS
30982 Py_ssize_t wrapped_i = i;
30983 Py_ssize_t size = (wraparound | boundscheck) ? PyList_GET_SIZE(o) : -1;
30984 if (wraparound & unlikely(i < 0)) {
30987 if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, size))) {
30988 return __Pyx_PyList_GET_ITEM_REF(o, wrapped_i, unsafe_shared);
30990 return __Pyx_GetItemInt_Generic_size(o, i);
30994 return PySequence_GetItem(o, i);
30997static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
30998 int wraparound,
int boundscheck,
int unsafe_shared) {
30999 CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
31000#if CYTHON_AVOID_BORROWED_REFS
31001 CYTHON_UNUSED_VAR(boundscheck);
31002 Py_ssize_t wrapped_i = i;
31003 if (wraparound & unlikely(i < 0)) {
31004 Py_ssize_t size = __Pyx_PyTuple_GET_SIZE(o);
31005 #if !CYTHON_ASSUME_SAFE_SIZE
31006 if (unlikely(size < 0))
return NULL;
31010 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_COMPILING_IN_LIMITED_API
31011 return PySequence_ITEM(o, wrapped_i);
31013 if (unlikely(wrapped_i < 0)) {
31014 PyErr_SetString(PyExc_IndexError,
"tuple index out of range");
31017 return PySequence_GetItem(o, wrapped_i);
31019#elif CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS
31020 Py_ssize_t wrapped_i = i;
31021 Py_ssize_t size = (wraparound | boundscheck) ? PyTuple_GET_SIZE(o) : -1;
31022 if (wraparound & unlikely(i < 0)) {
31025 if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, size))) {
31026 return __Pyx_NewRef(__Pyx_PyTuple_GET_ITEM(o, wrapped_i));
31028 return __Pyx_GetItemInt_Generic_size(o, i);
31032 return PySequence_GetItem(o, i);
31035#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
31036static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast_mapping(PyObject *o, binaryfunc getitem, Py_ssize_t i) {
31037 PyObject *
r, *key = PyLong_FromSsize_t(i);
31038 if (unlikely(!key))
return NULL;
31039 r = getitem(o, key);
31044static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
31045 int wraparound,
int boundscheck,
int unsafe_shared) {
31046 CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
31047#if CYTHON_ASSUME_SAFE_SIZE
31048 if (PyList_CheckExact(o)) {
31049 return __Pyx_GetItemInt_List_Fast(o, i, wraparound, boundscheck, unsafe_shared);
31051 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
31052 if (PyTuple_CheckExact(o)) {
31053 return __Pyx_GetItemInt_Tuple_Fast(o, i, wraparound, boundscheck, unsafe_shared);
31057 if ((!wraparound || i >= 0) & PyList_CheckExact(o)) {
31058 return boundscheck ? __Pyx_PyList_GetItemRef(o, i) : __Pyx_PyList_GET_ITEM_REF(o, i, unsafe_shared);
31061#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
31062 if (PyDict_CheckExact(o)) {
31063 return __Pyx_GetItemInt_Fast_mapping(o, PyDict_Type.tp_as_mapping->mp_subscript, i);
31064 #if defined(PyFrozenDict_CheckExact)
31065 }
else if (PyFrozenDict_CheckExact(o)) {
31066 return __Pyx_GetItemInt_Fast_mapping(o, PyFrozenDict_Type.tp_as_mapping->mp_subscript, i);
31070 PyTypeObject *obj_type = Py_TYPE(o);
31071 int seq_or_mapping = __Pyx_PyType_GetFlags(obj_type) & (Py_TPFLAGS_SEQUENCE|Py_TPFLAGS_MAPPING);
31072 if (seq_or_mapping != Py_TPFLAGS_SEQUENCE) {
31073 PyMappingMethods *mm = obj_type->tp_as_mapping;
31074 if (mm && mm->mp_subscript)
31075 return __Pyx_GetItemInt_Fast_mapping(o, mm->mp_subscript, i);
31077 PySequenceMethods *sm = obj_type->tp_as_sequence;
31078 if (likely(sm && sm->sq_item)) {
31079 if (wraparound && (i < 0) && unlikely(__Pyx_GetItemInt_wraparound(o, sm, &i) == -1))
31081 return sm->sq_item(o, i);
31083 if (seq_or_mapping == Py_TPFLAGS_SEQUENCE) {
31084 PyMappingMethods *mm = obj_type->tp_as_mapping;
31085 if (likely(mm && mm->mp_subscript))
31086 return __Pyx_GetItemInt_Fast_mapping(o, mm->mp_subscript, i);
31090 if (!PyMapping_Check(o)) {
31091 return PySequence_GetItem(o, i);
31096 return __Pyx_GetItemInt_Generic_size(o, i);
31100static void __Pyx_RaiseErrorWithType(PyObject* exc_type,
const char* message, PyTypeObject *type_obj) {
31101 __Pyx_TypeName type_name = __Pyx_PyType_GetFullyQualifiedName(type_obj);
31102 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
31103 if (unlikely(!type_name))
return;
31105 PyErr_Format(exc_type, message, type_name);
31106 __Pyx_DECREF_TypeName(type_name);
31110#if CYTHON_USE_TYPE_SLOTS
31111static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) {
31112 PyObject *runerr = NULL;
31113 Py_ssize_t key_value;
31114 key_value = __Pyx_PyIndex_AsSsize_t(index);
31115 if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
31116 return __Pyx_GetItemInt_Fast(obj, key_value, 1, 1, 1);
31118 if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
31120 __Pyx_RaiseErrorWithObjectType(
31122 "cannot fit '" __Pyx_FMT_TYPENAME
"' into an index-sized integer",
31127static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
31128 if (likely(PyType_Check(obj))) {
31129 if ((PyTypeObject*)obj == &PyType_Type) {
31130 return Py_GenericAlias(obj, key);
31132 PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_mstate_global->__pyx_n_u_class_getitem);
31134 if (PyErr_Occurred()) {
31138 PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
31143 __Pyx_RaiseTypeErrorWithObjectType(
31144 "'" __Pyx_FMT_TYPENAME
"' object is not subscriptable", obj);
31147static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) {
31148 PyTypeObject *tp = Py_TYPE(obj);
31149 PyMappingMethods *mm = tp->tp_as_mapping;
31150 PySequenceMethods *sm = tp->tp_as_sequence;
31151 if (likely(mm && mm->mp_subscript)) {
31152 return mm->mp_subscript(obj, key);
31154 if (likely(sm && sm->sq_item)) {
31155 return __Pyx_PyObject_GetIndex(obj, key);
31157 return __Pyx_PyObject_GetItem_Slow(obj, key);
31162static void __Pyx_RejectKeywords(
const char* function_name, PyObject *kwds) {
31163 PyObject *key = NULL;
31164 if (CYTHON_VECTORCALL && likely(PyTuple_Check(kwds))) {
31165 key = __Pyx_PySequence_ITEM(kwds, 0);
31167#if CYTHON_AVOID_BORROWED_REFS
31168 PyObject *pos = NULL;
31170 Py_ssize_t pos = 0;
31172#if !CYTHON_COMPILING_IN_PYPY || defined(PyArg_ValidateKeywordArguments)
31173 if (unlikely(!PyArg_ValidateKeywordArguments(kwds)))
return;
31175 __Pyx_PyDict_NextRef(kwds, &pos, &key, NULL);
31176#if CYTHON_AVOID_BORROWED_REFS
31181 PyErr_Format(PyExc_TypeError,
31182 "%s() got an unexpected keyword argument '%U'",
31183 function_name, key);
31189static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b,
int b_is_constant) {
31190 Py_ssize_t
q = a / b;
31191 Py_ssize_t
r = a -
q*b;
31192 Py_ssize_t adapt_python = (b_is_constant ?
31193 ((
r != 0) & ((
r < 0) ^ (b < 0))) :
31194 ((
r != 0) & ((
r ^ b) < 0))
31196 return q - adapt_python;
31200#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
31201static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
31202 __Pyx_PyThreadState_declare
31203 __Pyx_PyThreadState_assign
31204 if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
31206 __Pyx_PyErr_Clear();
31211static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *
n, PyObject *d) {
31213#if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
31214 int res = PyObject_GetOptionalAttr(o,
n, &
r);
31215 return (res != 0) ?
r : __Pyx_NewRef(d);
31217 #if CYTHON_USE_TYPE_SLOTS
31218 if (likely(PyUnicode_Check(
n))) {
31219 r = __Pyx_PyObject_GetAttrStrNoError(o,
n);
31220 if (unlikely(!
r) && likely(!PyErr_Occurred())) {
31221 r = __Pyx_NewRef(d);
31226 r = PyObject_GetAttr(o,
n);
31227 return (likely(
r)) ?
r : __Pyx_GetAttr3Default(d);
31232#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
31233static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
31234 PyObject *dict = Py_TYPE(obj)->tp_dict;
31235 return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
31237static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
31238 PyObject **dictptr = NULL;
31239 Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
31241#if CYTHON_COMPILING_IN_CPYTHON
31242 dictptr = (likely(offset > 0)) ? (PyObject **) ((
char *)obj + offset) : _PyObject_GetDictPtr(obj);
31244 dictptr = _PyObject_GetDictPtr(obj);
31247 return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
31249static CYTHON_INLINE
int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
31250 PyObject *dict = Py_TYPE(obj)->tp_dict;
31251 if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
31253 return obj_dict_version == __Pyx_get_object_dict_version(obj);
31258#if CYTHON_USE_DICT_VERSIONS
31259static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
31261static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
31265#if CYTHON_COMPILING_IN_LIMITED_API
31266 if (unlikely(!__pyx_m)) {
31267 if (!PyErr_Occurred())
31268 PyErr_SetNone(PyExc_NameError);
31271 result = PyObject_GetAttr(__pyx_m, name);
31272 if (likely(result)) {
31275 if (!__Pyx_IgnoreException(PyExc_Exception)) {
31278#elif CYTHON_AVOID_BORROWED_REFS || CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS
31279 if (unlikely(__Pyx_PyDict_GetItemRef(__pyx_mstate_global->__pyx_d, name, &result) == -1)) {
31280 if (!__Pyx_IgnoreException(PyExc_Exception)) {
31284 __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version)
31285 if (likely(result)) {
31289 result = _PyDict_GetItem_KnownHash(__pyx_mstate_global->__pyx_d, name, ((PyASCIIObject *) name)->hash);
31290 __PYX_UPDATE_DICT_CACHE(__pyx_mstate_global->__pyx_d, result, *dict_cached_value, *dict_version)
31291 if (likely(result)) {
31292 return __Pyx_NewRef(result);
31294 PyObject *exc = PyErr_Occurred();
31295 if (unlikely(exc) && !__Pyx_IgnoreGivenException(exc, PyExc_Exception)) {
31299 return __Pyx_GetBuiltinName(name);
31303static CYTHON_INLINE
void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
31304 PyErr_Format(PyExc_ValueError,
31305 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T
"d)", expected);
31309static CYTHON_INLINE
void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
31310 PyErr_Format(PyExc_ValueError,
31311 "need more than %" CYTHON_FORMAT_SSIZE_T
"d value%.1s to unpack",
31312 index, (index == 1) ?
"" :
"s");
31316static CYTHON_INLINE
void __Pyx_RaiseNoneNotIterableError(
void) {
31317 PyErr_SetString(PyExc_TypeError,
"'NoneType' object is not iterable");
31321#if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
31322static _PyErr_StackItem *
31323__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
31325 _PyErr_StackItem *exc_info = tstate->exc_info;
31326 while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
31327 exc_info->previous_item != NULL)
31329 exc_info = exc_info->previous_item;
31336#if CYTHON_FAST_THREAD_STATE
31337static CYTHON_INLINE
void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
31338 #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
31339 _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
31340 PyObject *exc_value = exc_info->exc_value;
31341 if (exc_value == NULL || exc_value == Py_None) {
31346 *value = exc_value;
31348 *type = (PyObject*) Py_TYPE(exc_value);
31350 *tb = PyException_GetTraceback(exc_value);
31352 #elif CYTHON_USE_EXC_INFO_STACK
31353 _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
31354 *type = exc_info->exc_type;
31355 *value = exc_info->exc_value;
31356 *tb = exc_info->exc_traceback;
31358 Py_XINCREF(*value);
31361 *type = tstate->exc_type;
31362 *value = tstate->exc_value;
31363 *tb = tstate->exc_traceback;
31365 Py_XINCREF(*value);
31369static CYTHON_INLINE
void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
31370 #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
31371 _PyErr_StackItem *exc_info = tstate->exc_info;
31372 PyObject *tmp_value = exc_info->exc_value;
31373 exc_info->exc_value = value;
31374 Py_XDECREF(tmp_value);
31378 PyObject *tmp_type, *tmp_value, *tmp_tb;
31379 #if CYTHON_USE_EXC_INFO_STACK
31380 _PyErr_StackItem *exc_info = tstate->exc_info;
31381 tmp_type = exc_info->exc_type;
31382 tmp_value = exc_info->exc_value;
31383 tmp_tb = exc_info->exc_traceback;
31384 exc_info->exc_type = type;
31385 exc_info->exc_value = value;
31386 exc_info->exc_traceback = tb;
31388 tmp_type = tstate->exc_type;
31389 tmp_value = tstate->exc_value;
31390 tmp_tb = tstate->exc_traceback;
31391 tstate->exc_type = type;
31392 tstate->exc_value = value;
31393 tstate->exc_traceback = tb;
31395 Py_XDECREF(tmp_type);
31396 Py_XDECREF(tmp_value);
31397 Py_XDECREF(tmp_tb);
31403static void __Pyx_RaiseErrorWithTypes1(PyObject* exc_type,
const char *message,
const char *arg, PyTypeObject *type_obj1, PyTypeObject *type_obj2) {
31404 __Pyx_TypeName type_name1 = __Pyx_PyType_GetFullyQualifiedName(type_obj1);
31405 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
31406 if (unlikely(!type_name1))
return;
31408 __Pyx_TypeName type_name2 = __Pyx_PyType_GetFullyQualifiedName(type_obj2);
31409 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
31410 if (unlikely(!type_name2))
goto type2_failed;
31412 PyErr_Format(exc_type, message, arg, type_name1, type_name2);
31413 __Pyx_DECREF_TypeName(type_name2);
31414#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
31417 __Pyx_DECREF_TypeName(type_name1);
31421static CYTHON_INLINE
int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
31422 if (unlikely(!type)) {
31423 PyErr_SetString(PyExc_SystemError,
"Missing type object");
31426 if (likely(__Pyx_TypeCheck(obj, type)))
31428 __Pyx_RaiseTypeErrorWithTypes(
31429 "Cannot convert " __Pyx_FMT_TYPENAME
" to " __Pyx_FMT_TYPENAME,
31430 Py_TYPE(obj), type);
31435#if CYTHON_FAST_THREAD_STATE
31436static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
31438static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
31441 PyObject *local_type = NULL, *local_value, *local_tb = NULL;
31442#if CYTHON_FAST_THREAD_STATE
31443 PyObject *tmp_type, *tmp_value, *tmp_tb;
31444 #if PY_VERSION_HEX >= 0x030C0000
31445 local_value = tstate->current_exception;
31446 tstate->current_exception = 0;
31448 local_type = tstate->curexc_type;
31449 local_value = tstate->curexc_value;
31450 local_tb = tstate->curexc_traceback;
31451 tstate->curexc_type = 0;
31452 tstate->curexc_value = 0;
31453 tstate->curexc_traceback = 0;
31455#elif __PYX_LIMITED_VERSION_HEX >= 0x030C0000
31456 local_value = PyErr_GetRaisedException();
31458 PyErr_Fetch(&local_type, &local_value, &local_tb);
31460#if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
31461 if (likely(local_value)) {
31462 local_type = (PyObject*) Py_TYPE(local_value);
31463 Py_INCREF(local_type);
31464 local_tb = PyException_GetTraceback(local_value);
31467 PyErr_NormalizeException(&local_type, &local_value, &local_tb);
31468#if CYTHON_FAST_THREAD_STATE
31469 if (unlikely(tstate->curexc_type))
31471 if (unlikely(PyErr_Occurred()))
31475 if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
31479 Py_XINCREF(local_tb);
31480 Py_XINCREF(local_type);
31481 Py_XINCREF(local_value);
31482 *type = local_type;
31483 *value = local_value;
31485#if CYTHON_FAST_THREAD_STATE
31486 #if CYTHON_USE_EXC_INFO_STACK
31488 _PyErr_StackItem *exc_info = tstate->exc_info;
31489 #if PY_VERSION_HEX >= 0x030B00a4
31490 tmp_value = exc_info->exc_value;
31491 exc_info->exc_value = local_value;
31494 Py_XDECREF(local_type);
31495 Py_XDECREF(local_tb);
31497 tmp_type = exc_info->exc_type;
31498 tmp_value = exc_info->exc_value;
31499 tmp_tb = exc_info->exc_traceback;
31500 exc_info->exc_type = local_type;
31501 exc_info->exc_value = local_value;
31502 exc_info->exc_traceback = local_tb;
31506 tmp_type = tstate->exc_type;
31507 tmp_value = tstate->exc_value;
31508 tmp_tb = tstate->exc_traceback;
31509 tstate->exc_type = local_type;
31510 tstate->exc_value = local_value;
31511 tstate->exc_traceback = local_tb;
31513 Py_XDECREF(tmp_type);
31514 Py_XDECREF(tmp_value);
31515 Py_XDECREF(tmp_tb);
31516#elif __PYX_LIMITED_VERSION_HEX >= 0x030b0000
31517 PyErr_SetHandledException(local_value);
31518 Py_XDECREF(local_value);
31519 Py_XDECREF(local_type);
31520 Py_XDECREF(local_tb);
31522 PyErr_SetExcInfo(local_type, local_value, local_tb);
31525#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
31530 Py_XDECREF(local_type);
31531 Py_XDECREF(local_value);
31532 Py_XDECREF(local_tb);
31538#if CYTHON_FAST_THREAD_STATE
31539static CYTHON_INLINE
void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
31540 PyObject *tmp_type, *tmp_value, *tmp_tb;
31541 #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
31542 _PyErr_StackItem *exc_info = tstate->exc_info;
31543 tmp_value = exc_info->exc_value;
31544 exc_info->exc_value = *value;
31545 if (tmp_value == NULL || tmp_value == Py_None) {
31546 Py_XDECREF(tmp_value);
31551 tmp_type = (PyObject*) Py_TYPE(tmp_value);
31552 Py_INCREF(tmp_type);
31553 #if CYTHON_COMPILING_IN_CPYTHON
31554 tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback;
31555 Py_XINCREF(tmp_tb);
31557 tmp_tb = PyException_GetTraceback(tmp_value);
31560 #elif CYTHON_USE_EXC_INFO_STACK
31561 _PyErr_StackItem *exc_info = tstate->exc_info;
31562 tmp_type = exc_info->exc_type;
31563 tmp_value = exc_info->exc_value;
31564 tmp_tb = exc_info->exc_traceback;
31565 exc_info->exc_type = *type;
31566 exc_info->exc_value = *value;
31567 exc_info->exc_traceback = *tb;
31569 tmp_type = tstate->exc_type;
31570 tmp_value = tstate->exc_value;
31571 tmp_tb = tstate->exc_traceback;
31572 tstate->exc_type = *type;
31573 tstate->exc_value = *value;
31574 tstate->exc_traceback = *tb;
31577 *value = tmp_value;
31581static CYTHON_INLINE
void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
31582 PyObject *tmp_type, *tmp_value, *tmp_tb;
31583 PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
31584 PyErr_SetExcInfo(*type, *value, *tb);
31586 *value = tmp_value;
31592#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
31593static CYTHON_INLINE
int __Pyx_HasAttr(PyObject *o, PyObject *
n) {
31595 if (unlikely(!PyUnicode_Check(
n))) {
31596 PyErr_SetString(PyExc_TypeError,
31597 "hasattr(): attribute name must be string");
31600 r = __Pyx_PyObject_GetAttrStrNoError(o,
n);
31602 return (unlikely(PyErr_Occurred())) ? -1 : 0;
31611CYTHON_UNUSED
static PyObject *
31612__Pyx_PyList_FromArray(PyObject *
const *src, Py_ssize_t
n) {
31613 PyObject *res = PyList_New(
n);
31614 if (unlikely(res == NULL))
return NULL;
31615 #if CYTHON_COMPILING_IN_CPYTHON
31616 __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item,
n);
31619 for (i = 0; i <
n; i++) {
31621 if (unlikely(__Pyx_PyList_SET_ITEM(res, i, src[i]) < (0))) {
31631static int __Pyx__Import_GetModule(PyObject *qualname, PyObject **module) {
31632 PyObject *imported_module = PyImport_GetModule(qualname);
31633 if (unlikely(!imported_module)) {
31635 if (PyErr_Occurred()) {
31640 *
module = imported_module;
31643static int __Pyx__Import_Lookup(PyObject *qualname, PyObject *
const *imported_names, Py_ssize_t len_imported_names, PyObject **module) {
31644 PyObject *imported_module;
31645 PyObject *top_level_package_name;
31647 int status, module_found;
31648 Py_ssize_t dot_index;
31649 module_found = __Pyx__Import_GetModule(qualname, &imported_module);
31650 if (unlikely(!module_found || module_found == -1)) {
31652 return module_found;
31654 if (imported_names) {
31655 for (i = 0; i < len_imported_names; i++) {
31656 PyObject *imported_name = imported_names[i];
31657#if __PYX_LIMITED_VERSION_HEX < 0x030d0000
31658 int has_imported_attribute = PyObject_HasAttr(imported_module, imported_name);
31660 int has_imported_attribute = PyObject_HasAttrWithError(imported_module, imported_name);
31661 if (unlikely(has_imported_attribute == -1))
goto error;
31663 if (!has_imported_attribute) {
31667 *
module = imported_module;
31670 dot_index = PyUnicode_FindChar(qualname,
'.', 0, PY_SSIZE_T_MAX, 1);
31671 if (dot_index == -1) {
31672 *
module = imported_module;
31675 if (unlikely(dot_index == -2))
goto error;
31676 top_level_package_name = PyUnicode_Substring(qualname, 0, dot_index);
31677 if (unlikely(!top_level_package_name))
goto error;
31678 Py_DECREF(imported_module);
31679 status = __Pyx__Import_GetModule(top_level_package_name, module);
31680 Py_DECREF(top_level_package_name);
31683 Py_DECREF(imported_module);
31687 Py_DECREF(imported_module);
31691static PyObject *__Pyx__Import(PyObject *name, PyObject *
const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname, PyObject *moddict,
int level) {
31692 PyObject *module = 0;
31693 PyObject *empty_dict = 0;
31694 PyObject *from_list = 0;
31699 module_found = __Pyx__Import_Lookup(qualname, imported_names, len_imported_names, &module);
31700 if (likely(module_found == 1)) {
31702 }
else if (unlikely(module_found == -1)) {
31705 #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030f00a6
31706 empty_dict = PyFrozenDict_New(NULL);
31708 empty_dict = PyDict_New();
31710 if (unlikely(!empty_dict))
31712 if (imported_names) {
31713 from_list = __Pyx_PyList_FromArray(imported_names, len_imported_names);
31714 if (unlikely(!from_list))
31718 const char* package_sep = strchr(__Pyx_MODULE_NAME,
'.');
31719 if (package_sep != (0)) {
31720 module = PyImport_ImportModuleLevelObject(
31721 name, moddict, empty_dict, from_list, 1);
31722 if (unlikely(!module)) {
31723 if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
31731 module = PyImport_ImportModuleLevelObject(
31732 name, moddict, empty_dict, from_list, level);
31735 Py_XDECREF(from_list);
31736 Py_XDECREF(empty_dict);
31741static PyObject *__Pyx_Import(PyObject *name, PyObject *
const *imported_names, Py_ssize_t len_imported_names, PyObject *qualname,
int level) {
31742 return __Pyx__Import(name, imported_names, len_imported_names, qualname, __pyx_mstate_global->__pyx_d, level);
31746#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
31747static CYTHON_INLINE
void __Pyx__ListComp_AppendAndDecref(PyObject* list, Py_ssize_t len, PyObject* x) {
31748 PyList_SET_ITEM(list, len, x);
31749 Py_SET_SIZE(list, len + 1);
31754#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
31755static CYTHON_INLINE
int __Pyx_ListComp_AppendAndDecref(PyObject* list, PyObject* x) {
31756 PyListObject*
L = (PyListObject*) list;
31757 Py_ssize_t len = Py_SIZE(list);
31758 if (likely(
L->allocated > len)) {
31759 __Pyx__ListComp_AppendAndDecref(list, len, x);
31762 int result = PyList_Append(list, x);
31767static CYTHON_INLINE
int __Pyx_ListComp_AppendAndDecref(PyObject* list, PyObject* x) {
31768 int result = PyList_Append(list, x);
31775#if CYTHON_USE_TYPE_SLOTS
31776static PyObject* __Pyx_PySequence_Multiply_Generic(PyObject *seq, Py_ssize_t mul) {
31777 PyObject *result, *pymul = PyLong_FromSsize_t(mul);
31778 if (unlikely(!pymul))
31780 result = PyNumber_Multiply(seq, pymul);
31784static CYTHON_INLINE PyObject* __Pyx_PySequence_Multiply(PyObject *seq, Py_ssize_t mul) {
31785 PyTypeObject *type = Py_TYPE(seq);
31786 if (likely(type->tp_as_sequence && type->tp_as_sequence->sq_repeat)) {
31787 return type->tp_as_sequence->sq_repeat(seq, mul);
31789 return __Pyx_PySequence_Multiply_Generic(seq, mul);
31795#if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_GRAAL || CYTHON_COMPILING_IN_LIMITED_API)
31796#if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000
31797#ifndef __Pyx_DEFINED_BinopTypeError
31798#define __Pyx_DEFINED_BinopTypeError
31799static void __Pyx_BinopTypeError(PyObject *op1, PyObject *op2,
const char* op,
int inplace) {
31800 char opname[4] = {op[0], op[1], 0, 0};
31802 opname[op[1] ? 2 : 1] =
'=';
31804 __Pyx_RaiseErrorWithObjectTypes1(
31806 "unsupported operand type(s) for %.3s: '" __Pyx_FMT_TYPENAME
"' and '" __Pyx_FMT_TYPENAME
"'",
31811#ifndef __Pyx_DEFINED_PyNumber_Multiply_xfloat_int
31812#define __Pyx_DEFINED_PyNumber_Multiply_xfloat_int
31813static PyObject* __Pyx_PyNumber_Multiply_xfloat_int(PyObject *op1, PyObject *op2,
int inplace) {
31814 if (likely(op2 != Py_None)) {
31816 #if CYTHON_USE_PYLONG_INTERNALS
31817 if (__Pyx_PyLong_IsCompact(op2)) {
31818 Py_ssize_t compact_op2 = __Pyx_PyLong_CompactValue(op2);
31819 int_op2 = (double) compact_op2;
31823 int_op2 = PyLong_AsDouble(op2);
31824 if (unlikely((int_op2 == -1.) && PyErr_Occurred()))
return NULL;
31826 double float_op1 = __Pyx_PyFloat_AS_DOUBLE(op1);
31827 #if !CYTHON_ASSUME_SAFE_MACROS
31828 if (unlikely((float_op1 == -1.) && PyErr_Occurred()))
return NULL;
31830 if (float_op1 == 0.)
return __Pyx_NewRef(op1);
31831 return PyFloat_FromDouble(float_op1 * int_op2);
31833 #if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000
31835 PyTypeObject *type_op2 = Py_TYPE(op2);
31836 binaryfunc slot_func = __Pyx_PyType_GetSubSlot(type_op2, tp_as_number, nb_multiply, binaryfunc);
31837 if (likely(slot_func)) {
31838 PyObject *result = slot_func(op1, op2);
31839 if (likely(result != Py_NotImplemented)) {
31844 __Pyx_BinopTypeError(op1, op2,
"*", inplace);
31848 return (inplace) ? PyNumber_InPlaceMultiply(op1, op2) : PyNumber_Multiply(op1, op2);
31852#ifndef __Pyx_DEFINED_PyNumber_Multiply_xint_int
31853#define __Pyx_DEFINED_PyNumber_Multiply_xint_int
31854static PyObject* __Pyx_PyNumber_Multiply_xint_int(PyObject *op1, PyObject *op2,
int inplace) {
31855 #if CYTHON_USE_TYPE_SLOTS || __PYX_LIMITED_VERSION_HEX >= 0x030A0000
31857 PyTypeObject *type_op2 = Py_TYPE(op2);
31858 binaryfunc slot_func = __Pyx_PyType_GetSubSlot(type_op2, tp_as_number, nb_multiply, binaryfunc);
31859 if (likely(slot_func)) {
31860 PyObject *result = slot_func(op1, op2);
31861 if (likely(result != Py_NotImplemented)) {
31866 ssizeargfunc repeat_func = __Pyx_PyType_GetSubSlot(type_op2, tp_as_sequence, sq_repeat, ssizeargfunc);
31867 if (likely(repeat_func)) {
31869 #if CYTHON_USE_PYLONG_INTERNALS
31870 if (__Pyx_PyLong_IsCompact(op1)) {
31871 count = __Pyx_PyLong_CompactValue(op1);
31875 count = PyLong_AsSsize_t(op1);
31876 if (unlikely((count == -1) && PyErr_Occurred()))
return NULL;
31878 return repeat_func(op2, count);
31880 __Pyx_BinopTypeError(op1, op2,
"*", inplace);
31884 return (inplace) ? PyNumber_InPlaceMultiply(op1, op2) : PyNumber_Multiply(op1, op2);
31888static CYTHON_INLINE PyObject* __Pyx__PyNumber_Multiply_object_int(PyObject *op1, PyObject *op2,
int inplace) {
31889 if (PyFloat_CheckExact(op1)) {
31890 return __Pyx_PyNumber_Multiply_xfloat_int(op1, op2, inplace);
31892 if (likely(PyLong_CheckExact(op1))) {
31893 if (likely(op2 != Py_None)) {
31894 #if CYTHON_USE_PYLONG_INTERNALS
31895 if (__Pyx_PyLong_IsCompact(op1)) {
31896 long long int_op1 = (
long long) __Pyx_PyLong_CompactValue(op1);
31897 if (int_op1 == 0)
return __Pyx_NewRef(op1);
31898 if (__Pyx_PyLong_IsCompact(op2)) {
31899 long long int_op2 = (
long long) __Pyx_PyLong_CompactValue(op2);
31900 if (int_op2 == 0)
return __Pyx_NewRef(op2);
31901 return PyLong_FromLongLong(int_op1 * int_op2);
31904 else if (__Pyx_PyLong_IsZero(op2))
return __Pyx_NewRef(op2);
31906 binaryfunc slot_func = __Pyx_PyType_GetSubSlot(&PyLong_Type, tp_as_number, nb_multiply, binaryfunc);
31907 if (likely(slot_func)) {
31908 return slot_func(op1, op2);
31911 return __Pyx_PyNumber_Multiply_xint_int(op1, op2, inplace);
31913 return (inplace) ? PyNumber_InPlaceMultiply(op1, op2) : PyNumber_Multiply(op1, op2);
31918static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatSimpleAndDecref(PyObject*
s, PyObject*
f) {
31919 if (unlikely(!
s))
return NULL;
31920 if (likely(PyUnicode_CheckExact(
s)))
return s;
31921 return __Pyx_PyObject_FormatAndDecref(
s,
f);
31923static CYTHON_INLINE PyObject* __Pyx_PyObject_FormatAndDecref(PyObject*
s, PyObject*
f) {
31925 if (unlikely(!
s))
return NULL;
31926 result = PyObject_Format(
s,
f);
31932#if CYTHON_USE_UNICODE_WRITER
31933static PyObject* __Pyx_PyObject_Format(PyObject* obj, PyObject* format_spec) {
31935 _PyUnicodeWriter writer;
31936 if (likely(PyFloat_CheckExact(obj))) {
31937 _PyUnicodeWriter_Init(&writer);
31938 ret = _PyFloat_FormatAdvancedWriter(
31941 format_spec, 0, PyUnicode_GET_LENGTH(format_spec));
31942 }
else if (likely(PyLong_CheckExact(obj))) {
31943 _PyUnicodeWriter_Init(&writer);
31944 ret = _PyLong_FormatAdvancedWriter(
31947 format_spec, 0, PyUnicode_GET_LENGTH(format_spec));
31949 return PyObject_Format(obj, format_spec);
31951 if (unlikely(ret == -1)) {
31952 _PyUnicodeWriter_Dealloc(&writer);
31955 return _PyUnicodeWriter_Finish(&writer);
31960static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *
v) {
31962 if (unlikely(!j))
return -1;
31963 r = PyObject_SetItem(o, j,
v);
31967#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
31968static CYTHON_INLINE
int __Pyx_SetItemInt_Fast_mapping(PyObject *o, objobjargproc setitem, Py_ssize_t i, PyObject *value) {
31969 PyObject *key = PyLong_FromSsize_t(i);
31970 if (unlikely(!key))
return -1;
31971 int r = setitem(o, key, value);
31976static CYTHON_INLINE
int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObject *
v,
31977 int wraparound,
int boundscheck,
int unsafe_shared) {
31978 CYTHON_MAYBE_UNUSED_VAR(unsafe_shared);
31979#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE && !CYTHON_AVOID_BORROWED_REFS
31980 if (PyList_CheckExact(o)) {
31981 Py_ssize_t
n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o));
31982 if ((CYTHON_AVOID_THREAD_UNSAFE_BORROWED_REFS && !__Pyx_IS_UNIQUELY_REFERENCED(o, unsafe_shared))) {
31984 return PyList_SetItem(o,
n,
v);
31985 }
else if ((!boundscheck) || likely(__Pyx_is_valid_index(
n, PyList_GET_SIZE(o)))) {
31988 old = PyList_GET_ITEM(o,
n);
31989 PyList_SET_ITEM(o,
n,
v);
31995#if CYTHON_USE_TYPE_SLOTS && !CYTHON_COMPILING_IN_PYPY
31996 if (PyDict_CheckExact(o)) {
31997 return __Pyx_SetItemInt_Fast_mapping(o, PyDict_Type.tp_as_mapping->mp_ass_subscript, i,
v);
32000 PyTypeObject *obj_type = Py_TYPE(o);
32001 int seq_or_mapping = __Pyx_PyType_GetFlags(obj_type) & (Py_TPFLAGS_SEQUENCE|Py_TPFLAGS_MAPPING);
32002 if (seq_or_mapping != Py_TPFLAGS_SEQUENCE) {
32003 PyMappingMethods *mm = obj_type->tp_as_mapping;
32004 if (mm && mm->mp_ass_subscript)
32005 return __Pyx_SetItemInt_Fast_mapping(o, mm->mp_ass_subscript, i,
v);
32007 PySequenceMethods *sm = obj_type->tp_as_sequence;
32008 if (likely(sm && sm->sq_ass_item)) {
32009 if (wraparound && (i < 0) && unlikely(__Pyx_GetItemInt_wraparound(o, sm, &i) == -1))
32011 return sm->sq_ass_item(o, i,
v);
32013 if (seq_or_mapping == Py_TPFLAGS_SEQUENCE) {
32014 PyMappingMethods *mm = obj_type->tp_as_mapping;
32015 if (likely(mm && mm->mp_ass_subscript))
32016 return __Pyx_SetItemInt_Fast_mapping(o, mm->mp_ass_subscript, i,
v);
32020 if (!PyMapping_Check(o)) {
32021 return PySequence_SetItem(o, i,
v);
32026 return __Pyx_SetItemInt_Generic(o, PyLong_FromSsize_t(i),
v);
32030static void __Pyx_RaiseUnboundLocalError(
const char *varname) {
32031 PyErr_Format(PyExc_UnboundLocalError,
"local variable '%s' referenced before assignment", varname);
32035static CYTHON_INLINE
long __Pyx_div_long(
long a,
long b,
int b_is_constant) {
32038 long adapt_python = (b_is_constant ?
32039 ((
r != 0) & ((
r < 0) ^ (b < 0))) :
32040 ((
r != 0) & ((
r ^ b) < 0))
32042 return q - adapt_python;
32046#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
32047static CYTHON_INLINE
int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
32048 PyListObject*
L = (PyListObject*) list;
32049 Py_ssize_t len = Py_SIZE(list);
32050 if (likely(
L->allocated > len) & likely(len > (
L->allocated >> 1))) {
32052 __Pyx__ListComp_AppendAndDecref(list, len, x);
32055 return PyList_Append(list, x);
32060static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
32061#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || !CYTHON_COMPILING_IN_LIMITED_API)
32062 PyObject *args[2] = {obj, arg};
32063 return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
32064#elif CYTHON_COMPILING_IN_LIMITED_API
32065 return PyObject_CallMethodObjArgs(obj, method_name, arg, NULL);
32067 return PyObject_CallMethodOneArg(obj, method_name, arg);
32072static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) {
32073 (void) __Pyx_PyObject_CallMethod1;
32074#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030e0000 || defined(PyBytes_Join)
32075 return PyBytes_Join(sep, values);
32076#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyBytes_Join)
32077 return _PyBytes_Join(sep, values);
32079 return __Pyx_PyObject_CallMethod1(sep, __pyx_mstate_global->__pyx_n_u_join, values);
32084static CYTHON_INLINE PyObject* __Pyx_uchar___Pyx_PyUnicode_From_size_t(
size_t value, Py_ssize_t width,
char padding_char) {
32085#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
32086#pragma GCC diagnostic push
32087#pragma GCC diagnostic ignored "-Wconversion"
32089 const size_t neg_one = (size_t) -1, const_zero = (
size_t) 0;
32090#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
32091#pragma GCC diagnostic pop
32093 const int is_unsigned = neg_one > const_zero;
32094 if (unlikely(!(is_unsigned || value == 0 || value > 0) ||
32095 !(
sizeof(value) <= 2 || value & ~ (
size_t) 0x01fffff || __Pyx_CheckUnicodeValue((
int) value)))) {
32096 PyErr_SetString(PyExc_OverflowError,
"%c arg not in range(0x110000)");
32100 return PyUnicode_FromOrdinal((
int) value);
32102 return __Pyx_PyUnicode_FromOrdinal_Padded((
int) value, width, padding_char);
32104static CYTHON_INLINE PyObject* __Pyx____Pyx_PyUnicode_From_size_t(
size_t value, Py_ssize_t width,
char padding_char,
char format_char) {
32105 char digits[
sizeof(size_t)*3+2];
32106 char *dpos, *end = digits +
sizeof(size_t)*3+2;
32107 const char *hex_digits = DIGITS_HEX;
32108 Py_ssize_t length, ulength;
32109 int prepend_sign, last_one_off;
32111#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
32112#pragma GCC diagnostic push
32113#pragma GCC diagnostic ignored "-Wconversion"
32115 const size_t neg_one = (size_t) -1, const_zero = (
size_t) 0;
32116#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
32117#pragma GCC diagnostic pop
32119 const int is_unsigned = neg_one > const_zero;
32120 if (format_char ==
'X') {
32129 switch (format_char) {
32131 digit_pos = abs((
int)(remaining % (8*8)));
32132 remaining = (size_t) (remaining / (8*8));
32134 memcpy(dpos, DIGIT_PAIRS_8 + digit_pos * 2, 2);
32135 last_one_off = (digit_pos < 8);
32138 digit_pos = abs((
int)(remaining % (10*10)));
32139 remaining = (size_t) (remaining / (10*10));
32141 memcpy(dpos, DIGIT_PAIRS_10 + digit_pos * 2, 2);
32142 last_one_off = (digit_pos < 10);
32145 *(--dpos) = hex_digits[abs((
int)(remaining % 16))];
32146 remaining = (size_t) (remaining / 16);
32152 }
while (unlikely(remaining != 0));
32153 assert(!last_one_off || *dpos ==
'0');
32154 dpos += last_one_off;
32155 length = end - dpos;
32158 if (!is_unsigned && value <= neg_one) {
32159 if (padding_char ==
' ' || width <= length + 1) {
32167 if (width > ulength) {
32170 if (ulength == 1) {
32171 return PyUnicode_FromOrdinal(*dpos);
32173 return __Pyx_PyUnicode_BuildFromAscii(ulength, dpos, (
int) length, prepend_sign, padding_char);
32177static CYTHON_INLINE
int __Pyx_PyObject_SetSlice(PyObject* obj, PyObject* value,
32178 Py_ssize_t cstart, Py_ssize_t cstop,
32179 PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
32180 int has_cstart,
int has_cstop, CYTHON_UNUSED
int wraparound) {
32181#if CYTHON_USE_TYPE_SLOTS
32182 PyMappingMethods* mp = Py_TYPE(obj)->tp_as_mapping;
32183 if (likely(mp && mp->mp_ass_subscript))
32189 PyObject *py_slice, *py_start, *py_stop;
32191 py_slice = *_py_slice;
32193 PyObject* owned_start = NULL;
32194 PyObject* owned_stop = NULL;
32196 py_start = *_py_start;
32199 owned_start = py_start = PyLong_FromSsize_t(cstart);
32200 if (unlikely(!py_start))
goto bad;
32202 py_start = Py_None;
32205 py_stop = *_py_stop;
32208 owned_stop = py_stop = PyLong_FromSsize_t(cstop);
32209 if (unlikely(!py_stop)) {
32210 Py_XDECREF(owned_start);
32216 py_slice = PySlice_New(py_start, py_stop, Py_None);
32217 Py_XDECREF(owned_start);
32218 Py_XDECREF(owned_stop);
32219 if (unlikely(!py_slice))
goto bad;
32221#if CYTHON_USE_TYPE_SLOTS
32222 result = mp->mp_ass_subscript(obj, py_slice, value);
32224 result = value ? PyObject_SetItem(obj, py_slice, value) : PyObject_DelItem(obj, py_slice);
32227 Py_DECREF(py_slice);
32231 __Pyx_RaiseTypeErrorWithObjectType(
32233 "'" __Pyx_FMT_TYPENAME
"' object does not support slice assignment" :
32234 "'" __Pyx_FMT_TYPENAME
"' object does not support slice deletion",
32242static PyObject *__Pyx_AllocateExtensionType(PyTypeObject *t,
int is_final) {
32243 if (is_final || likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
32244 allocfunc alloc_func = __Pyx_PyType_GetSlot(t, tp_alloc, allocfunc);
32245 return alloc_func(t, 0);
32247 newfunc tp_new = __Pyx_PyType_TryGetSlot(&PyBaseObject_Type, tp_new, newfunc);
32248 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
32250 PyObject *new_str = PyUnicode_FromString(
"__new__");
32251 if (likely(new_str)) {
32252 PyObject *o = PyObject_CallMethodObjArgs((PyObject *)&PyBaseObject_Type, new_str, t, NULL);
32253 Py_DECREF(new_str);
32259 return tp_new(t, __pyx_mstate_global->__pyx_empty_tuple, 0);
32264static CYTHON_INLINE
int __Pyx_CallSlotAsVectorcallUnpackDict(Py_ssize_t args_size, PyObject *keys_dict, PyObject **args, PyObject *kwnames) {
32265 Py_ssize_t pos = 0, i = 0;
32266 PyObject *key, *value;
32267 while (PyDict_Next(keys_dict, &pos, &key, &value)) {
32269 args[args_size+i] = value;
32271 if (unlikely(__Pyx_PyTuple_SET_ITEM(kwnames, i, key) == -1)) {
32280#if CYTHON_VECTORCALL_TPNEW
32281static PyObject * __Pyx_CallTpnewAsVectorcall(__Pyx_tpnewvectorcallfunc
f, PyTypeObject* o, PyObject *a, PyObject *k) {
32282 Py_ssize_t k_size = k ? __Pyx_PyDict_GET_SIZE(k) : 0;
32283#if !CYTHON_ASSUME_SAFE_SIZE
32284 if (unlikely(k_size < 0))
return NULL;
32286 Py_ssize_t a_size = __Pyx_PyTuple_GET_SIZE(a);
32287#if !CYTHON_ASSUME_SAFE_SIZE
32288 if (unlikely(a_size < 0))
return NULL;
32290#if CYTHON_ASSUME_SAFE_MACROS
32292 return f(o, &PyTuple_GET_ITEM(a, 0), a_size, NULL);
32295 if (k_size == 0 && a_size == 0) {
32296 return f(o, NULL, 0, NULL);
32299 PyObject *stack_args[5];
32300 PyObject **args = stack_args;
32301 Py_ssize_t maxnargs = PY_SSIZE_T_MAX /
sizeof(PyObject*) - 1;
32302 if (a_size > maxnargs - k_size) {
32306 Py_ssize_t total_size = a_size + k_size;
32307 if (total_size > 5) {
32308 args = (PyObject**)PyMem_Malloc(((
size_t)total_size)*
sizeof(PyObject*));
32309 if (unlikely(!args)) {
32314 PyObject * result = NULL;
32315 PyObject *kwnames = NULL;
32316 int unpack_dict_result;
32318 for (; i < a_size; ++i) {
32319 args[i] = __Pyx_PyTuple_GET_ITEM(a, i);
32320#if !CYTHON_ASSUME_SAFE_MACROS
32321 if (unlikely(!args[i]))
goto cleanup;
32324#if !CYTHON_ASSUME_SAFE_MACROS
32328 kwnames = PyTuple_New(k_size);
32329 if (unlikely(!kwnames))
goto cleanup;
32330 __Pyx_BEGIN_CRITICAL_SECTION(k);
32331 unpack_dict_result = __Pyx_CallSlotAsVectorcallUnpackDict(a_size, k, args, kwnames);
32332 __Pyx_END_CRITICAL_SECTION();
32333 if (unlikely(unpack_dict_result == -1))
goto cleanup;
32335 result =
f(o, args, a_size, kwnames);
32337 Py_XDECREF(kwnames);
32338 for (i=a_size; i<total_size; ++i) {
32339 Py_XDECREF(args[i]);
32341 if (args != stack_args) {
32349#if CYTHON_VECTORCALL_TPNEW
32350static PyObject *__Pyx_CallNewInitFromVectorcall(PyTypeObject *t, PyObject *
const *args,
size_t nargsf, PyObject *kwnames) {
32351 newfunc tp_new = __Pyx_PyType_GetSlot(t, tp_new, newfunc);
32352 if (unlikely(!tp_new)) {
32353 __Pyx_RaiseErrorWithType(PyExc_TypeError,
"cannot create " __Pyx_FMT_TYPENAME
" instances", t);
32356 Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(nargsf);
32357 PyObject *result = NULL, *args_tuple = NULL, *kwds_dict = NULL;
32358 Py_ssize_t kw_size = kwnames ? __Pyx_PyTuple_GET_SIZE(kwnames) : 0;
32359#if !CYTHON_ASSUME_SAFE_SIZE
32360 if (unlikely(kw_size == -1)) {
32365 kwds_dict = __Pyx_PyDict_NewPresized(kw_size);
32366 if (unlikely(!kwds_dict)) {
32369 for (Py_ssize_t i=0; i<kw_size; ++i) {
32370 PyObject *
v = args[nargs + i];
32371 PyObject *k = __Pyx_PyTuple_GET_ITEM(kwnames, i);
32372#if !CYTHON_ASSUME_SAFE_MACROS
32373 if (unlikely(!k)) {
32377 if (unlikely(PyDict_SetItem(kwds_dict, k,
v) < 0)) {
32383 args_tuple = __Pyx_PyTuple_FromArray(args, nargs);
32384 if (unlikely(!args_tuple)) {
32388 args_tuple = __Pyx_NewRef(__pyx_mstate_global->__pyx_empty_tuple);
32390 result = tp_new(t, args_tuple, kwds_dict);
32391 if (unlikely(!result)) {
32394 if (PyObject_TypeCheck(result, t)) {
32395 initproc tp_init = __Pyx_PyObject_GetSlot(result, tp_init, initproc);
32396 if (tp_init && unlikely(tp_init(result, args_tuple, kwds_dict) < 0)) {
32401 Py_XDECREF(args_tuple);
32402 Py_XDECREF(kwds_dict);
32408#if !CYTHON_USE_TYPE_SPECS
32410static int __Pyx_call_type_traverse(PyObject *o,
int always_call, visitproc visit,
void *arg) {
32411 if (!always_call) {
32412 PyTypeObject *base = __Pyx_PyObject_GetSlot(o, tp_base, PyTypeObject*);
32413 unsigned long flags = PyType_GetFlags(base);
32414 if (flags & Py_TPFLAGS_HEAPTYPE) {
32418 Py_VISIT((PyObject*)Py_TYPE(o));
32424#if CYTHON_VECTORCALL_TPNEW
32425static int __Pyx_CallTpinitAsVectorcall(__Pyx_tpinitvectorcallfunc
f, PyObject* o, PyObject *a, PyObject *k) {
32426 Py_ssize_t k_size = k ? __Pyx_PyDict_GET_SIZE(k) : 0;
32427#if !CYTHON_ASSUME_SAFE_SIZE
32428 if (unlikely(k_size < 0))
return -1;
32430 Py_ssize_t a_size = __Pyx_PyTuple_GET_SIZE(a);
32431#if !CYTHON_ASSUME_SAFE_SIZE
32432 if (unlikely(a_size < 0))
return -1;
32434#if CYTHON_ASSUME_SAFE_MACROS
32436 return f(o, &PyTuple_GET_ITEM(a, 0), a_size, NULL);
32439 if (k_size == 0 && a_size == 0) {
32440 return f(o, NULL, 0, NULL);
32443 PyObject *stack_args[5];
32444 PyObject **args = stack_args;
32445 Py_ssize_t maxnargs = PY_SSIZE_T_MAX /
sizeof(PyObject*) - 1;
32446 if (a_size > maxnargs - k_size) {
32450 Py_ssize_t total_size = a_size + k_size;
32451 if (total_size > 5) {
32452 args = (PyObject**)PyMem_Malloc(((
size_t)total_size)*
sizeof(PyObject*));
32453 if (unlikely(!args)) {
32459 PyObject *kwnames = NULL;
32460 int unpack_dict_result;
32462 for (; i < a_size; ++i) {
32463 args[i] = __Pyx_PyTuple_GET_ITEM(a, i);
32464#if !CYTHON_ASSUME_SAFE_MACROS
32465 if (unlikely(!args[i]))
goto cleanup;
32468#if !CYTHON_ASSUME_SAFE_MACROS
32472 kwnames = PyTuple_New(k_size);
32473 if (unlikely(!kwnames))
goto cleanup;
32474 __Pyx_BEGIN_CRITICAL_SECTION(k);
32475 unpack_dict_result = __Pyx_CallSlotAsVectorcallUnpackDict(a_size, k, args, kwnames);
32476 __Pyx_END_CRITICAL_SECTION();
32477 if (unlikely(unpack_dict_result == -1))
goto cleanup;
32479 result =
f(o, args, a_size, kwnames);
32481 Py_XDECREF(kwnames);
32482 for (i=a_size; i<total_size; ++i) {
32483 Py_XDECREF(args[i]);
32485 if (args != stack_args) {
32493static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
32494#if CYTHON_VECTORCALL && (__PYX_LIMITED_VERSION_HEX >= 0x030C0000 || !CYTHON_COMPILING_IN_LIMITED_API)
32495 return PyObject_VectorcallMethod(method_name, &obj, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
32496#elif CYTHON_COMPILING_IN_LIMITED_API
32497 return PyObject_CallMethodObjArgs(obj, method_name, NULL);
32499 return PyObject_CallMethodNoArgs(obj, method_name);
32504#if !CYTHON_USE_TYPE_SLOTS
32505CYTHON_UNUSED
static Py_ssize_t __Pyx_GetTypeDictOffset(PyObject *tp,
int require_cython_valid_result) {
32506 PyObject *tp_dictoffset_o;
32507 Py_ssize_t tp_dictoffset;
32508 tp_dictoffset_o = PyObject_GetAttrString(tp,
"__dictoffset__");
32509 if (unlikely(!tp_dictoffset_o))
return -1;
32510 tp_dictoffset = PyLong_AsSsize_t(tp_dictoffset_o);
32511 Py_DECREF(tp_dictoffset_o);
32512 if (unlikely(require_cython_valid_result && tp_dictoffset == 0)) {
32515 "'type' doesn't have a dictoffset");
32517 }
else if (unlikely(require_cython_valid_result && tp_dictoffset < 0)) {
32520 "'type' has an unexpected negative dictoffset. "
32521 "Please report this as Cython bug");
32524 return tp_dictoffset;
32529#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
32530static int __Pyx_validate_bases_tuple(
const char *type_name,
int has_dictoffset, PyObject *bases) {
32532#if CYTHON_ASSUME_SAFE_SIZE
32533 n = PyTuple_GET_SIZE(bases);
32535 n = PyTuple_Size(bases);
32536 if (unlikely(
n < 0))
return -1;
32538 if (!has_dictoffset) {
32540#if CYTHON_AVOID_BORROWED_REFS
32541 b = PySequence_GetItem(bases, 0);
32543#elif CYTHON_ASSUME_SAFE_MACROS
32544 b = PyTuple_GET_ITEM(bases, 0);
32546 b = PyTuple_GetItem(bases, 0);
32549#if CYTHON_USE_TYPE_SLOTS
32550 has_dictoffset = ((PyTypeObject*)b)->tp_dictoffset != 0;
32552 Py_ssize_t dictoffset = __Pyx_GetTypeDictOffset(b, 0);
32553 has_dictoffset = dictoffset != 0;
32555#if CYTHON_AVOID_BORROWED_REFS
32558#if !CYTHON_USE_TYPE_SLOTS
32559 if (dictoffset == -1 && PyErr_Occurred())
return -1;
32562 for (i = 1; i <
n; i++)
32565#if CYTHON_AVOID_BORROWED_REFS
32566 PyObject *b0 = PySequence_GetItem(bases, i);
32567 if (!b0)
return -1;
32568#elif CYTHON_ASSUME_SAFE_MACROS
32569 PyObject *b0 = PyTuple_GET_ITEM(bases, i);
32571 PyObject *b0 = PyTuple_GetItem(bases, i);
32572 if (!b0)
return -1;
32574 b = (PyTypeObject*) b0;
32575 if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE))
32577 __Pyx_RaiseErrorWithType(
32578 PyExc_TypeError,
"base class '" __Pyx_FMT_TYPENAME
"' is not a heap type", b);
32579#if CYTHON_AVOID_BORROWED_REFS
32584 if (!has_dictoffset)
32586 Py_ssize_t b_dictoffset = 0;
32587#if CYTHON_USE_TYPE_SLOTS
32588 b_dictoffset = b->tp_dictoffset;
32590 b_dictoffset = __Pyx_GetTypeDictOffset((PyObject*)b, 0);
32591 if (b_dictoffset == -1 && PyErr_Occurred())
goto dictoffset_return;
32593 if (b_dictoffset) {
32594 __Pyx_RaiseErrorWithType1(
32596 "extension type '%.200s' has no __dict__ slot, "
32597 "but base type '" __Pyx_FMT_TYPENAME
"' has: "
32598 "either add 'cdef dict __dict__' to the extension type "
32599 "or add '__slots__ = [...]' to the base type",
32601#if !CYTHON_USE_TYPE_SLOTS
32604#if CYTHON_AVOID_BORROWED_REFS
32610#if CYTHON_AVOID_BORROWED_REFS
32619CYTHON_UNUSED
static int __Pyx_PyType_HasMultipleInheritance(PyTypeObject *t) {
32621 PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
32625 t = __Pyx_PyType_GetSlot(t, tp_base, PyTypeObject*);
32629static int __Pyx_PyType_Ready(PyTypeObject *t) {
32630#if CYTHON_USE_TYPE_SPECS || !CYTHON_COMPILING_IN_CPYTHON
32631 (void)__Pyx_PyObject_CallMethod0;
32632#if CYTHON_USE_TYPE_SPECS
32633 (void)__Pyx_validate_bases_tuple;
32635 return PyType_Ready(t);
32638 if (!__Pyx_PyType_HasMultipleInheritance(t)) {
32639 return PyType_Ready(t);
32641 PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
32642 if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset != 0, bases) == -1))
32645 int gc_was_enabled;
32646 #if PY_VERSION_HEX >= 0x030A00b1
32647 gc_was_enabled = PyGC_Disable();
32648 (void)__Pyx_PyObject_CallMethod0;
32650 PyObject *ret, *py_status;
32651 PyObject *gc = NULL;
32652 #if (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400) &&\
32653 !CYTHON_COMPILING_IN_GRAAL
32654 gc = PyImport_GetModule(__pyx_mstate_global->__pyx_kp_u_gc);
32656 if (unlikely(!gc)) gc = PyImport_Import(__pyx_mstate_global->__pyx_kp_u_gc);
32657 if (unlikely(!gc))
return -1;
32658 py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_isenabled);
32659 if (unlikely(!py_status)) {
32663 gc_was_enabled = __Pyx_PyObject_IsTrue(py_status);
32664 Py_DECREF(py_status);
32665 if (gc_was_enabled > 0) {
32666 ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_disable);
32667 if (unlikely(!ret)) {
32672 }
else if (unlikely(gc_was_enabled == -1)) {
32677 t->tp_flags |= Py_TPFLAGS_HEAPTYPE;
32678#if PY_VERSION_HEX >= 0x030A0000
32679 t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
32681 r = PyType_Ready(t);
32682 t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
32683 #if PY_VERSION_HEX >= 0x030A00b1
32684 if (gc_was_enabled)
32687 if (gc_was_enabled) {
32688 PyObject *tp, *
v, *tb;
32689 PyErr_Fetch(&tp, &
v, &tb);
32690 ret = __Pyx_PyObject_CallMethod0(gc, __pyx_mstate_global->__pyx_kp_u_enable);
32691 if (likely(ret ||
r == -1)) {
32693 PyErr_Restore(tp,
v, tb);
32709#if CYTHON_COMPILING_IN_LIMITED_API
32710static PyObject *__Pyx_GetTypeTypeDict(PyTypeObject *tp) {
32711 static Py_ssize_t tp_dictoffset = 0;
32712 if (unlikely(tp_dictoffset == 0)) {
32713 tp_dictoffset = __Pyx_GetTypeDictOffset((PyObject*)(&PyType_Type), 1);
32714 if (unlikely(tp_dictoffset == -1 && PyErr_Occurred())) {
32719 return *(PyObject**)((
char*)tp + tp_dictoffset);
32724static int __Pyx__DelItemOnTypeDict(PyTypeObject *tp, PyObject *k) {
32727#if CYTHON_COMPILING_IN_LIMITED_API
32728 tp_dict = __Pyx_GetTypeTypeDict(tp);
32729 if (unlikely(!tp_dict))
return -1;
32731 tp_dict = tp->tp_dict;
32733 result = PyDict_DelItem(tp_dict, k);
32734 if (likely(!result)) PyType_Modified(tp);
32739static int __Pyx__SetItemOnTypeDict(PyTypeObject *tp, PyObject *k, PyObject *
v) {
32742#if CYTHON_COMPILING_IN_LIMITED_API
32743 tp_dict = __Pyx_GetTypeTypeDict(tp);
32744 if (unlikely(!tp_dict))
return -1;
32746 tp_dict = tp->tp_dict;
32748 result = PyDict_SetItem(tp_dict, k,
v);
32749 if (likely(!result)) {
32750 PyType_Modified(tp);
32751 if (unlikely(PyObject_HasAttr(
v, __pyx_mstate_global->__pyx_n_u_set_name))) {
32752 PyObject *setNameResult = PyObject_CallMethodObjArgs(
v, __pyx_mstate_global->__pyx_n_u_set_name, (PyObject *) tp, k, NULL);
32753 if (!setNameResult)
return -1;
32754 Py_DECREF(setNameResult);
32761static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
32763 PyObject *name_attr;
32764 name_attr = __Pyx_PyObject_GetAttrStrNoError(meth, __pyx_mstate_global->__pyx_n_u_name_2);
32765 if (likely(name_attr)) {
32766 ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
32770 if (unlikely(ret < 0) && __Pyx_IgnoreException(PyExc_Exception)) {
32773 Py_XDECREF(name_attr);
32776static PyObject *__Pyx_setup_reduce_get_reduce_attribute(PyObject *type_obj, PyObject *name,
int allow_not_present) {
32777#if CYTHON_USE_PYTYPE_LOOKUP
32778 CYTHON_UNUSED_VAR(allow_not_present);
32779 return _PyType_Lookup((PyTypeObject*)type_obj, name);
32781 if (allow_not_present) {
32782 return __Pyx_PyObject_GetAttrStrNoError(type_obj, name);
32784 return __Pyx_PyObject_GetAttrStr(type_obj, name);
32788static int __Pyx_setup_reduce(PyObject* type_obj) {
32790 PyObject *object_reduce = NULL;
32791 PyObject *object_getstate = NULL;
32792 PyObject *object_reduce_ex = NULL;
32793 PyObject *reduce = NULL;
32794 PyObject *reduce_ex = NULL;
32795 PyObject *reduce_cython = NULL;
32796 PyObject *setstate = NULL;
32797 PyObject *setstate_cython = NULL;
32798 PyObject *getstate = NULL;
32799 getstate = __Pyx_setup_reduce_get_reduce_attribute(type_obj, __pyx_mstate_global->__pyx_n_u_getstate, 1);
32800 if (!getstate && PyErr_Occurred()) {
32804 object_getstate = __Pyx_setup_reduce_get_reduce_attribute((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_getstate, 1);
32805 if (!object_getstate && PyErr_Occurred()) {
32808 if (object_getstate != getstate) {
32812 object_reduce_ex = __Pyx_setup_reduce_get_reduce_attribute((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce_ex, 0);
32813 if (unlikely(!object_reduce_ex))
goto __PYX_BAD;
32814 reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_ex);
if (unlikely(!reduce_ex))
goto __PYX_BAD;
32815 if (reduce_ex == object_reduce_ex) {
32816 object_reduce = __Pyx_setup_reduce_get_reduce_attribute((PyObject*)&PyBaseObject_Type, __pyx_mstate_global->__pyx_n_u_reduce, 0);
32817 if (!object_reduce)
goto __PYX_BAD;
32818 reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_mstate_global->__pyx_n_u_reduce);
if (unlikely(!reduce))
goto __PYX_BAD;
32819 int try_to_replace_reduce = (reduce == object_reduce);
32820 if (!try_to_replace_reduce) {
32821 try_to_replace_reduce = __Pyx_setup_reduce_is_named(reduce, __pyx_mstate_global->__pyx_n_u_reduce_cython);
32822 if (unlikely(try_to_replace_reduce < 0)) {
32826 if (try_to_replace_reduce) {
32827 reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_reduce_cython);
32828 if (likely(reduce_cython)) {
32829 ret = __Pyx_SetItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_reduce, reduce_cython);
if (unlikely(ret < 0))
goto __PYX_BAD;
32830 ret = __Pyx_DelItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_reduce_cython);
if (unlikely(ret < 0))
goto __PYX_BAD;
32831 }
else if (reduce == object_reduce || PyErr_Occurred()) {
32834 setstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_setstate);
32835 int try_to_replace_setstate;
32837 PyObject *exc = PyErr_Occurred();
32838 if (exc && !__Pyx_IgnoreGivenException(exc, PyExc_Exception)) {
32841 try_to_replace_setstate = 1;
32843 try_to_replace_setstate = __Pyx_setup_reduce_is_named(setstate, __pyx_mstate_global->__pyx_n_u_setstate_cython);
32844 if (unlikely(try_to_replace_setstate < 0)) {
32848 if (try_to_replace_setstate) {
32849 setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_mstate_global->__pyx_n_u_setstate_cython);
32850 if (likely(setstate_cython)) {
32851 ret = __Pyx_SetItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_setstate, setstate_cython);
if (unlikely(ret < 0))
goto __PYX_BAD;
32852 ret = __Pyx_DelItemOnTypeDict((PyTypeObject*)type_obj, __pyx_mstate_global->__pyx_n_u_setstate_cython);
if (unlikely(ret < 0))
goto __PYX_BAD;
32853 }
else if (!setstate || PyErr_Occurred()) {
32857 PyType_Modified((PyTypeObject*)type_obj);
32862 if (!PyErr_Occurred()) {
32863 __Pyx_RaiseErrorWithType(
32864 PyExc_RuntimeError,
32865 "Unable to initialize pickling for " __Pyx_FMT_TYPENAME,
32866 (PyTypeObject*)type_obj);
32870#if !CYTHON_USE_PYTYPE_LOOKUP
32871 Py_XDECREF(object_reduce);
32872 Py_XDECREF(object_reduce_ex);
32873 Py_XDECREF(object_getstate);
32874 Py_XDECREF(getstate);
32876 Py_XDECREF(reduce);
32877 Py_XDECREF(reduce_ex);
32878 Py_XDECREF(reduce_cython);
32879 Py_XDECREF(setstate);
32880 Py_XDECREF(setstate_cython);
32885#if CYTHON_COMPILING_IN_LIMITED_API || (CYTHON_COMPILING_IN_PYPY && CYTHON_USE_TYPE_SPECS)
32886int __Pyx_ApplySequenceOrMappingFlag(PyTypeObject *tp,
int is_sequence) {
32888 PyObject *collections_abc = PyImport_ImportModule(
"collections.abc");
32889 if (unlikely(!collections_abc))
return -1;
32890 abc = PyObject_GetAttrString(collections_abc, is_sequence ?
"Sequence":
"Mapping");
32891 Py_DECREF(collections_abc);
32892 if (unlikely(!abc))
return -1;
32893 PyObject *register_result = PyObject_CallMethod(abc,
"register",
"O", (PyObject*)tp);
32895 if (unlikely(!register_result))
return -1;
32896 Py_DECREF(register_result);
32899#elif CYTHON_COMPILING_IN_PYPY
32900int __Pyx_ApplySequenceOrMappingFlag(PyTypeObject *tp,
int is_sequence) {
32901 CYTHON_UNUSED_VAR(tp);
32902 CYTHON_UNUSED_VAR(is_sequence);
32903 return PyErr_WarnEx(
32904 PyExc_RuntimeWarning,
32905 "cython.collection_type only works on PyPy with the C flag CYTHON_USE_TYPE_SPECS=1",
32912static int __Pyx_GetVtable(PyTypeObject *type,
void** table) {
32915#if CYTHON_COMPILING_IN_LIMITED_API
32916 PyObject *ob = PyObject_GetAttr((PyObject *)type, __pyx_mstate_global->__pyx_n_u_pyx_vtable);
32918 PyObject *ob = PyObject_GetItem(type->tp_dict, __pyx_mstate_global->__pyx_n_u_pyx_vtable);
32922 ptr = PyCapsule_GetPointer(ob, 0);
32923 if (!ptr && !PyErr_Occurred())
32924 PyErr_SetString(PyExc_RuntimeError,
"invalid vtable found for imported type");
32929 if (PyErr_ExceptionMatches(CYTHON_COMPILING_IN_LIMITED_API ? PyExc_AttributeError : PyExc_KeyError)) {
32937static int __Pyx_MergeVtables(PyTypeObject *type) {
32940 void** base_vtables;
32941 void* unknown = (
void*)-1;
32942 PyObject* bases = __Pyx_PyType_GetSlot(type, tp_bases, PyObject*);
32943 int base_depth = 0;
32945 PyTypeObject* base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
32948 base = __Pyx_PyType_TryGetSlot(base, tp_base, PyTypeObject*);
32951 base_vtables = (
void**) PyMem_Malloc(
sizeof(
void*) * (
size_t)(base_depth + 1));
32952 if (unlikely(!base_vtables)) {
32956 base_vtables[0] = unknown;
32957#if CYTHON_COMPILING_IN_LIMITED_API
32958 size = PyTuple_Size(bases);
32959 if (size < 0)
goto other_failure;
32961 size = PyTuple_GET_SIZE(bases);
32963 for (i = 1; i < size; i++) {
32966#if CYTHON_AVOID_BORROWED_REFS
32967 basei = PySequence_GetItem(bases, i);
32968 if (unlikely(!basei))
goto other_failure;
32969#elif !CYTHON_ASSUME_SAFE_MACROS
32970 basei = PyTuple_GetItem(bases, i);
32971 if (unlikely(!basei))
goto other_failure;
32973 basei = PyTuple_GET_ITEM(bases, i);
32975 int get_vtable_result = __Pyx_GetVtable((PyTypeObject*)basei, &base_vtable);
32976#if CYTHON_AVOID_BORROWED_REFS
32979 if (get_vtable_result != 1) {
32980 if (get_vtable_result == -1) {
32981 goto other_failure;
32985 assert(base_vtable != NULL);
32987 PyTypeObject* base = __Pyx_PyType_TryGetSlot(type, tp_base, PyTypeObject*);
32988#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
32989 if (!base)
goto bad;
32991 for (j = 0; j < base_depth; j++) {
32992 if (base_vtables[j] == unknown) {
32993 switch (__Pyx_GetVtable(base, &base_vtables[j])) {
32995 assert(base_vtables[j] == NULL);
33001 goto other_failure;
33003 base_vtables[j + 1] = unknown;
33005 if (base_vtables[j] == base_vtable) {
33008 base = __Pyx_PyType_TryGetSlot(base, tp_base, PyTypeObject*);
33009#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
33010 if (!base)
goto bad;
33015 PyMem_Free(base_vtables);
33019 PyTypeObject* tp_base = __Pyx_PyType_GetSlot(type, tp_base, PyTypeObject*);
33020 PyTypeObject* basei;
33021#if CYTHON_AVOID_BORROWED_REFS
33022 basei = (PyTypeObject*)PySequence_GetItem(bases, i);
33023 if (unlikely(!basei))
goto other_failure;
33024#elif !CYTHON_ASSUME_SAFE_MACROS
33025 basei = (PyTypeObject*)PyTuple_GetItem(bases, i);
33026 if (unlikely(!basei))
goto other_failure;
33028 basei = (PyTypeObject*)PyTuple_GET_ITEM(bases, i);
33030 __Pyx_RaiseTypeErrorWithTypes(
33031 "multiple bases have vtable conflict: '" __Pyx_FMT_TYPENAME
"' and '" __Pyx_FMT_TYPENAME
"'", tp_base, basei);
33032#if CYTHON_AVOID_BORROWED_REFS
33037 PyMem_Free(base_vtables);
33042static int __Pyx_SetVtable(PyTypeObject *type,
void *vtable) {
33043 PyObject *ob = PyCapsule_New(vtable, 0, 0);
33046#if CYTHON_COMPILING_IN_LIMITED_API
33047 if (unlikely(PyObject_SetAttr((PyObject *) type, __pyx_mstate_global->__pyx_n_u_pyx_vtable, ob) < 0))
33049 if (unlikely(PyDict_SetItem(type->tp_dict, __pyx_mstate_global->__pyx_n_u_pyx_vtable, ob) < 0))
33053 return __Pyx_MergeVtables(type);
33060#ifndef __PYX_HAVE_RT_ImportType_3_3_0
33061#define __PYX_HAVE_RT_ImportType_3_3_0
33062static PyTypeObject *__Pyx_ImportType_3_3_0(PyObject *module,
const char *module_name,
const char *class_name,
33063 size_t size,
size_t alignment,
enum __Pyx_ImportType_CheckSize_3_3_0 check_size)
33065 PyObject *result = 0;
33066 Py_ssize_t basicsize;
33067 Py_ssize_t itemsize;
33068#if defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API)
33069 PyObject *py_basicsize;
33070 PyObject *py_itemsize;
33072 result = PyObject_GetAttrString(module, class_name);
33075 if (!PyType_Check(result)) {
33076 PyErr_Format(PyExc_TypeError,
33077 "%.200s.%.200s is not a type object",
33078 module_name, class_name);
33081#if !( defined(Py_LIMITED_API) || (defined(CYTHON_COMPILING_IN_LIMITED_API) && CYTHON_COMPILING_IN_LIMITED_API) )
33082 basicsize = ((PyTypeObject *)result)->tp_basicsize;
33083 itemsize = ((PyTypeObject *)result)->tp_itemsize;
33086 return (PyTypeObject *)result;
33088 py_basicsize = PyObject_GetAttrString(result,
"__basicsize__");
33091 basicsize = PyLong_AsSsize_t(py_basicsize);
33092 Py_DECREF(py_basicsize);
33094 if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
33096 py_itemsize = PyObject_GetAttrString(result,
"__itemsize__");
33099 itemsize = PyLong_AsSsize_t(py_itemsize);
33100 Py_DECREF(py_itemsize);
33102 if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
33106 if (size % alignment) {
33107 alignment = size % alignment;
33109 if (itemsize < (Py_ssize_t)alignment)
33110 itemsize = (Py_ssize_t)alignment;
33112 if ((
size_t)(basicsize + itemsize) < size) {
33113 PyErr_Format(PyExc_ValueError,
33114 "%.200s.%.200s size changed, may indicate binary incompatibility. "
33115 "Expected %zd from C header, got %zd from PyObject",
33116 module_name, class_name, size, basicsize+itemsize);
33119 if (check_size == __Pyx_ImportType_CheckSize_Error_3_3_0 &&
33120 ((
size_t)basicsize > size || (
size_t)(basicsize + itemsize) < size)) {
33121 PyErr_Format(PyExc_ValueError,
33122 "%.200s.%.200s size changed, may indicate binary incompatibility. "
33123 "Expected %zd from C header, got %zd-%zd from PyObject",
33124 module_name, class_name, size, basicsize, basicsize+itemsize);
33127 else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_3_0 && (
size_t)basicsize > size) {
33128 if (PyErr_WarnFormat(NULL, 0,
33129 "%.200s.%.200s size changed, may indicate binary incompatibility. "
33130 "Expected %zd from C header, got %zd from PyObject",
33131 module_name, class_name, size, basicsize) < 0) {
33135 return (PyTypeObject *)result;
33137 Py_XDECREF(result);
33143static CYTHON_INLINE PyObject *__Pyx_PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *default_value) {
33145#if __PYX_LIMITED_VERSION_HEX >= 0x030F0000 || (!CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4)
33146 PyDict_SetDefaultRef(d, key, default_value, &value);
33147#elif CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX >= 0x030C0000
33148 PyObject *args[] = {d, key, default_value};
33149 value = PyObject_VectorcallMethod(__pyx_mstate_global->__pyx_n_u_setdefault, args, 3 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
33150#elif CYTHON_COMPILING_IN_LIMITED_API
33151 value = PyObject_CallMethodObjArgs(d, __pyx_mstate_global->__pyx_n_u_setdefault, key, default_value, NULL);
33153 value = PyDict_SetDefault(d, key, default_value);
33154 if (unlikely(!value))
return NULL;
33161#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && PY_VERSION_HEX < 0x030F00a3
33162 static PyObject *__Pyx_PyImport_AddModuleObjectRef(PyObject *name) {
33163 PyObject *module_dict = PyImport_GetModuleDict();
33165 if (PyMapping_GetOptionalItem(module_dict, name, &m) < 0) {
33168 if (m != NULL && PyModule_Check(m)) {
33172 m = PyModule_NewObject(name);
33175 if (PyDict_CheckExact(module_dict)) {
33177 (void)PyDict_SetDefaultRef(module_dict, name, m, &new_m);
33181 if (PyObject_SetItem(module_dict, name, m) != 0) {
33188 static PyObject *__Pyx_PyImport_AddModuleRef(
const char *name) {
33189 if ((PY_VERSION_HEX >= 0x030E0000) && Py_Version >= 0x030E0100) {
33190 return PyImport_AddModuleRef(name);
33192 PyObject *py_name = PyUnicode_FromString(name);
33193 if (!py_name)
return NULL;
33194 PyObject *module = __Pyx_PyImport_AddModuleObjectRef(py_name);
33195 Py_DECREF(py_name);
33198#elif __PYX_LIMITED_VERSION_HEX < 0x030d0000
33199 static PyObject *__Pyx_PyImport_AddModuleRef(
const char *name) {
33200 PyObject *module = PyImport_AddModule(name);
33201 Py_XINCREF(module);
33207static PyObject *__Pyx_FetchSharedCythonABIModule(
void) {
33208 return __Pyx_PyImport_AddModuleRef(__PYX_ABI_MODULE_NAME);
33212static int __Pyx_VerifyCachedType(PyObject *cached_type,
33214 Py_ssize_t expected_basicsize) {
33215 Py_ssize_t basicsize;
33216 if (!PyType_Check(cached_type)) {
33217 PyErr_Format(PyExc_TypeError,
33218 "Shared Cython type %.200s is not a type object", name);
33221 if (expected_basicsize == 0) {
33224#if CYTHON_COMPILING_IN_LIMITED_API && CYTHON_OPAQUE_OBJECTS
33225 if (expected_basicsize < 0) {
33226 basicsize = PyType_GetTypeDataSize((PyTypeObject*)cached_type);
33230 #if CYTHON_COMPILING_IN_LIMITED_API
33231 PyObject *py_basicsize;
33232 py_basicsize = PyObject_GetAttrString(cached_type,
"__basicsize__");
33233 if (unlikely(!py_basicsize))
return -1;
33234 basicsize = PyLong_AsSsize_t(py_basicsize);
33235 Py_DECREF(py_basicsize);
33236 py_basicsize = NULL;
33237 if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred())
return -1;
33239 basicsize = ((PyTypeObject*) cached_type)->tp_basicsize;
33242 if ((expected_basicsize >= 0) ?
33243 (basicsize != expected_basicsize) :
33244 (basicsize < -expected_basicsize)) {
33245 PyErr_Format(PyExc_TypeError,
33246 "Shared Cython type %.200s has the wrong size, try recompiling",
33254#if __PYX_LIMITED_VERSION_HEX < 0x030C0000
33255static PyObject* __Pyx_PyType_FromMetaclass(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
33256 PyObject *result = __Pyx_PyType_FromModuleAndSpec(module, spec, bases);
33257 if (result && metaclass) {
33258 PyObject *old_tp = (PyObject*)Py_TYPE(result);
33259 Py_INCREF((PyObject*)metaclass);
33260 Py_SET_TYPE(result, metaclass);
33262 PyType_Modified((PyTypeObject*)result);
33267#define __Pyx_PyType_FromMetaclass(me, mo, s, b) PyType_FromMetaclass(me, mo, s, b)
33269static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyTypeObject *metaclass, PyObject *module, PyType_Spec *spec, PyObject *bases) {
33270 PyObject *abi_module = NULL, *cached_type = NULL, *abi_module_dict, *new_cached_type, *py_object_name;
33271 int get_item_ref_result;
33272 const char* object_name = strrchr(spec->name,
'.');
33273 object_name = object_name ? object_name+1 : spec->name;
33274 py_object_name = PyUnicode_FromString(object_name);
33275 if (!py_object_name)
return NULL;
33276 abi_module = __Pyx_FetchSharedCythonABIModule();
33277 if (!abi_module)
goto done;
33278 abi_module_dict = PyModule_GetDict(abi_module);
33279 if (!abi_module_dict)
goto done;
33280 get_item_ref_result = __Pyx_PyDict_GetItemRef(abi_module_dict, py_object_name, &cached_type);
33281 if (get_item_ref_result == 1) {
33282 if (__Pyx_VerifyCachedType(
33285 spec->basicsize) < 0) {
33289 }
else if (unlikely(get_item_ref_result == -1)) {
33292 cached_type = __Pyx_PyType_FromMetaclass(
33294 CYTHON_USE_MODULE_STATE ? module : abi_module,
33296 if (unlikely(!cached_type))
goto bad;
33297 new_cached_type = __Pyx_PyDict_SetDefault(abi_module_dict, py_object_name, cached_type);
33298 if (unlikely(new_cached_type != cached_type)) {
33299 if (unlikely(!new_cached_type))
goto bad;
33300 Py_DECREF(cached_type);
33301 cached_type = new_cached_type;
33302 if (__Pyx_VerifyCachedType(
33305 spec->basicsize) < 0) {
33310 Py_DECREF(new_cached_type);
33313 Py_XDECREF(abi_module);
33314 Py_DECREF(py_object_name);
33315 assert(cached_type == NULL || PyType_Check(cached_type));
33316 return (PyTypeObject *) cached_type;
33318 Py_XDECREF(cached_type);
33319 cached_type = NULL;
33324static PyObject* __pyx_CommonTypesMetaclass_get_module(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED
void* context) {
33325 return PyUnicode_FromString(__PYX_ABI_MODULE_NAME);
33327#if __PYX_LIMITED_VERSION_HEX < 0x030A0000
33328static PyObject* __pyx_CommonTypesMetaclass_call(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *args, CYTHON_UNUSED PyObject *kwds) {
33329 PyErr_SetString(PyExc_TypeError,
"Cannot instantiate Cython internal types");
33332static int __pyx_CommonTypesMetaclass_setattr(CYTHON_UNUSED PyObject *self, CYTHON_UNUSED PyObject *attr, CYTHON_UNUSED PyObject *value) {
33333 PyErr_SetString(PyExc_TypeError,
"Cython internal types are immutable");
33337static PyGetSetDef __pyx_CommonTypesMetaclass_getset[] = {
33338 {
"__module__", __pyx_CommonTypesMetaclass_get_module, NULL, NULL, NULL},
33341static PyType_Slot __pyx_CommonTypesMetaclass_slots[] = {
33342 {Py_tp_getset, (
void *)__pyx_CommonTypesMetaclass_getset},
33343 #if __PYX_LIMITED_VERSION_HEX < 0x030A0000
33344 {Py_tp_call, (
void*)__pyx_CommonTypesMetaclass_call},
33345 {Py_tp_new, (
void*)__pyx_CommonTypesMetaclass_call},
33346 {Py_tp_setattro, (
void*)__pyx_CommonTypesMetaclass_setattr},
33350static PyType_Spec __pyx_CommonTypesMetaclass_spec = {
33351 __PYX_TYPE_MODULE_PREFIX
"_common_types_metatype",
33354 Py_TPFLAGS_IMMUTABLETYPE |
33355 Py_TPFLAGS_DISALLOW_INSTANTIATION |
33356 Py_TPFLAGS_DEFAULT,
33357 __pyx_CommonTypesMetaclass_slots
33359static int __pyx_CommonTypesMetaclass_init(PyObject *module) {
33360 __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
33361 PyObject *bases = PyTuple_Pack(1, &PyType_Type);
33362 if (unlikely(!bases)) {
33365 mstate->__pyx_CommonTypesMetaclassType = __Pyx_FetchCommonTypeFromSpec(NULL, module, &__pyx_CommonTypesMetaclass_spec, bases);
33367 if (unlikely(mstate->__pyx_CommonTypesMetaclassType == NULL)) {
33374#if CYTHON_COMPILING_IN_LIMITED_API
33375static CYTHON_INLINE
int __Pyx__IsSameCyOrCFunctionNoMethod(PyObject *func,
void (*cfunc)(
void)) {
33376 if (__Pyx_CyFunction_Check(func)) {
33377 return __Pyx_as_CyFunctionObject(func)->func_methoddef->ml_meth == (PyCFunction) cfunc;
33378 }
else if (PyCFunction_Check(func)) {
33379 return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
33383static CYTHON_INLINE
int __Pyx__IsSameCyOrCFunction(PyObject *func,
void (*cfunc)(
void)) {
33384 if ((PyObject*)Py_TYPE(func) == __pyx_mstate_global->__Pyx_CachedMethodType) {
33386 PyObject *newFunc = PyObject_GetAttr(func, __pyx_mstate_global->__pyx_n_u_func);
33387 if (unlikely(!newFunc)) {
33391 result = __Pyx__IsSameCyOrCFunctionNoMethod(newFunc, cfunc);
33392 Py_DECREF(newFunc);
33395 return __Pyx__IsSameCyOrCFunctionNoMethod(func, cfunc);
33398static CYTHON_INLINE
int __Pyx__IsSameCyOrCFunction(PyObject *func,
void (*cfunc)(
void)) {
33399 if (PyMethod_Check(func)) {
33400 func = PyMethod_GET_FUNCTION(func);
33402 return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
33405static CYTHON_INLINE
void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject*
f, PyObject* classobj) {
33406#if CYTHON_COMPILING_IN_LIMITED_API
33407 __Pyx_Py_XDECREF_SET(
33408 __Pyx__CyFunction_GetClassObj(
f),
33409 ((classobj) ? __Pyx_NewRef(classobj) : NULL));
33411 __Pyx_Py_XDECREF_SET(
33412 ((PyCMethodObject *) (
f))->mm_class,
33413 (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
33416static CYTHON_INLINE PyObject *__Pyx_CyFunction_InitDefaults(PyObject *func, PyTypeObject *defaults_type) {
33417 __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(func);
33418 m->defaults = PyObject_CallObject((PyObject*)defaults_type, NULL);
33419 if (unlikely(!m->defaults))
33421 return m->defaults;
33423static CYTHON_INLINE
void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
33424 __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(func);
33425 m->defaults_tuple = tuple;
33428static CYTHON_INLINE
void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
33429 __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(func);
33430 m->defaults_kwdict = dict;
33433static CYTHON_INLINE
void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
33434 __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(func);
33435 m->func_annotations = dict;
33440#if CYTHON_COMPILING_IN_LIMITED_API
33441static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
33443 CYTHON_UNUSED_VAR(typ);
33445 return __Pyx_NewRef(func);
33446 #if __PYX_LIMITED_VERSION_HEX >= 0x030C0000
33448 PyObject *args[] = {func, self};
33449 result = PyObject_Vectorcall(__pyx_mstate_global->__Pyx_CachedMethodType, args, 2, NULL);
33452 result = PyObject_CallFunctionObjArgs(__pyx_mstate_global->__Pyx_CachedMethodType, func, self, NULL);
33457static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
33458 CYTHON_UNUSED_VAR(typ);
33460 return __Pyx_NewRef(func);
33461 return PyMethod_New(func, self);
33466#if CYTHON_VECTORCALL
33467static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *
const *args,
size_t nargs, PyObject *kw)
33469 PyObject *res = NULL;
33471 PyObject **newargs;
33472 PyObject **kwvalues;
33474 #if CYTHON_AVOID_BORROWED_REFS
33480 PyObject *key, *value;
33481 unsigned long keys_are_strings;
33482 #if !CYTHON_ASSUME_SAFE_SIZE
33483 Py_ssize_t nkw = PyDict_Size(kw);
33484 if (unlikely(nkw == -1))
return NULL;
33486 Py_ssize_t nkw = PyDict_GET_SIZE(kw);
33488 newargs = (PyObject **)PyMem_Malloc((nargs + (
size_t)nkw) *
sizeof(args[0]));
33489 if (unlikely(newargs == NULL)) {
33493 for (j = 0; j < nargs; j++) newargs[j] = args[j];
33494 kwnames = PyTuple_New(nkw);
33495 if (unlikely(kwnames == NULL)) {
33496 PyMem_Free(newargs);
33499 kwvalues = newargs + nargs;
33502 keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
33503 while (__Pyx_PyDict_NextRef(kw, &pos, &key, &value)) {
33504 keys_are_strings &=
33505 #if CYTHON_COMPILING_IN_LIMITED_API
33506 PyType_GetFlags(Py_TYPE(key));
33508 Py_TYPE(key)->tp_flags;
33510 #if !CYTHON_ASSUME_SAFE_MACROS
33511 if (unlikely(PyTuple_SetItem(kwnames, i, key) < 0))
goto cleanup;
33513 PyTuple_SET_ITEM(kwnames, i, key);
33515 kwvalues[i] = value;
33518 if (unlikely(!keys_are_strings)) {
33519 PyErr_SetString(PyExc_TypeError,
"keywords must be strings");
33522 res = vc(func, newargs, nargs, kwnames);
33524 #if CYTHON_AVOID_BORROWED_REFS
33527 Py_DECREF(kwnames);
33528 for (i = 0; i < nkw; i++)
33529 Py_DECREF(kwvalues[i]);
33530 PyMem_Free(newargs);
33533static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *
const *args,
size_t nargs, PyObject *kw)
33535 Py_ssize_t kw_size =
33536 likely(kw == NULL) ?
33538#if !CYTHON_ASSUME_SAFE_SIZE
33541 PyDict_GET_SIZE(kw);
33543 if (kw_size == 0) {
33544 return vc(func, args, nargs, NULL);
33546#if !CYTHON_ASSUME_SAFE_SIZE
33547 else if (unlikely(kw_size == -1)) {
33551 return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
33557__Pyx_CyFunction_get_doc_locked(__pyx_CyFunctionObject *op)
33559 if (unlikely(op->func_doc == NULL)) {
33560#if CYTHON_COMPILING_IN_LIMITED_API
33561 const char *doc = op->func_methoddef->ml_doc;
33563 const char *doc = ((PyCFunctionObject*)op)->m_ml->ml_doc;
33566 op->func_doc = PyUnicode_FromString(doc);
33567 if (unlikely(op->func_doc == NULL))
33570 Py_INCREF(Py_None);
33574 Py_INCREF(op->func_doc);
33575 return op->func_doc;
33578__Pyx_CyFunction_get_doc(PyObject *op_in,
void *closure) {
33580 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33581 CYTHON_UNUSED_VAR(closure);
33582 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33583 result = __Pyx_CyFunction_get_doc_locked(op);
33584 __Pyx_END_CRITICAL_SECTION();
33588__Pyx_CyFunction_set_doc(PyObject *op_in, PyObject *value,
void *context)
33590 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33591 CYTHON_UNUSED_VAR(context);
33592 if (value == NULL) {
33596 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33597 __Pyx_Py_XDECREF_SET(op->func_doc, value);
33598 __Pyx_END_CRITICAL_SECTION();
33602__Pyx_CyFunction_get_name_locked(__pyx_CyFunctionObject *op)
33604 if (unlikely(op->func_name == NULL)) {
33605#if CYTHON_COMPILING_IN_LIMITED_API
33606 const char *name = op->func_methoddef->ml_name;
33608 const char *name = ((PyCFunctionObject*)op)->m_ml->ml_name;
33610 op->func_name = PyUnicode_InternFromString(name);
33611 if (unlikely(op->func_name == NULL))
33614 Py_INCREF(op->func_name);
33615 return op->func_name;
33618__Pyx_CyFunction_get_name(PyObject *op,
void *context)
33620 PyObject *result = NULL;
33621 CYTHON_UNUSED_VAR(context);
33622 __Pyx_BEGIN_CRITICAL_SECTION(op);
33623 result = __Pyx_CyFunction_get_name_locked(__Pyx_as_CyFunctionObject(op));
33624 __Pyx_END_CRITICAL_SECTION();
33628__Pyx_CyFunction_set_name(PyObject *op_in, PyObject *value,
void *context)
33630 CYTHON_UNUSED_VAR(context);
33631 if (unlikely(value == NULL || !PyUnicode_Check(value))) {
33632 PyErr_SetString(PyExc_TypeError,
33633 "__name__ must be set to a string object");
33636 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33638 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33639 __Pyx_Py_XDECREF_SET(op->func_name, value);
33640 __Pyx_END_CRITICAL_SECTION();
33644__Pyx_CyFunction_get_qualname(PyObject *op_in,
void *context)
33646 CYTHON_UNUSED_VAR(context);
33647 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33649 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33650 Py_INCREF(op->func_qualname);
33651 result = op->func_qualname;
33652 __Pyx_END_CRITICAL_SECTION();
33656__Pyx_CyFunction_set_qualname(PyObject *op_in, PyObject *value,
void *context)
33658 CYTHON_UNUSED_VAR(context);
33659 if (unlikely(value == NULL || !PyUnicode_Check(value))) {
33660 PyErr_SetString(PyExc_TypeError,
33661 "__qualname__ must be set to a string object");
33664 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33666 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33667 __Pyx_Py_XDECREF_SET(op->func_qualname, value);
33668 __Pyx_END_CRITICAL_SECTION();
33671#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
33673__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op,
void *context)
33675 CYTHON_UNUSED_VAR(context);
33676 if (unlikely(op->func_dict == NULL)) {
33677 op->func_dict = PyDict_New();
33678 if (unlikely(op->func_dict == NULL))
33681 Py_INCREF(op->func_dict);
33682 return op->func_dict;
33686__Pyx_CyFunction_get_globals(PyObject *op_in,
void *context)
33688 CYTHON_UNUSED_VAR(context);
33689 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33690 Py_INCREF(op->func_globals);
33691 return op->func_globals;
33694__Pyx_CyFunction_get_closure(PyObject *op,
void *context)
33696 CYTHON_UNUSED_VAR(op);
33697 CYTHON_UNUSED_VAR(context);
33698 Py_INCREF(Py_None);
33702__Pyx_CyFunction_get_code(PyObject *op_in,
void *context)
33704 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33705 PyObject* result = (op->func_code) ? op->func_code : Py_None;
33706 CYTHON_UNUSED_VAR(context);
33711__Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op, PyObject *op_obj) {
33713 PyObject *res = op->defaults_getter(op_obj);
33714 if (unlikely(!res))
33716 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
33717 op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
33718 Py_INCREF(op->defaults_tuple);
33719 op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
33720 Py_INCREF(op->defaults_kwdict);
33722 op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
33723 if (unlikely(!op->defaults_tuple)) result = -1;
33725 op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
33726 if (unlikely(!op->defaults_kwdict)) result = -1;
33733__Pyx_CyFunction_set_defaults(PyObject *op_in, PyObject* value,
void *context) {
33734 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33735 CYTHON_UNUSED_VAR(context);
33738 }
else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
33739 PyErr_SetString(PyExc_TypeError,
33740 "__defaults__ must be set to a tuple object");
33743 PyErr_WarnEx(PyExc_RuntimeWarning,
"changes to cyfunction.__defaults__ will not "
33744 "currently affect the values used in function calls", 1);
33746 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33747 __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
33748 __Pyx_END_CRITICAL_SECTION();
33752__Pyx_CyFunction_get_defaults_locked(PyObject *op_in) {
33753 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33754 PyObject* result = op->defaults_tuple;
33755 if (unlikely(!result)) {
33756 if (op->defaults_getter) {
33757 if (unlikely(__Pyx_CyFunction_init_defaults(op, op_in) < 0))
return NULL;
33758 result = op->defaults_tuple;
33767__Pyx_CyFunction_get_defaults(PyObject *op,
void *context) {
33768 PyObject* result = NULL;
33769 CYTHON_UNUSED_VAR(context);
33770 __Pyx_BEGIN_CRITICAL_SECTION(op);
33771 result = __Pyx_CyFunction_get_defaults_locked(op);
33772 __Pyx_END_CRITICAL_SECTION();
33776__Pyx_CyFunction_set_kwdefaults(PyObject *op_in, PyObject* value,
void *context) {
33777 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33778 CYTHON_UNUSED_VAR(context);
33781 }
else if (unlikely(value != Py_None && !PyDict_Check(value))) {
33782 PyErr_SetString(PyExc_TypeError,
33783 "__kwdefaults__ must be set to a dict object");
33786 PyErr_WarnEx(PyExc_RuntimeWarning,
"changes to cyfunction.__kwdefaults__ will not "
33787 "currently affect the values used in function calls", 1);
33789 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33790 __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
33791 __Pyx_END_CRITICAL_SECTION();
33795__Pyx_CyFunction_get_kwdefaults_locked(PyObject *op_in) {
33796 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33797 PyObject* result = op->defaults_kwdict;
33798 if (unlikely(!result)) {
33799 if (op->defaults_getter) {
33800 if (unlikely(__Pyx_CyFunction_init_defaults(op, op_in) < 0))
return NULL;
33801 result = op->defaults_kwdict;
33810__Pyx_CyFunction_get_kwdefaults(PyObject *op,
void *context) {
33812 CYTHON_UNUSED_VAR(context);
33813 __Pyx_BEGIN_CRITICAL_SECTION(op);
33814 result = __Pyx_CyFunction_get_kwdefaults_locked(op);
33815 __Pyx_END_CRITICAL_SECTION();
33818static int __Pyx_CyFunction_set_annotate_in_dict_if_exists(PyObject *op_in, PyObject *value);
33820__Pyx_CyFunction_set_annotations(PyObject *op_in, PyObject* value,
void *context) {
33821 CYTHON_UNUSED_VAR(context);
33822 if (!value || value == Py_None) {
33824 }
else if (unlikely(!PyDict_Check(value))) {
33825 PyErr_SetString(PyExc_TypeError,
33826 "__annotations__ must be set to a dict object");
33829 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33831 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33832 __Pyx_Py_XDECREF_SET(op->func_annotations, value);
33833 __Pyx_END_CRITICAL_SECTION();
33834 if (unlikely(__Pyx_CyFunction_set_annotate_in_dict_if_exists(op_in, Py_None) < 0))
return -1;
33838__Pyx_CyFunction_get_dict_if_exists(PyObject *op_in, PyObject **dict) {
33841#if CYTHON_COMPILING_IN_PYPY
33842 *dict = PyObject_GenericGetDict(op_in, NULL);
33843#elif CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX < 0x030C0000
33844 *dict = __Pyx_as_CyFunctionObject(op_in)->func_dict;
33846 PyObject **dictptr = _PyObject_GetDictPtr(op_in);
33847 *dict = likely(dictptr) ? *dictptr : NULL;
33849 return *dict ? 1 : 0;
33852__Pyx_CyFunction_get_annotate_from_dict_if_exists(PyObject *op_in, PyObject **annotate) {
33856 dict_found = __Pyx_CyFunction_get_dict_if_exists(op_in, &dict);
33857 if (!dict_found)
return 0;
33858 return __Pyx_PyDict_GetItemRef(dict, __pyx_mstate_global->__pyx_n_u_annotate, annotate);
33861__Pyx_CyFunction_set_annotate_in_dict_if_exists(PyObject *op_in, PyObject *value) {
33864 dict_found = __Pyx_CyFunction_get_dict_if_exists(op_in, &dict);
33865 if (!dict_found)
return 0;
33867 return PyDict_SetItem(dict, __pyx_mstate_global->__pyx_n_u_annotate, value);
33869#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000
33870 return PyDict_Pop(dict, __pyx_mstate_global->__pyx_n_u_annotate, NULL);
33872 int result = PyDict_Contains(dict, __pyx_mstate_global->__pyx_n_u_annotate);
33874 result = PyDict_DelItem(dict, __pyx_mstate_global->__pyx_n_u_annotate);
33881__Pyx_CyFunction_set_annotate_in_dict(PyObject *op_in, PyObject *value) {
33884#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
33885 dict = __Pyx_CyFunction_get_dict(__Pyx_as_CyFunctionObject(op_in), NULL);
33887 dict = PyObject_GenericGetDict(op_in, NULL);
33889 if (unlikely(!dict))
return -1;
33890 result = PyDict_SetItem(dict, __pyx_mstate_global->__pyx_n_u_annotate, value);
33895__Pyx_CyFunction_get_annotations_locked(__pyx_CyFunctionObject *op) {
33896 PyObject* result = op->func_annotations;
33897 if (unlikely(!result)) {
33898 result = PyDict_New();
33899 if (unlikely(!result))
return NULL;
33900 op->func_annotations = result;
33906__Pyx_CyFunction_get_annotations(PyObject *op_in,
void *context) {
33907 PyObject *annotate = NULL;
33908 PyObject *result = NULL;
33909 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33910 CYTHON_UNUSED_VAR(context);
33911 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33912 result = __Pyx_XNewRef(op->func_annotations);
33913 __Pyx_END_CRITICAL_SECTION();
33914 if (result)
return result;
33915 if (unlikely(__Pyx_CyFunction_get_annotate_from_dict_if_exists(op_in, &annotate) < 0))
return NULL;
33916 if (!annotate || annotate == Py_None) {
33917 Py_XDECREF(annotate);
33918 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33919 result = __Pyx_CyFunction_get_annotations_locked(op);
33920 __Pyx_END_CRITICAL_SECTION();
33923 PyObject *format = PyLong_FromLong(1L);
33924 if (likely(format)) {
33925 if (!Py_EnterRecursiveCall(
" cyfunction __annotations__.__get__")) {
33926 result = __Pyx_PyObject_CallOneArg(annotate, format);
33927 Py_LeaveRecursiveCall();
33931 Py_DECREF(annotate);
33932 if (unlikely(!result))
return NULL;
33933 if (unlikely(!PyDict_Check(result))) {
33934 PyErr_SetString(PyExc_TypeError,
"__annotate__ must return a dict");
33938 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33939 __Pyx_Py_XDECREF_SET(op->func_annotations, __Pyx_NewRef(result));
33940 __Pyx_END_CRITICAL_SECTION();
33943static PyObject *__Pyx_CyFunction_annotate_impl(PyObject *self, PyObject *arg) {
33944 CYTHON_UNUSED_VAR(arg);
33945 if (unlikely(!self)) {
33946 PyErr_SetString(PyExc_SystemError,
"cython __annotate__ called without 'self' argument");
33950 if (Py_EnterRecursiveCall(
" in cyfunction annotate")) {
33953 result = __Pyx_CyFunction_get_annotations(self, NULL);
33954 Py_LeaveRecursiveCall();
33958__Pyx_CyFunction_get_annotate(PyObject *op_in,
void *context);
33960__Pyx_CyFunction_set_annotate(PyObject *op_in, PyObject* value,
void *context) {
33961 CYTHON_UNUSED_VAR(context);
33962 if (value == NULL) {
33963 PyErr_SetString(PyExc_TypeError,
"__annotate__ cannot be deleted");
33966 if (unlikely(value != Py_None && !PyCallable_Check(value))) {
33967 PyErr_SetString(PyExc_TypeError,
"__annotate__ must be callable or None");
33970 if (unlikely(__Pyx_TypeCheck(value, &PyCFunction_Type))) {
33971#if !CYTHON_ASSUME_SAFE_MACROS && !CYTHON_COMPILING_IN_PYPY
33972 PyCFunction cfunction = PyCFunction_GetFunction(value);
33973 if (unlikely(!cfunction))
return -1;
33974 PyObject *value_self = PyCFunction_GetSelf(value);
33975 if (unlikely(!value_self && PyErr_Occurred()))
return -1;
33977 PyCFunction cfunction = PyCFunction_GET_FUNCTION(value);
33978 PyObject *value_self = PyCFunction_GET_SELF(value);
33980 if (cfunction == __Pyx_CyFunction_annotate_impl && value_self == op_in) {
33981 return __Pyx_CyFunction_set_annotate_in_dict_if_exists(op_in, NULL);
33984 if (value != Py_None) {
33985 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
33986 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
33987 Py_CLEAR(op->func_annotations);
33988 __Pyx_END_CRITICAL_SECTION();
33990 return __Pyx_CyFunction_set_annotate_in_dict(op_in, value);
33992#if __PYX_LIMITED_VERSION_HEX < 0x030B0000
33994__Pyx_CyFunction_get_is_coroutine_value(__pyx_CyFunctionObject *op) {
33995 int is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
33996 if (is_coroutine) {
33997 PyObject *is_coroutine_value, *module, *fromlist, *marker = __pyx_mstate_global->__pyx_n_u_is_coroutine;
33998 fromlist = PyList_New(1);
33999 if (unlikely(!fromlist))
return NULL;
34001#if CYTHON_ASSUME_SAFE_MACROS
34002 PyList_SET_ITEM(fromlist, 0, marker);
34004 if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
34005 Py_DECREF(fromlist);
34009 module = PyImport_ImportModuleLevelObject(__pyx_mstate_global->__pyx_n_u_asyncio_coroutines, NULL, NULL, fromlist, 0);
34010 Py_DECREF(fromlist);
34011 if (unlikely(!module)) {
34012 goto ignore_or_error;
34014 is_coroutine_value = __Pyx_PyObject_GetAttrStr(module, marker);
34016 if (likely(is_coroutine_value)) {
34017 return is_coroutine_value;
34020 if (!__Pyx_IgnoreException(PyExc_Exception)) {
34024 return __Pyx_PyBool_FromLong(is_coroutine);
34027__Pyx_CyFunction_get_is_coroutine(PyObject *op_in,
void *context) {
34028 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
34030 CYTHON_UNUSED_VAR(context);
34031 if (op->func_is_coroutine) {
34032 return __Pyx_NewRef(op->func_is_coroutine);
34034 result = __Pyx_CyFunction_get_is_coroutine_value(op);
34035 if (unlikely(!result))
34037 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
34038 if (op->func_is_coroutine) {
34040 result = __Pyx_NewRef(op->func_is_coroutine);
34042 op->func_is_coroutine = __Pyx_NewRef(result);
34044 __Pyx_END_CRITICAL_SECTION();
34048static void __Pyx_CyFunction_raise_argument_count_error(PyObject *func,
const char* message, Py_ssize_t size) {
34049#if CYTHON_COMPILING_IN_LIMITED_API
34050 PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL);
34051 if (!py_name)
return;
34052 PyErr_Format(PyExc_TypeError,
34053 "%.200S() %s (%" CYTHON_FORMAT_SSIZE_T
"d given)",
34054 py_name, message, size);
34055 Py_DECREF(py_name);
34057 const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name;
34058 PyErr_Format(PyExc_TypeError,
34059 "%.200s() %s (%" CYTHON_FORMAT_SSIZE_T
"d given)",
34060 name, message, size);
34063static void __Pyx_CyFunction_raise_type_error(PyObject *func,
const char* message) {
34064#if CYTHON_COMPILING_IN_LIMITED_API
34065 PyObject *py_name = __Pyx_CyFunction_get_name(func, NULL);
34066 if (!py_name)
return;
34067 PyErr_Format(PyExc_TypeError,
34070 Py_DECREF(py_name);
34072 const char* name = ((PyCFunctionObject*)func)->m_ml->ml_name;
34073 PyErr_Format(PyExc_TypeError,
34078#if CYTHON_COMPILING_IN_LIMITED_API
34080__Pyx_CyFunction_get_module(PyObject *op_in,
void *context) {
34081 CYTHON_UNUSED_VAR(context);
34082 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
34083 Py_INCREF(op->func_module);
34084 return op->func_module;
34087__Pyx_CyFunction_set_module(PyObject *op_in, PyObject* value,
void *context) {
34088 CYTHON_UNUSED_VAR(context);
34089 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
34090 if (value == NULL) {
34094 PyObject *old = op->func_module;
34095 op->func_module = value;
34100static PyGetSetDef __pyx_CyFunction_getsets[] = {
34101 {
"func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
34102 {
"__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
34103 {
"func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
34104 {
"__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
34105 {
"__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
34106#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
34107 {
"func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)PyObject_GenericSetDict, 0, 0},
34108 {
"__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)PyObject_GenericSetDict, 0, 0},
34110 {
"func_dict", (getter)PyObject_GenericGetDict, (setter)PyObject_GenericSetDict, 0, 0},
34111 {
"__dict__", (getter)PyObject_GenericGetDict, (setter)PyObject_GenericSetDict, 0, 0},
34113 {
"func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
34114 {
"__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
34115 {
"func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
34116 {
"__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
34117 {
"func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
34118 {
"__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
34119 {
"func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
34120 {
"__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
34121 {
"__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
34122 {
"__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
34123 {
"__annotate__", (getter)__Pyx_CyFunction_get_annotate, (setter)__Pyx_CyFunction_set_annotate, 0, 0},
34124#if __PYX_LIMITED_VERSION_HEX < 0x030B0000
34125 {
"_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
34127#if CYTHON_COMPILING_IN_LIMITED_API
34128 {
"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
34132static PyMemberDef __pyx_CyFunction_members[] = {
34133#if !CYTHON_COMPILING_IN_LIMITED_API
34134 {
"__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
34136#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
34137 {
"__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict),
34138 __PYX_SHARED_RELATIVE_OFFSET | READONLY, 0},
34140#if CYTHON_VECTORCALL
34141#if CYTHON_COMPILING_IN_LIMITED_API || CYTHON_COMPILING_IN_PYPY
34142 {
"__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall),
34143 __PYX_SHARED_RELATIVE_OFFSET | READONLY, 0},
34145 {
"__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
34147#if CYTHON_COMPILING_IN_LIMITED_API
34148 {
"__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist),
34149 __PYX_SHARED_RELATIVE_OFFSET | READONLY, 0},
34151 {
"__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
34157__Pyx_CyFunction_reduce(PyObject *m_in, PyObject *args)
34159 PyObject *result = NULL;
34160 __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(m_in);
34161 CYTHON_UNUSED_VAR(args);
34162 __Pyx_BEGIN_CRITICAL_SECTION(m_in);
34163 Py_INCREF(m->func_qualname);
34164 result = m->func_qualname;
34165 __Pyx_END_CRITICAL_SECTION();
34168static PyMethodDef __pyx_CyFunction_methods[] = {
34169 {
"__annotate_cython__", __Pyx_CyFunction_annotate_impl, METH_O,
34170 "Placeholder __annotate__ function to allow 'functools.wraps' to work "
34171 "on Cython functions."},
34172 {
"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_NOARGS, 0},
34176__Pyx_CyFunction_get_annotate(PyObject *op_in,
void *context) {
34177 PyObject *annotate = NULL;
34178 CYTHON_UNUSED_VAR(context);
34179 if (unlikely(__Pyx_CyFunction_get_annotate_from_dict_if_exists(op_in, &annotate) < 0))
return NULL;
34180 if (annotate)
return annotate;
34181 PyObject *method = PyCFunction_New(
34182 &__pyx_CyFunction_methods[0],
34186#if CYTHON_COMPILING_IN_LIMITED_API
34187#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
34189#define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
34191static PyObject *__Pyx_CyFunction_Init(PyObject *op_in,
34192 PyMethodDef *ml,
int flags, PyObject* qualname,
34193 PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
34194 __pyx_CyFunctionObject* op = __Pyx_as_CyFunctionObject(op_in);
34195#if !CYTHON_COMPILING_IN_LIMITED_API
34196 PyCFunctionObject *cf = (PyCFunctionObject*) op;
34198 if (unlikely(op == NULL))
34200#if CYTHON_COMPILING_IN_LIMITED_API
34201 op->func_methoddef = ml;
34203 op->func_module =
module;
34206 __Pyx_CyFunction_weakreflist(op) = NULL;
34207#if !CYTHON_COMPILING_IN_LIMITED_API
34209 cf->m_self = (PyObject *) op;
34211 Py_XINCREF(closure);
34212 op->func_closure = closure;
34213#if !CYTHON_COMPILING_IN_LIMITED_API
34214 Py_XINCREF(module);
34215 cf->m_module =
module;
34217#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
34218 op->func_dict = NULL;
34220 op->func_name = NULL;
34221 Py_INCREF(qualname);
34222 op->func_qualname = qualname;
34223 op->func_doc = NULL;
34224#if CYTHON_COMPILING_IN_LIMITED_API
34225 op->func_classobj = NULL;
34227 ((PyCMethodObject*)op)->mm_class = NULL;
34229 op->func_globals = globals;
34230 Py_INCREF(op->func_globals);
34232 op->func_code = code;
34233 op->defaults = NULL;
34234 op->defaults_tuple = NULL;
34235 op->defaults_kwdict = NULL;
34236 op->defaults_getter = NULL;
34237 op->func_annotations = NULL;
34238#if __PYX_LIMITED_VERSION_HEX < 0x030B0000
34239 op->func_is_coroutine = NULL;
34241#if CYTHON_VECTORCALL
34242 switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
34244 __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
34247 __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
34249 case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
34250 __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
34252 case METH_FASTCALL | METH_KEYWORDS:
34253 __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
34255 case METH_VARARGS | METH_KEYWORDS:
34256 __Pyx_CyFunction_func_vectorcall(op) = NULL;
34259 PyErr_SetString(PyExc_SystemError,
"Bad call flags for CyFunction");
34266static int __Pyx__CyFunction_clear(__pyx_CyFunctionObject *m)
34268 Py_CLEAR(m->func_closure);
34269#if CYTHON_COMPILING_IN_LIMITED_API
34270 Py_CLEAR(m->func_module);
34272 Py_CLEAR(((PyCFunctionObject*)m)->m_module);
34274#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
34275 Py_CLEAR(m->func_dict);
34276#elif PY_VERSION_HEX < 0x030d0000
34277 _PyObject_ClearManagedDict((PyObject*)m);
34279 PyObject_ClearManagedDict((PyObject*)m);
34281 Py_CLEAR(m->func_name);
34282 Py_CLEAR(m->func_qualname);
34283 Py_CLEAR(m->func_doc);
34284 Py_CLEAR(m->func_globals);
34285 Py_CLEAR(m->func_code);
34286#if CYTHON_COMPILING_IN_LIMITED_API
34287 Py_CLEAR(m->func_classobj);
34290 PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
34291 ((PyCMethodObject *) (m))->mm_class = NULL;
34295 Py_CLEAR(m->defaults_tuple);
34296 Py_CLEAR(m->defaults_kwdict);
34297 Py_CLEAR(m->func_annotations);
34298#if __PYX_LIMITED_VERSION_HEX < 0x030B0000
34299 Py_CLEAR(m->func_is_coroutine);
34301 Py_CLEAR(m->defaults);
34305__Pyx_CyFunction_clear(PyObject *m)
34307 return __Pyx__CyFunction_clear(__Pyx_as_CyFunctionObject(m));
34309static void __Pyx__CyFunction_dealloc(PyObject *m)
34311 __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(m);
34312 if (__Pyx_CyFunction_weakreflist(cyfunc) != NULL)
34313 PyObject_ClearWeakRefs(m);
34314 __Pyx__CyFunction_clear(cyfunc);
34315 __Pyx_PyHeapTypeObject_GC_Del(m);
34317static void __Pyx_CyFunction_dealloc(PyObject *m)
34319 PyObject_GC_UnTrack(m);
34320 __Pyx__CyFunction_dealloc(m);
34322static int __Pyx_CyFunction_traverse(PyObject *m_in, visitproc visit,
void *arg)
34324 __pyx_CyFunctionObject *m = __Pyx_as_CyFunctionObject(m_in);
34326 int e = __Pyx_call_type_traverse(m_in, 1, visit, arg);
34329 Py_VISIT(m->func_closure);
34330#if CYTHON_COMPILING_IN_LIMITED_API
34331 Py_VISIT(m->func_module);
34333 Py_VISIT(((PyCFunctionObject*)m)->m_module);
34335#if PY_VERSION_HEX < 0x030C0000 || CYTHON_COMPILING_IN_LIMITED_API
34336 Py_VISIT(m->func_dict);
34340#if PY_VERSION_HEX < 0x030d0000
34341 _PyObject_VisitManagedDict
34343 PyObject_VisitManagedDict
34345 ((PyObject*)m, visit, arg);
34346 if (e != 0)
return e;
34349 __Pyx_VISIT_CONST(m->func_name);
34350 __Pyx_VISIT_CONST(m->func_qualname);
34351 Py_VISIT(m->func_doc);
34352 Py_VISIT(m->func_globals);
34353 __Pyx_VISIT_CONST(m->func_code);
34354 Py_VISIT(__Pyx__CyFunction_GetClassObj(m));
34355 Py_VISIT(m->defaults_tuple);
34356 Py_VISIT(m->defaults_kwdict);
34357 Py_VISIT(m->func_annotations);
34358#if __PYX_LIMITED_VERSION_HEX < 0x030B0000
34359 Py_VISIT(m->func_is_coroutine);
34361 Py_VISIT(m->defaults);
34365__Pyx_CyFunction_repr(PyObject *op_in)
34367 __pyx_CyFunctionObject *op = __Pyx_as_CyFunctionObject(op_in);
34369 __Pyx_BEGIN_CRITICAL_SECTION(op_in);
34370 repr = PyUnicode_FromFormat(
"<cyfunction %U at %p>",
34371 op->func_qualname, (
void *)op);
34372 __Pyx_END_CRITICAL_SECTION();
34375static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
34376#if CYTHON_COMPILING_IN_LIMITED_API
34377 __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func);
34378 PyCFunction meth = cyfunc->func_methoddef->ml_meth;
34379 int flags = cyfunc->func_methoddef->ml_flags;
34381 PyCFunctionObject*
f = (PyCFunctionObject*)func;
34382 PyCFunction meth =
f->m_ml->ml_meth;
34383 int flags =
f->m_ml->ml_flags;
34386 switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
34388 if (likely(kw == NULL || PyDict_Size(kw) == 0))
34389 return (*meth)(self, arg);
34391 case METH_VARARGS | METH_KEYWORDS:
34392 return (*(PyCFunctionWithKeywords)(
void(*)(
void))meth)(self, arg, kw);
34394 if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
34395#if CYTHON_ASSUME_SAFE_SIZE
34396 size = PyTuple_GET_SIZE(arg);
34398 size = PyTuple_Size(arg);
34399 if (unlikely(size < 0))
return NULL;
34401 if (likely(size == 0))
34402 return (*meth)(self, NULL);
34403 __Pyx_CyFunction_raise_argument_count_error(
34405 "takes no arguments", size);
34410 if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
34411#if CYTHON_ASSUME_SAFE_SIZE
34412 size = PyTuple_GET_SIZE(arg);
34414 size = PyTuple_Size(arg);
34415 if (unlikely(size < 0))
return NULL;
34417 if (likely(size == 1)) {
34418 PyObject *result, *arg0;
34419 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
34420 arg0 = PyTuple_GET_ITEM(arg, 0);
34422 arg0 = __Pyx_PySequence_ITEM(arg, 0);
if (unlikely(!arg0))
return NULL;
34424 result = (*meth)(self, arg0);
34425 #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
34430 __Pyx_CyFunction_raise_argument_count_error(
34432 "takes exactly one argument", size);
34437 PyErr_SetString(PyExc_SystemError,
"Bad call flags for CyFunction");
34440 __Pyx_CyFunction_raise_type_error(
34441 func,
"takes no keyword arguments");
34444static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
34446 result = __Pyx_CyFunction_CallMethod(func, func, arg, kw);
34449static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
34451 __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func);
34452#if CYTHON_VECTORCALL
34453 __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
34455#if CYTHON_ASSUME_SAFE_MACROS && CYTHON_ASSUME_SAFE_SIZE
34456 return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (
size_t)PyTuple_GET_SIZE(args), kw);
34458 (void) &__Pyx_PyVectorcall_FastCallDict;
34459 return PyVectorcall_Call(func, args, kw);
34463 if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
34465 PyObject *new_args;
34467#if CYTHON_ASSUME_SAFE_SIZE
34468 argc = PyTuple_GET_SIZE(args);
34470 argc = PyTuple_Size(args);
34471 if (unlikely(argc < 0))
return NULL;
34473 new_args = PyTuple_GetSlice(args, 1, argc);
34474 if (unlikely(!new_args))
34476 self = PyTuple_GetItem(args, 0);
34477 if (unlikely(!self)) {
34478 Py_DECREF(new_args);
34479 PyErr_Format(PyExc_TypeError,
34480 "unbound method %.200S() needs an argument",
34481 cyfunc->func_qualname);
34484 result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
34485 Py_DECREF(new_args);
34487 result = __Pyx_CyFunction_Call(func, args, kw);
34491#if CYTHON_VECTORCALL
34492static CYTHON_INLINE
int __Pyx_CyFunction_Vectorcall_CheckArgs(PyObject *func, __pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
34495 if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
34496 if (unlikely(nargs < 1)) {
34497 __Pyx_CyFunction_raise_type_error(
34498 func,
"needs an argument");
34503 if (unlikely(kwnames) && unlikely(__Pyx_PyTuple_GET_SIZE(kwnames))) {
34504 __Pyx_CyFunction_raise_type_error(
34505 func,
"takes no keyword arguments");
34510static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwnames)
34512 __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func);
34513 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
34515#if CYTHON_COMPILING_IN_LIMITED_API
34516 PyCFunction meth = cyfunc->func_methoddef->ml_meth;
34517 if (unlikely(!meth))
return NULL;
34519 PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
34521 switch (__Pyx_CyFunction_Vectorcall_CheckArgs(func, cyfunc, nargs, kwnames)) {
34533 if (unlikely(nargs != 0)) {
34534 __Pyx_CyFunction_raise_argument_count_error(
34535 func,
"takes no arguments", nargs);
34538 return meth(self, NULL);
34540static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwnames)
34542 __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func);
34543 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
34545#if CYTHON_COMPILING_IN_LIMITED_API
34546 PyCFunction meth = cyfunc->func_methoddef->ml_meth;
34547 if (unlikely(!meth))
return NULL;
34549 PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
34551 switch (__Pyx_CyFunction_Vectorcall_CheckArgs(func, cyfunc, nargs, kwnames)) {
34563 if (unlikely(nargs != 1)) {
34564 __Pyx_CyFunction_raise_argument_count_error(
34565 func,
"takes exactly one argument", nargs);
34568 return meth(self, args[0]);
34570static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwnames)
34572 __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func);
34573 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
34575#if CYTHON_COMPILING_IN_LIMITED_API
34576 PyCFunction meth = cyfunc->func_methoddef->ml_meth;
34577 if (unlikely(!meth))
return NULL;
34579 PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
34581 switch (__Pyx_CyFunction_Vectorcall_CheckArgs(func, cyfunc, nargs, NULL)) {
34593 return ((__Pyx_PyCFunctionFastWithKeywords)(
void(*)(
void))meth)(self, args, nargs, kwnames);
34595static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *
const *args,
size_t nargsf, PyObject *kwnames)
34597 __pyx_CyFunctionObject *cyfunc = __Pyx_as_CyFunctionObject(func);
34598 PyTypeObject *cls = (PyTypeObject *) __Pyx__CyFunction_GetClassObj(cyfunc);
34599 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
34601#if CYTHON_COMPILING_IN_LIMITED_API
34602 PyCFunction meth = cyfunc->func_methoddef->ml_meth;
34603 if (unlikely(!meth))
return NULL;
34605 PyCFunction meth = ((PyCFunctionObject*)cyfunc)->m_ml->ml_meth;
34607 switch (__Pyx_CyFunction_Vectorcall_CheckArgs(func, cyfunc, nargs, NULL)) {
34619 #if PY_VERSION_HEX < 0x030e00A6
34620 size_t nargs_value = (size_t) nargs;
34622 Py_ssize_t nargs_value = nargs;
34624 return ((__Pyx_PyCMethod)(
void(*)(
void))meth)(self, cls, args, nargs_value, kwnames);
34627static PyType_Slot __pyx_CyFunctionType_slots[] = {
34628 {Py_tp_dealloc, (
void *)__Pyx_CyFunction_dealloc},
34629 {Py_tp_repr, (
void *)__Pyx_CyFunction_repr},
34630 {Py_tp_call, (
void *)__Pyx_CyFunction_CallAsMethod},
34631 {Py_tp_traverse, (
void *)__Pyx_CyFunction_traverse},
34632 {Py_tp_clear, (
void *)__Pyx_CyFunction_clear},
34633 {Py_tp_methods, (
void *)__pyx_CyFunction_methods},
34634 {Py_tp_members, (
void *)__pyx_CyFunction_members},
34635 {Py_tp_getset, (
void *)__pyx_CyFunction_getsets},
34636 {Py_tp_descr_get, (
void *)__Pyx_PyMethod_New},
34639static PyType_Spec __pyx_CyFunctionType_spec = {
34640 __PYX_TYPE_MODULE_PREFIX
"cython_function_or_method",
34641 __PYX_SHARED_SIZEOF(__pyx_CyFunctionObject),
34643#ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
34644 Py_TPFLAGS_METHOD_DESCRIPTOR |
34646#if CYTHON_VECTORCALL
34647#if defined(Py_TPFLAGS_HAVE_VECTORCALL)
34648 Py_TPFLAGS_HAVE_VECTORCALL |
34649#elif defined(_Py_TPFLAGS_HAVE_VECTORCALL)
34650 _Py_TPFLAGS_HAVE_VECTORCALL |
34653#if PY_VERSION_HEX >= 0x030C0000 && !CYTHON_COMPILING_IN_LIMITED_API
34654 Py_TPFLAGS_MANAGED_DICT |
34656 Py_TPFLAGS_IMMUTABLETYPE | Py_TPFLAGS_DISALLOW_INSTANTIATION |
34657 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
34658 __pyx_CyFunctionType_slots
34660static int __pyx_CyFunction_init(PyObject *module) {
34661 __pyx_mstatetype *mstate = __Pyx_PyModule_GetState(module);
34662 mstate->__pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(
34663 mstate->__pyx_CommonTypesMetaclassType, module, &__pyx_CyFunctionType_spec, NULL);
34664 if (unlikely(mstate->__pyx_CyFunctionType == NULL)) {
34671static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
int flags, PyObject* qualname,
34672 PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
34673 (void)&__Pyx_Get_CyFunction_Type;
34674 PyObject *op = __Pyx_CyFunction_Init(
34675 PyObject_GC_New(PyObject, __pyx_mstate_global->__pyx_CyFunctionType),
34676 ml, flags, qualname, closure, module, globals, code
34679 PyObject_GC_Track(op);
34683static PyTypeObject *__Pyx_Get_CyFunction_Type(
void) {
34684 PyTypeObject *tp = __pyx_mstate_global->__pyx_CyFunctionType;
34685 Py_INCREF((PyObject*)tp);
34690#if CYTHON_CLINE_IN_TRACEBACK && CYTHON_CLINE_IN_TRACEBACK_RUNTIME
34691#if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
34692#define __Pyx_PyProbablyModule_GetDict(o) __Pyx_XNewRef(PyModule_GetDict(o))
34693#elif !CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
34694#define __Pyx_PyProbablyModule_GetDict(o) PyObject_GenericGetDict(o, NULL);
34696PyObject* __Pyx_PyProbablyModule_GetDict(PyObject *o) {
34697 PyObject **dict_ptr = _PyObject_GetDictPtr(o);
34698 return dict_ptr ? __Pyx_XNewRef(*dict_ptr) : NULL;
34701static int __Pyx_CLineForTraceback(PyThreadState *tstate,
int c_line) {
34702 PyObject *use_cline = NULL;
34703 PyObject *ptype, *pvalue, *ptraceback;
34704 PyObject *cython_runtime_dict;
34705 CYTHON_MAYBE_UNUSED_VAR(tstate);
34706 if (unlikely(!__pyx_mstate_global->__pyx_cython_runtime)) {
34709 __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
34710 cython_runtime_dict = __Pyx_PyProbablyModule_GetDict(__pyx_mstate_global->__pyx_cython_runtime);
34711 if (likely(cython_runtime_dict)) {
34712 __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
34713 use_cline, cython_runtime_dict,
34714 __Pyx_PyDict_SetDefault(cython_runtime_dict, __pyx_mstate_global->__pyx_n_u_cline_in_traceback, Py_False))
34716 if (use_cline == NULL || use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
34719 Py_XDECREF(use_cline);
34720 Py_XDECREF(cython_runtime_dict);
34721 __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
34727static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries,
int count,
int code_line) {
34728 int start = 0, mid = 0, end = count - 1;
34729 if (end >= 0 && code_line > entries[end].code_line) {
34732 while (start < end) {
34733 mid = start + (end - start) / 2;
34734 if (code_line < entries[mid].code_line) {
34736 }
else if (code_line > entries[mid].code_line) {
34742 if (code_line <= entries[mid].code_line) {
34748static __Pyx_CachedCodeObjectType *__pyx__find_code_object(
struct __Pyx_CodeObjectCache *code_cache,
int code_line) {
34749 __Pyx_CachedCodeObjectType* code_object;
34751 if (unlikely(!code_line) || unlikely(!code_cache->entries)) {
34754 pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line);
34755 if (unlikely(pos >= code_cache->count) || unlikely(code_cache->entries[pos].code_line != code_line)) {
34758 code_object = code_cache->entries[pos].code_object;
34759 Py_INCREF(code_object);
34760 return code_object;
34762static __Pyx_CachedCodeObjectType *__pyx_find_code_object(
int code_line) {
34763#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS
34764 (void)__pyx__find_code_object;
34767 struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache;
34768#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
34769 __pyx_nonatomic_int_type old_count = __pyx_atomic_incr_acq_rel(&code_cache->accessor_count);
34770 if (old_count < 0) {
34771 __pyx_atomic_decr_acq_rel(&code_cache->accessor_count);
34775 __Pyx_CachedCodeObjectType *result = __pyx__find_code_object(code_cache, code_line);
34776#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
34777 __pyx_atomic_decr_acq_rel(&code_cache->accessor_count);
34782static void __pyx__insert_code_object(
struct __Pyx_CodeObjectCache *code_cache,
int code_line, __Pyx_CachedCodeObjectType* code_object)
34785 __Pyx_CodeObjectCacheEntry* entries = code_cache->entries;
34786 if (unlikely(!code_line)) {
34789 if (unlikely(!entries)) {
34790 entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*
sizeof(__Pyx_CodeObjectCacheEntry));
34791 if (likely(entries)) {
34792 code_cache->entries = entries;
34793 code_cache->max_count = 64;
34794 code_cache->count = 1;
34795 entries[0].code_line = code_line;
34796 entries[0].code_object = code_object;
34797 Py_INCREF(code_object);
34801 pos = __pyx_bisect_code_objects(code_cache->entries, code_cache->count, code_line);
34802 if ((pos < code_cache->count) && unlikely(code_cache->entries[pos].code_line == code_line)) {
34803 __Pyx_CachedCodeObjectType* tmp = entries[pos].code_object;
34804 entries[pos].code_object = code_object;
34805 Py_INCREF(code_object);
34809 if (code_cache->count == code_cache->max_count) {
34810 int new_max = code_cache->max_count + 64;
34811 entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
34812 code_cache->entries, ((
size_t)new_max) *
sizeof(__Pyx_CodeObjectCacheEntry));
34813 if (unlikely(!entries)) {
34816 code_cache->entries = entries;
34817 code_cache->max_count = new_max;
34819 for (i=code_cache->count; i>pos; i--) {
34820 entries[i] = entries[i-1];
34822 entries[pos].code_line = code_line;
34823 entries[pos].code_object = code_object;
34824 code_cache->count++;
34825 Py_INCREF(code_object);
34827static void __pyx_insert_code_object(
int code_line, __Pyx_CachedCodeObjectType* code_object) {
34828#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING && !CYTHON_ATOMICS
34829 (void)__pyx__insert_code_object;
34832 struct __Pyx_CodeObjectCache *code_cache = &__pyx_mstate_global->__pyx_code_cache;
34833#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
34834 __pyx_nonatomic_int_type expected = 0;
34835 if (!__pyx_atomic_int_cmp_exchange(&code_cache->accessor_count, &expected, INT_MIN)) {
34839 __pyx__insert_code_object(code_cache, code_line, code_object);
34840#if CYTHON_COMPILING_IN_CPYTHON_FREETHREADING
34841 __pyx_atomic_sub(&code_cache->accessor_count, INT_MIN);
34847#include "compile.h"
34848#include "frameobject.h"
34849#include "traceback.h"
34850#if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API && !defined(PYPY_VERSION)
34851 #ifndef Py_BUILD_CORE
34852 #define Py_BUILD_CORE 1
34854 #include "internal/pycore_frame.h"
34856#if CYTHON_COMPILING_IN_LIMITED_API
34857static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
34858 PyObject *firstlineno, PyObject *name) {
34859 PyObject *replace = NULL;
34860 if (unlikely(PyDict_SetItemString(scratch_dict,
"co_firstlineno", firstlineno)))
return NULL;
34861 if (unlikely(PyDict_SetItemString(scratch_dict,
"co_name", name)))
return NULL;
34862 replace = PyObject_GetAttrString(code,
"replace");
34863 if (likely(replace)) {
34864 PyObject *result = PyObject_Call(replace, __pyx_mstate_global->__pyx_empty_tuple, scratch_dict);
34865 Py_DECREF(replace);
34870static void __Pyx_AddTraceback(
const char *funcname,
int c_line,
34871 int py_line,
const char *filename) {
34872 PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
34873 PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
34874 PyObject *exc_type, *exc_value, *exc_traceback;
34877 c_line = __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
34879 __Pyx_PyErr_FetchException(&exc_type, &exc_value, &exc_traceback);
34880 code_object = __pyx_find_code_object(c_line ? -c_line : py_line);
34881 if (!code_object) {
34882 code_object = Py_CompileString(
"_getframe()", filename, Py_eval_input);
34883 if (unlikely(!code_object))
goto bad;
34884 py_py_line = PyLong_FromLong(py_line);
34885 if (unlikely(!py_py_line))
goto bad;
34887 py_funcname = PyUnicode_FromFormat(
"%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
34889 py_funcname = PyUnicode_FromString(funcname);
34891 if (unlikely(!py_funcname))
goto bad;
34892 dict = PyDict_New();
34893 if (unlikely(!dict))
goto bad;
34895 PyObject *old_code_object = code_object;
34896 code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
34897 Py_DECREF(old_code_object);
34899 if (unlikely(!code_object))
goto bad;
34900 __pyx_insert_code_object(c_line ? -c_line : py_line, code_object);
34902 dict = PyDict_New();
34904 getframe = PySys_GetObject(
"_getframe");
34905 if (unlikely(!getframe))
goto bad;
34906 if (unlikely(PyDict_SetItemString(dict,
"_getframe", getframe)))
goto bad;
34907 frame = PyEval_EvalCode(code_object, dict, dict);
34908 if (unlikely(!frame) || frame == Py_None)
goto bad;
34911 __Pyx_PyErr_RestoreException(exc_type, exc_value, exc_traceback);
34912 Py_XDECREF(code_object);
34913 Py_XDECREF(py_py_line);
34914 Py_XDECREF(py_funcname);
34916 Py_XDECREF(replace);
34919 (
struct _frame*)frame);
34924static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
34925 const char *funcname,
int c_line,
34926 int py_line,
const char *filename) {
34927 PyCodeObject *py_code = NULL;
34928 PyObject *py_funcname = NULL;
34930 py_funcname = PyUnicode_FromFormat(
"%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
34931 if (!py_funcname)
goto bad;
34932 funcname = PyUnicode_AsUTF8(py_funcname);
34933 if (!funcname)
goto bad;
34935 py_code = PyCode_NewEmpty(filename, funcname, py_line);
34936 Py_XDECREF(py_funcname);
34939 Py_XDECREF(py_funcname);
34942static void __Pyx_AddTraceback(
const char *funcname,
int c_line,
34943 int py_line,
const char *filename) {
34944 PyCodeObject *py_code = 0;
34945 PyFrameObject *py_frame = 0;
34946 PyThreadState *tstate = __Pyx_PyThreadState_Current;
34947 PyObject *ptype, *pvalue, *ptraceback;
34949 c_line = __Pyx_CLineForTraceback(tstate, c_line);
34951 py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
34953 __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
34954 py_code = __Pyx_CreateCodeObjectForTraceback(
34955 funcname, c_line, py_line, filename);
34960 Py_XDECREF(pvalue);
34961 Py_XDECREF(ptraceback);
34964 __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
34965 __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
34967 py_frame = PyFrame_New(
34970 __pyx_mstate_global->__pyx_d,
34973 if (!py_frame)
goto bad;
34974 __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
34975 PyTraceBack_Here(py_frame);
34977 Py_XDECREF(py_code);
34978 Py_XDECREF(py_frame);
34983#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
34984 __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
34985#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
34986 __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
34987#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
34989 func_type value = func_value;\
34990 if (sizeof(target_type) < sizeof(func_type)) {\
34991 if (unlikely(value != (func_type) (target_type) value)) {\
34992 func_type zero = 0;\
34993 if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
34994 return (target_type) -1;\
34995 if (is_unsigned && unlikely(value < zero))\
34996 goto raise_neg_overflow;\
34998 goto raise_overflow;\
35001 return (target_type) value;\
35005static CYTHON_INLINE PyObject *__pyx_memview_get_double(
const char *itemp) {
35006 return (PyObject *) PyFloat_FromDouble(*(
double const *) itemp);
35008static CYTHON_INLINE
int __pyx_memview_set_double(
char *itemp, PyObject *obj) {
35009 double value = __Pyx_PyFloat_AsDouble(obj);
35010 if (unlikely((value == (
double)-1) && PyErr_Occurred()))
35012 *(
double *) itemp = value;
35017#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
35019 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(
float x,
float y) {
35020 return ::std::complex< float >(x, y);
35023 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(
float x,
float y) {
35024 return x + y*(__pyx_t_float_complex)_Complex_I;
35028 static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(
float x,
float y) {
35029 __pyx_t_float_complex
z;
35037#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
35039 static CYTHON_INLINE
int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
35040 return (a.real == b.real) && (a.imag == b.imag);
35042 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
35043 __pyx_t_float_complex
z;
35044 z.real = a.real + b.real;
35045 z.imag = a.imag + b.imag;
35048 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
35049 __pyx_t_float_complex
z;
35050 z.real = a.real - b.real;
35051 z.imag = a.imag - b.imag;
35054 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
35055 __pyx_t_float_complex
z;
35056 z.real = a.real * b.real - a.imag * b.imag;
35057 z.imag = a.real * b.imag + a.imag * b.real;
35061 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
35063 return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
35064 }
else if (fabsf(b.real) >= fabsf(b.imag)) {
35065 if (b.real == 0 && b.imag == 0) {
35066 return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag);
35068 float r = b.imag / b.real;
35069 float s = (float)(1.0) / (b.real + b.imag *
r);
35070 return __pyx_t_float_complex_from_parts(
35071 (a.real + a.imag *
r) *
s, (a.imag - a.real *
r) *
s);
35074 float r = b.real / b.imag;
35075 float s = (float)(1.0) / (b.imag + b.real *
r);
35076 return __pyx_t_float_complex_from_parts(
35077 (a.real *
r + a.imag) *
s, (a.imag *
r - a.real) *
s);
35081 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
35083 return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);
35085 float denom = b.real * b.real + b.imag * b.imag;
35086 return __pyx_t_float_complex_from_parts(
35087 (a.real * b.real + a.imag * b.imag) / denom,
35088 (a.imag * b.real - a.real * b.imag) / denom);
35092 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {
35093 __pyx_t_float_complex
z;
35098 static CYTHON_INLINE
int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {
35099 return (a.real == 0) && (a.imag == 0);
35101 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {
35102 __pyx_t_float_complex
z;
35108 static CYTHON_INLINE
float __Pyx_c_abs_float(__pyx_t_float_complex
z) {
35109 #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
35110 return sqrtf(
z.real*
z.real +
z.imag*
z.imag);
35112 return hypotf(
z.real,
z.imag);
35115 static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
35116 __pyx_t_float_complex
z;
35117 float r, lnr, theta, z_r, z_theta;
35118 if (b.imag == 0 && b.real == (
int)b.real) {
35120 float denom = a.real * a.real + a.imag * a.imag;
35121 a.real = a.real / denom;
35122 a.imag = -a.imag / denom;
35125 switch ((
int)b.real) {
35133 return __Pyx_c_prod_float(a, a);
35135 z = __Pyx_c_prod_float(a, a);
35136 return __Pyx_c_prod_float(
z, a);
35138 z = __Pyx_c_prod_float(a, a);
35139 return __Pyx_c_prod_float(
z,
z);
35145 }
else if ((b.imag == 0) && (a.real >= 0)) {
35146 z.real = powf(a.real, b.real);
35149 }
else if (a.real > 0) {
35154 theta = atan2f(0.0, -1.0);
35157 r = __Pyx_c_abs_float(a);
35158 theta = atan2f(a.imag, a.real);
35161 z_r = expf(lnr * b.real - theta * b.imag);
35162 z_theta = theta * b.real + lnr * b.imag;
35163 z.real = z_r * cosf(z_theta);
35164 z.imag = z_r * sinf(z_theta);
35171#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
35173 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(
double x,
double y) {
35174 return ::std::complex< double >(x, y);
35177 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(
double x,
double y) {
35178 return x + y*(__pyx_t_double_complex)_Complex_I;
35182 static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(
double x,
double y) {
35183 __pyx_t_double_complex
z;
35191#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
35193 static CYTHON_INLINE
int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
35194 return (a.real == b.real) && (a.imag == b.imag);
35196 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
35197 __pyx_t_double_complex
z;
35198 z.real = a.real + b.real;
35199 z.imag = a.imag + b.imag;
35202 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
35203 __pyx_t_double_complex
z;
35204 z.real = a.real - b.real;
35205 z.imag = a.imag - b.imag;
35208 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
35209 __pyx_t_double_complex
z;
35210 z.real = a.real * b.real - a.imag * b.imag;
35211 z.imag = a.real * b.imag + a.imag * b.real;
35215 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
35217 return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
35218 }
else if (fabs(b.real) >= fabs(b.imag)) {
35219 if (b.real == 0 && b.imag == 0) {
35220 return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
35222 double r = b.imag / b.real;
35223 double s = (double)(1.0) / (b.real + b.imag *
r);
35224 return __pyx_t_double_complex_from_parts(
35225 (a.real + a.imag *
r) *
s, (a.imag - a.real *
r) *
s);
35228 double r = b.real / b.imag;
35229 double s = (double)(1.0) / (b.imag + b.real *
r);
35230 return __pyx_t_double_complex_from_parts(
35231 (a.real *
r + a.imag) *
s, (a.imag *
r - a.real) *
s);
35235 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
35237 return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);
35239 double denom = b.real * b.real + b.imag * b.imag;
35240 return __pyx_t_double_complex_from_parts(
35241 (a.real * b.real + a.imag * b.imag) / denom,
35242 (a.imag * b.real - a.real * b.imag) / denom);
35246 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {
35247 __pyx_t_double_complex
z;
35252 static CYTHON_INLINE
int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {
35253 return (a.real == 0) && (a.imag == 0);
35255 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {
35256 __pyx_t_double_complex
z;
35262 static CYTHON_INLINE
double __Pyx_c_abs_double(__pyx_t_double_complex
z) {
35263 #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
35264 return sqrt(
z.real*
z.real +
z.imag*
z.imag);
35266 return hypot(
z.real,
z.imag);
35269 static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
35270 __pyx_t_double_complex
z;
35271 double r, lnr, theta, z_r, z_theta;
35272 if (b.imag == 0 && b.real == (
int)b.real) {
35274 double denom = a.real * a.real + a.imag * a.imag;
35275 a.real = a.real / denom;
35276 a.imag = -a.imag / denom;
35279 switch ((
int)b.real) {
35287 return __Pyx_c_prod_double(a, a);
35289 z = __Pyx_c_prod_double(a, a);
35290 return __Pyx_c_prod_double(
z, a);
35292 z = __Pyx_c_prod_double(a, a);
35293 return __Pyx_c_prod_double(
z,
z);
35299 }
else if ((b.imag == 0) && (a.real >= 0)) {
35300 z.real = pow(a.real, b.real);
35303 }
else if (a.real > 0) {
35308 theta = atan2(0.0, -1.0);
35311 r = __Pyx_c_abs_double(a);
35312 theta = atan2(a.imag, a.real);
35315 z_r = exp(lnr * b.real - theta * b.imag);
35316 z_theta = theta * b.real + lnr * b.imag;
35317 z.real = z_r * cos(z_theta);
35318 z.imag = z_r * sin(z_theta);
35325#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
35327 static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(
long double x,
long double y) {
35328 return ::std::complex< long double >(x, y);
35331 static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(
long double x,
long double y) {
35332 return x + y*(__pyx_t_long_double_complex)_Complex_I;
35336 static CYTHON_INLINE __pyx_t_long_double_complex __pyx_t_long_double_complex_from_parts(
long double x,
long double y) {
35337 __pyx_t_long_double_complex
z;
35345#if CYTHON_CCOMPLEX && (1) && (!0 || __cplusplus)
35347 static CYTHON_INLINE
int __Pyx_c_eq_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
35348 return (a.real == b.real) && (a.imag == b.imag);
35350 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_sum_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
35351 __pyx_t_long_double_complex
z;
35352 z.real = a.real + b.real;
35353 z.imag = a.imag + b.imag;
35356 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_diff_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
35357 __pyx_t_long_double_complex
z;
35358 z.real = a.real - b.real;
35359 z.imag = a.imag - b.imag;
35362 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_prod_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
35363 __pyx_t_long_double_complex
z;
35364 z.real = a.real * b.real - a.imag * b.imag;
35365 z.imag = a.real * b.imag + a.imag * b.real;
35369 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
35371 return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.real);
35372 }
else if (fabsl(b.real) >= fabsl(b.imag)) {
35373 if (b.real == 0 && b.imag == 0) {
35374 return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.imag);
35376 long double r = b.imag / b.real;
35377 long double s = (
long double)(1.0) / (b.real + b.imag *
r);
35378 return __pyx_t_long_double_complex_from_parts(
35379 (a.real + a.imag *
r) *
s, (a.imag - a.real *
r) *
s);
35382 long double r = b.real / b.imag;
35383 long double s = (
long double)(1.0) / (b.imag + b.real *
r);
35384 return __pyx_t_long_double_complex_from_parts(
35385 (a.real *
r + a.imag) *
s, (a.imag *
r - a.real) *
s);
35389 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_quot_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
35391 return __pyx_t_long_double_complex_from_parts(a.real / b.real, a.imag / b.real);
35393 long double denom = b.real * b.real + b.imag * b.imag;
35394 return __pyx_t_long_double_complex_from_parts(
35395 (a.real * b.real + a.imag * b.imag) / denom,
35396 (a.imag * b.real - a.real * b.imag) / denom);
35400 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_neg_long__double(__pyx_t_long_double_complex a) {
35401 __pyx_t_long_double_complex
z;
35406 static CYTHON_INLINE
int __Pyx_c_is_zero_long__double(__pyx_t_long_double_complex a) {
35407 return (a.real == 0) && (a.imag == 0);
35409 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_conj_long__double(__pyx_t_long_double_complex a) {
35410 __pyx_t_long_double_complex
z;
35416 static CYTHON_INLINE
long double __Pyx_c_abs_long__double(__pyx_t_long_double_complex
z) {
35417 #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
35418 return sqrtl(
z.real*
z.real +
z.imag*
z.imag);
35420 return hypotl(
z.real,
z.imag);
35423 static CYTHON_INLINE __pyx_t_long_double_complex __Pyx_c_pow_long__double(__pyx_t_long_double_complex a, __pyx_t_long_double_complex b) {
35424 __pyx_t_long_double_complex
z;
35425 long double r, lnr, theta, z_r, z_theta;
35426 if (b.imag == 0 && b.real == (
int)b.real) {
35428 long double denom = a.real * a.real + a.imag * a.imag;
35429 a.real = a.real / denom;
35430 a.imag = -a.imag / denom;
35433 switch ((
int)b.real) {
35441 return __Pyx_c_prod_long__double(a, a);
35443 z = __Pyx_c_prod_long__double(a, a);
35444 return __Pyx_c_prod_long__double(
z, a);
35446 z = __Pyx_c_prod_long__double(a, a);
35447 return __Pyx_c_prod_long__double(
z,
z);
35453 }
else if ((b.imag == 0) && (a.real >= 0)) {
35454 z.real = powl(a.real, b.real);
35457 }
else if (a.real > 0) {
35462 theta = atan2l(0.0, -1.0);
35465 r = __Pyx_c_abs_long__double(a);
35466 theta = atan2l(a.imag, a.real);
35469 z_r = expl(lnr * b.real - theta * b.imag);
35470 z_theta = theta * b.real + lnr * b.imag;
35471 z.real = z_r * cosl(z_theta);
35472 z.imag = z_r * sinl(z_theta);
35480#ifndef _Py_NO_RETURN
35481#define _Py_NO_RETURN
35484static void __pyx_fatalerror(
const char *fmt, ...) {
35487#if PY_VERSION_HEX >= 0x030A0000 || defined(HAVE_STDARG_PROTOTYPES)
35488 va_start(vargs, fmt);
35492 vsnprintf(msg, 200, fmt, vargs);
35494 Py_FatalError(msg);
35496static CYTHON_INLINE
int
35497__pyx_add_acquisition_count_locked(__pyx_atomic_int_type *acquisition_count,
35498 PyThread_type_lock lock)
35501 PyThread_acquire_lock(lock, 1);
35502 result = (*acquisition_count)++;
35503 PyThread_release_lock(lock);
35506static CYTHON_INLINE
int
35507__pyx_sub_acquisition_count_locked(__pyx_atomic_int_type *acquisition_count,
35508 PyThread_type_lock lock)
35511 PyThread_acquire_lock(lock, 1);
35512 result = (*acquisition_count)--;
35513 PyThread_release_lock(lock);
35516static CYTHON_INLINE
void
35517__Pyx_INC_MEMVIEW(__Pyx_memviewslice *memslice,
int have_gil,
int lineno)
35519 __pyx_nonatomic_int_type old_acquisition_count;
35520 struct __pyx_memoryview_obj *memview = memslice->memview;
35521 if (unlikely(!memview || (PyObject *) memview == Py_None)) {
35524 old_acquisition_count = __pyx_add_acquisition_count(memview);
35525 if (unlikely(old_acquisition_count <= 0)) {
35526 if (likely(old_acquisition_count == 0)) {
35528 Py_INCREF((PyObject *) memview);
35530 PyGILState_STATE _gilstate = PyGILState_Ensure();
35531 Py_INCREF((PyObject *) memview);
35532 PyGILState_Release(_gilstate);
35535 __pyx_fatalerror(
"Acquisition count is %d (line %d)",
35536 old_acquisition_count+1, lineno);
35540static CYTHON_INLINE
void __Pyx_XCLEAR_MEMVIEW(__Pyx_memviewslice *memslice,
35541 int have_gil,
int lineno) {
35542 __pyx_nonatomic_int_type old_acquisition_count;
35543 struct __pyx_memoryview_obj *memview = memslice->memview;
35544 if (unlikely(!memview || (PyObject *) memview == Py_None)) {
35545 memslice->memview = NULL;
35548 old_acquisition_count = __pyx_sub_acquisition_count(memview);
35549 memslice->data = NULL;
35550 if (likely(old_acquisition_count > 1)) {
35551 memslice->memview = NULL;
35552 }
else if (likely(old_acquisition_count == 1)) {
35554 Py_CLEAR(memslice->memview);
35556 PyGILState_STATE _gilstate = PyGILState_Ensure();
35557 Py_CLEAR(memslice->memview);
35558 PyGILState_Release(_gilstate);
35561 __pyx_fatalerror(
"Acquisition count is %d (line %d)",
35562 old_acquisition_count-1, lineno);
35568__pyx_memviewslice_is_contig(
const __Pyx_memviewslice mvs,
char order,
int ndim)
35570 int i, index, step, start;
35571 Py_ssize_t itemsize = mvs.memview->view.itemsize;
35572 if (order ==
'F') {
35579 for (i = 0; i < ndim; i++) {
35580 index = start + step * i;
35581 if (mvs.suboffsets[index] >= 0 || mvs.strides[index] != itemsize)
35583 itemsize *= mvs.shape[index];
35590__pyx_get_array_memory_extents(__Pyx_memviewslice *slice,
35591 void **out_start,
void **out_end,
35592 int ndim,
size_t itemsize)
35596 start = end = slice->data;
35597 for (i = 0; i < ndim; i++) {
35598 Py_ssize_t stride = slice->strides[i];
35599 Py_ssize_t extent = slice->shape[i];
35601 *out_start = *out_end = start;
35605 end += stride * (extent - 1);
35607 start += stride * (extent - 1);
35610 *out_start = start;
35611 *out_end = end + itemsize;
35614__pyx_slices_overlap(__Pyx_memviewslice *slice1,
35615 __Pyx_memviewslice *slice2,
35616 int ndim,
size_t itemsize)
35618 void *start1, *end1, *start2, *end2;
35619 __pyx_get_array_memory_extents(slice1, &start1, &end1, ndim, itemsize);
35620 __pyx_get_array_memory_extents(slice2, &start2, &end2, ndim, itemsize);
35621 return (start1 < end2) && (start2 < end1);
35626__Pyx_init_memviewslice(
struct __pyx_memoryview_obj *memview,
35628 __Pyx_memviewslice *memviewslice,
35629 int memview_is_new_reference)
35631 __Pyx_RefNannyDeclarations
35633 Py_buffer *buf = &memview->view;
35634 __Pyx_RefNannySetupContext(
"init_memviewslice", 0);
35635 if (unlikely(memviewslice->memview || memviewslice->data)) {
35636 PyErr_SetString(PyExc_ValueError,
35637 "memviewslice is already initialized!");
35640 if (buf->strides) {
35641 for (i = 0; i < ndim; i++) {
35642 memviewslice->strides[i] = buf->strides[i];
35645 Py_ssize_t stride = buf->itemsize;
35646 for (i = ndim - 1; i >= 0; i--) {
35647 memviewslice->strides[i] = stride;
35648 stride *= buf->shape[i];
35651 for (i = 0; i < ndim; i++) {
35652 memviewslice->shape[i] = buf->shape[i];
35653 if (buf->suboffsets) {
35654 memviewslice->suboffsets[i] = buf->suboffsets[i];
35656 memviewslice->suboffsets[i] = -1;
35659 memviewslice->memview = memview;
35660 memviewslice->data = (
char *)buf->buf;
35661 if (__pyx_add_acquisition_count(memview) == 0 && !memview_is_new_reference) {
35662 Py_INCREF((PyObject*)memview);
35667 memviewslice->memview = 0;
35668 memviewslice->data = 0;
35671 __Pyx_RefNannyFinishContext();
35676static void __pyx_memoryview_slice_memviewslice_err_dim(PyObject *error,
const char* msg,
int dim) {
35677 PyGILState_STATE gilstate = PyGILState_Ensure();
35678 PyErr_Format(error, msg, dim);
35679 PyGILState_Release(gilstate);
35681static CYTHON_INLINE
int __pyx_memoryview_slice_memviewslice(
35682 __Pyx_memviewslice *dst,
35683 Py_ssize_t shape, Py_ssize_t stride, Py_ssize_t suboffset,
35684 int dim,
int new_ndim,
int *suboffset_dim,
35685 Py_ssize_t start, Py_ssize_t stop, Py_ssize_t step,
35686 int have_start,
int have_stop,
int have_step,
35692 if (unlikely(!(0 <= start && start < shape))) {
35693 __pyx_memoryview_slice_memviewslice_err_dim(PyExc_IndexError,
"Index out of bounds (axis %d)", dim);
35699 negative_step = step < 0;
35700 if (unlikely(step == 0)) {
35701 __pyx_memoryview_slice_memviewslice_err_dim(PyExc_ValueError,
"Step may not be zero (axis %d)", dim);
35714 }
else if (start >= shape) {
35715 start = negative_step ? (shape - 1) : shape;
35718 start = negative_step ? (shape - 1) : 0;
35726 }
else if (stop > shape) {
35730 stop = negative_step ? -1 : shape;
35732 Py_ssize_t new_shape = (stop - start) / step;
35733 if ((stop - start) - step * new_shape) {
35736 if (new_shape < 0) {
35739 dst->strides[new_ndim] = stride * step;
35740 dst->shape[new_ndim] = new_shape;
35741 dst->suboffsets[new_ndim] = suboffset;
35743 if (suboffset_dim[0] < 0) {
35744 dst->data += start * stride;
35746 dst->suboffsets[suboffset_dim[0]] += start * stride;
35748 if (suboffset >= 0) {
35750 if (likely(new_ndim == 0)) {
35751 dst->data = ((
char **)(dst->data))[0] + suboffset;
35753 __pyx_memoryview_slice_memviewslice_err_dim(
35755 "All dimensions preceding dimension %d must be indexed and not sliced",
35760 suboffset_dim[0] = new_ndim;
35767static int __Pyx_LargePyLong___Pyx_PyLong_As_int(PyObject *x);
35768static int __Pyx_raise_neg_overflow___Pyx_PyLong_As_int(
void) {
35769 const char* type_name =
"int";
35770 PyErr_Format(PyExc_OverflowError,
35771 "can't convert negative value to %.200s", type_name);
35774static int __Pyx_raise_overflow___Pyx_PyLong_As_int(
void) {
35775 const char* type_name =
"int";
35776 PyErr_Format(PyExc_OverflowError,
35777 "value too large to convert to %.200s", type_name);
35780static CYTHON_INLINE
int __Pyx_PyULong___Pyx_PyLong_As_int(PyObject *x) {
35781 const int is_unsigned = 1;
35782#if CYTHON_USE_PYLONG_INTERNALS
35784 const digit* digits = __Pyx_PyLong_Digits(x);
35785 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
35786 if (size == 2 && (8 *
sizeof(
int) > 1 * PyLong_SHIFT)) {
35787 if ((8 *
sizeof(
unsigned long) > 2 * PyLong_SHIFT)) {
35788 __PYX_VERIFY_RETURN_INT(
int,
unsigned long, (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
35789 }
else if ((8 *
sizeof(
int) >= 2 * PyLong_SHIFT)) {
35790 return (
int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
35793 if (size == 3 && (8 *
sizeof(
int) > 2 * PyLong_SHIFT)) {
35794 if ((8 *
sizeof(
unsigned long) > 3 * PyLong_SHIFT)) {
35795 __PYX_VERIFY_RETURN_INT(
int,
unsigned long, (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
35796 }
else if ((8 *
sizeof(
int) >= 3 * PyLong_SHIFT)) {
35797 return (
int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
35800 if (size == 4 && (8 *
sizeof(
int) > 3 * PyLong_SHIFT)) {
35801 if ((8 *
sizeof(
unsigned long) > 4 * PyLong_SHIFT)) {
35802 __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])))
35803 }
else if ((8 *
sizeof(
int) >= 4 * PyLong_SHIFT)) {
35804 return (
int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
35809#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
35810 if (unlikely(Py_SIZE(x) < 0)) {
35811 goto raise_neg_overflow;
35815 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
35816 if (unlikely(result < 0))
35818 if (unlikely(result == 1))
35819 goto raise_neg_overflow;
35822 if ((
sizeof(
int) <=
sizeof(
unsigned long))) {
35823 __PYX_VERIFY_RETURN_INT_EXC(
int,
unsigned long, PyLong_AsUnsignedLong(x))
35824 }
else if ((
sizeof(
int) <=
sizeof(
unsigned PY_LONG_LONG))) {
35825 __PYX_VERIFY_RETURN_INT_EXC(
int,
unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
35827 return __Pyx_LargePyLong___Pyx_PyLong_As_int(x);
35829 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_int();
35831 return __Pyx_raise_overflow___Pyx_PyLong_As_int();
35833static CYTHON_INLINE
int __Pyx_PySLong___Pyx_PyLong_As_int(PyObject *x) {
35834 const int is_unsigned = 0;
35835#if CYTHON_USE_PYLONG_INTERNALS
35836 if (__Pyx_PyLong_IsNeg(x)) {
35837 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
35838 const digit* digits = __Pyx_PyLong_Digits(x);
35839 if (size == 2 && (8 *
sizeof(
int) > 1 * PyLong_SHIFT)) {
35840 if ((8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
35841 long ival = - (long) (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
35842 __PYX_VERIFY_RETURN_INT(
int,
long, ival)
35843 }
else if ((8 *
sizeof(
int) - 1 > 2 * PyLong_SHIFT)) {
35844 return (
int) (((int) -1) * (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
35847 if (size == 3 && (8 *
sizeof(
int) > 2 * PyLong_SHIFT)) {
35848 if ((8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
35849 long ival = - (long) (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
35850 __PYX_VERIFY_RETURN_INT(
int,
long, ival)
35851 }
else if ((8 *
sizeof(
int) - 1 > 3 * PyLong_SHIFT)) {
35852 return (
int) (((int) -1) * (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
35855 if (size == 4 && (8 *
sizeof(
int) > 3 * PyLong_SHIFT)) {
35856 if ((8 *
sizeof(
long) > 4 * PyLong_SHIFT)) {
35857 long ival = - (long) (((((((((
unsigned long)digits[3]) << PyLong_SHIFT) | (
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
35858 __PYX_VERIFY_RETURN_INT(
int,
long, ival)
35859 }
else if ((8 *
sizeof(
int) - 1 > 4 * PyLong_SHIFT)) {
35860 return (
int) (((int) -1) * (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
35865 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
35866 const digit* digits = __Pyx_PyLong_Digits(x);
35867 if (size == 2 && (8 *
sizeof(
int) > 1 * PyLong_SHIFT)) {
35868 if ((8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
35869 __PYX_VERIFY_RETURN_INT(
int,
unsigned long, (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
35870 }
else if ((8 *
sizeof(
int) - 1 > 2 * PyLong_SHIFT)) {
35871 return (
int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
35874 if (size == 3 && (8 *
sizeof(
int) > 2 * PyLong_SHIFT)) {
35875 if ((8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
35876 __PYX_VERIFY_RETURN_INT(
int,
unsigned long, (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
35877 }
else if ((8 *
sizeof(
int) - 1 > 3 * PyLong_SHIFT)) {
35878 return (
int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
35881 if (size == 4 && (8 *
sizeof(
int) > 3 * PyLong_SHIFT)) {
35882 if ((8 *
sizeof(
long) > 4 * PyLong_SHIFT)) {
35883 __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])))
35884 }
else if ((8 *
sizeof(
int) - 1 > 4 * PyLong_SHIFT)) {
35885 return (
int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
35891 #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
35892 if ((
sizeof(
int) <=
sizeof(
int)) && (
sizeof(
int) <
sizeof(
long))) {
35893 __PYX_VERIFY_RETURN_INT_EXC(
int,
int, PyLong_AsInt(x))
35896 if ((
sizeof(
int) <=
sizeof(
long))) {
35897 __PYX_VERIFY_RETURN_INT_EXC(
int,
long, PyLong_AsLong(x))
35898 }
else if ((
sizeof(
int) <=
sizeof(PY_LONG_LONG))) {
35899 __PYX_VERIFY_RETURN_INT_EXC(
int, PY_LONG_LONG, PyLong_AsLongLong(x))
35901 return __Pyx_LargePyLong___Pyx_PyLong_As_int(x);
35903 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_int();
35905 return __Pyx_raise_overflow___Pyx_PyLong_As_int();
35907static int __Pyx_LargePyLong___Pyx_PyLong_As_int(PyObject *x) {
35908#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
35909#pragma GCC diagnostic push
35910#pragma GCC diagnostic ignored "-Wconversion"
35912 const int neg_one = (int) -1, const_zero = (
int) 0;
35913#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
35914#pragma GCC diagnostic pop
35916 const int is_unsigned = neg_one > const_zero;
35919#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
35920 Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
35921 x, &val,
sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
35922 if (unlikely(bytes_copied == -1)) {
35923 }
else if (unlikely(bytes_copied > (Py_ssize_t)
sizeof(val))) {
35924 goto raise_overflow;
35928#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
35929 int one = 1;
int is_little = (int)*(
unsigned char *)&one;
35930 unsigned char *bytes = (
unsigned char *)&val;
35931 ret = _PyLong_AsByteArray((PyLongObject *)x,
35932 bytes,
sizeof(val),
35933 is_little, !is_unsigned);
35934 if ((0))
goto raise_overflow;
35937 PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
35938 int bits, remaining_bits, is_negative = 0;
35939 int chunk_size = (
sizeof(long) < 8) ? 30 : 62;
35940 if (likely(PyLong_CheckExact(x))) {
35941 v = __Pyx_NewRef(x);
35943 v = PyNumber_Long(x);
35944 if (unlikely(!
v))
return (
int) -1;
35945 assert(PyLong_CheckExact(
v));
35948 int result = PyObject_RichCompareBool(
v, Py_False, Py_LT);
35949 if (unlikely(result < 0)) {
35953 is_negative = result == 1;
35955 if (is_unsigned && unlikely(is_negative)) {
35957 PyErr_SetString(PyExc_OverflowError,
35958 "can't convert negative value to int");
35960 }
else if (is_negative) {
35961 stepval = PyNumber_Invert(
v);
35963 if (unlikely(!stepval))
35970 mask = PyLong_FromLong((1L << chunk_size) - 1);
if (unlikely(!mask))
goto done;
35971 shift = PyLong_FromLong(chunk_size);
if (unlikely(!shift))
goto done;
35972 for (bits = 0; bits < (int)
sizeof(int) * 8 - chunk_size; bits += chunk_size) {
35973 PyObject *tmp, *digit;
35975 digit = PyNumber_And(stepval, mask);
35976 if (unlikely(!digit))
goto done;
35977 idigit = PyLong_AsLong(digit);
35979 if (unlikely(idigit < 0))
goto done;
35980 val |= ((int) idigit) << bits;
35981 tmp = PyNumber_Rshift(stepval, shift);
35982 if (unlikely(!tmp))
goto done;
35983 Py_DECREF(stepval); stepval = tmp;
35985 Py_DECREF(shift); shift = NULL;
35986 Py_DECREF(mask); mask = NULL;
35988 long idigit = PyLong_AsLong(stepval);
35989 if (unlikely(idigit < 0))
goto done;
35990 remaining_bits = ((int)
sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1);
35991 if (unlikely(idigit >= (1L << remaining_bits)))
35992 goto raise_overflow;
35993 val |= ((int) idigit) << bits;
35995 if (!is_unsigned) {
35996 if (unlikely(val & (((
int) 1) << (
sizeof(
int) * 8 - 1))))
35997 goto raise_overflow;
36005 Py_XDECREF(stepval);
36011 return __Pyx_raise_overflow___Pyx_PyLong_As_int();
36013static CYTHON_INLINE
int __Pyx_PyLong___Pyx_PyLong_As_int(PyObject *x) {
36014#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36015#pragma GCC diagnostic push
36016#pragma GCC diagnostic ignored "-Wconversion"
36018 const int neg_one = (int) -1, const_zero = (
int) 0;
36019#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36020#pragma GCC diagnostic pop
36022 const int is_unsigned = neg_one > const_zero;
36024 #if CYTHON_USE_PYLONG_INTERNALS
36025 if (unlikely(__Pyx_PyLong_IsNeg(x))) {
36026 goto raise_neg_overflow;
36027 }
else if (__Pyx_PyLong_IsCompact(x)) {
36028 __PYX_VERIFY_RETURN_INT(
int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
36032 return __Pyx_PyULong___Pyx_PyLong_As_int(x);
36035 #if CYTHON_USE_PYLONG_INTERNALS
36036 if (__Pyx_PyLong_IsCompact(x)) {
36037 __PYX_VERIFY_RETURN_INT(
int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
36041 return __Pyx_PySLong___Pyx_PyLong_As_int(x);
36044#if CYTHON_USE_PYLONG_INTERNALS
36046 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_int();
36048 return __Pyx_raise_overflow___Pyx_PyLong_As_int();
36051static int __Pyx_NonPyLong___Pyx_PyLong_As_int(PyObject *x) {
36053 PyObject *tmp = __Pyx_PyNumber_Long(x);
36054 if (!tmp)
return (
int) -1;
36055 val = __Pyx_PyLong_As_int(tmp);
36059static CYTHON_INLINE
int __Pyx_PyLong_As_int(PyObject *x) {
36060 if (likely(PyLong_Check(x))) {
36061 return __Pyx_PyLong___Pyx_PyLong_As_int(x);
36063 return __Pyx_NonPyLong___Pyx_PyLong_As_int(x);
36068#if CYTHON_VECTORCALL
36069CYTHON_UNUSED
static int __Pyx_CheckVectorcallKwarg(PyObject *kwnames, Py_ssize_t i) {
36070 PyObject *key = __Pyx_PyTuple_GET_ITEM(kwnames, i);
36071#if !CYTHON_ASSUME_SAFE_MACROS
36072 if (unlikely(!key))
return -1;
36074 if (unlikely(!PyUnicode_Check(key))) {
36075 PyErr_SetString(PyExc_TypeError,
"keywords must be strings");
36081CYTHON_UNUSED
static PyObject *__Pyx_MakeKwargDict(PyObject **keys, PyObject **values, Py_ssize_t
n) {
36082 PyObject *out = PyDict_New();
36083 if (unlikely(!out))
return NULL;
36084 for (Py_ssize_t i=0; i<
n; ++i) {
36085 if (unlikely(PyDict_SetItem(out, keys[i], values[i]) < 0)) {
36092CYTHON_UNUSED
static int __Pyx_CheckVectorcallKwarg(PyObject **kwnames, Py_ssize_t i) {
36093 PyObject *key = kwnames[i];
36094 if (unlikely(!PyUnicode_Check(key))) {
36095 PyErr_SetString(PyExc_TypeError,
"keywords must be strings");
36103#if !CYTHON_VECTORCALL
36104static PyObject *__Pyx_Object_VectorcallMethodKwds(PyObject *name, PyObject *
const *args,
size_t nargsf, PyObject *kwnames) {
36106 PyObject *obj = PyObject_GetAttr(args[0], name);
36107 if (unlikely(!obj))
36109 result = __Pyx_Object_VectorcallKwds(obj, args+1, nargsf-1, kwnames);
36116static CYTHON_INLINE PyObject* __Pyx_PyLong_From_int(
int value) {
36117#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36118#pragma GCC diagnostic push
36119#pragma GCC diagnostic ignored "-Wconversion"
36121 const int neg_one = (int) -1, const_zero = (
int) 0;
36122#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36123#pragma GCC diagnostic pop
36125 const int is_unsigned = neg_one > const_zero;
36127 if (
sizeof(
int) <
sizeof(
long)) {
36128 return PyLong_FromLong((
long) value);
36129 }
else if (
sizeof(
int) <=
sizeof(
unsigned long)) {
36130 return PyLong_FromUnsignedLong((
unsigned long) value);
36131#if !CYTHON_COMPILING_IN_PYPY
36132 }
else if (
sizeof(
int) <=
sizeof(
unsigned PY_LONG_LONG)) {
36133 return PyLong_FromUnsignedLongLong((
unsigned PY_LONG_LONG) value);
36137 if (
sizeof(
int) <=
sizeof(
long)) {
36138 return PyLong_FromLong((
long) value);
36139 }
else if (
sizeof(
int) <=
sizeof(PY_LONG_LONG)) {
36140 return PyLong_FromLongLong((PY_LONG_LONG) value);
36144 unsigned char *bytes = (
unsigned char *)&value;
36145#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
36147 return PyLong_FromUnsignedNativeBytes(bytes,
sizeof(value), -1);
36149 return PyLong_FromNativeBytes(bytes,
sizeof(value), -1);
36151#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
36152 int one = 1;
int little = (int)*(
unsigned char *)&one;
36153 return _PyLong_FromByteArray(bytes,
sizeof(
int),
36154 little, !is_unsigned);
36156 int one = 1;
int little = (int)*(
unsigned char *)&one;
36157 PyObject *result = NULL, *kwds = NULL;
36158 PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;;
36159 py_bytes = PyBytes_FromStringAndSize((
char*)bytes,
sizeof(
int));
36160 if (!py_bytes)
goto limited_bad;
36161 from_bytes_str = PyUnicode_FromStringAndSize(
"from_bytes", 10);
36162 if (!from_bytes_str)
goto limited_bad;
36163 order_str = PyUnicode_FromString(little ?
"little" :
"big");
36164 if (!order_str)
goto limited_bad;
36166 PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True };
36167 if (!is_unsigned) {
36168 PyObject *signed_str = PyUnicode_FromStringAndSize(
"signed", 6);
36169 if (!signed_str)
goto limited_bad;
36170#if CYTHON_VECTORCALL
36171 kwds = PyTuple_Pack(1, signed_str);
36174 PyObject *keys[] = {signed_str};
36175 PyObject *values[] = {Py_True};
36176 kwds = __Pyx_MakeKwargDict(keys, values, 1);
36179 Py_DECREF(signed_str);
36180 if (unlikely(!kwds))
goto limited_bad;
36182 result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
36186 Py_XDECREF(order_str);
36187 Py_XDECREF(py_bytes);
36188 Py_XDECREF(from_bytes_str);
36195static CYTHON_INLINE PyObject* __Pyx_PyLong_From_long(
long value) {
36196#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36197#pragma GCC diagnostic push
36198#pragma GCC diagnostic ignored "-Wconversion"
36200 const long neg_one = (long) -1, const_zero = (
long) 0;
36201#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36202#pragma GCC diagnostic pop
36204 const int is_unsigned = neg_one > const_zero;
36206 if (
sizeof(
long) <
sizeof(
long)) {
36207 return PyLong_FromLong((
long) value);
36208 }
else if (
sizeof(
long) <=
sizeof(
unsigned long)) {
36209 return PyLong_FromUnsignedLong((
unsigned long) value);
36210#if !CYTHON_COMPILING_IN_PYPY
36211 }
else if (
sizeof(
long) <=
sizeof(
unsigned PY_LONG_LONG)) {
36212 return PyLong_FromUnsignedLongLong((
unsigned PY_LONG_LONG) value);
36216 if (
sizeof(
long) <=
sizeof(
long)) {
36217 return PyLong_FromLong((
long) value);
36218 }
else if (
sizeof(
long) <=
sizeof(PY_LONG_LONG)) {
36219 return PyLong_FromLongLong((PY_LONG_LONG) value);
36223 unsigned char *bytes = (
unsigned char *)&value;
36224#if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
36226 return PyLong_FromUnsignedNativeBytes(bytes,
sizeof(value), -1);
36228 return PyLong_FromNativeBytes(bytes,
sizeof(value), -1);
36230#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
36231 int one = 1;
int little = (int)*(
unsigned char *)&one;
36232 return _PyLong_FromByteArray(bytes,
sizeof(
long),
36233 little, !is_unsigned);
36235 int one = 1;
int little = (int)*(
unsigned char *)&one;
36236 PyObject *result = NULL, *kwds = NULL;
36237 PyObject *py_bytes = NULL, *order_str = NULL, *from_bytes_str = NULL;;
36238 py_bytes = PyBytes_FromStringAndSize((
char*)bytes,
sizeof(
long));
36239 if (!py_bytes)
goto limited_bad;
36240 from_bytes_str = PyUnicode_FromStringAndSize(
"from_bytes", 10);
36241 if (!from_bytes_str)
goto limited_bad;
36242 order_str = PyUnicode_FromString(little ?
"little" :
"big");
36243 if (!order_str)
goto limited_bad;
36245 PyObject *args[] = { (PyObject*)&PyLong_Type, py_bytes, order_str, Py_True };
36246 if (!is_unsigned) {
36247 PyObject *signed_str = PyUnicode_FromStringAndSize(
"signed", 6);
36248 if (!signed_str)
goto limited_bad;
36249#if CYTHON_VECTORCALL
36250 kwds = PyTuple_Pack(1, signed_str);
36253 PyObject *keys[] = {signed_str};
36254 PyObject *values[] = {Py_True};
36255 kwds = __Pyx_MakeKwargDict(keys, values, 1);
36258 Py_DECREF(signed_str);
36259 if (unlikely(!kwds))
goto limited_bad;
36261 result = __Pyx_Object_VectorcallMethodKwds(from_bytes_str, args, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET, kwds);
36265 Py_XDECREF(order_str);
36266 Py_XDECREF(py_bytes);
36267 Py_XDECREF(from_bytes_str);
36274static struct __pyx_typeinfo_string __Pyx_TypeInfoToFormat(
const __Pyx_TypeInfo *type) {
36275 struct __pyx_typeinfo_string result = { {0} };
36276 char *buf = (
char *) result.string;
36277 size_t size = type->size;
36278 switch (type->typegroup) {
36285 *buf = (type->is_unsigned) ?
'B' :
'b';
36286 else if (size == 2)
36287 *buf = (type->is_unsigned) ?
'H' :
'h';
36288 else if (size == 4)
36289 *buf = (type->is_unsigned) ?
'I' :
'i';
36290 else if (size == 8)
36291 *buf = (type->is_unsigned) ?
'Q' :
'q';
36298 __Pyx_TypeInfo complex_type = *type;
36299 complex_type.typegroup =
'R';
36300 complex_type.size /= 2;
36302 *buf = __Pyx_TypeInfoToFormat(&complex_type).string[0];
36308 else if (size == 8)
36318static __Pyx_memviewslice
36319__pyx_memoryview_copy_new_contig(
const __Pyx_memviewslice *from_mvs,
36320 const char *mode,
int ndim,
36321 Py_ssize_t sizeof_dtype,
int contig_flag,
36322 int dtype_is_object)
36324 __Pyx_RefNannyDeclarations
36326 __Pyx_memviewslice new_mvs = __Pyx_MEMSLICE_INIT;
36327 struct __pyx_memoryview_obj *from_memview = from_mvs->memview;
36328 Py_buffer *buf = &from_memview->view;
36329 PyObject *shape_tuple = NULL;
36330 struct __pyx_array_obj *array_obj = NULL;
36331 struct __pyx_memoryview_obj *memview_obj = NULL;
36332 __Pyx_RefNannySetupContext(
"__pyx_memoryview_copy_new_contig", 0);
36333 for (i = 0; i < ndim; i++) {
36334 if (unlikely(from_mvs->suboffsets[i] >= 0)) {
36335 PyErr_Format(PyExc_ValueError,
"Cannot copy memoryview slice with "
36336 "indirect dimensions (axis %d)", i);
36340 shape_tuple = PyTuple_New(ndim);
36341 if (unlikely(!shape_tuple)) {
36344 __Pyx_GOTREF(shape_tuple);
36345 for(i = 0; i < ndim; i++) {
36346 PyObject *temp_int = PyLong_FromSsize_t(from_mvs->shape[i]);
36347 if(unlikely(!temp_int)) {
36350#if CYTHON_ASSUME_SAFE_MACROS
36351 PyTuple_SET_ITEM(shape_tuple, i, temp_int);
36353 if (PyTuple_SetItem(shape_tuple, i, temp_int) < 0) {
36359 array_obj = __pyx_array_new(shape_tuple, sizeof_dtype, buf->format, mode, NULL);
36360 if (unlikely(!array_obj)) {
36363 __Pyx_GOTREF(array_obj);
36364 memview_obj = (
struct __pyx_memoryview_obj *) __pyx_memoryview_new(
36365 (PyObject *) array_obj, contig_flag,
36367 from_mvs->memview->typeinfo);
36368 if (unlikely(!memview_obj))
36370 if (unlikely(__Pyx_init_memviewslice(memview_obj, ndim, &new_mvs, 1) < 0))
36372 if (unlikely(__pyx_memoryview_copy_contents(*from_mvs, new_mvs, ndim, ndim,
36373 dtype_is_object) < 0))
36377 __Pyx_XDECREF((PyObject *) new_mvs.memview);
36378 new_mvs.memview = NULL;
36379 new_mvs.data = NULL;
36381 __Pyx_XDECREF(shape_tuple);
36382 __Pyx_XDECREF((PyObject *) array_obj);
36383 __Pyx_RefNannyFinishContext();
36388static int __Pyx__UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index) {
36389 PyObject *state_dict = __Pyx_PySequence_ITEM(state, index);
36390 if (unlikely(!state_dict)) {
36393 int non_empty = PyObject_IsTrue(state_dict);
36394 if (non_empty == 0) {
36395 Py_DECREF(state_dict);
36397 }
else if (unlikely(non_empty == -1)) {
36401 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030A0000
36402 dict = PyObject_GetAttrString(obj,
"__dict__");
36404 dict = PyObject_GenericGetDict(obj, NULL);
36406 if (unlikely(!dict)) {
36407 Py_DECREF(state_dict);
36411 if (likely(PyDict_CheckExact(dict))) {
36412 result = PyDict_Update(dict, state_dict);
36414 PyObject *obj_result = __Pyx_PyObject_CallMethod1(dict, __pyx_mstate_global->__pyx_n_u_update, state_dict);
36415 if (likely(obj_result)) {
36416 Py_DECREF(obj_result);
36422 Py_DECREF(state_dict);
36426static int __Pyx_UpdateUnpickledDict(PyObject *obj, PyObject *state, Py_ssize_t index) {
36427 Py_ssize_t state_size = __Pyx_PyTuple_GET_SIZE(state);
36428 #if !CYTHON_ASSUME_SAFE_SIZE
36429 if (unlikely(state_size == -1))
return -1;
36431 if (state_size <= index) {
36434 return __Pyx__UpdateUnpickledDict(obj, state, index);
36438static void __Pyx_RaiseUnpickleChecksumError(
long checksum,
long checksum1,
long checksum2,
long checksum3,
const char *members) {
36439 PyObject *pickle_module = PyImport_ImportModule(
"pickle");
36440 if (unlikely(!pickle_module))
return;
36441 PyObject *pickle_error = PyObject_GetAttrString(pickle_module,
"PickleError");
36442 Py_DECREF(pickle_module);
36443 if (unlikely(!pickle_error))
return;
36444 if (checksum2 == checksum1) {
36445 PyErr_Format(pickle_error,
"Incompatible checksums (0x%x vs (0x%x) = (%s))",
36446 checksum, checksum1, members);
36447 }
else if (checksum3 == checksum2) {
36448 PyErr_Format(pickle_error,
"Incompatible checksums (0x%x vs (0x%x, 0x%x) = (%s))",
36449 checksum, checksum1, checksum2, members);
36451 PyErr_Format(pickle_error,
"Incompatible checksums (0x%x vs (0x%x, 0x%x, 0x%x) = (%s))",
36452 checksum, checksum1, checksum2, checksum3, members);
36454 Py_DECREF(pickle_error);
36458static int __Pyx_CheckUnpickleChecksum(
long checksum,
long checksum1,
long checksum2,
long checksum3,
const char *members) {
36460 found |= checksum1 == checksum;
36461 found |= checksum2 == checksum;
36462 found |= checksum3 == checksum;
36465 __Pyx_RaiseUnpickleChecksumError(checksum, checksum1, checksum2, checksum3, members);
36470static long __Pyx_LargePyLong___Pyx_PyLong_As_long(PyObject *x);
36471static long __Pyx_raise_neg_overflow___Pyx_PyLong_As_long(
void) {
36472 const char* type_name =
"long";
36473 PyErr_Format(PyExc_OverflowError,
36474 "can't convert negative value to %.200s", type_name);
36477static long __Pyx_raise_overflow___Pyx_PyLong_As_long(
void) {
36478 const char* type_name =
"long";
36479 PyErr_Format(PyExc_OverflowError,
36480 "value too large to convert to %.200s", type_name);
36483static CYTHON_INLINE
long __Pyx_PyULong___Pyx_PyLong_As_long(PyObject *x) {
36484 const int is_unsigned = 1;
36485#if CYTHON_USE_PYLONG_INTERNALS
36487 const digit* digits = __Pyx_PyLong_Digits(x);
36488 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
36489 if (size == 2 && (8 *
sizeof(
long) > 1 * PyLong_SHIFT)) {
36490 if ((8 *
sizeof(
unsigned long) > 2 * PyLong_SHIFT)) {
36491 __PYX_VERIFY_RETURN_INT(
long,
unsigned long, (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36492 }
else if ((8 *
sizeof(
long) >= 2 * PyLong_SHIFT)) {
36493 return (
long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
36496 if (size == 3 && (8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
36497 if ((8 *
sizeof(
unsigned long) > 3 * PyLong_SHIFT)) {
36498 __PYX_VERIFY_RETURN_INT(
long,
unsigned long, (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36499 }
else if ((8 *
sizeof(
long) >= 3 * PyLong_SHIFT)) {
36500 return (
long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
36503 if (size == 4 && (8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
36504 if ((8 *
sizeof(
unsigned long) > 4 * PyLong_SHIFT)) {
36505 __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])))
36506 }
else if ((8 *
sizeof(
long) >= 4 * PyLong_SHIFT)) {
36507 return (
long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
36512#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
36513 if (unlikely(Py_SIZE(x) < 0)) {
36514 goto raise_neg_overflow;
36518 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
36519 if (unlikely(result < 0))
36521 if (unlikely(result == 1))
36522 goto raise_neg_overflow;
36525 if ((
sizeof(
long) <=
sizeof(
unsigned long))) {
36526 __PYX_VERIFY_RETURN_INT_EXC(
long,
unsigned long, PyLong_AsUnsignedLong(x))
36527 }
else if ((
sizeof(
long) <=
sizeof(
unsigned PY_LONG_LONG))) {
36528 __PYX_VERIFY_RETURN_INT_EXC(
long,
unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
36530 return __Pyx_LargePyLong___Pyx_PyLong_As_long(x);
36532 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_long();
36534 return __Pyx_raise_overflow___Pyx_PyLong_As_long();
36536static CYTHON_INLINE
long __Pyx_PySLong___Pyx_PyLong_As_long(PyObject *x) {
36537 const int is_unsigned = 0;
36538#if CYTHON_USE_PYLONG_INTERNALS
36539 if (__Pyx_PyLong_IsNeg(x)) {
36540 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
36541 const digit* digits = __Pyx_PyLong_Digits(x);
36542 if (size == 2 && (8 *
sizeof(
long) > 1 * PyLong_SHIFT)) {
36543 if ((8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
36544 long ival = - (long) (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
36545 __PYX_VERIFY_RETURN_INT(
long,
long, ival)
36546 }
else if ((8 *
sizeof(
long) - 1 > 2 * PyLong_SHIFT)) {
36547 return (
long) (((long) -1) * (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
36550 if (size == 3 && (8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
36551 if ((8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
36552 long ival = - (long) (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
36553 __PYX_VERIFY_RETURN_INT(
long,
long, ival)
36554 }
else if ((8 *
sizeof(
long) - 1 > 3 * PyLong_SHIFT)) {
36555 return (
long) (((long) -1) * (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
36558 if (size == 4 && (8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
36559 if ((8 *
sizeof(
long) > 4 * PyLong_SHIFT)) {
36560 long ival = - (long) (((((((((
unsigned long)digits[3]) << PyLong_SHIFT) | (
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
36561 __PYX_VERIFY_RETURN_INT(
long,
long, ival)
36562 }
else if ((8 *
sizeof(
long) - 1 > 4 * PyLong_SHIFT)) {
36563 return (
long) (((long) -1) * (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
36568 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
36569 const digit* digits = __Pyx_PyLong_Digits(x);
36570 if (size == 2 && (8 *
sizeof(
long) > 1 * PyLong_SHIFT)) {
36571 if ((8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
36572 __PYX_VERIFY_RETURN_INT(
long,
unsigned long, (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36573 }
else if ((8 *
sizeof(
long) - 1 > 2 * PyLong_SHIFT)) {
36574 return (
long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
36577 if (size == 3 && (8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
36578 if ((8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
36579 __PYX_VERIFY_RETURN_INT(
long,
unsigned long, (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36580 }
else if ((8 *
sizeof(
long) - 1 > 3 * PyLong_SHIFT)) {
36581 return (
long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
36584 if (size == 4 && (8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
36585 if ((8 *
sizeof(
long) > 4 * PyLong_SHIFT)) {
36586 __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])))
36587 }
else if ((8 *
sizeof(
long) - 1 > 4 * PyLong_SHIFT)) {
36588 return (
long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
36594 #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
36595 if ((
sizeof(
long) <=
sizeof(
int)) && (
sizeof(
int) <
sizeof(
long))) {
36596 __PYX_VERIFY_RETURN_INT_EXC(
long,
int, PyLong_AsInt(x))
36599 if ((
sizeof(
long) <=
sizeof(
long))) {
36600 __PYX_VERIFY_RETURN_INT_EXC(
long,
long, PyLong_AsLong(x))
36601 }
else if ((
sizeof(
long) <=
sizeof(PY_LONG_LONG))) {
36602 __PYX_VERIFY_RETURN_INT_EXC(
long, PY_LONG_LONG, PyLong_AsLongLong(x))
36604 return __Pyx_LargePyLong___Pyx_PyLong_As_long(x);
36606 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_long();
36608 return __Pyx_raise_overflow___Pyx_PyLong_As_long();
36610static long __Pyx_LargePyLong___Pyx_PyLong_As_long(PyObject *x) {
36611#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36612#pragma GCC diagnostic push
36613#pragma GCC diagnostic ignored "-Wconversion"
36615 const long neg_one = (long) -1, const_zero = (
long) 0;
36616#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36617#pragma GCC diagnostic pop
36619 const int is_unsigned = neg_one > const_zero;
36622#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
36623 Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
36624 x, &val,
sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
36625 if (unlikely(bytes_copied == -1)) {
36626 }
else if (unlikely(bytes_copied > (Py_ssize_t)
sizeof(val))) {
36627 goto raise_overflow;
36631#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
36632 int one = 1;
int is_little = (int)*(
unsigned char *)&one;
36633 unsigned char *bytes = (
unsigned char *)&val;
36634 ret = _PyLong_AsByteArray((PyLongObject *)x,
36635 bytes,
sizeof(val),
36636 is_little, !is_unsigned);
36637 if ((0))
goto raise_overflow;
36640 PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
36641 int bits, remaining_bits, is_negative = 0;
36642 int chunk_size = (
sizeof(long) < 8) ? 30 : 62;
36643 if (likely(PyLong_CheckExact(x))) {
36644 v = __Pyx_NewRef(x);
36646 v = PyNumber_Long(x);
36647 if (unlikely(!
v))
return (
long) -1;
36648 assert(PyLong_CheckExact(
v));
36651 int result = PyObject_RichCompareBool(
v, Py_False, Py_LT);
36652 if (unlikely(result < 0)) {
36656 is_negative = result == 1;
36658 if (is_unsigned && unlikely(is_negative)) {
36660 PyErr_SetString(PyExc_OverflowError,
36661 "can't convert negative value to long");
36663 }
else if (is_negative) {
36664 stepval = PyNumber_Invert(
v);
36666 if (unlikely(!stepval))
36673 mask = PyLong_FromLong((1L << chunk_size) - 1);
if (unlikely(!mask))
goto done;
36674 shift = PyLong_FromLong(chunk_size);
if (unlikely(!shift))
goto done;
36675 for (bits = 0; bits < (int)
sizeof(long) * 8 - chunk_size; bits += chunk_size) {
36676 PyObject *tmp, *digit;
36678 digit = PyNumber_And(stepval, mask);
36679 if (unlikely(!digit))
goto done;
36680 idigit = PyLong_AsLong(digit);
36682 if (unlikely(idigit < 0))
goto done;
36683 val |= ((long) idigit) << bits;
36684 tmp = PyNumber_Rshift(stepval, shift);
36685 if (unlikely(!tmp))
goto done;
36686 Py_DECREF(stepval); stepval = tmp;
36688 Py_DECREF(shift); shift = NULL;
36689 Py_DECREF(mask); mask = NULL;
36691 long idigit = PyLong_AsLong(stepval);
36692 if (unlikely(idigit < 0))
goto done;
36693 remaining_bits = ((int)
sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1);
36694 if (unlikely(idigit >= (1L << remaining_bits)))
36695 goto raise_overflow;
36696 val |= ((long) idigit) << bits;
36698 if (!is_unsigned) {
36699 if (unlikely(val & (((
long) 1) << (
sizeof(
long) * 8 - 1))))
36700 goto raise_overflow;
36708 Py_XDECREF(stepval);
36714 return __Pyx_raise_overflow___Pyx_PyLong_As_long();
36716static CYTHON_INLINE
long __Pyx_PyLong___Pyx_PyLong_As_long(PyObject *x) {
36717#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36718#pragma GCC diagnostic push
36719#pragma GCC diagnostic ignored "-Wconversion"
36721 const long neg_one = (long) -1, const_zero = (
long) 0;
36722#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36723#pragma GCC diagnostic pop
36725 const int is_unsigned = neg_one > const_zero;
36727 #if CYTHON_USE_PYLONG_INTERNALS
36728 if (unlikely(__Pyx_PyLong_IsNeg(x))) {
36729 goto raise_neg_overflow;
36730 }
else if (__Pyx_PyLong_IsCompact(x)) {
36731 __PYX_VERIFY_RETURN_INT(
long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
36735 return __Pyx_PyULong___Pyx_PyLong_As_long(x);
36738 #if CYTHON_USE_PYLONG_INTERNALS
36739 if (__Pyx_PyLong_IsCompact(x)) {
36740 __PYX_VERIFY_RETURN_INT(
long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
36744 return __Pyx_PySLong___Pyx_PyLong_As_long(x);
36747#if CYTHON_USE_PYLONG_INTERNALS
36749 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_long();
36751 return __Pyx_raise_overflow___Pyx_PyLong_As_long();
36754static long __Pyx_NonPyLong___Pyx_PyLong_As_long(PyObject *x) {
36756 PyObject *tmp = __Pyx_PyNumber_Long(x);
36757 if (!tmp)
return (
long) -1;
36758 val = __Pyx_PyLong_As_long(tmp);
36762static CYTHON_INLINE
long __Pyx_PyLong_As_long(PyObject *x) {
36763 if (likely(PyLong_Check(x))) {
36764 return __Pyx_PyLong___Pyx_PyLong_As_long(x);
36766 return __Pyx_NonPyLong___Pyx_PyLong_As_long(x);
36771static char __Pyx_LargePyLong___Pyx_PyLong_As_char(PyObject *x);
36772static char __Pyx_raise_neg_overflow___Pyx_PyLong_As_char(
void) {
36773 const char* type_name =
"char";
36774 PyErr_Format(PyExc_OverflowError,
36775 "can't convert negative value to %.200s", type_name);
36778static char __Pyx_raise_overflow___Pyx_PyLong_As_char(
void) {
36779 const char* type_name =
"char";
36780 PyErr_Format(PyExc_OverflowError,
36781 "value too large to convert to %.200s", type_name);
36784static CYTHON_INLINE
char __Pyx_PyULong___Pyx_PyLong_As_char(PyObject *x) {
36785 const int is_unsigned = 1;
36786#if CYTHON_USE_PYLONG_INTERNALS
36788 const digit* digits = __Pyx_PyLong_Digits(x);
36789 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
36790 if (size == 2 && (8 *
sizeof(
char) > 1 * PyLong_SHIFT)) {
36791 if ((8 *
sizeof(
unsigned long) > 2 * PyLong_SHIFT)) {
36792 __PYX_VERIFY_RETURN_INT(
char,
unsigned long, (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36793 }
else if ((8 *
sizeof(
char) >= 2 * PyLong_SHIFT)) {
36794 return (
char) (((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
36797 if (size == 3 && (8 *
sizeof(
char) > 2 * PyLong_SHIFT)) {
36798 if ((8 *
sizeof(
unsigned long) > 3 * PyLong_SHIFT)) {
36799 __PYX_VERIFY_RETURN_INT(
char,
unsigned long, (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36800 }
else if ((8 *
sizeof(
char) >= 3 * PyLong_SHIFT)) {
36801 return (
char) (((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
36804 if (size == 4 && (8 *
sizeof(
char) > 3 * PyLong_SHIFT)) {
36805 if ((8 *
sizeof(
unsigned long) > 4 * PyLong_SHIFT)) {
36806 __PYX_VERIFY_RETURN_INT(
char,
unsigned long, (((((((((
unsigned long)digits[3]) << PyLong_SHIFT) | (
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36807 }
else if ((8 *
sizeof(
char) >= 4 * PyLong_SHIFT)) {
36808 return (
char) (((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
36813#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
36814 if (unlikely(Py_SIZE(x) < 0)) {
36815 goto raise_neg_overflow;
36819 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
36820 if (unlikely(result < 0))
36822 if (unlikely(result == 1))
36823 goto raise_neg_overflow;
36826 if ((
sizeof(
char) <=
sizeof(
unsigned long))) {
36827 __PYX_VERIFY_RETURN_INT_EXC(
char,
unsigned long, PyLong_AsUnsignedLong(x))
36828 }
else if ((
sizeof(
char) <=
sizeof(
unsigned PY_LONG_LONG))) {
36829 __PYX_VERIFY_RETURN_INT_EXC(
char,
unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
36831 return __Pyx_LargePyLong___Pyx_PyLong_As_char(x);
36833 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_char();
36835 return __Pyx_raise_overflow___Pyx_PyLong_As_char();
36837static CYTHON_INLINE
char __Pyx_PySLong___Pyx_PyLong_As_char(PyObject *x) {
36838 const int is_unsigned = 0;
36839#if CYTHON_USE_PYLONG_INTERNALS
36840 if (__Pyx_PyLong_IsNeg(x)) {
36841 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
36842 const digit* digits = __Pyx_PyLong_Digits(x);
36843 if (size == 2 && (8 *
sizeof(
char) > 1 * PyLong_SHIFT)) {
36844 if ((8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
36845 long ival = - (long) (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
36846 __PYX_VERIFY_RETURN_INT(
char,
long, ival)
36847 }
else if ((8 *
sizeof(
char) - 1 > 2 * PyLong_SHIFT)) {
36848 return (
char) (((char) -1) * (((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
36851 if (size == 3 && (8 *
sizeof(
char) > 2 * PyLong_SHIFT)) {
36852 if ((8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
36853 long ival = - (long) (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
36854 __PYX_VERIFY_RETURN_INT(
char,
long, ival)
36855 }
else if ((8 *
sizeof(
char) - 1 > 3 * PyLong_SHIFT)) {
36856 return (
char) (((char) -1) * (((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
36859 if (size == 4 && (8 *
sizeof(
char) > 3 * PyLong_SHIFT)) {
36860 if ((8 *
sizeof(
long) > 4 * PyLong_SHIFT)) {
36861 long ival = - (long) (((((((((
unsigned long)digits[3]) << PyLong_SHIFT) | (
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0]));
36862 __PYX_VERIFY_RETURN_INT(
char,
long, ival)
36863 }
else if ((8 *
sizeof(
char) - 1 > 4 * PyLong_SHIFT)) {
36864 return (
char) (((char) -1) * (((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0])));
36869 const Py_ssize_t size = __Pyx_PyLong_DigitCount(x);
36870 const digit* digits = __Pyx_PyLong_Digits(x);
36871 if (size == 2 && (8 *
sizeof(
char) > 1 * PyLong_SHIFT)) {
36872 if ((8 *
sizeof(
long) > 2 * PyLong_SHIFT)) {
36873 __PYX_VERIFY_RETURN_INT(
char,
unsigned long, (((((
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36874 }
else if ((8 *
sizeof(
char) - 1 > 2 * PyLong_SHIFT)) {
36875 return (
char) (((((char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
36878 if (size == 3 && (8 *
sizeof(
char) > 2 * PyLong_SHIFT)) {
36879 if ((8 *
sizeof(
long) > 3 * PyLong_SHIFT)) {
36880 __PYX_VERIFY_RETURN_INT(
char,
unsigned long, (((((((
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36881 }
else if ((8 *
sizeof(
char) - 1 > 3 * PyLong_SHIFT)) {
36882 return (
char) (((((((char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
36885 if (size == 4 && (8 *
sizeof(
char) > 3 * PyLong_SHIFT)) {
36886 if ((8 *
sizeof(
long) > 4 * PyLong_SHIFT)) {
36887 __PYX_VERIFY_RETURN_INT(
char,
unsigned long, (((((((((
unsigned long)digits[3]) << PyLong_SHIFT) | (
unsigned long)digits[2]) << PyLong_SHIFT) | (
unsigned long)digits[1]) << PyLong_SHIFT) | (
unsigned long)digits[0])))
36888 }
else if ((8 *
sizeof(
char) - 1 > 4 * PyLong_SHIFT)) {
36889 return (
char) (((((((((char)digits[3]) << PyLong_SHIFT) | (char)digits[2]) << PyLong_SHIFT) | (char)digits[1]) << PyLong_SHIFT) | (char)digits[0]));
36895 #if __PYX_LIMITED_VERSION_HEX >= 0x030d0000
36896 if ((
sizeof(
char) <=
sizeof(
int)) && (
sizeof(
int) <
sizeof(
long))) {
36897 __PYX_VERIFY_RETURN_INT_EXC(
char,
int, PyLong_AsInt(x))
36900 if ((
sizeof(
char) <=
sizeof(
long))) {
36901 __PYX_VERIFY_RETURN_INT_EXC(
char,
long, PyLong_AsLong(x))
36902 }
else if ((
sizeof(
char) <=
sizeof(PY_LONG_LONG))) {
36903 __PYX_VERIFY_RETURN_INT_EXC(
char, PY_LONG_LONG, PyLong_AsLongLong(x))
36905 return __Pyx_LargePyLong___Pyx_PyLong_As_char(x);
36907 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_char();
36909 return __Pyx_raise_overflow___Pyx_PyLong_As_char();
36911static char __Pyx_LargePyLong___Pyx_PyLong_As_char(PyObject *x) {
36912#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36913#pragma GCC diagnostic push
36914#pragma GCC diagnostic ignored "-Wconversion"
36916 const char neg_one = (char) -1, const_zero = (
char) 0;
36917#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
36918#pragma GCC diagnostic pop
36920 const int is_unsigned = neg_one > const_zero;
36923#if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
36924 Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
36925 x, &val,
sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
36926 if (unlikely(bytes_copied == -1)) {
36927 }
else if (unlikely(bytes_copied > (Py_ssize_t)
sizeof(val))) {
36928 goto raise_overflow;
36932#elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
36933 int one = 1;
int is_little = (int)*(
unsigned char *)&one;
36934 unsigned char *bytes = (
unsigned char *)&val;
36935 ret = _PyLong_AsByteArray((PyLongObject *)x,
36936 bytes,
sizeof(val),
36937 is_little, !is_unsigned);
36938 if ((0))
goto raise_overflow;
36941 PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
36942 int bits, remaining_bits, is_negative = 0;
36943 int chunk_size = (
sizeof(long) < 8) ? 30 : 62;
36944 if (likely(PyLong_CheckExact(x))) {
36945 v = __Pyx_NewRef(x);
36947 v = PyNumber_Long(x);
36948 if (unlikely(!
v))
return (
char) -1;
36949 assert(PyLong_CheckExact(
v));
36952 int result = PyObject_RichCompareBool(
v, Py_False, Py_LT);
36953 if (unlikely(result < 0)) {
36957 is_negative = result == 1;
36959 if (is_unsigned && unlikely(is_negative)) {
36961 PyErr_SetString(PyExc_OverflowError,
36962 "can't convert negative value to char");
36964 }
else if (is_negative) {
36965 stepval = PyNumber_Invert(
v);
36967 if (unlikely(!stepval))
36974 mask = PyLong_FromLong((1L << chunk_size) - 1);
if (unlikely(!mask))
goto done;
36975 shift = PyLong_FromLong(chunk_size);
if (unlikely(!shift))
goto done;
36976 for (bits = 0; bits < (int)
sizeof(char) * 8 - chunk_size; bits += chunk_size) {
36977 PyObject *tmp, *digit;
36979 digit = PyNumber_And(stepval, mask);
36980 if (unlikely(!digit))
goto done;
36981 idigit = PyLong_AsLong(digit);
36983 if (unlikely(idigit < 0))
goto done;
36984 val |= ((char) idigit) << bits;
36985 tmp = PyNumber_Rshift(stepval, shift);
36986 if (unlikely(!tmp))
goto done;
36987 Py_DECREF(stepval); stepval = tmp;
36989 Py_DECREF(shift); shift = NULL;
36990 Py_DECREF(mask); mask = NULL;
36992 long idigit = PyLong_AsLong(stepval);
36993 if (unlikely(idigit < 0))
goto done;
36994 remaining_bits = ((int)
sizeof(char) * 8) - bits - (is_unsigned ? 0 : 1);
36995 if (unlikely(idigit >= (1L << remaining_bits)))
36996 goto raise_overflow;
36997 val |= ((char) idigit) << bits;
36999 if (!is_unsigned) {
37000 if (unlikely(val & (((
char) 1) << (
sizeof(
char) * 8 - 1))))
37001 goto raise_overflow;
37009 Py_XDECREF(stepval);
37015 return __Pyx_raise_overflow___Pyx_PyLong_As_char();
37017static CYTHON_INLINE
char __Pyx_PyLong___Pyx_PyLong_As_char(PyObject *x) {
37018#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
37019#pragma GCC diagnostic push
37020#pragma GCC diagnostic ignored "-Wconversion"
37022 const char neg_one = (char) -1, const_zero = (
char) 0;
37023#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
37024#pragma GCC diagnostic pop
37026 const int is_unsigned = neg_one > const_zero;
37028 #if CYTHON_USE_PYLONG_INTERNALS
37029 if (unlikely(__Pyx_PyLong_IsNeg(x))) {
37030 goto raise_neg_overflow;
37031 }
else if (__Pyx_PyLong_IsCompact(x)) {
37032 __PYX_VERIFY_RETURN_INT(
char, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
37036 return __Pyx_PyULong___Pyx_PyLong_As_char(x);
37039 #if CYTHON_USE_PYLONG_INTERNALS
37040 if (__Pyx_PyLong_IsCompact(x)) {
37041 __PYX_VERIFY_RETURN_INT(
char, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
37045 return __Pyx_PySLong___Pyx_PyLong_As_char(x);
37048#if CYTHON_USE_PYLONG_INTERNALS
37050 return __Pyx_raise_neg_overflow___Pyx_PyLong_As_char();
37052 return __Pyx_raise_overflow___Pyx_PyLong_As_char();
37055static char __Pyx_NonPyLong___Pyx_PyLong_As_char(PyObject *x) {
37057 PyObject *tmp = __Pyx_PyNumber_Long(x);
37058 if (!tmp)
return (
char) -1;
37059 val = __Pyx_PyLong_As_char(tmp);
37063static CYTHON_INLINE
char __Pyx_PyLong_As_char(PyObject *x) {
37064 if (likely(PyLong_Check(x))) {
37065 return __Pyx_PyLong___Pyx_PyLong_As_char(x);
37067 return __Pyx_NonPyLong___Pyx_PyLong_As_char(x);
37072#if __PYX_LIMITED_VERSION_HEX < 0x030b0000
37073void __Pyx_init_runtime_version(
void) {
37074 if (__Pyx_cached_runtime_version == 0) {
37075 const char* rt_version = Py_GetVersion();
37076 unsigned long version = 0;
37077 unsigned long factor = 0x01000000UL;
37078 unsigned int digit = 0;
37081 while (
'0' <= rt_version[i] && rt_version[i] <=
'9') {
37082 digit = digit * 10 + (
unsigned int) (rt_version[i] -
'0');
37085 version += factor * digit;
37086 if (rt_version[i] !=
'.')
37092 __Pyx_cached_runtime_version = version;
37096static unsigned long __Pyx_get_runtime_version(
void) {
37097#if __PYX_LIMITED_VERSION_HEX >= 0x030b0000
37098 return Py_Version & ~0xFFUL;
37100 return __Pyx_cached_runtime_version;
37105static int __Pyx_check_binary_version(
unsigned long ct_version,
unsigned long rt_version,
int allow_newer) {
37106 const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
37107 if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
37109 if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
37113 PyOS_snprintf(message,
sizeof(message),
37114 "compile time Python version %d.%d "
37115 "of module '%.100s' "
37117 "runtime version %d.%d",
37118 (
int) (ct_version >> 24), (
int) ((ct_version >> 16) & 0xFF),
37120 (allow_newer) ?
"was newer than" :
"does not match",
37121 (
int) (rt_version >> 24), (
int) ((rt_version >> 16) & 0xFF)
37123 return PyErr_WarnEx(NULL, message, 1);
37128#if CYTHON_COMPILING_IN_LIMITED_API
37129 static PyObject* __Pyx__PyCode_New(
int a,
int p,
int k,
int l,
int s,
int f,
37130 PyObject *code, PyObject *
c, PyObject*
n, PyObject *
v,
37131 PyObject *fv, PyObject *cell, PyObject* fn,
37132 PyObject *name,
int fline, PyObject *lnos) {
37133 PyObject *exception_table = NULL;
37134 PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
37135 #if __PYX_LIMITED_VERSION_HEX < 0x030b0000
37136 PyObject *version_info;
37137 PyObject *py_minor_version = NULL;
37139 long minor_version = 0;
37140 #if __PYX_LIMITED_VERSION_HEX >= 0x030b0000
37141 minor_version = 11;
37143 if (!(version_info = PySys_GetObject(
"version_info")))
goto end;
37144 if (!(py_minor_version = PySequence_GetItem(version_info, 1)))
goto end;
37145 minor_version = PyLong_AsLong(py_minor_version);
37146 Py_DECREF(py_minor_version);
37147 if (minor_version == -1 && PyErr_Occurred())
goto end;
37149 if (!(types_module = PyImport_ImportModule(
"types")))
goto end;
37150 if (!(code_type = PyObject_GetAttrString(types_module,
"CodeType")))
goto end;
37151 if (minor_version <= 10) {
37152 result = PyObject_CallFunction(code_type,
"iiiiiiOOOOOOiOOO", a,p, k, l,
s,
f, code,
37153 c,
n,
v, fn, name, fline, lnos, fv, cell);
37155 if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0)))
goto end;
37156 result = PyObject_CallFunction(code_type,
"iiiiiiOOOOOOOiOOOO", a,p, k, l,
s,
f, code,
37157 c,
n,
v, fn, name, name, fline, lnos, exception_table, fv, cell);
37160 Py_XDECREF(code_type);
37161 Py_XDECREF(exception_table);
37162 Py_XDECREF(types_module);
37164 PyObject *exc_type, *exc_value, *exc_tb;
37165 PyErr_Fetch(&exc_type, &exc_value, &exc_tb);
37166 if (PyErr_WarnFormat(
37167 PyExc_RuntimeWarning, 1,
37168 "Code object creation failed in Cython module: %S\nTry recompiling with a more recent version of Cython.",
37169 exc_value ? exc_value : exc_type) == 0) {
37173 Py_DECREF(exc_type);
37174 Py_XDECREF(exc_value);
37175 Py_XDECREF(exc_tb);
37179#elif PY_VERSION_HEX >= 0x030B0000
37180 static PyCodeObject* __Pyx__PyCode_New(
int a,
int p,
int k,
int l,
int s,
int f,
37181 PyObject *code, PyObject *
c, PyObject*
n, PyObject *
v,
37182 PyObject *fv, PyObject *cell, PyObject* fn,
37183 PyObject *name,
int fline, PyObject *lnos) {
37184 PyCodeObject *result;
37186 #if PY_VERSION_HEX >= 0x030C0000
37187 PyUnstable_Code_NewWithPosOnlyArgs
37189 PyCode_NewWithPosOnlyArgs
37191 (a, p, k, l,
s,
f, code,
c,
n,
v, fv, cell, fn, name, name, fline, lnos, __pyx_mstate_global->__pyx_empty_bytes);
37192 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030c00A1
37193 if (likely(result))
37194 result->_co_firsttraceable = 0;
37198#elif !CYTHON_COMPILING_IN_PYPY
37199 #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
37200 PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
37202 #define __Pyx__PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
37203 PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
37205static PyObject* __Pyx_PyCode_New(
37206 const __Pyx_PyCode_New_function_description descr,
37207 PyObject *
const *varnames,
37208 PyObject *filename,
37209 PyObject *funcname,
37210 PyObject *line_table,
37211 PyObject *tuple_dedup_map
37213 PyObject *code_obj = NULL, *varnames_tuple_dedup = NULL, *code_bytes = NULL;
37214 Py_ssize_t var_count = (Py_ssize_t) descr.nlocals;
37215 PyObject *varnames_tuple = PyTuple_New(var_count);
37216 if (unlikely(!varnames_tuple))
return NULL;
37217 for (Py_ssize_t i=0; i < var_count; i++) {
37218 Py_INCREF(varnames[i]);
37219 if (__Pyx_PyTuple_SET_ITEM(varnames_tuple, i, varnames[i]) != (0))
goto done;
37221 #if CYTHON_COMPILING_IN_LIMITED_API
37222 varnames_tuple_dedup = PyDict_GetItem(tuple_dedup_map, varnames_tuple);
37223 if (!varnames_tuple_dedup) {
37224 if (unlikely(PyDict_SetItem(tuple_dedup_map, varnames_tuple, varnames_tuple) < 0))
goto done;
37225 varnames_tuple_dedup = varnames_tuple;
37228 varnames_tuple_dedup = PyDict_SetDefault(tuple_dedup_map, varnames_tuple, varnames_tuple);
37229 if (unlikely(!varnames_tuple_dedup))
goto done;
37231 #if CYTHON_AVOID_BORROWED_REFS
37232 Py_INCREF(varnames_tuple_dedup);
37234 if (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table != NULL && !CYTHON_COMPILING_IN_GRAAL) {
37235 Py_ssize_t line_table_length = __Pyx_PyBytes_GET_SIZE(line_table);
37236 #if !CYTHON_ASSUME_SAFE_SIZE
37237 if (unlikely(line_table_length == -1))
goto done;
37239 Py_ssize_t code_len = (line_table_length * 2 + 4) & ~3LL;
37240 code_bytes = PyBytes_FromStringAndSize(NULL, code_len);
37241 if (unlikely(!code_bytes))
goto done;
37242 char* c_code_bytes = PyBytes_AsString(code_bytes);
37243 if (unlikely(!c_code_bytes))
goto done;
37244 memset(c_code_bytes, 0, (
size_t) code_len);
37246 code_obj = (PyObject*) __Pyx__PyCode_New(
37247 (
int) descr.argcount,
37248 (
int) descr.num_posonly_args,
37249 (
int) descr.num_kwonly_args,
37250 (
int) descr.nlocals,
37253 code_bytes ? code_bytes : __pyx_mstate_global->__pyx_empty_bytes,
37254 __pyx_mstate_global->__pyx_empty_tuple,
37255 __pyx_mstate_global->__pyx_empty_tuple,
37256 varnames_tuple_dedup,
37257 __pyx_mstate_global->__pyx_empty_tuple,
37258 __pyx_mstate_global->__pyx_empty_tuple,
37261 (
int) descr.first_line,
37262 (__PYX_LIMITED_VERSION_HEX >= (0x030b0000) && line_table) ? line_table : __pyx_mstate_global->__pyx_empty_bytes
37265 Py_XDECREF(code_bytes);
37266 #if CYTHON_AVOID_BORROWED_REFS
37267 Py_XDECREF(varnames_tuple_dedup);
37269 Py_DECREF(varnames_tuple);
37275static CYTHON_SMALL_CODE PyObject *__Pyx_DecompressString(
const char *
s, Py_ssize_t length,
int algo) {
37276#ifdef __Pyx_DecompressString_UNUSED
37277 CYTHON_UNUSED_VAR(
s);
37278 CYTHON_UNUSED_VAR(length);
37279 CYTHON_UNUSED_VAR(algo);
37282 PyObject *module = NULL, *decompress, *compressed_bytes, *decompressed;
37283 const char* module_name = algo == 3 ?
"compression.zstd" : algo == 2 ?
"bz2" :
"zlib";
37284 PyObject *methodname = PyUnicode_FromString(
"decompress");
37285 if (unlikely(!methodname))
return NULL;
37286 #if __PYX_LIMITED_VERSION_HEX >= 0x030e0000
37288 PyObject *fromlist = Py_BuildValue(
"[O]", methodname);
37289 if (unlikely(!fromlist))
goto bad;
37290 module = PyImport_ImportModuleLevel("compression.zstd", NULL, NULL, fromlist, 0);
37291 Py_DECREF(fromlist);
37294 module = PyImport_ImportModule(module_name);
37295 if (unlikely(!module))
goto import_failed;
37296 decompress = PyObject_GetAttr(module, methodname);
37297 if (unlikely(!decompress))
goto import_failed;
37300 char *memview_bytes =
const_cast<char*
>(
s);
37302 #if defined(__clang__)
37303 #pragma clang diagnostic push
37304 #pragma clang diagnostic ignored "-Wcast-qual"
37305 #elif !defined(__INTEL_COMPILER) && defined(__GNUC__)
37306 #pragma GCC diagnostic push
37307 #pragma GCC diagnostic ignored "-Wcast-qual"
37309 char *memview_bytes = (
char*)
s;
37310 #if defined(__clang__)
37311 #pragma clang diagnostic pop
37312 #elif !defined(__INTEL_COMPILER) && defined(__GNUC__)
37313 #pragma GCC diagnostic pop
37316 #if CYTHON_COMPILING_IN_LIMITED_API && !defined(PyBUF_READ)
37317 int memview_flags = 0x100;
37319 int memview_flags = PyBUF_READ;
37321 compressed_bytes = PyMemoryView_FromMemory(memview_bytes, length, memview_flags);
37323 if (unlikely(!compressed_bytes)) {
37324 Py_DECREF(decompress);
37327 decompressed = PyObject_CallFunctionObjArgs(decompress, compressed_bytes, NULL);
37328 Py_DECREF(compressed_bytes);
37329 Py_DECREF(decompress);
37331 Py_DECREF(methodname);
37332 return decompressed;
37334 PyErr_Format(PyExc_ImportError,
37335 "Failed to import '%.20s.decompress' - cannot initialise module strings. "
37336 "String compression was configured with the C macro 'CYTHON_COMPRESS_STRINGS=%d'.",
37337 module_name, algo);
37339 Py_XDECREF(module);
37340 Py_DECREF(methodname);
37346#ifndef __Pyx_DecompressString_LZSS_UNUSED
37348static CYTHON_SMALL_CODE
size_t __pyx_lzss_decompress(
const uint8_t* src, uint8_t* dst,
size_t dst_len) {
37349 size_t pos = 0, out_pos = 0;
37351 uint32_t flags = src[pos++] | 0xFF00;
37352 while (flags & 0x100) {
37354 dst[out_pos++] = src[pos++];
37356 uint32_t lo = src[pos++], hi = src[pos++];
37357 uint32_t end_offset_of_last_occurrence, match_length;
37358 if (!(lo & 0x80)) {
37359 end_offset_of_last_occurrence = lo;
37361 }
else if (!(hi & 0x80)) {
37362 end_offset_of_last_occurrence = 0x80 + (((hi << 2) & 0x180) | (lo & 0x7F));
37363 match_length = hi & 0x1F;
37365 end_offset_of_last_occurrence = 0x80 + ((hi & 0x7F) << 7 | (lo & 0x7F));
37366 match_length = src[pos++];
37369 size_t ref_pos = out_pos - end_offset_of_last_occurrence - match_length;
37370 memcpy(dst + out_pos, dst + ref_pos, match_length);
37371 out_pos += match_length;
37373 if (out_pos >= dst_len)
return pos;
37379static CYTHON_SMALL_CODE PyObject *__Pyx_DecompressString_LZSS(
const char *
s,
size_t compressed_length,
size_t uncompressed_length) {
37380#ifdef __Pyx_DecompressString_LZSS_UNUSED
37381 CYTHON_UNUSED_VAR(
s);
37382 CYTHON_UNUSED_VAR(compressed_length);
37383 CYTHON_UNUSED_VAR(uncompressed_length);
37387 unsigned char *result_data;
37389 result = PyBytes_FromStringAndSize(NULL, (Py_ssize_t) uncompressed_length);
37390 if (unlikely(!result))
return NULL;
37391 result_data = __Pyx_PyBytes_AsWritableUString(result);
37392 if (unlikely(!result_data))
goto bad;
37393 src_length = __pyx_lzss_decompress((
const uint8_t*)
s, result_data, uncompressed_length);
37394 if (unlikely(src_length != compressed_length))
goto decompression_failed;
37396decompression_failed:
37397 PyErr_SetString(PyExc_RuntimeError,
"LZSS string data decompression failed");
37405static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(
const char *
s) {
37406 size_t len = strlen(
s);
37407 if (unlikely(len > (
size_t) PY_SSIZE_T_MAX)) {
37408 PyErr_SetString(PyExc_OverflowError,
"byte string is too long");
37411 return (Py_ssize_t) len;
37413static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(
const char* c_str) {
37414 Py_ssize_t len = __Pyx_ssize_strlen(c_str);
37415 if (unlikely(len < 0))
return NULL;
37416 return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
37418static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(
const char* c_str) {
37419 Py_ssize_t len = __Pyx_ssize_strlen(c_str);
37420 if (unlikely(len < 0))
return NULL;
37421 return PyByteArray_FromStringAndSize(c_str, len);
37423static CYTHON_INLINE
const char* __Pyx_PyObject_AsString(PyObject* o) {
37425 return __Pyx_PyObject_AsStringAndSize(o, &ignore);
37427#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
37428static CYTHON_INLINE
const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
37429 if (unlikely(__Pyx_PyUnicode_READY(o) == -1))
return NULL;
37430#if CYTHON_COMPILING_IN_LIMITED_API
37432 const char* result;
37433 Py_ssize_t unicode_length;
37434 CYTHON_MAYBE_UNUSED_VAR(unicode_length);
37435 #if __PYX_LIMITED_VERSION_HEX < 0x030A0000
37436 if (unlikely(PyArg_Parse(o,
"s#", &result, length) < 0))
return NULL;
37438 result = PyUnicode_AsUTF8AndSize(o, length);
37440 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
37441 unicode_length = PyUnicode_GetLength(o);
37442 if (unlikely(unicode_length < 0))
return NULL;
37443 if (unlikely(unicode_length != *length)) {
37444 PyUnicode_AsASCIIString(o);
37451#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
37452 if (likely(PyUnicode_IS_ASCII(o))) {
37453 *length = PyUnicode_GET_LENGTH(o);
37454 return PyUnicode_AsUTF8(o);
37456 PyUnicode_AsASCIIString(o);
37460 return PyUnicode_AsUTF8AndSize(o, length);
37465static CYTHON_INLINE
const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
37466#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_UTF8
37467 if (PyUnicode_Check(o)) {
37468 return __Pyx_PyUnicode_AsStringAndSize(o, length);
37471 if (PyByteArray_Check(o)) {
37472#if (CYTHON_ASSUME_SAFE_SIZE && CYTHON_ASSUME_SAFE_MACROS) || (CYTHON_COMPILING_IN_PYPY && (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE)))
37473 *length = PyByteArray_GET_SIZE(o);
37474 return PyByteArray_AS_STRING(o);
37476 *length = PyByteArray_Size(o);
37477 if (*length == -1)
return NULL;
37478 return PyByteArray_AsString(o);
37483 int r = PyBytes_AsStringAndSize(o, &result, length);
37484 if (unlikely(
r < 0)) {
37491static CYTHON_INLINE
int __Pyx_PyObject_IsTrue(PyObject* x) {
37492 int is_true = x == Py_True;
37493 if (is_true | (x == Py_False) | (x == Py_None))
return is_true;
37494 else return PyObject_IsTrue(x);
37496static CYTHON_INLINE
int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
37498 if (unlikely(!x))
return -1;
37499 retval = __Pyx_PyObject_IsTrue(x);
37503static PyObject* __Pyx_PyNumber_LongWrongResultType(PyObject* result) {
37504 __Pyx_TypeName result_type_name = __Pyx_PyType_GetFullyQualifiedName(Py_TYPE(result));
37505 #if CYTHON_COMPILING_IN_LIMITED_API && __PYX_LIMITED_VERSION_HEX < 0x030d0000
37506 if (unlikely(!result_type_name))
goto bad;
37508 if (PyLong_Check(result)) {
37509 if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
37510 "__int__ returned non-int (type " __Pyx_FMT_TYPENAME
"). "
37511 "The ability to return an instance of a strict subclass of int is deprecated, "
37512 "and may be removed in a future version of Python.",
37513 result_type_name)) {
37514 __Pyx_DECREF_TypeName(result_type_name);
37517 __Pyx_DECREF_TypeName(result_type_name);
37520 PyErr_Format(PyExc_TypeError,
37521 "__int__ returned non-int (type " __Pyx_FMT_TYPENAME
")",
37523 __Pyx_DECREF_TypeName(result_type_name);
37528static CYTHON_INLINE PyObject* __Pyx_PyNumber_Long(PyObject* x) {
37529#if CYTHON_USE_TYPE_SLOTS
37530 PyNumberMethods *m;
37532 PyObject *res = NULL;
37533 if (likely(PyLong_Check(x)))
37534 return __Pyx_NewRef(x);
37535#if CYTHON_USE_TYPE_SLOTS
37536 m = Py_TYPE(x)->tp_as_number;
37537 if (likely(m && m->nb_int)) {
37538 res = m->nb_int(x);
37541 if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
37542 res = PyNumber_Long(x);
37546 if (unlikely(!PyLong_CheckExact(res))) {
37547 return __Pyx_PyNumber_LongWrongResultType(res);
37550 else if (!PyErr_Occurred()) {
37551 PyErr_SetString(PyExc_TypeError,
37552 "an integer is required");
37556static CYTHON_INLINE Py_ssize_t __Pyx_PyLong_AsSsize_t(PyObject* b) {
37557 #if CYTHON_USE_PYLONG_INTERNALS
37559 const Py_ssize_t size = __Pyx_PyLong_DigitCount(b);
37560 const int is_neg = __Pyx_PyLong_IsNeg(b);
37561 const digit* digits = __Pyx_PyLong_Digits(b);
37562 if (size == 0)
return 0;
37563 #if SIZEOF_SIZE_T * 8 > 1 * PyLong_SHIFT
37565 ival = (Py_ssize_t) (((
size_t)digits[0]));
37568 #if SIZEOF_SIZE_T * 8 > 2 * PyLong_SHIFT
37570 ival = (Py_ssize_t) (((((
size_t)digits[1]) << PyLong_SHIFT) | (
size_t)digits[0]));
37573 #if SIZEOF_SIZE_T * 8 > 3 * PyLong_SHIFT
37575 ival = (Py_ssize_t) (((((((
size_t)digits[2]) << PyLong_SHIFT) | (
size_t)digits[1]) << PyLong_SHIFT) | (
size_t)digits[0]));
37578 #if SIZEOF_SIZE_T * 8 > 4 * PyLong_SHIFT
37580 ival = (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]));
37583 return PyLong_AsSsize_t(b);
37584 return is_neg ? -ival : ival;
37586 return PyLong_AsSsize_t(b);
37589static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
37590 if (likely(PyLong_Check(b))) {
37591 return __Pyx_PyLong_AsSsize_t(b);
37594 PyObject *x = PyNumber_Index(b);
37595 if (unlikely(!x))
return -1;
37596 ival = __Pyx_PyLong_AsSsize_t(x);
37601static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
37602 if (
sizeof(Py_hash_t) ==
sizeof(Py_ssize_t)) {
37603 return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
37607 x = PyNumber_Index(o);
37609 ival = PyLong_AsLong(x);
37614static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(
int b) {
37615 CYTHON_UNUSED_VAR(b);
37616 return __Pyx_NewRef(Py_None);
37618static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(
long b) {
37619 return __Pyx_NewRef(b ? Py_True: Py_False);
37621static CYTHON_INLINE PyObject * __Pyx_PyLong_FromSize_t(
size_t ival) {
37622 return PyLong_FromSize_t(ival);
37627#if CYTHON_PEP489_MULTI_PHASE_INIT && CYTHON_USE_MODULE_STATE
37628#ifndef CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37629#if (CYTHON_COMPILING_IN_LIMITED_API || PY_VERSION_HEX >= 0x030C0000)
37630 #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 1
37632 #define CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE 0
37635#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE && !CYTHON_ATOMICS
37636#error "Module state with PEP489 requires atomics. Currently that's one of\
37637 C11, C++11, gcc atomic intrinsics or MSVC atomic intrinsics"
37639#if !CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37640#define __Pyx_ModuleStateLookup_Lock()
37641#define __Pyx_ModuleStateLookup_Unlock()
37642#elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d0000
37643static PyMutex __Pyx_ModuleStateLookup_mutex = {0};
37644#define __Pyx_ModuleStateLookup_Lock() PyMutex_Lock(&__Pyx_ModuleStateLookup_mutex)
37645#define __Pyx_ModuleStateLookup_Unlock() PyMutex_Unlock(&__Pyx_ModuleStateLookup_mutex)
37646#elif defined(__cplusplus) && __cplusplus >= 201103L
37648static std::mutex __Pyx_ModuleStateLookup_mutex;
37649#define __Pyx_ModuleStateLookup_Lock() __Pyx_ModuleStateLookup_mutex.lock()
37650#define __Pyx_ModuleStateLookup_Unlock() __Pyx_ModuleStateLookup_mutex.unlock()
37651#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ > 201112L) && !defined(__STDC_NO_THREADS__)
37652#include <threads.h>
37653static mtx_t __Pyx_ModuleStateLookup_mutex;
37654static once_flag __Pyx_ModuleStateLookup_mutex_once_flag = ONCE_FLAG_INIT;
37655static void __Pyx_ModuleStateLookup_initialize_mutex(
void) {
37656 mtx_init(&__Pyx_ModuleStateLookup_mutex, mtx_plain);
37658#define __Pyx_ModuleStateLookup_Lock()\
37659 call_once(&__Pyx_ModuleStateLookup_mutex_once_flag, __Pyx_ModuleStateLookup_initialize_mutex);\
37660 mtx_lock(&__Pyx_ModuleStateLookup_mutex)
37661#define __Pyx_ModuleStateLookup_Unlock() mtx_unlock(&__Pyx_ModuleStateLookup_mutex)
37662#elif defined(HAVE_PTHREAD_H)
37663#include <pthread.h>
37664static pthread_mutex_t __Pyx_ModuleStateLookup_mutex = PTHREAD_MUTEX_INITIALIZER;
37665#define __Pyx_ModuleStateLookup_Lock() pthread_mutex_lock(&__Pyx_ModuleStateLookup_mutex)
37666#define __Pyx_ModuleStateLookup_Unlock() pthread_mutex_unlock(&__Pyx_ModuleStateLookup_mutex)
37667#elif defined(_WIN32)
37668#include <Windows.h>
37669static SRWLOCK __Pyx_ModuleStateLookup_mutex = SRWLOCK_INIT;
37670#define __Pyx_ModuleStateLookup_Lock() AcquireSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex)
37671#define __Pyx_ModuleStateLookup_Unlock() ReleaseSRWLockExclusive(&__Pyx_ModuleStateLookup_mutex)
37673#error "No suitable lock available for CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE.\
37674 Requires C standard >= C11, or C++ standard >= C++11,\
37675 or pthreads, or the Windows 32 API, or Python >= 3.13."
37680} __Pyx_InterpreterIdAndModule;
37682 char interpreter_id_as_index;
37684 Py_ssize_t allocated;
37685 __Pyx_InterpreterIdAndModule table[1];
37686} __Pyx_ModuleStateLookupData;
37687#define __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE 32
37688#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37689static __pyx_atomic_int_type __Pyx_ModuleStateLookup_read_counter = 0;
37691#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37692static __pyx_atomic_ptr_type __Pyx_ModuleStateLookup_data = 0;
37694static __Pyx_ModuleStateLookupData* __Pyx_ModuleStateLookup_data = NULL;
37696static __Pyx_InterpreterIdAndModule* __Pyx_State_FindModuleStateLookupTableLowerBound(
37697 __Pyx_InterpreterIdAndModule* table,
37699 int64_t interpreterId) {
37700 __Pyx_InterpreterIdAndModule* begin = table;
37701 __Pyx_InterpreterIdAndModule* end = begin + count;
37702 if (begin->id == interpreterId) {
37705 while ((end - begin) > __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) {
37706 __Pyx_InterpreterIdAndModule* halfway = begin + (end - begin)/2;
37707 if (halfway->id == interpreterId) {
37710 if (halfway->id < interpreterId) {
37716 for (; begin < end; ++begin) {
37717 if (begin->id >= interpreterId)
return begin;
37721static PyObject *__Pyx_State_FindModule(CYTHON_UNUSED
void* dummy) {
37722 int64_t interpreter_id = PyInterpreterState_GetID(PyInterpreterState_Get());
37723 if (interpreter_id == -1)
return NULL;
37724#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37725 __Pyx_ModuleStateLookupData* data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data);
37727 __pyx_atomic_incr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
37728 if (likely(data)) {
37729 __Pyx_ModuleStateLookupData* new_data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_acquire(&__Pyx_ModuleStateLookup_data);
37730 if (likely(data == new_data)) {
37731 goto read_finished;
37734 __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
37735 __Pyx_ModuleStateLookup_Lock();
37736 __pyx_atomic_incr_relaxed(&__Pyx_ModuleStateLookup_read_counter);
37737 data = (__Pyx_ModuleStateLookupData*)__pyx_atomic_pointer_load_relaxed(&__Pyx_ModuleStateLookup_data);
37738 __Pyx_ModuleStateLookup_Unlock();
37742 __Pyx_ModuleStateLookupData* data = __Pyx_ModuleStateLookup_data;
37744 __Pyx_InterpreterIdAndModule* found = NULL;
37745 if (unlikely(!data))
goto end;
37746 if (data->interpreter_id_as_index) {
37747 if (interpreter_id < data->count) {
37748 found = data->table+interpreter_id;
37751 found = __Pyx_State_FindModuleStateLookupTableLowerBound(
37752 data->table, data->count, interpreter_id);
37756 PyObject *result=NULL;
37757 if (found && found->id == interpreter_id) {
37758 result = found->module;
37760#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37761 __pyx_atomic_decr_acq_rel(&__Pyx_ModuleStateLookup_read_counter);
37766#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37767static void __Pyx_ModuleStateLookup_wait_until_no_readers(
void) {
37768 while (__pyx_atomic_load(&__Pyx_ModuleStateLookup_read_counter) != 0);
37771#define __Pyx_ModuleStateLookup_wait_until_no_readers()
37773static int __Pyx_State_AddModuleInterpIdAsIndex(__Pyx_ModuleStateLookupData **old_data, PyObject* module, int64_t interpreter_id) {
37774 Py_ssize_t to_allocate = (*old_data)->allocated;
37775 while (to_allocate <= interpreter_id) {
37776 if (to_allocate == 0) to_allocate = 1;
37777 else to_allocate *= 2;
37779 __Pyx_ModuleStateLookupData *new_data = *old_data;
37780 if (to_allocate != (*old_data)->allocated) {
37781 new_data = (__Pyx_ModuleStateLookupData *)realloc(
37783 sizeof(__Pyx_ModuleStateLookupData)+(to_allocate-1)*
sizeof(__Pyx_InterpreterIdAndModule));
37788 for (Py_ssize_t i = new_data->allocated; i < to_allocate; ++i) {
37789 new_data->table[i].id = i;
37790 new_data->table[i].module = NULL;
37792 new_data->allocated = to_allocate;
37794 new_data->table[interpreter_id].module =
module;
37795 if (new_data->count < interpreter_id+1) {
37796 new_data->count = interpreter_id+1;
37798 *old_data = new_data;
37801static void __Pyx_State_ConvertFromInterpIdAsIndex(__Pyx_ModuleStateLookupData *data) {
37802 __Pyx_InterpreterIdAndModule *read = data->table;
37803 __Pyx_InterpreterIdAndModule *write = data->table;
37804 __Pyx_InterpreterIdAndModule *end = read + data->count;
37805 for (; read<end; ++read) {
37806 if (read->module) {
37807 write->id = read->id;
37808 write->module = read->module;
37812 data->count = write - data->table;
37813 for (; write<end; ++write) {
37815 write->module = NULL;
37817 data->interpreter_id_as_index = 0;
37819static int __Pyx_State_AddModule(PyObject* module, CYTHON_UNUSED
void* dummy) {
37820 int64_t interpreter_id = PyInterpreterState_GetID(PyInterpreterState_Get());
37821 if (interpreter_id == -1)
return -1;
37823 __Pyx_ModuleStateLookup_Lock();
37824#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37825 __Pyx_ModuleStateLookupData *old_data = (__Pyx_ModuleStateLookupData *)
37826 __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0);
37828 __Pyx_ModuleStateLookupData *old_data = __Pyx_ModuleStateLookup_data;
37830 __Pyx_ModuleStateLookupData *new_data = old_data;
37832 new_data = (__Pyx_ModuleStateLookupData *)calloc(1,
sizeof(__Pyx_ModuleStateLookupData));
37838 new_data->allocated = 1;
37839 new_data->interpreter_id_as_index = 1;
37841 __Pyx_ModuleStateLookup_wait_until_no_readers();
37842 if (new_data->interpreter_id_as_index) {
37843 if (interpreter_id < __PYX_MODULE_STATE_LOOKUP_SMALL_SIZE) {
37844 result = __Pyx_State_AddModuleInterpIdAsIndex(&new_data, module, interpreter_id);
37847 __Pyx_State_ConvertFromInterpIdAsIndex(new_data);
37850 Py_ssize_t insert_at = 0;
37852 __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound(
37853 new_data->table, new_data->count, interpreter_id);
37854 assert(lower_bound);
37855 insert_at = lower_bound - new_data->table;
37856 if (unlikely(insert_at < new_data->count && lower_bound->id == interpreter_id)) {
37857 lower_bound->module =
module;
37861 if (new_data->count+1 >= new_data->allocated) {
37862 Py_ssize_t to_allocate = (new_data->count+1)*2;
37864 (__Pyx_ModuleStateLookupData*)realloc(
37866 sizeof(__Pyx_ModuleStateLookupData) +
37867 (to_allocate-1)*
sizeof(__Pyx_InterpreterIdAndModule));
37870 new_data = old_data;
37874 new_data->allocated = to_allocate;
37877 int64_t last_id = interpreter_id;
37878 PyObject *last_module =
module;
37879 for (Py_ssize_t i=insert_at; i<new_data->count; ++i) {
37880 int64_t current_id = new_data->table[i].id;
37881 new_data->table[i].id = last_id;
37882 last_id = current_id;
37883 PyObject *current_module = new_data->table[i].module;
37884 new_data->table[i].module = last_module;
37885 last_module = current_module;
37889#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37890 __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, new_data);
37892 __Pyx_ModuleStateLookup_data = new_data;
37894 __Pyx_ModuleStateLookup_Unlock();
37897static int __Pyx_State_RemoveModule(CYTHON_UNUSED
void* dummy) {
37898 int64_t interpreter_id = PyInterpreterState_GetID(PyInterpreterState_Get());
37899 if (interpreter_id == -1)
return -1;
37900 __Pyx_ModuleStateLookup_Lock();
37901#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37902 __Pyx_ModuleStateLookupData *data = (__Pyx_ModuleStateLookupData *)
37903 __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, 0);
37905 __Pyx_ModuleStateLookupData *data = __Pyx_ModuleStateLookup_data;
37907 if (data->interpreter_id_as_index) {
37908 if (interpreter_id < data->count) {
37909 data->table[interpreter_id].module = NULL;
37914 __Pyx_ModuleStateLookup_wait_until_no_readers();
37915 __Pyx_InterpreterIdAndModule* lower_bound = __Pyx_State_FindModuleStateLookupTableLowerBound(
37916 data->table, data->count, interpreter_id);
37917 if (!lower_bound)
goto done;
37918 if (lower_bound->id != interpreter_id)
goto done;
37919 __Pyx_InterpreterIdAndModule *end = data->table+data->count;
37920 for (;lower_bound<end-1; ++lower_bound) {
37921 lower_bound->id = (lower_bound+1)->
id;
37922 lower_bound->module = (lower_bound+1)->module;
37926 if (data->count == 0) {
37931#if CYTHON_MODULE_STATE_LOOKUP_THREAD_SAFE
37932 __pyx_atomic_pointer_exchange(&__Pyx_ModuleStateLookup_data, data);
37934 __Pyx_ModuleStateLookup_data = data;
37936 __Pyx_ModuleStateLookup_Unlock();
37943#pragma warning( pop )
double evaluate_edge_poly(const double C[nP+1], double t)
void calculate_edge_H(double phi0, double phi1, double C_H[nP+1])