Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/master/DOTA_devkit/poly_nms_gpu/poly_overlaps.cpp
Views: 475
/* Generated by Cython 0.29.14 */12#define PY_SSIZE_T_CLEAN3#include "Python.h"4#ifndef Py_PYTHON_H5#error Python headers needed to compile C extensions, please install development version of Python.6#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)7#error Cython requires Python 2.6+ or Python 3.3+.8#else9#define CYTHON_ABI "0_29_14"10#define CYTHON_HEX_VERSION 0x001D0EF011#define CYTHON_FUTURE_DIVISION 012#include <stddef.h>13#ifndef offsetof14#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )15#endif16#if !defined(WIN32) && !defined(MS_WINDOWS)17#ifndef __stdcall18#define __stdcall19#endif20#ifndef __cdecl21#define __cdecl22#endif23#ifndef __fastcall24#define __fastcall25#endif26#endif27#ifndef DL_IMPORT28#define DL_IMPORT(t) t29#endif30#ifndef DL_EXPORT31#define DL_EXPORT(t) t32#endif33#define __PYX_COMMA ,34#ifndef HAVE_LONG_LONG35#if PY_VERSION_HEX >= 0x0207000036#define HAVE_LONG_LONG37#endif38#endif39#ifndef PY_LONG_LONG40#define PY_LONG_LONG LONG_LONG41#endif42#ifndef Py_HUGE_VAL43#define Py_HUGE_VAL HUGE_VAL44#endif45#ifdef PYPY_VERSION46#define CYTHON_COMPILING_IN_PYPY 147#define CYTHON_COMPILING_IN_PYSTON 048#define CYTHON_COMPILING_IN_CPYTHON 049#undef CYTHON_USE_TYPE_SLOTS50#define CYTHON_USE_TYPE_SLOTS 051#undef CYTHON_USE_PYTYPE_LOOKUP52#define CYTHON_USE_PYTYPE_LOOKUP 053#if PY_VERSION_HEX < 0x0305000054#undef CYTHON_USE_ASYNC_SLOTS55#define CYTHON_USE_ASYNC_SLOTS 056#elif !defined(CYTHON_USE_ASYNC_SLOTS)57#define CYTHON_USE_ASYNC_SLOTS 158#endif59#undef CYTHON_USE_PYLIST_INTERNALS60#define CYTHON_USE_PYLIST_INTERNALS 061#undef CYTHON_USE_UNICODE_INTERNALS62#define CYTHON_USE_UNICODE_INTERNALS 063#undef CYTHON_USE_UNICODE_WRITER64#define CYTHON_USE_UNICODE_WRITER 065#undef CYTHON_USE_PYLONG_INTERNALS66#define CYTHON_USE_PYLONG_INTERNALS 067#undef CYTHON_AVOID_BORROWED_REFS68#define CYTHON_AVOID_BORROWED_REFS 169#undef CYTHON_ASSUME_SAFE_MACROS70#define CYTHON_ASSUME_SAFE_MACROS 071#undef CYTHON_UNPACK_METHODS72#define CYTHON_UNPACK_METHODS 073#undef CYTHON_FAST_THREAD_STATE74#define CYTHON_FAST_THREAD_STATE 075#undef CYTHON_FAST_PYCALL76#define CYTHON_FAST_PYCALL 077#undef CYTHON_PEP489_MULTI_PHASE_INIT78#define CYTHON_PEP489_MULTI_PHASE_INIT 079#undef CYTHON_USE_TP_FINALIZE80#define CYTHON_USE_TP_FINALIZE 081#undef CYTHON_USE_DICT_VERSIONS82#define CYTHON_USE_DICT_VERSIONS 083#undef CYTHON_USE_EXC_INFO_STACK84#define CYTHON_USE_EXC_INFO_STACK 085#elif defined(PYSTON_VERSION)86#define CYTHON_COMPILING_IN_PYPY 087#define CYTHON_COMPILING_IN_PYSTON 188#define CYTHON_COMPILING_IN_CPYTHON 089#ifndef CYTHON_USE_TYPE_SLOTS90#define CYTHON_USE_TYPE_SLOTS 191#endif92#undef CYTHON_USE_PYTYPE_LOOKUP93#define CYTHON_USE_PYTYPE_LOOKUP 094#undef CYTHON_USE_ASYNC_SLOTS95#define CYTHON_USE_ASYNC_SLOTS 096#undef CYTHON_USE_PYLIST_INTERNALS97#define CYTHON_USE_PYLIST_INTERNALS 098#ifndef CYTHON_USE_UNICODE_INTERNALS99#define CYTHON_USE_UNICODE_INTERNALS 1100#endif101#undef CYTHON_USE_UNICODE_WRITER102#define CYTHON_USE_UNICODE_WRITER 0103#undef CYTHON_USE_PYLONG_INTERNALS104#define CYTHON_USE_PYLONG_INTERNALS 0105#ifndef CYTHON_AVOID_BORROWED_REFS106#define CYTHON_AVOID_BORROWED_REFS 0107#endif108#ifndef CYTHON_ASSUME_SAFE_MACROS109#define CYTHON_ASSUME_SAFE_MACROS 1110#endif111#ifndef CYTHON_UNPACK_METHODS112#define CYTHON_UNPACK_METHODS 1113#endif114#undef CYTHON_FAST_THREAD_STATE115#define CYTHON_FAST_THREAD_STATE 0116#undef CYTHON_FAST_PYCALL117#define CYTHON_FAST_PYCALL 0118#undef CYTHON_PEP489_MULTI_PHASE_INIT119#define CYTHON_PEP489_MULTI_PHASE_INIT 0120#undef CYTHON_USE_TP_FINALIZE121#define CYTHON_USE_TP_FINALIZE 0122#undef CYTHON_USE_DICT_VERSIONS123#define CYTHON_USE_DICT_VERSIONS 0124#undef CYTHON_USE_EXC_INFO_STACK125#define CYTHON_USE_EXC_INFO_STACK 0126#else127#define CYTHON_COMPILING_IN_PYPY 0128#define CYTHON_COMPILING_IN_PYSTON 0129#define CYTHON_COMPILING_IN_CPYTHON 1130#ifndef CYTHON_USE_TYPE_SLOTS131#define CYTHON_USE_TYPE_SLOTS 1132#endif133#if PY_VERSION_HEX < 0x02070000134#undef CYTHON_USE_PYTYPE_LOOKUP135#define CYTHON_USE_PYTYPE_LOOKUP 0136#elif !defined(CYTHON_USE_PYTYPE_LOOKUP)137#define CYTHON_USE_PYTYPE_LOOKUP 1138#endif139#if PY_MAJOR_VERSION < 3140#undef CYTHON_USE_ASYNC_SLOTS141#define CYTHON_USE_ASYNC_SLOTS 0142#elif !defined(CYTHON_USE_ASYNC_SLOTS)143#define CYTHON_USE_ASYNC_SLOTS 1144#endif145#if PY_VERSION_HEX < 0x02070000146#undef CYTHON_USE_PYLONG_INTERNALS147#define CYTHON_USE_PYLONG_INTERNALS 0148#elif !defined(CYTHON_USE_PYLONG_INTERNALS)149#define CYTHON_USE_PYLONG_INTERNALS 1150#endif151#ifndef CYTHON_USE_PYLIST_INTERNALS152#define CYTHON_USE_PYLIST_INTERNALS 1153#endif154#ifndef CYTHON_USE_UNICODE_INTERNALS155#define CYTHON_USE_UNICODE_INTERNALS 1156#endif157#if PY_VERSION_HEX < 0x030300F0158#undef CYTHON_USE_UNICODE_WRITER159#define CYTHON_USE_UNICODE_WRITER 0160#elif !defined(CYTHON_USE_UNICODE_WRITER)161#define CYTHON_USE_UNICODE_WRITER 1162#endif163#ifndef CYTHON_AVOID_BORROWED_REFS164#define CYTHON_AVOID_BORROWED_REFS 0165#endif166#ifndef CYTHON_ASSUME_SAFE_MACROS167#define CYTHON_ASSUME_SAFE_MACROS 1168#endif169#ifndef CYTHON_UNPACK_METHODS170#define CYTHON_UNPACK_METHODS 1171#endif172#ifndef CYTHON_FAST_THREAD_STATE173#define CYTHON_FAST_THREAD_STATE 1174#endif175#ifndef CYTHON_FAST_PYCALL176#define CYTHON_FAST_PYCALL 1177#endif178#ifndef CYTHON_PEP489_MULTI_PHASE_INIT179#define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)180#endif181#ifndef CYTHON_USE_TP_FINALIZE182#define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)183#endif184#ifndef CYTHON_USE_DICT_VERSIONS185#define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)186#endif187#ifndef CYTHON_USE_EXC_INFO_STACK188#define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)189#endif190#endif191#if !defined(CYTHON_FAST_PYCCALL)192#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)193#endif194#if CYTHON_USE_PYLONG_INTERNALS195#include "longintrepr.h"196#undef SHIFT197#undef BASE198#undef MASK199#ifdef SIZEOF_VOID_P200enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };201#endif202#endif203#ifndef __has_attribute204#define __has_attribute(x) 0205#endif206#ifndef __has_cpp_attribute207#define __has_cpp_attribute(x) 0208#endif209#ifndef CYTHON_RESTRICT210#if defined(__GNUC__)211#define CYTHON_RESTRICT __restrict__212#elif defined(_MSC_VER) && _MSC_VER >= 1400213#define CYTHON_RESTRICT __restrict214#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L215#define CYTHON_RESTRICT restrict216#else217#define CYTHON_RESTRICT218#endif219#endif220#ifndef CYTHON_UNUSED221# if defined(__GNUC__)222# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))223# define CYTHON_UNUSED __attribute__ ((__unused__))224# else225# define CYTHON_UNUSED226# endif227# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))228# define CYTHON_UNUSED __attribute__ ((__unused__))229# else230# define CYTHON_UNUSED231# endif232#endif233#ifndef CYTHON_MAYBE_UNUSED_VAR234# if defined(__cplusplus)235template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }236# else237# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)238# endif239#endif240#ifndef CYTHON_NCP_UNUSED241# if CYTHON_COMPILING_IN_CPYTHON242# define CYTHON_NCP_UNUSED243# else244# define CYTHON_NCP_UNUSED CYTHON_UNUSED245# endif246#endif247#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)248#ifdef _MSC_VER249#ifndef _MSC_STDINT_H_250#if _MSC_VER < 1300251typedef unsigned char uint8_t;252typedef unsigned int uint32_t;253#else254typedef unsigned __int8 uint8_t;255typedef unsigned __int32 uint32_t;256#endif257#endif258#else259#include <stdint.h>260#endif261#ifndef CYTHON_FALLTHROUGH262#if defined(__cplusplus) && __cplusplus >= 201103L263#if __has_cpp_attribute(fallthrough)264#define CYTHON_FALLTHROUGH [[fallthrough]]265#elif __has_cpp_attribute(clang::fallthrough)266#define CYTHON_FALLTHROUGH [[clang::fallthrough]]267#elif __has_cpp_attribute(gnu::fallthrough)268#define CYTHON_FALLTHROUGH [[gnu::fallthrough]]269#endif270#endif271#ifndef CYTHON_FALLTHROUGH272#if __has_attribute(fallthrough)273#define CYTHON_FALLTHROUGH __attribute__((fallthrough))274#else275#define CYTHON_FALLTHROUGH276#endif277#endif278#if defined(__clang__ ) && defined(__apple_build_version__)279#if __apple_build_version__ < 7000000280#undef CYTHON_FALLTHROUGH281#define CYTHON_FALLTHROUGH282#endif283#endif284#endif285286#ifndef __cplusplus287#error "Cython files generated with the C++ option must be compiled with a C++ compiler."288#endif289#ifndef CYTHON_INLINE290#if defined(__clang__)291#define CYTHON_INLINE __inline__ __attribute__ ((__unused__))292#else293#define CYTHON_INLINE inline294#endif295#endif296template<typename T>297void __Pyx_call_destructor(T& x) {298x.~T();299}300template<typename T>301class __Pyx_FakeReference {302public:303__Pyx_FakeReference() : ptr(NULL) { }304__Pyx_FakeReference(const T& ref) : ptr(const_cast<T*>(&ref)) { }305T *operator->() { return ptr; }306T *operator&() { return ptr; }307operator T&() { return *ptr; }308template<typename U> bool operator ==(U other) { return *ptr == other; }309template<typename U> bool operator !=(U other) { return *ptr != other; }310private:311T *ptr;312};313314#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)315#define Py_OptimizeFlag 0316#endif317#define __PYX_BUILD_PY_SSIZE_T "n"318#define CYTHON_FORMAT_SSIZE_T "z"319#if PY_MAJOR_VERSION < 3320#define __Pyx_BUILTIN_MODULE_NAME "__builtin__"321#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\322PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)323#define __Pyx_DefaultClassType PyClass_Type324#else325#define __Pyx_BUILTIN_MODULE_NAME "builtins"326#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2327#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\328PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)329#else330#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\331PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)332#endif333#define __Pyx_DefaultClassType PyType_Type334#endif335#ifndef Py_TPFLAGS_CHECKTYPES336#define Py_TPFLAGS_CHECKTYPES 0337#endif338#ifndef Py_TPFLAGS_HAVE_INDEX339#define Py_TPFLAGS_HAVE_INDEX 0340#endif341#ifndef Py_TPFLAGS_HAVE_NEWBUFFER342#define Py_TPFLAGS_HAVE_NEWBUFFER 0343#endif344#ifndef Py_TPFLAGS_HAVE_FINALIZE345#define Py_TPFLAGS_HAVE_FINALIZE 0346#endif347#ifndef METH_STACKLESS348#define METH_STACKLESS 0349#endif350#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)351#ifndef METH_FASTCALL352#define METH_FASTCALL 0x80353#endif354typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);355typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,356Py_ssize_t nargs, PyObject *kwnames);357#else358#define __Pyx_PyCFunctionFast _PyCFunctionFast359#define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords360#endif361#if CYTHON_FAST_PYCCALL362#define __Pyx_PyFastCFunction_Check(func)\363((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))364#else365#define __Pyx_PyFastCFunction_Check(func) 0366#endif367#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)368#define PyObject_Malloc(s) PyMem_Malloc(s)369#define PyObject_Free(p) PyMem_Free(p)370#define PyObject_Realloc(p) PyMem_Realloc(p)371#endif372#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1373#define PyMem_RawMalloc(n) PyMem_Malloc(n)374#define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n)375#define PyMem_RawFree(p) PyMem_Free(p)376#endif377#if CYTHON_COMPILING_IN_PYSTON378#define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co)379#define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)380#else381#define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)382#define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)383#endif384#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000385#define __Pyx_PyThreadState_Current PyThreadState_GET()386#elif PY_VERSION_HEX >= 0x03060000387#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()388#elif PY_VERSION_HEX >= 0x03000000389#define __Pyx_PyThreadState_Current PyThreadState_GET()390#else391#define __Pyx_PyThreadState_Current _PyThreadState_Current392#endif393#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)394#include "pythread.h"395#define Py_tss_NEEDS_INIT 0396typedef int Py_tss_t;397static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {398*key = PyThread_create_key();399return 0;400}401static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {402Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));403*key = Py_tss_NEEDS_INIT;404return key;405}406static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {407PyObject_Free(key);408}409static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {410return *key != Py_tss_NEEDS_INIT;411}412static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {413PyThread_delete_key(*key);414*key = Py_tss_NEEDS_INIT;415}416static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {417return PyThread_set_key_value(*key, value);418}419static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {420return PyThread_get_key_value(*key);421}422#endif423#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)424#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))425#else426#define __Pyx_PyDict_NewPresized(n) PyDict_New()427#endif428#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION429#define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)430#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)431#else432#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)433#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)434#endif435#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS436#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)437#else438#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name)439#endif440#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)441#define CYTHON_PEP393_ENABLED 1442#define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\4430 : _PyUnicode_Ready((PyObject *)(op)))444#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)445#define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)446#define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)447#define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)448#define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)449#define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)450#define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)451#define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))452#else453#define CYTHON_PEP393_ENABLED 0454#define PyUnicode_1BYTE_KIND 1455#define PyUnicode_2BYTE_KIND 2456#define PyUnicode_4BYTE_KIND 4457#define __Pyx_PyUnicode_READY(op) (0)458#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)459#define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))460#define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)461#define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE))462#define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))463#define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))464#define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch)465#define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))466#endif467#if CYTHON_COMPILING_IN_PYPY468#define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)469#define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)470#else471#define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)472#define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\473PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))474#endif475#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)476#define PyUnicode_Contains(u, s) PySequence_Contains(u, s)477#endif478#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)479#define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)480#endif481#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)482#define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)483#endif484#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))485#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))486#if PY_MAJOR_VERSION >= 3487#define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)488#else489#define __Pyx_PyString_Format(a, b) PyString_Format(a, b)490#endif491#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)492#define PyObject_ASCII(o) PyObject_Repr(o)493#endif494#if PY_MAJOR_VERSION >= 3495#define PyBaseString_Type PyUnicode_Type496#define PyStringObject PyUnicodeObject497#define PyString_Type PyUnicode_Type498#define PyString_Check PyUnicode_Check499#define PyString_CheckExact PyUnicode_CheckExact500#define PyObject_Unicode PyObject_Str501#endif502#if PY_MAJOR_VERSION >= 3503#define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)504#define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)505#else506#define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))507#define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))508#endif509#ifndef PySet_CheckExact510#define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)511#endif512#if CYTHON_ASSUME_SAFE_MACROS513#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)514#else515#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)516#endif517#if PY_MAJOR_VERSION >= 3518#define PyIntObject PyLongObject519#define PyInt_Type PyLong_Type520#define PyInt_Check(op) PyLong_Check(op)521#define PyInt_CheckExact(op) PyLong_CheckExact(op)522#define PyInt_FromString PyLong_FromString523#define PyInt_FromUnicode PyLong_FromUnicode524#define PyInt_FromLong PyLong_FromLong525#define PyInt_FromSize_t PyLong_FromSize_t526#define PyInt_FromSsize_t PyLong_FromSsize_t527#define PyInt_AsLong PyLong_AsLong528#define PyInt_AS_LONG PyLong_AS_LONG529#define PyInt_AsSsize_t PyLong_AsSsize_t530#define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask531#define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask532#define PyNumber_Int PyNumber_Long533#endif534#if PY_MAJOR_VERSION >= 3535#define PyBoolObject PyLongObject536#endif537#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY538#ifndef PyUnicode_InternFromString539#define PyUnicode_InternFromString(s) PyUnicode_FromString(s)540#endif541#endif542#if PY_VERSION_HEX < 0x030200A4543typedef long Py_hash_t;544#define __Pyx_PyInt_FromHash_t PyInt_FromLong545#define __Pyx_PyInt_AsHash_t PyInt_AsLong546#else547#define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t548#define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t549#endif550#if PY_MAJOR_VERSION >= 3551#define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : (Py_INCREF(func), func))552#else553#define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)554#endif555#if CYTHON_USE_ASYNC_SLOTS556#if PY_VERSION_HEX >= 0x030500B1557#define __Pyx_PyAsyncMethodsStruct PyAsyncMethods558#define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)559#else560#define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))561#endif562#else563#define __Pyx_PyType_AsAsync(obj) NULL564#endif565#ifndef __Pyx_PyAsyncMethodsStruct566typedef struct {567unaryfunc am_await;568unaryfunc am_aiter;569unaryfunc am_anext;570} __Pyx_PyAsyncMethodsStruct;571#endif572573#if defined(WIN32) || defined(MS_WINDOWS)574#define _USE_MATH_DEFINES575#endif576#include <math.h>577#ifdef NAN578#define __PYX_NAN() ((float) NAN)579#else580static CYTHON_INLINE float __PYX_NAN() {581float value;582memset(&value, 0xFF, sizeof(value));583return value;584}585#endif586#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)587#define __Pyx_truncl trunc588#else589#define __Pyx_truncl truncl590#endif591592593#define __PYX_ERR(f_index, lineno, Ln_error) \594{ \595__pyx_filename = __pyx_f[f_index]; __pyx_lineno = lineno; __pyx_clineno = __LINE__; goto Ln_error; \596}597598#ifndef __PYX_EXTERN_C599#ifdef __cplusplus600#define __PYX_EXTERN_C extern "C"601#else602#define __PYX_EXTERN_C extern603#endif604#endif605606#define __PYX_HAVE__poly_overlaps607#define __PYX_HAVE_API__poly_overlaps608/* Early includes */609#include <string.h>610#include <stdio.h>611#include "numpy/arrayobject.h"612#include "numpy/ufuncobject.h"613#include "poly_overlaps.hpp"614#ifdef _OPENMP615#include <omp.h>616#endif /* _OPENMP */617618#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)619#define CYTHON_WITHOUT_ASSERTIONS620#endif621622typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;623const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;624625#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0626#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0627#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)628#define __PYX_DEFAULT_STRING_ENCODING ""629#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString630#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize631#define __Pyx_uchar_cast(c) ((unsigned char)c)632#define __Pyx_long_cast(x) ((long)x)633#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\634(sizeof(type) < sizeof(Py_ssize_t)) ||\635(sizeof(type) > sizeof(Py_ssize_t) &&\636likely(v < (type)PY_SSIZE_T_MAX ||\637v == (type)PY_SSIZE_T_MAX) &&\638(!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\639v == (type)PY_SSIZE_T_MIN))) ||\640(sizeof(type) == sizeof(Py_ssize_t) &&\641(is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\642v == (type)PY_SSIZE_T_MAX))) )643static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {644return (size_t) i < (size_t) limit;645}646#if defined (__cplusplus) && __cplusplus >= 201103L647#include <cstdlib>648#define __Pyx_sst_abs(value) std::abs(value)649#elif SIZEOF_INT >= SIZEOF_SIZE_T650#define __Pyx_sst_abs(value) abs(value)651#elif SIZEOF_LONG >= SIZEOF_SIZE_T652#define __Pyx_sst_abs(value) labs(value)653#elif defined (_MSC_VER)654#define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))655#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L656#define __Pyx_sst_abs(value) llabs(value)657#elif defined (__GNUC__)658#define __Pyx_sst_abs(value) __builtin_llabs(value)659#else660#define __Pyx_sst_abs(value) ((value<0) ? -value : value)661#endif662static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);663static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);664#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))665#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)666#define __Pyx_PyBytes_FromString PyBytes_FromString667#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize668static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);669#if PY_MAJOR_VERSION < 3670#define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString671#define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize672#else673#define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString674#define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize675#endif676#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))677#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))678#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))679#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))680#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))681#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))682#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s))683#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s))684#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))685#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))686#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))687#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)688#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)689#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)690#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)691#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)692static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {693const Py_UNICODE *u_end = u;694while (*u_end++) ;695return (size_t)(u_end - u - 1);696}697#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))698#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode699#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode700#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)701#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)702static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);703static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);704static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);705static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);706#define __Pyx_PySequence_Tuple(obj)\707(likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))708static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);709static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);710#if CYTHON_ASSUME_SAFE_MACROS711#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))712#else713#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)714#endif715#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))716#if PY_MAJOR_VERSION >= 3717#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))718#else719#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))720#endif721#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))722#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII723static int __Pyx_sys_getdefaultencoding_not_ascii;724static int __Pyx_init_sys_getdefaultencoding_params(void) {725PyObject* sys;726PyObject* default_encoding = NULL;727PyObject* ascii_chars_u = NULL;728PyObject* ascii_chars_b = NULL;729const char* default_encoding_c;730sys = PyImport_ImportModule("sys");731if (!sys) goto bad;732default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);733Py_DECREF(sys);734if (!default_encoding) goto bad;735default_encoding_c = PyBytes_AsString(default_encoding);736if (!default_encoding_c) goto bad;737if (strcmp(default_encoding_c, "ascii") == 0) {738__Pyx_sys_getdefaultencoding_not_ascii = 0;739} else {740char ascii_chars[128];741int c;742for (c = 0; c < 128; c++) {743ascii_chars[c] = c;744}745__Pyx_sys_getdefaultencoding_not_ascii = 1;746ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);747if (!ascii_chars_u) goto bad;748ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);749if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {750PyErr_Format(751PyExc_ValueError,752"This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",753default_encoding_c);754goto bad;755}756Py_DECREF(ascii_chars_u);757Py_DECREF(ascii_chars_b);758}759Py_DECREF(default_encoding);760return 0;761bad:762Py_XDECREF(default_encoding);763Py_XDECREF(ascii_chars_u);764Py_XDECREF(ascii_chars_b);765return -1;766}767#endif768#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3769#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)770#else771#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)772#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT773static char* __PYX_DEFAULT_STRING_ENCODING;774static int __Pyx_init_sys_getdefaultencoding_params(void) {775PyObject* sys;776PyObject* default_encoding = NULL;777char* default_encoding_c;778sys = PyImport_ImportModule("sys");779if (!sys) goto bad;780default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);781Py_DECREF(sys);782if (!default_encoding) goto bad;783default_encoding_c = PyBytes_AsString(default_encoding);784if (!default_encoding_c) goto bad;785__PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);786if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;787strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);788Py_DECREF(default_encoding);789return 0;790bad:791Py_XDECREF(default_encoding);792return -1;793}794#endif795#endif796797798/* Test for GCC > 2.95 */799#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))800#define likely(x) __builtin_expect(!!(x), 1)801#define unlikely(x) __builtin_expect(!!(x), 0)802#else /* !__GNUC__ or GCC < 2.95 */803#define likely(x) (x)804#define unlikely(x) (x)805#endif /* __GNUC__ */806static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }807808static PyObject *__pyx_m = NULL;809static PyObject *__pyx_d;810static PyObject *__pyx_b;811static PyObject *__pyx_cython_runtime = NULL;812static PyObject *__pyx_empty_tuple;813static PyObject *__pyx_empty_bytes;814static PyObject *__pyx_empty_unicode;815static int __pyx_lineno;816static int __pyx_clineno = 0;817static const char * __pyx_cfilenm= __FILE__;818static const char *__pyx_filename;819820/* Header.proto */821#if !defined(CYTHON_CCOMPLEX)822#if defined(__cplusplus)823#define CYTHON_CCOMPLEX 1824#elif defined(_Complex_I)825#define CYTHON_CCOMPLEX 1826#else827#define CYTHON_CCOMPLEX 0828#endif829#endif830#if CYTHON_CCOMPLEX831#ifdef __cplusplus832#include <complex>833#else834#include <complex.h>835#endif836#endif837#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)838#undef _Complex_I839#define _Complex_I 1.0fj840#endif841842843static const char *__pyx_f[] = {844"poly_overlaps.pyx",845"__init__.pxd",846"type.pxd",847};848/* BufferFormatStructs.proto */849#define IS_UNSIGNED(type) (((type) -1) > 0)850struct __Pyx_StructField_;851#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)852typedef struct {853const char* name;854struct __Pyx_StructField_* fields;855size_t size;856size_t arraysize[8];857int ndim;858char typegroup;859char is_unsigned;860int flags;861} __Pyx_TypeInfo;862typedef struct __Pyx_StructField_ {863__Pyx_TypeInfo* type;864const char* name;865size_t offset;866} __Pyx_StructField;867typedef struct {868__Pyx_StructField* field;869size_t parent_offset;870} __Pyx_BufFmt_StackElem;871typedef struct {872__Pyx_StructField root;873__Pyx_BufFmt_StackElem* head;874size_t fmt_offset;875size_t new_count, enc_count;876size_t struct_alignment;877int is_complex;878char enc_type;879char new_packmode;880char enc_packmode;881char is_valid_array;882} __Pyx_BufFmt_Context;883884885/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":776886* # in Cython to enable them only on the right systems.887*888* ctypedef npy_int8 int8_t # <<<<<<<<<<<<<<889* ctypedef npy_int16 int16_t890* ctypedef npy_int32 int32_t891*/892typedef npy_int8 __pyx_t_5numpy_int8_t;893894/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":777895*896* ctypedef npy_int8 int8_t897* ctypedef npy_int16 int16_t # <<<<<<<<<<<<<<898* ctypedef npy_int32 int32_t899* ctypedef npy_int64 int64_t900*/901typedef npy_int16 __pyx_t_5numpy_int16_t;902903/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":778904* ctypedef npy_int8 int8_t905* ctypedef npy_int16 int16_t906* ctypedef npy_int32 int32_t # <<<<<<<<<<<<<<907* ctypedef npy_int64 int64_t908* #ctypedef npy_int96 int96_t909*/910typedef npy_int32 __pyx_t_5numpy_int32_t;911912/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":779913* ctypedef npy_int16 int16_t914* ctypedef npy_int32 int32_t915* ctypedef npy_int64 int64_t # <<<<<<<<<<<<<<916* #ctypedef npy_int96 int96_t917* #ctypedef npy_int128 int128_t918*/919typedef npy_int64 __pyx_t_5numpy_int64_t;920921/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":783922* #ctypedef npy_int128 int128_t923*924* ctypedef npy_uint8 uint8_t # <<<<<<<<<<<<<<925* ctypedef npy_uint16 uint16_t926* ctypedef npy_uint32 uint32_t927*/928typedef npy_uint8 __pyx_t_5numpy_uint8_t;929930/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":784931*932* ctypedef npy_uint8 uint8_t933* ctypedef npy_uint16 uint16_t # <<<<<<<<<<<<<<934* ctypedef npy_uint32 uint32_t935* ctypedef npy_uint64 uint64_t936*/937typedef npy_uint16 __pyx_t_5numpy_uint16_t;938939/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":785940* ctypedef npy_uint8 uint8_t941* ctypedef npy_uint16 uint16_t942* ctypedef npy_uint32 uint32_t # <<<<<<<<<<<<<<943* ctypedef npy_uint64 uint64_t944* #ctypedef npy_uint96 uint96_t945*/946typedef npy_uint32 __pyx_t_5numpy_uint32_t;947948/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":786949* ctypedef npy_uint16 uint16_t950* ctypedef npy_uint32 uint32_t951* ctypedef npy_uint64 uint64_t # <<<<<<<<<<<<<<952* #ctypedef npy_uint96 uint96_t953* #ctypedef npy_uint128 uint128_t954*/955typedef npy_uint64 __pyx_t_5numpy_uint64_t;956957/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":790958* #ctypedef npy_uint128 uint128_t959*960* ctypedef npy_float32 float32_t # <<<<<<<<<<<<<<961* ctypedef npy_float64 float64_t962* #ctypedef npy_float80 float80_t963*/964typedef npy_float32 __pyx_t_5numpy_float32_t;965966/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":791967*968* ctypedef npy_float32 float32_t969* ctypedef npy_float64 float64_t # <<<<<<<<<<<<<<970* #ctypedef npy_float80 float80_t971* #ctypedef npy_float128 float128_t972*/973typedef npy_float64 __pyx_t_5numpy_float64_t;974975/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":800976* # The int types are mapped a bit surprising --977* # numpy.int corresponds to 'l' and numpy.long to 'q'978* ctypedef npy_long int_t # <<<<<<<<<<<<<<979* ctypedef npy_longlong long_t980* ctypedef npy_longlong longlong_t981*/982typedef npy_long __pyx_t_5numpy_int_t;983984/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":801985* # numpy.int corresponds to 'l' and numpy.long to 'q'986* ctypedef npy_long int_t987* ctypedef npy_longlong long_t # <<<<<<<<<<<<<<988* ctypedef npy_longlong longlong_t989*990*/991typedef npy_longlong __pyx_t_5numpy_long_t;992993/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":802994* ctypedef npy_long int_t995* ctypedef npy_longlong long_t996* ctypedef npy_longlong longlong_t # <<<<<<<<<<<<<<997*998* ctypedef npy_ulong uint_t999*/1000typedef npy_longlong __pyx_t_5numpy_longlong_t;10011002/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8041003* ctypedef npy_longlong longlong_t1004*1005* ctypedef npy_ulong uint_t # <<<<<<<<<<<<<<1006* ctypedef npy_ulonglong ulong_t1007* ctypedef npy_ulonglong ulonglong_t1008*/1009typedef npy_ulong __pyx_t_5numpy_uint_t;10101011/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8051012*1013* ctypedef npy_ulong uint_t1014* ctypedef npy_ulonglong ulong_t # <<<<<<<<<<<<<<1015* ctypedef npy_ulonglong ulonglong_t1016*1017*/1018typedef npy_ulonglong __pyx_t_5numpy_ulong_t;10191020/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8061021* ctypedef npy_ulong uint_t1022* ctypedef npy_ulonglong ulong_t1023* ctypedef npy_ulonglong ulonglong_t # <<<<<<<<<<<<<<1024*1025* ctypedef npy_intp intp_t1026*/1027typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;10281029/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8081030* ctypedef npy_ulonglong ulonglong_t1031*1032* ctypedef npy_intp intp_t # <<<<<<<<<<<<<<1033* ctypedef npy_uintp uintp_t1034*1035*/1036typedef npy_intp __pyx_t_5numpy_intp_t;10371038/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8091039*1040* ctypedef npy_intp intp_t1041* ctypedef npy_uintp uintp_t # <<<<<<<<<<<<<<1042*1043* ctypedef npy_double float_t1044*/1045typedef npy_uintp __pyx_t_5numpy_uintp_t;10461047/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8111048* ctypedef npy_uintp uintp_t1049*1050* ctypedef npy_double float_t # <<<<<<<<<<<<<<1051* ctypedef npy_double double_t1052* ctypedef npy_longdouble longdouble_t1053*/1054typedef npy_double __pyx_t_5numpy_float_t;10551056/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8121057*1058* ctypedef npy_double float_t1059* ctypedef npy_double double_t # <<<<<<<<<<<<<<1060* ctypedef npy_longdouble longdouble_t1061*1062*/1063typedef npy_double __pyx_t_5numpy_double_t;10641065/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8131066* ctypedef npy_double float_t1067* ctypedef npy_double double_t1068* ctypedef npy_longdouble longdouble_t # <<<<<<<<<<<<<<1069*1070* ctypedef npy_cfloat cfloat_t1071*/1072typedef npy_longdouble __pyx_t_5numpy_longdouble_t;1073/* Declarations.proto */1074#if CYTHON_CCOMPLEX1075#ifdef __cplusplus1076typedef ::std::complex< float > __pyx_t_float_complex;1077#else1078typedef float _Complex __pyx_t_float_complex;1079#endif1080#else1081typedef struct { float real, imag; } __pyx_t_float_complex;1082#endif1083static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);10841085/* Declarations.proto */1086#if CYTHON_CCOMPLEX1087#ifdef __cplusplus1088typedef ::std::complex< double > __pyx_t_double_complex;1089#else1090typedef double _Complex __pyx_t_double_complex;1091#endif1092#else1093typedef struct { double real, imag; } __pyx_t_double_complex;1094#endif1095static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);109610971098/*--- Type declarations ---*/10991100/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8151101* ctypedef npy_longdouble longdouble_t1102*1103* ctypedef npy_cfloat cfloat_t # <<<<<<<<<<<<<<1104* ctypedef npy_cdouble cdouble_t1105* ctypedef npy_clongdouble clongdouble_t1106*/1107typedef npy_cfloat __pyx_t_5numpy_cfloat_t;11081109/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8161110*1111* ctypedef npy_cfloat cfloat_t1112* ctypedef npy_cdouble cdouble_t # <<<<<<<<<<<<<<1113* ctypedef npy_clongdouble clongdouble_t1114*1115*/1116typedef npy_cdouble __pyx_t_5numpy_cdouble_t;11171118/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8171119* ctypedef npy_cfloat cfloat_t1120* ctypedef npy_cdouble cdouble_t1121* ctypedef npy_clongdouble clongdouble_t # <<<<<<<<<<<<<<1122*1123* ctypedef npy_cdouble complex_t1124*/1125typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;11261127/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8191128* ctypedef npy_clongdouble clongdouble_t1129*1130* ctypedef npy_cdouble complex_t # <<<<<<<<<<<<<<1131*1132* cdef inline object PyArray_MultiIterNew1(a):1133*/1134typedef npy_cdouble __pyx_t_5numpy_complex_t;11351136/* --- Runtime support code (head) --- */1137/* Refnanny.proto */1138#ifndef CYTHON_REFNANNY1139#define CYTHON_REFNANNY 01140#endif1141#if CYTHON_REFNANNY1142typedef struct {1143void (*INCREF)(void*, PyObject*, int);1144void (*DECREF)(void*, PyObject*, int);1145void (*GOTREF)(void*, PyObject*, int);1146void (*GIVEREF)(void*, PyObject*, int);1147void* (*SetupContext)(const char*, int, const char*);1148void (*FinishContext)(void**);1149} __Pyx_RefNannyAPIStruct;1150static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;1151static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);1152#define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;1153#ifdef WITH_THREAD1154#define __Pyx_RefNannySetupContext(name, acquire_gil)\1155if (acquire_gil) {\1156PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\1157__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\1158PyGILState_Release(__pyx_gilstate_save);\1159} else {\1160__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\1161}1162#else1163#define __Pyx_RefNannySetupContext(name, acquire_gil)\1164__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)1165#endif1166#define __Pyx_RefNannyFinishContext()\1167__Pyx_RefNanny->FinishContext(&__pyx_refnanny)1168#define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)1169#define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)1170#define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)1171#define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)1172#define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)1173#define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)1174#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)1175#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)1176#else1177#define __Pyx_RefNannyDeclarations1178#define __Pyx_RefNannySetupContext(name, acquire_gil)1179#define __Pyx_RefNannyFinishContext()1180#define __Pyx_INCREF(r) Py_INCREF(r)1181#define __Pyx_DECREF(r) Py_DECREF(r)1182#define __Pyx_GOTREF(r)1183#define __Pyx_GIVEREF(r)1184#define __Pyx_XINCREF(r) Py_XINCREF(r)1185#define __Pyx_XDECREF(r) Py_XDECREF(r)1186#define __Pyx_XGOTREF(r)1187#define __Pyx_XGIVEREF(r)1188#endif1189#define __Pyx_XDECREF_SET(r, v) do {\1190PyObject *tmp = (PyObject *) r;\1191r = v; __Pyx_XDECREF(tmp);\1192} while (0)1193#define __Pyx_DECREF_SET(r, v) do {\1194PyObject *tmp = (PyObject *) r;\1195r = v; __Pyx_DECREF(tmp);\1196} while (0)1197#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)1198#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)11991200/* RaiseArgTupleInvalid.proto */1201static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,1202Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);12031204/* RaiseDoubleKeywords.proto */1205static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);12061207/* ParseKeywords.proto */1208static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],\1209PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\1210const char* function_name);12111212/* ArgTypeTest.proto */1213#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\1214((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\1215__Pyx__ArgTypeTest(obj, type, name, exact))1216static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);12171218/* IsLittleEndian.proto */1219static CYTHON_INLINE int __Pyx_Is_Little_Endian(void);12201221/* BufferFormatCheck.proto */1222static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts);1223static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,1224__Pyx_BufFmt_StackElem* stack,1225__Pyx_TypeInfo* type);12261227/* BufferGetAndValidate.proto */1228#define __Pyx_GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack)\1229((obj == Py_None || obj == NULL) ?\1230(__Pyx_ZeroBuffer(buf), 0) :\1231__Pyx__GetBufferAndValidate(buf, obj, dtype, flags, nd, cast, stack))1232static int __Pyx__GetBufferAndValidate(Py_buffer* buf, PyObject* obj,1233__Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack);1234static void __Pyx_ZeroBuffer(Py_buffer* buf);1235static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info);1236static Py_ssize_t __Pyx_minusones[] = { -1, -1, -1, -1, -1, -1, -1, -1 };1237static Py_ssize_t __Pyx_zeros[] = { 0, 0, 0, 0, 0, 0, 0, 0 };12381239/* PyObjectGetAttrStr.proto */1240#if CYTHON_USE_TYPE_SLOTS1241static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);1242#else1243#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)1244#endif12451246/* GetBuiltinName.proto */1247static PyObject *__Pyx_GetBuiltinName(PyObject *name);12481249/* PyDictVersioning.proto */1250#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS1251#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)1252#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)1253#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\1254(version_var) = __PYX_GET_DICT_VERSION(dict);\1255(cache_var) = (value);1256#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\1257static PY_UINT64_T __pyx_dict_version = 0;\1258static PyObject *__pyx_dict_cached_value = NULL;\1259if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\1260(VAR) = __pyx_dict_cached_value;\1261} else {\1262(VAR) = __pyx_dict_cached_value = (LOOKUP);\1263__pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\1264}\1265}1266static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);1267static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);1268static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);1269#else1270#define __PYX_GET_DICT_VERSION(dict) (0)1271#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)1272#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);1273#endif12741275/* GetModuleGlobalName.proto */1276#if CYTHON_USE_DICT_VERSIONS1277#define __Pyx_GetModuleGlobalName(var, name) {\1278static PY_UINT64_T __pyx_dict_version = 0;\1279static PyObject *__pyx_dict_cached_value = NULL;\1280(var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\1281(likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\1282__Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\1283}1284#define __Pyx_GetModuleGlobalNameUncached(var, name) {\1285PY_UINT64_T __pyx_dict_version;\1286PyObject *__pyx_dict_cached_value;\1287(var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\1288}1289static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);1290#else1291#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)1292#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)1293static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);1294#endif12951296/* PyObjectCall.proto */1297#if CYTHON_COMPILING_IN_CPYTHON1298static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);1299#else1300#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)1301#endif13021303/* ExtTypeTest.proto */1304static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);13051306/* BufferIndexError.proto */1307static void __Pyx_RaiseBufferIndexError(int axis);13081309#define __Pyx_BufPtrStrided2d(type, buf, i0, s0, i1, s1) (type)((char*)buf + i0 * s0 + i1 * s1)1310/* PyThreadStateGet.proto */1311#if CYTHON_FAST_THREAD_STATE1312#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;1313#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;1314#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type1315#else1316#define __Pyx_PyThreadState_declare1317#define __Pyx_PyThreadState_assign1318#define __Pyx_PyErr_Occurred() PyErr_Occurred()1319#endif13201321/* PyErrFetchRestore.proto */1322#if CYTHON_FAST_THREAD_STATE1323#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)1324#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)1325#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)1326#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)1327#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)1328static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);1329static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);1330#if CYTHON_COMPILING_IN_CPYTHON1331#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))1332#else1333#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)1334#endif1335#else1336#define __Pyx_PyErr_Clear() PyErr_Clear()1337#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)1338#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)1339#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)1340#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)1341#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)1342#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)1343#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)1344#endif13451346/* RaiseException.proto */1347static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);13481349/* PyCFunctionFastCall.proto */1350#if CYTHON_FAST_PYCCALL1351static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);1352#else1353#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)1354#endif13551356/* PyFunctionFastCall.proto */1357#if CYTHON_FAST_PYCALL1358#define __Pyx_PyFunction_FastCall(func, args, nargs)\1359__Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)1360#if 1 || PY_VERSION_HEX < 0x030600B11361static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);1362#else1363#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)1364#endif1365#define __Pyx_BUILD_ASSERT_EXPR(cond)\1366(sizeof(char [1 - 2*!(cond)]) - 1)1367#ifndef Py_MEMBER_SIZE1368#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)1369#endif1370static size_t __pyx_pyframe_localsplus_offset = 0;1371#include "frameobject.h"1372#define __Pxy_PyFrame_Initialize_Offsets()\1373((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\1374(void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))1375#define __Pyx_PyFrame_GetLocalsplus(frame)\1376(assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))1377#endif13781379/* PyObjectCallMethO.proto */1380#if CYTHON_COMPILING_IN_CPYTHON1381static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);1382#endif13831384/* PyObjectCallOneArg.proto */1385static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);13861387/* DictGetItem.proto */1388#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY1389static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);1390#define __Pyx_PyObject_Dict_GetItem(obj, name)\1391(likely(PyDict_CheckExact(obj)) ?\1392__Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))1393#else1394#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)1395#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name)1396#endif13971398/* RaiseTooManyValuesToUnpack.proto */1399static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);14001401/* RaiseNeedMoreValuesToUnpack.proto */1402static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);14031404/* RaiseNoneIterError.proto */1405static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);14061407/* GetTopmostException.proto */1408#if CYTHON_USE_EXC_INFO_STACK1409static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);1410#endif14111412/* SaveResetException.proto */1413#if CYTHON_FAST_THREAD_STATE1414#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)1415static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);1416#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)1417static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);1418#else1419#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)1420#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)1421#endif14221423/* PyErrExceptionMatches.proto */1424#if CYTHON_FAST_THREAD_STATE1425#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)1426static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);1427#else1428#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)1429#endif14301431/* GetException.proto */1432#if CYTHON_FAST_THREAD_STATE1433#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)1434static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);1435#else1436static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);1437#endif14381439/* TypeImport.proto */1440#ifndef __PYX_HAVE_RT_ImportType_proto1441#define __PYX_HAVE_RT_ImportType_proto1442enum __Pyx_ImportType_CheckSize {1443__Pyx_ImportType_CheckSize_Error = 0,1444__Pyx_ImportType_CheckSize_Warn = 1,1445__Pyx_ImportType_CheckSize_Ignore = 21446};1447static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);1448#endif14491450/* Import.proto */1451static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);14521453/* CLineInTraceback.proto */1454#ifdef CYTHON_CLINE_IN_TRACEBACK1455#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)1456#else1457static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);1458#endif14591460/* CodeObjectCache.proto */1461typedef struct {1462PyCodeObject* code_object;1463int code_line;1464} __Pyx_CodeObjectCacheEntry;1465struct __Pyx_CodeObjectCache {1466int count;1467int max_count;1468__Pyx_CodeObjectCacheEntry* entries;1469};1470static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};1471static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);1472static PyCodeObject *__pyx_find_code_object(int code_line);1473static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);14741475/* AddTraceback.proto */1476static void __Pyx_AddTraceback(const char *funcname, int c_line,1477int py_line, const char *filename);14781479/* BufferStructDeclare.proto */1480typedef struct {1481Py_ssize_t shape, strides, suboffsets;1482} __Pyx_Buf_DimInfo;1483typedef struct {1484size_t refcount;1485Py_buffer pybuffer;1486} __Pyx_Buffer;1487typedef struct {1488__Pyx_Buffer *rcbuffer;1489char *data;1490__Pyx_Buf_DimInfo diminfo[8];1491} __Pyx_LocalBuf_ND;14921493#if PY_MAJOR_VERSION < 31494static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags);1495static void __Pyx_ReleaseBuffer(Py_buffer *view);1496#else1497#define __Pyx_GetBuffer PyObject_GetBuffer1498#define __Pyx_ReleaseBuffer PyBuffer_Release1499#endif150015011502/* CIntToPy.proto */1503static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);15041505/* RealImag.proto */1506#if CYTHON_CCOMPLEX1507#ifdef __cplusplus1508#define __Pyx_CREAL(z) ((z).real())1509#define __Pyx_CIMAG(z) ((z).imag())1510#else1511#define __Pyx_CREAL(z) (__real__(z))1512#define __Pyx_CIMAG(z) (__imag__(z))1513#endif1514#else1515#define __Pyx_CREAL(z) ((z).real)1516#define __Pyx_CIMAG(z) ((z).imag)1517#endif1518#if defined(__cplusplus) && CYTHON_CCOMPLEX\1519&& (defined(_WIN32) || defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 5 || __GNUC__ == 4 && __GNUC_MINOR__ >= 4 )) || __cplusplus >= 201103)1520#define __Pyx_SET_CREAL(z,x) ((z).real(x))1521#define __Pyx_SET_CIMAG(z,y) ((z).imag(y))1522#else1523#define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)1524#define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)1525#endif15261527/* Arithmetic.proto */1528#if CYTHON_CCOMPLEX1529#define __Pyx_c_eq_float(a, b) ((a)==(b))1530#define __Pyx_c_sum_float(a, b) ((a)+(b))1531#define __Pyx_c_diff_float(a, b) ((a)-(b))1532#define __Pyx_c_prod_float(a, b) ((a)*(b))1533#define __Pyx_c_quot_float(a, b) ((a)/(b))1534#define __Pyx_c_neg_float(a) (-(a))1535#ifdef __cplusplus1536#define __Pyx_c_is_zero_float(z) ((z)==(float)0)1537#define __Pyx_c_conj_float(z) (::std::conj(z))1538#if 11539#define __Pyx_c_abs_float(z) (::std::abs(z))1540#define __Pyx_c_pow_float(a, b) (::std::pow(a, b))1541#endif1542#else1543#define __Pyx_c_is_zero_float(z) ((z)==0)1544#define __Pyx_c_conj_float(z) (conjf(z))1545#if 11546#define __Pyx_c_abs_float(z) (cabsf(z))1547#define __Pyx_c_pow_float(a, b) (cpowf(a, b))1548#endif1549#endif1550#else1551static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex, __pyx_t_float_complex);1552static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex, __pyx_t_float_complex);1553static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex, __pyx_t_float_complex);1554static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex, __pyx_t_float_complex);1555static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex, __pyx_t_float_complex);1556static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex);1557static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex);1558static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex);1559#if 11560static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex);1561static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex, __pyx_t_float_complex);1562#endif1563#endif15641565/* Arithmetic.proto */1566#if CYTHON_CCOMPLEX1567#define __Pyx_c_eq_double(a, b) ((a)==(b))1568#define __Pyx_c_sum_double(a, b) ((a)+(b))1569#define __Pyx_c_diff_double(a, b) ((a)-(b))1570#define __Pyx_c_prod_double(a, b) ((a)*(b))1571#define __Pyx_c_quot_double(a, b) ((a)/(b))1572#define __Pyx_c_neg_double(a) (-(a))1573#ifdef __cplusplus1574#define __Pyx_c_is_zero_double(z) ((z)==(double)0)1575#define __Pyx_c_conj_double(z) (::std::conj(z))1576#if 11577#define __Pyx_c_abs_double(z) (::std::abs(z))1578#define __Pyx_c_pow_double(a, b) (::std::pow(a, b))1579#endif1580#else1581#define __Pyx_c_is_zero_double(z) ((z)==0)1582#define __Pyx_c_conj_double(z) (conj(z))1583#if 11584#define __Pyx_c_abs_double(z) (cabs(z))1585#define __Pyx_c_pow_double(a, b) (cpow(a, b))1586#endif1587#endif1588#else1589static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex, __pyx_t_double_complex);1590static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex, __pyx_t_double_complex);1591static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex, __pyx_t_double_complex);1592static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex, __pyx_t_double_complex);1593static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex, __pyx_t_double_complex);1594static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex);1595static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex);1596static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex);1597#if 11598static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex);1599static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex, __pyx_t_double_complex);1600#endif1601#endif16021603/* CIntToPy.proto */1604static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value);16051606/* CIntFromPy.proto */1607static CYTHON_INLINE npy_int32 __Pyx_PyInt_As_npy_int32(PyObject *);16081609/* CIntFromPy.proto */1610static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);16111612/* CIntToPy.proto */1613static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);16141615/* CIntFromPy.proto */1616static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);16171618/* FastTypeChecks.proto */1619#if CYTHON_COMPILING_IN_CPYTHON1620#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)1621static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);1622static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);1623static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);1624#else1625#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)1626#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)1627#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))1628#endif1629#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)16301631/* CheckBinaryVersion.proto */1632static int __Pyx_check_binary_version(void);16331634/* InitStrings.proto */1635static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);163616371638/* Module declarations from 'cpython.buffer' */16391640/* Module declarations from 'libc.string' */16411642/* Module declarations from 'libc.stdio' */16431644/* Module declarations from '__builtin__' */16451646/* Module declarations from 'cpython.type' */1647static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;16481649/* Module declarations from 'cpython' */16501651/* Module declarations from 'cpython.object' */16521653/* Module declarations from 'cpython.ref' */16541655/* Module declarations from 'cpython.mem' */16561657/* Module declarations from 'numpy' */16581659/* Module declarations from 'numpy' */1660static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;1661static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;1662static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;1663static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;1664static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;1665static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/16661667/* Module declarations from 'poly_overlaps' */1668static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t = { "float32_t", NULL, sizeof(__pyx_t_5numpy_float32_t), { 0 }, 0, 'R', 0, 0 };1669#define __Pyx_MODULE_NAME "poly_overlaps"1670extern int __pyx_module_is_main_poly_overlaps;1671int __pyx_module_is_main_poly_overlaps = 0;16721673/* Implementation of 'poly_overlaps' */1674static PyObject *__pyx_builtin_ValueError;1675static PyObject *__pyx_builtin_range;1676static PyObject *__pyx_builtin_RuntimeError;1677static PyObject *__pyx_builtin_ImportError;1678static const char __pyx_k_K[] = "K";1679static const char __pyx_k_N[] = "N";1680static const char __pyx_k_np[] = "np";1681static const char __pyx_k_main[] = "__main__";1682static const char __pyx_k_name[] = "__name__";1683static const char __pyx_k_test[] = "__test__";1684static const char __pyx_k_boxes[] = "boxes";1685static const char __pyx_k_dtype[] = "dtype";1686static const char __pyx_k_numpy[] = "numpy";1687static const char __pyx_k_range[] = "range";1688static const char __pyx_k_zeros[] = "zeros";1689static const char __pyx_k_import[] = "__import__";1690static const char __pyx_k_float32[] = "float32";1691static const char __pyx_k_overlaps[] = "overlaps";1692static const char __pyx_k_device_id[] = "device_id";1693static const char __pyx_k_ValueError[] = "ValueError";1694static const char __pyx_k_ImportError[] = "ImportError";1695static const char __pyx_k_query_boxes[] = "query_boxes";1696static const char __pyx_k_RuntimeError[] = "RuntimeError";1697static const char __pyx_k_poly_overlaps[] = "poly_overlaps";1698static const char __pyx_k_poly_overlaps_pyx[] = "poly_overlaps.pyx";1699static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";1700static const char __pyx_k_ndarray_is_not_C_contiguous[] = "ndarray is not C contiguous";1701static const char __pyx_k_numpy_core_multiarray_failed_to[] = "numpy.core.multiarray failed to import";1702static const char __pyx_k_unknown_dtype_code_in_numpy_pxd[] = "unknown dtype code in numpy.pxd (%d)";1703static const char __pyx_k_Format_string_allocated_too_shor[] = "Format string allocated too short, see comment in numpy.pxd";1704static const char __pyx_k_Non_native_byte_order_not_suppor[] = "Non-native byte order not supported";1705static const char __pyx_k_ndarray_is_not_Fortran_contiguou[] = "ndarray is not Fortran contiguous";1706static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath failed to import";1707static const char __pyx_k_Format_string_allocated_too_shor_2[] = "Format string allocated too short.";1708static PyObject *__pyx_kp_u_Format_string_allocated_too_shor;1709static PyObject *__pyx_kp_u_Format_string_allocated_too_shor_2;1710static PyObject *__pyx_n_s_ImportError;1711static PyObject *__pyx_n_s_K;1712static PyObject *__pyx_n_s_N;1713static PyObject *__pyx_kp_u_Non_native_byte_order_not_suppor;1714static PyObject *__pyx_n_s_RuntimeError;1715static PyObject *__pyx_n_s_ValueError;1716static PyObject *__pyx_n_s_boxes;1717static PyObject *__pyx_n_s_cline_in_traceback;1718static PyObject *__pyx_n_s_device_id;1719static PyObject *__pyx_n_s_dtype;1720static PyObject *__pyx_n_s_float32;1721static PyObject *__pyx_n_s_import;1722static PyObject *__pyx_n_s_main;1723static PyObject *__pyx_n_s_name;1724static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;1725static PyObject *__pyx_kp_u_ndarray_is_not_Fortran_contiguou;1726static PyObject *__pyx_n_s_np;1727static PyObject *__pyx_n_s_numpy;1728static PyObject *__pyx_kp_s_numpy_core_multiarray_failed_to;1729static PyObject *__pyx_kp_s_numpy_core_umath_failed_to_impor;1730static PyObject *__pyx_n_s_overlaps;1731static PyObject *__pyx_n_s_poly_overlaps;1732static PyObject *__pyx_kp_s_poly_overlaps_pyx;1733static PyObject *__pyx_n_s_query_boxes;1734static PyObject *__pyx_n_s_range;1735static PyObject *__pyx_n_s_test;1736static PyObject *__pyx_kp_u_unknown_dtype_code_in_numpy_pxd;1737static PyObject *__pyx_n_s_zeros;1738static PyObject *__pyx_pf_13poly_overlaps_poly_overlaps(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_boxes, PyArrayObject *__pyx_v_query_boxes, __pyx_t_5numpy_int32_t __pyx_v_device_id); /* proto */1739static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */1740static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */1741static PyObject *__pyx_tuple_;1742static PyObject *__pyx_tuple__2;1743static PyObject *__pyx_tuple__3;1744static PyObject *__pyx_tuple__4;1745static PyObject *__pyx_tuple__5;1746static PyObject *__pyx_tuple__6;1747static PyObject *__pyx_tuple__7;1748static PyObject *__pyx_tuple__8;1749static PyObject *__pyx_codeobj__9;1750/* Late includes */17511752/* "poly_overlaps.pyx":71753* void _overlaps(np.float32_t*, np.float32_t*, np.float32_t*, int, int, int)1754*1755* def poly_overlaps (np.ndarray[np.float32_t, ndim=2] boxes, np.ndarray[np.float32_t, ndim=2] query_boxes, np.int32_t device_id=0): # <<<<<<<<<<<<<<1756* cdef int N = boxes.shape[0]1757* cdef int K = query_boxes.shape[0]1758*/17591760/* Python wrapper */1761static PyObject *__pyx_pw_13poly_overlaps_1poly_overlaps(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/1762static PyMethodDef __pyx_mdef_13poly_overlaps_1poly_overlaps = {"poly_overlaps", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13poly_overlaps_1poly_overlaps, METH_VARARGS|METH_KEYWORDS, 0};1763static PyObject *__pyx_pw_13poly_overlaps_1poly_overlaps(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {1764PyArrayObject *__pyx_v_boxes = 0;1765PyArrayObject *__pyx_v_query_boxes = 0;1766__pyx_t_5numpy_int32_t __pyx_v_device_id;1767PyObject *__pyx_r = 0;1768__Pyx_RefNannyDeclarations1769__Pyx_RefNannySetupContext("poly_overlaps (wrapper)", 0);1770{1771static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_boxes,&__pyx_n_s_query_boxes,&__pyx_n_s_device_id,0};1772PyObject* values[3] = {0,0,0};1773if (unlikely(__pyx_kwds)) {1774Py_ssize_t kw_args;1775const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);1776switch (pos_args) {1777case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);1778CYTHON_FALLTHROUGH;1779case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);1780CYTHON_FALLTHROUGH;1781case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);1782CYTHON_FALLTHROUGH;1783case 0: break;1784default: goto __pyx_L5_argtuple_error;1785}1786kw_args = PyDict_Size(__pyx_kwds);1787switch (pos_args) {1788case 0:1789if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_boxes)) != 0)) kw_args--;1790else goto __pyx_L5_argtuple_error;1791CYTHON_FALLTHROUGH;1792case 1:1793if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_query_boxes)) != 0)) kw_args--;1794else {1795__Pyx_RaiseArgtupleInvalid("poly_overlaps", 0, 2, 3, 1); __PYX_ERR(0, 7, __pyx_L3_error)1796}1797CYTHON_FALLTHROUGH;1798case 2:1799if (kw_args > 0) {1800PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_device_id);1801if (value) { values[2] = value; kw_args--; }1802}1803}1804if (unlikely(kw_args > 0)) {1805if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "poly_overlaps") < 0)) __PYX_ERR(0, 7, __pyx_L3_error)1806}1807} else {1808switch (PyTuple_GET_SIZE(__pyx_args)) {1809case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);1810CYTHON_FALLTHROUGH;1811case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);1812values[0] = PyTuple_GET_ITEM(__pyx_args, 0);1813break;1814default: goto __pyx_L5_argtuple_error;1815}1816}1817__pyx_v_boxes = ((PyArrayObject *)values[0]);1818__pyx_v_query_boxes = ((PyArrayObject *)values[1]);1819if (values[2]) {1820__pyx_v_device_id = __Pyx_PyInt_As_npy_int32(values[2]); if (unlikely((__pyx_v_device_id == ((npy_int32)-1)) && PyErr_Occurred())) __PYX_ERR(0, 7, __pyx_L3_error)1821} else {1822__pyx_v_device_id = ((__pyx_t_5numpy_int32_t)0);1823}1824}1825goto __pyx_L4_argument_unpacking_done;1826__pyx_L5_argtuple_error:;1827__Pyx_RaiseArgtupleInvalid("poly_overlaps", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 7, __pyx_L3_error)1828__pyx_L3_error:;1829__Pyx_AddTraceback("poly_overlaps.poly_overlaps", __pyx_clineno, __pyx_lineno, __pyx_filename);1830__Pyx_RefNannyFinishContext();1831return NULL;1832__pyx_L4_argument_unpacking_done:;1833if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_boxes), __pyx_ptype_5numpy_ndarray, 1, "boxes", 0))) __PYX_ERR(0, 7, __pyx_L1_error)1834if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_query_boxes), __pyx_ptype_5numpy_ndarray, 1, "query_boxes", 0))) __PYX_ERR(0, 7, __pyx_L1_error)1835__pyx_r = __pyx_pf_13poly_overlaps_poly_overlaps(__pyx_self, __pyx_v_boxes, __pyx_v_query_boxes, __pyx_v_device_id);18361837/* function exit code */1838goto __pyx_L0;1839__pyx_L1_error:;1840__pyx_r = NULL;1841__pyx_L0:;1842__Pyx_RefNannyFinishContext();1843return __pyx_r;1844}18451846static PyObject *__pyx_pf_13poly_overlaps_poly_overlaps(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_boxes, PyArrayObject *__pyx_v_query_boxes, __pyx_t_5numpy_int32_t __pyx_v_device_id) {1847int __pyx_v_N;1848int __pyx_v_K;1849PyArrayObject *__pyx_v_overlaps = 0;1850__Pyx_LocalBuf_ND __pyx_pybuffernd_boxes;1851__Pyx_Buffer __pyx_pybuffer_boxes;1852__Pyx_LocalBuf_ND __pyx_pybuffernd_overlaps;1853__Pyx_Buffer __pyx_pybuffer_overlaps;1854__Pyx_LocalBuf_ND __pyx_pybuffernd_query_boxes;1855__Pyx_Buffer __pyx_pybuffer_query_boxes;1856PyObject *__pyx_r = NULL;1857__Pyx_RefNannyDeclarations1858PyObject *__pyx_t_1 = NULL;1859PyObject *__pyx_t_2 = NULL;1860PyObject *__pyx_t_3 = NULL;1861PyObject *__pyx_t_4 = NULL;1862PyObject *__pyx_t_5 = NULL;1863PyArrayObject *__pyx_t_6 = NULL;1864Py_ssize_t __pyx_t_7;1865Py_ssize_t __pyx_t_8;1866int __pyx_t_9;1867Py_ssize_t __pyx_t_10;1868Py_ssize_t __pyx_t_11;1869Py_ssize_t __pyx_t_12;1870Py_ssize_t __pyx_t_13;1871__Pyx_RefNannySetupContext("poly_overlaps", 0);1872__pyx_pybuffer_overlaps.pybuffer.buf = NULL;1873__pyx_pybuffer_overlaps.refcount = 0;1874__pyx_pybuffernd_overlaps.data = NULL;1875__pyx_pybuffernd_overlaps.rcbuffer = &__pyx_pybuffer_overlaps;1876__pyx_pybuffer_boxes.pybuffer.buf = NULL;1877__pyx_pybuffer_boxes.refcount = 0;1878__pyx_pybuffernd_boxes.data = NULL;1879__pyx_pybuffernd_boxes.rcbuffer = &__pyx_pybuffer_boxes;1880__pyx_pybuffer_query_boxes.pybuffer.buf = NULL;1881__pyx_pybuffer_query_boxes.refcount = 0;1882__pyx_pybuffernd_query_boxes.data = NULL;1883__pyx_pybuffernd_query_boxes.rcbuffer = &__pyx_pybuffer_query_boxes;1884{1885__Pyx_BufFmt_StackElem __pyx_stack[1];1886if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_boxes.rcbuffer->pybuffer, (PyObject*)__pyx_v_boxes, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 7, __pyx_L1_error)1887}1888__pyx_pybuffernd_boxes.diminfo[0].strides = __pyx_pybuffernd_boxes.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_boxes.diminfo[0].shape = __pyx_pybuffernd_boxes.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_boxes.diminfo[1].strides = __pyx_pybuffernd_boxes.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_boxes.diminfo[1].shape = __pyx_pybuffernd_boxes.rcbuffer->pybuffer.shape[1];1889{1890__Pyx_BufFmt_StackElem __pyx_stack[1];1891if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_query_boxes.rcbuffer->pybuffer, (PyObject*)__pyx_v_query_boxes, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) __PYX_ERR(0, 7, __pyx_L1_error)1892}1893__pyx_pybuffernd_query_boxes.diminfo[0].strides = __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_query_boxes.diminfo[0].shape = __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_query_boxes.diminfo[1].strides = __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_query_boxes.diminfo[1].shape = __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.shape[1];18941895/* "poly_overlaps.pyx":81896*1897* def poly_overlaps (np.ndarray[np.float32_t, ndim=2] boxes, np.ndarray[np.float32_t, ndim=2] query_boxes, np.int32_t device_id=0):1898* cdef int N = boxes.shape[0] # <<<<<<<<<<<<<<1899* cdef int K = query_boxes.shape[0]1900* cdef np.ndarray[np.float32_t, ndim=2] overlaps = np.zeros((N, K), dtype = np.float32)1901*/1902__pyx_v_N = (__pyx_v_boxes->dimensions[0]);19031904/* "poly_overlaps.pyx":91905* def poly_overlaps (np.ndarray[np.float32_t, ndim=2] boxes, np.ndarray[np.float32_t, ndim=2] query_boxes, np.int32_t device_id=0):1906* cdef int N = boxes.shape[0]1907* cdef int K = query_boxes.shape[0] # <<<<<<<<<<<<<<1908* cdef np.ndarray[np.float32_t, ndim=2] overlaps = np.zeros((N, K), dtype = np.float32)1909* _overlaps(&overlaps[0, 0], &boxes[0, 0], &query_boxes[0, 0], N, K, device_id)1910*/1911__pyx_v_K = (__pyx_v_query_boxes->dimensions[0]);19121913/* "poly_overlaps.pyx":101914* cdef int N = boxes.shape[0]1915* cdef int K = query_boxes.shape[0]1916* cdef np.ndarray[np.float32_t, ndim=2] overlaps = np.zeros((N, K), dtype = np.float32) # <<<<<<<<<<<<<<1917* _overlaps(&overlaps[0, 0], &boxes[0, 0], &query_boxes[0, 0], N, K, device_id)1918* return overlaps1919*/1920__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)1921__Pyx_GOTREF(__pyx_t_1);1922__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)1923__Pyx_GOTREF(__pyx_t_2);1924__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;1925__pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_N); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)1926__Pyx_GOTREF(__pyx_t_1);1927__pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_K); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)1928__Pyx_GOTREF(__pyx_t_3);1929__pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10, __pyx_L1_error)1930__Pyx_GOTREF(__pyx_t_4);1931__Pyx_GIVEREF(__pyx_t_1);1932PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);1933__Pyx_GIVEREF(__pyx_t_3);1934PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);1935__pyx_t_1 = 0;1936__pyx_t_3 = 0;1937__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)1938__Pyx_GOTREF(__pyx_t_3);1939__Pyx_GIVEREF(__pyx_t_4);1940PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);1941__pyx_t_4 = 0;1942__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 10, __pyx_L1_error)1943__Pyx_GOTREF(__pyx_t_4);1944__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)1945__Pyx_GOTREF(__pyx_t_1);1946__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_float32); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10, __pyx_L1_error)1947__Pyx_GOTREF(__pyx_t_5);1948__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;1949if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dtype, __pyx_t_5) < 0) __PYX_ERR(0, 10, __pyx_L1_error)1950__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;1951__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 10, __pyx_L1_error)1952__Pyx_GOTREF(__pyx_t_5);1953__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;1954__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;1955__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;1956if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(0, 10, __pyx_L1_error)1957__pyx_t_6 = ((PyArrayObject *)__pyx_t_5);1958{1959__Pyx_BufFmt_StackElem __pyx_stack[1];1960if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_overlaps.rcbuffer->pybuffer, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {1961__pyx_v_overlaps = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.buf = NULL;1962__PYX_ERR(0, 10, __pyx_L1_error)1963} else {__pyx_pybuffernd_overlaps.diminfo[0].strides = __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_overlaps.diminfo[0].shape = __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_overlaps.diminfo[1].strides = __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_overlaps.diminfo[1].shape = __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.shape[1];1964}1965}1966__pyx_t_6 = 0;1967__pyx_v_overlaps = ((PyArrayObject *)__pyx_t_5);1968__pyx_t_5 = 0;19691970/* "poly_overlaps.pyx":111971* cdef int K = query_boxes.shape[0]1972* cdef np.ndarray[np.float32_t, ndim=2] overlaps = np.zeros((N, K), dtype = np.float32)1973* _overlaps(&overlaps[0, 0], &boxes[0, 0], &query_boxes[0, 0], N, K, device_id) # <<<<<<<<<<<<<<1974* return overlaps1975*1976*/1977__pyx_t_7 = 0;1978__pyx_t_8 = 0;1979__pyx_t_9 = -1;1980if (__pyx_t_7 < 0) {1981__pyx_t_7 += __pyx_pybuffernd_overlaps.diminfo[0].shape;1982if (unlikely(__pyx_t_7 < 0)) __pyx_t_9 = 0;1983} else if (unlikely(__pyx_t_7 >= __pyx_pybuffernd_overlaps.diminfo[0].shape)) __pyx_t_9 = 0;1984if (__pyx_t_8 < 0) {1985__pyx_t_8 += __pyx_pybuffernd_overlaps.diminfo[1].shape;1986if (unlikely(__pyx_t_8 < 0)) __pyx_t_9 = 1;1987} else if (unlikely(__pyx_t_8 >= __pyx_pybuffernd_overlaps.diminfo[1].shape)) __pyx_t_9 = 1;1988if (unlikely(__pyx_t_9 != -1)) {1989__Pyx_RaiseBufferIndexError(__pyx_t_9);1990__PYX_ERR(0, 11, __pyx_L1_error)1991}1992__pyx_t_10 = 0;1993__pyx_t_11 = 0;1994__pyx_t_9 = -1;1995if (__pyx_t_10 < 0) {1996__pyx_t_10 += __pyx_pybuffernd_boxes.diminfo[0].shape;1997if (unlikely(__pyx_t_10 < 0)) __pyx_t_9 = 0;1998} else if (unlikely(__pyx_t_10 >= __pyx_pybuffernd_boxes.diminfo[0].shape)) __pyx_t_9 = 0;1999if (__pyx_t_11 < 0) {2000__pyx_t_11 += __pyx_pybuffernd_boxes.diminfo[1].shape;2001if (unlikely(__pyx_t_11 < 0)) __pyx_t_9 = 1;2002} else if (unlikely(__pyx_t_11 >= __pyx_pybuffernd_boxes.diminfo[1].shape)) __pyx_t_9 = 1;2003if (unlikely(__pyx_t_9 != -1)) {2004__Pyx_RaiseBufferIndexError(__pyx_t_9);2005__PYX_ERR(0, 11, __pyx_L1_error)2006}2007__pyx_t_12 = 0;2008__pyx_t_13 = 0;2009__pyx_t_9 = -1;2010if (__pyx_t_12 < 0) {2011__pyx_t_12 += __pyx_pybuffernd_query_boxes.diminfo[0].shape;2012if (unlikely(__pyx_t_12 < 0)) __pyx_t_9 = 0;2013} else if (unlikely(__pyx_t_12 >= __pyx_pybuffernd_query_boxes.diminfo[0].shape)) __pyx_t_9 = 0;2014if (__pyx_t_13 < 0) {2015__pyx_t_13 += __pyx_pybuffernd_query_boxes.diminfo[1].shape;2016if (unlikely(__pyx_t_13 < 0)) __pyx_t_9 = 1;2017} else if (unlikely(__pyx_t_13 >= __pyx_pybuffernd_query_boxes.diminfo[1].shape)) __pyx_t_9 = 1;2018if (unlikely(__pyx_t_9 != -1)) {2019__Pyx_RaiseBufferIndexError(__pyx_t_9);2020__PYX_ERR(0, 11, __pyx_L1_error)2021}2022_overlaps((&(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_overlaps.rcbuffer->pybuffer.buf, __pyx_t_7, __pyx_pybuffernd_overlaps.diminfo[0].strides, __pyx_t_8, __pyx_pybuffernd_overlaps.diminfo[1].strides))), (&(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_boxes.rcbuffer->pybuffer.buf, __pyx_t_10, __pyx_pybuffernd_boxes.diminfo[0].strides, __pyx_t_11, __pyx_pybuffernd_boxes.diminfo[1].strides))), (&(*__Pyx_BufPtrStrided2d(__pyx_t_5numpy_float32_t *, __pyx_pybuffernd_query_boxes.rcbuffer->pybuffer.buf, __pyx_t_12, __pyx_pybuffernd_query_boxes.diminfo[0].strides, __pyx_t_13, __pyx_pybuffernd_query_boxes.diminfo[1].strides))), __pyx_v_N, __pyx_v_K, __pyx_v_device_id);20232024/* "poly_overlaps.pyx":122025* cdef np.ndarray[np.float32_t, ndim=2] overlaps = np.zeros((N, K), dtype = np.float32)2026* _overlaps(&overlaps[0, 0], &boxes[0, 0], &query_boxes[0, 0], N, K, device_id)2027* return overlaps # <<<<<<<<<<<<<<2028*2029*2030*/2031__Pyx_XDECREF(__pyx_r);2032__Pyx_INCREF(((PyObject *)__pyx_v_overlaps));2033__pyx_r = ((PyObject *)__pyx_v_overlaps);2034goto __pyx_L0;20352036/* "poly_overlaps.pyx":72037* void _overlaps(np.float32_t*, np.float32_t*, np.float32_t*, int, int, int)2038*2039* def poly_overlaps (np.ndarray[np.float32_t, ndim=2] boxes, np.ndarray[np.float32_t, ndim=2] query_boxes, np.int32_t device_id=0): # <<<<<<<<<<<<<<2040* cdef int N = boxes.shape[0]2041* cdef int K = query_boxes.shape[0]2042*/20432044/* function exit code */2045__pyx_L1_error:;2046__Pyx_XDECREF(__pyx_t_1);2047__Pyx_XDECREF(__pyx_t_2);2048__Pyx_XDECREF(__pyx_t_3);2049__Pyx_XDECREF(__pyx_t_4);2050__Pyx_XDECREF(__pyx_t_5);2051{ PyObject *__pyx_type, *__pyx_value, *__pyx_tb;2052__Pyx_PyThreadState_declare2053__Pyx_PyThreadState_assign2054__Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);2055__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_boxes.rcbuffer->pybuffer);2056__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_overlaps.rcbuffer->pybuffer);2057__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_query_boxes.rcbuffer->pybuffer);2058__Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}2059__Pyx_AddTraceback("poly_overlaps.poly_overlaps", __pyx_clineno, __pyx_lineno, __pyx_filename);2060__pyx_r = NULL;2061goto __pyx_L2;2062__pyx_L0:;2063__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_boxes.rcbuffer->pybuffer);2064__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_overlaps.rcbuffer->pybuffer);2065__Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_query_boxes.rcbuffer->pybuffer);2066__pyx_L2:;2067__Pyx_XDECREF((PyObject *)__pyx_v_overlaps);2068__Pyx_XGIVEREF(__pyx_r);2069__Pyx_RefNannyFinishContext();2070return __pyx_r;2071}20722073/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2582074* # experimental exception made for __getbuffer__ and __releasebuffer__2075* # -- the details of this may change.2076* def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<2077* # This implementation of getbuffer is geared towards Cython2078* # requirements, and does not yet fulfill the PEP.2079*/20802081/* Python wrapper */2082static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/2083static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {2084int __pyx_r;2085__Pyx_RefNannyDeclarations2086__Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);2087__pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));20882089/* function exit code */2090__Pyx_RefNannyFinishContext();2091return __pyx_r;2092}20932094static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {2095int __pyx_v_i;2096int __pyx_v_ndim;2097int __pyx_v_endian_detector;2098int __pyx_v_little_endian;2099int __pyx_v_t;2100char *__pyx_v_f;2101PyArray_Descr *__pyx_v_descr = 0;2102int __pyx_v_offset;2103int __pyx_r;2104__Pyx_RefNannyDeclarations2105int __pyx_t_1;2106int __pyx_t_2;2107PyObject *__pyx_t_3 = NULL;2108int __pyx_t_4;2109int __pyx_t_5;2110int __pyx_t_6;2111PyArray_Descr *__pyx_t_7;2112PyObject *__pyx_t_8 = NULL;2113char *__pyx_t_9;2114if (__pyx_v_info == NULL) {2115PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");2116return -1;2117}2118__Pyx_RefNannySetupContext("__getbuffer__", 0);2119__pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);2120__Pyx_GIVEREF(__pyx_v_info->obj);21212122/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2652123*2124* cdef int i, ndim2125* cdef int endian_detector = 1 # <<<<<<<<<<<<<<2126* cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)2127*2128*/2129__pyx_v_endian_detector = 1;21302131/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2662132* cdef int i, ndim2133* cdef int endian_detector = 12134* cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<2135*2136* ndim = PyArray_NDIM(self)2137*/2138__pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);21392140/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2682141* cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)2142*2143* ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<<2144*2145* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)2146*/2147__pyx_v_ndim = PyArray_NDIM(__pyx_v_self);21482149/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2702150* ndim = PyArray_NDIM(self)2151*2152* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<2153* and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):2154* raise ValueError(u"ndarray is not C contiguous")2155*/2156__pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);2157if (__pyx_t_2) {2158} else {2159__pyx_t_1 = __pyx_t_2;2160goto __pyx_L4_bool_binop_done;2161}21622163/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2712164*2165* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)2166* and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)): # <<<<<<<<<<<<<<2167* raise ValueError(u"ndarray is not C contiguous")2168*2169*/2170__pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0);2171__pyx_t_1 = __pyx_t_2;2172__pyx_L4_bool_binop_done:;21732174/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2702175* ndim = PyArray_NDIM(self)2176*2177* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<2178* and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):2179* raise ValueError(u"ndarray is not C contiguous")2180*/2181if (unlikely(__pyx_t_1)) {21822183/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2722184* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)2185* and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):2186* raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<2187*2188* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)2189*/2190__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 272, __pyx_L1_error)2191__Pyx_GOTREF(__pyx_t_3);2192__Pyx_Raise(__pyx_t_3, 0, 0, 0);2193__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;2194__PYX_ERR(1, 272, __pyx_L1_error)21952196/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2702197* ndim = PyArray_NDIM(self)2198*2199* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<<2200* and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):2201* raise ValueError(u"ndarray is not C contiguous")2202*/2203}22042205/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2742206* raise ValueError(u"ndarray is not C contiguous")2207*2208* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<2209* and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):2210* raise ValueError(u"ndarray is not Fortran contiguous")2211*/2212__pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);2213if (__pyx_t_2) {2214} else {2215__pyx_t_1 = __pyx_t_2;2216goto __pyx_L7_bool_binop_done;2217}22182219/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2752220*2221* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)2222* and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)): # <<<<<<<<<<<<<<2223* raise ValueError(u"ndarray is not Fortran contiguous")2224*2225*/2226__pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0);2227__pyx_t_1 = __pyx_t_2;2228__pyx_L7_bool_binop_done:;22292230/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2742231* raise ValueError(u"ndarray is not C contiguous")2232*2233* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<2234* and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):2235* raise ValueError(u"ndarray is not Fortran contiguous")2236*/2237if (unlikely(__pyx_t_1)) {22382239/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2762240* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)2241* and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):2242* raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<2243*2244* info.buf = PyArray_DATA(self)2245*/2246__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 276, __pyx_L1_error)2247__Pyx_GOTREF(__pyx_t_3);2248__Pyx_Raise(__pyx_t_3, 0, 0, 0);2249__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;2250__PYX_ERR(1, 276, __pyx_L1_error)22512252/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2742253* raise ValueError(u"ndarray is not C contiguous")2254*2255* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<<2256* and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):2257* raise ValueError(u"ndarray is not Fortran contiguous")2258*/2259}22602261/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2782262* raise ValueError(u"ndarray is not Fortran contiguous")2263*2264* info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<<2265* info.ndim = ndim2266* if sizeof(npy_intp) != sizeof(Py_ssize_t):2267*/2268__pyx_v_info->buf = PyArray_DATA(__pyx_v_self);22692270/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2792271*2272* info.buf = PyArray_DATA(self)2273* info.ndim = ndim # <<<<<<<<<<<<<<2274* if sizeof(npy_intp) != sizeof(Py_ssize_t):2275* # Allocate new buffer for strides and shape info.2276*/2277__pyx_v_info->ndim = __pyx_v_ndim;22782279/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2802280* info.buf = PyArray_DATA(self)2281* info.ndim = ndim2282* if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<2283* # Allocate new buffer for strides and shape info.2284* # This is allocated as one block, strides first.2285*/2286__pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);2287if (__pyx_t_1) {22882289/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2832290* # Allocate new buffer for strides and shape info.2291* # This is allocated as one block, strides first.2292* info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim) # <<<<<<<<<<<<<<2293* info.shape = info.strides + ndim2294* for i in range(ndim):2295*/2296__pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim))));22972298/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2842299* # This is allocated as one block, strides first.2300* info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)2301* info.shape = info.strides + ndim # <<<<<<<<<<<<<<2302* for i in range(ndim):2303* info.strides[i] = PyArray_STRIDES(self)[i]2304*/2305__pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);23062307/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2852308* info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)2309* info.shape = info.strides + ndim2310* for i in range(ndim): # <<<<<<<<<<<<<<2311* info.strides[i] = PyArray_STRIDES(self)[i]2312* info.shape[i] = PyArray_DIMS(self)[i]2313*/2314__pyx_t_4 = __pyx_v_ndim;2315__pyx_t_5 = __pyx_t_4;2316for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {2317__pyx_v_i = __pyx_t_6;23182319/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2862320* info.shape = info.strides + ndim2321* for i in range(ndim):2322* info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<<2323* info.shape[i] = PyArray_DIMS(self)[i]2324* else:2325*/2326(__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);23272328/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2872329* for i in range(ndim):2330* info.strides[i] = PyArray_STRIDES(self)[i]2331* info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<<2332* else:2333* info.strides = <Py_ssize_t*>PyArray_STRIDES(self)2334*/2335(__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);2336}23372338/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2802339* info.buf = PyArray_DATA(self)2340* info.ndim = ndim2341* if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<2342* # Allocate new buffer for strides and shape info.2343* # This is allocated as one block, strides first.2344*/2345goto __pyx_L9;2346}23472348/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2892349* info.shape[i] = PyArray_DIMS(self)[i]2350* else:2351* info.strides = <Py_ssize_t*>PyArray_STRIDES(self) # <<<<<<<<<<<<<<2352* info.shape = <Py_ssize_t*>PyArray_DIMS(self)2353* info.suboffsets = NULL2354*/2355/*else*/ {2356__pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));23572358/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2902359* else:2360* info.strides = <Py_ssize_t*>PyArray_STRIDES(self)2361* info.shape = <Py_ssize_t*>PyArray_DIMS(self) # <<<<<<<<<<<<<<2362* info.suboffsets = NULL2363* info.itemsize = PyArray_ITEMSIZE(self)2364*/2365__pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));2366}2367__pyx_L9:;23682369/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2912370* info.strides = <Py_ssize_t*>PyArray_STRIDES(self)2371* info.shape = <Py_ssize_t*>PyArray_DIMS(self)2372* info.suboffsets = NULL # <<<<<<<<<<<<<<2373* info.itemsize = PyArray_ITEMSIZE(self)2374* info.readonly = not PyArray_ISWRITEABLE(self)2375*/2376__pyx_v_info->suboffsets = NULL;23772378/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2922379* info.shape = <Py_ssize_t*>PyArray_DIMS(self)2380* info.suboffsets = NULL2381* info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<<2382* info.readonly = not PyArray_ISWRITEABLE(self)2383*2384*/2385__pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);23862387/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2932388* info.suboffsets = NULL2389* info.itemsize = PyArray_ITEMSIZE(self)2390* info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<<2391*2392* cdef int t2393*/2394__pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));23952396/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2962397*2398* cdef int t2399* cdef char* f = NULL # <<<<<<<<<<<<<<2400* cdef dtype descr = <dtype>PyArray_DESCR(self)2401* cdef int offset2402*/2403__pyx_v_f = NULL;24042405/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2972406* cdef int t2407* cdef char* f = NULL2408* cdef dtype descr = <dtype>PyArray_DESCR(self) # <<<<<<<<<<<<<<2409* cdef int offset2410*2411*/2412__pyx_t_7 = PyArray_DESCR(__pyx_v_self);2413__pyx_t_3 = ((PyObject *)__pyx_t_7);2414__Pyx_INCREF(__pyx_t_3);2415__pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);2416__pyx_t_3 = 0;24172418/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3002419* cdef int offset2420*2421* info.obj = self # <<<<<<<<<<<<<<2422*2423* if not PyDataType_HASFIELDS(descr):2424*/2425__Pyx_INCREF(((PyObject *)__pyx_v_self));2426__Pyx_GIVEREF(((PyObject *)__pyx_v_self));2427__Pyx_GOTREF(__pyx_v_info->obj);2428__Pyx_DECREF(__pyx_v_info->obj);2429__pyx_v_info->obj = ((PyObject *)__pyx_v_self);24302431/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3022432* info.obj = self2433*2434* if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<<2435* t = descr.type_num2436* if ((descr.byteorder == c'>' and little_endian) or2437*/2438__pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0);2439if (__pyx_t_1) {24402441/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3032442*2443* if not PyDataType_HASFIELDS(descr):2444* t = descr.type_num # <<<<<<<<<<<<<<2445* if ((descr.byteorder == c'>' and little_endian) or2446* (descr.byteorder == c'<' and not little_endian)):2447*/2448__pyx_t_4 = __pyx_v_descr->type_num;2449__pyx_v_t = __pyx_t_4;24502451/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3042452* if not PyDataType_HASFIELDS(descr):2453* t = descr.type_num2454* if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<2455* (descr.byteorder == c'<' and not little_endian)):2456* raise ValueError(u"Non-native byte order not supported")2457*/2458__pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);2459if (!__pyx_t_2) {2460goto __pyx_L15_next_or;2461} else {2462}2463__pyx_t_2 = (__pyx_v_little_endian != 0);2464if (!__pyx_t_2) {2465} else {2466__pyx_t_1 = __pyx_t_2;2467goto __pyx_L14_bool_binop_done;2468}2469__pyx_L15_next_or:;24702471/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3052472* t = descr.type_num2473* if ((descr.byteorder == c'>' and little_endian) or2474* (descr.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<2475* raise ValueError(u"Non-native byte order not supported")2476* if t == NPY_BYTE: f = "b"2477*/2478__pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);2479if (__pyx_t_2) {2480} else {2481__pyx_t_1 = __pyx_t_2;2482goto __pyx_L14_bool_binop_done;2483}2484__pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);2485__pyx_t_1 = __pyx_t_2;2486__pyx_L14_bool_binop_done:;24872488/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3042489* if not PyDataType_HASFIELDS(descr):2490* t = descr.type_num2491* if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<2492* (descr.byteorder == c'<' and not little_endian)):2493* raise ValueError(u"Non-native byte order not supported")2494*/2495if (unlikely(__pyx_t_1)) {24962497/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3062498* if ((descr.byteorder == c'>' and little_endian) or2499* (descr.byteorder == c'<' and not little_endian)):2500* raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<2501* if t == NPY_BYTE: f = "b"2502* elif t == NPY_UBYTE: f = "B"2503*/2504__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 306, __pyx_L1_error)2505__Pyx_GOTREF(__pyx_t_3);2506__Pyx_Raise(__pyx_t_3, 0, 0, 0);2507__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;2508__PYX_ERR(1, 306, __pyx_L1_error)25092510/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3042511* if not PyDataType_HASFIELDS(descr):2512* t = descr.type_num2513* if ((descr.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<2514* (descr.byteorder == c'<' and not little_endian)):2515* raise ValueError(u"Non-native byte order not supported")2516*/2517}25182519/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3072520* (descr.byteorder == c'<' and not little_endian)):2521* raise ValueError(u"Non-native byte order not supported")2522* if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<<2523* elif t == NPY_UBYTE: f = "B"2524* elif t == NPY_SHORT: f = "h"2525*/2526switch (__pyx_v_t) {2527case NPY_BYTE:2528__pyx_v_f = ((char *)"b");2529break;2530case NPY_UBYTE:25312532/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3082533* raise ValueError(u"Non-native byte order not supported")2534* if t == NPY_BYTE: f = "b"2535* elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<<2536* elif t == NPY_SHORT: f = "h"2537* elif t == NPY_USHORT: f = "H"2538*/2539__pyx_v_f = ((char *)"B");2540break;2541case NPY_SHORT:25422543/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3092544* if t == NPY_BYTE: f = "b"2545* elif t == NPY_UBYTE: f = "B"2546* elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<<2547* elif t == NPY_USHORT: f = "H"2548* elif t == NPY_INT: f = "i"2549*/2550__pyx_v_f = ((char *)"h");2551break;2552case NPY_USHORT:25532554/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3102555* elif t == NPY_UBYTE: f = "B"2556* elif t == NPY_SHORT: f = "h"2557* elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<<2558* elif t == NPY_INT: f = "i"2559* elif t == NPY_UINT: f = "I"2560*/2561__pyx_v_f = ((char *)"H");2562break;2563case NPY_INT:25642565/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3112566* elif t == NPY_SHORT: f = "h"2567* elif t == NPY_USHORT: f = "H"2568* elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<<2569* elif t == NPY_UINT: f = "I"2570* elif t == NPY_LONG: f = "l"2571*/2572__pyx_v_f = ((char *)"i");2573break;2574case NPY_UINT:25752576/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3122577* elif t == NPY_USHORT: f = "H"2578* elif t == NPY_INT: f = "i"2579* elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<<2580* elif t == NPY_LONG: f = "l"2581* elif t == NPY_ULONG: f = "L"2582*/2583__pyx_v_f = ((char *)"I");2584break;2585case NPY_LONG:25862587/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3132588* elif t == NPY_INT: f = "i"2589* elif t == NPY_UINT: f = "I"2590* elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<<2591* elif t == NPY_ULONG: f = "L"2592* elif t == NPY_LONGLONG: f = "q"2593*/2594__pyx_v_f = ((char *)"l");2595break;2596case NPY_ULONG:25972598/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3142599* elif t == NPY_UINT: f = "I"2600* elif t == NPY_LONG: f = "l"2601* elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<<2602* elif t == NPY_LONGLONG: f = "q"2603* elif t == NPY_ULONGLONG: f = "Q"2604*/2605__pyx_v_f = ((char *)"L");2606break;2607case NPY_LONGLONG:26082609/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3152610* elif t == NPY_LONG: f = "l"2611* elif t == NPY_ULONG: f = "L"2612* elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<<2613* elif t == NPY_ULONGLONG: f = "Q"2614* elif t == NPY_FLOAT: f = "f"2615*/2616__pyx_v_f = ((char *)"q");2617break;2618case NPY_ULONGLONG:26192620/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3162621* elif t == NPY_ULONG: f = "L"2622* elif t == NPY_LONGLONG: f = "q"2623* elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<<2624* elif t == NPY_FLOAT: f = "f"2625* elif t == NPY_DOUBLE: f = "d"2626*/2627__pyx_v_f = ((char *)"Q");2628break;2629case NPY_FLOAT:26302631/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3172632* elif t == NPY_LONGLONG: f = "q"2633* elif t == NPY_ULONGLONG: f = "Q"2634* elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<<2635* elif t == NPY_DOUBLE: f = "d"2636* elif t == NPY_LONGDOUBLE: f = "g"2637*/2638__pyx_v_f = ((char *)"f");2639break;2640case NPY_DOUBLE:26412642/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3182643* elif t == NPY_ULONGLONG: f = "Q"2644* elif t == NPY_FLOAT: f = "f"2645* elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<<2646* elif t == NPY_LONGDOUBLE: f = "g"2647* elif t == NPY_CFLOAT: f = "Zf"2648*/2649__pyx_v_f = ((char *)"d");2650break;2651case NPY_LONGDOUBLE:26522653/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3192654* elif t == NPY_FLOAT: f = "f"2655* elif t == NPY_DOUBLE: f = "d"2656* elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<<2657* elif t == NPY_CFLOAT: f = "Zf"2658* elif t == NPY_CDOUBLE: f = "Zd"2659*/2660__pyx_v_f = ((char *)"g");2661break;2662case NPY_CFLOAT:26632664/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3202665* elif t == NPY_DOUBLE: f = "d"2666* elif t == NPY_LONGDOUBLE: f = "g"2667* elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<<2668* elif t == NPY_CDOUBLE: f = "Zd"2669* elif t == NPY_CLONGDOUBLE: f = "Zg"2670*/2671__pyx_v_f = ((char *)"Zf");2672break;2673case NPY_CDOUBLE:26742675/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3212676* elif t == NPY_LONGDOUBLE: f = "g"2677* elif t == NPY_CFLOAT: f = "Zf"2678* elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<<2679* elif t == NPY_CLONGDOUBLE: f = "Zg"2680* elif t == NPY_OBJECT: f = "O"2681*/2682__pyx_v_f = ((char *)"Zd");2683break;2684case NPY_CLONGDOUBLE:26852686/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3222687* elif t == NPY_CFLOAT: f = "Zf"2688* elif t == NPY_CDOUBLE: f = "Zd"2689* elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<<2690* elif t == NPY_OBJECT: f = "O"2691* else:2692*/2693__pyx_v_f = ((char *)"Zg");2694break;2695case NPY_OBJECT:26962697/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3232698* elif t == NPY_CDOUBLE: f = "Zd"2699* elif t == NPY_CLONGDOUBLE: f = "Zg"2700* elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<<2701* else:2702* raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)2703*/2704__pyx_v_f = ((char *)"O");2705break;2706default:27072708/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3252709* elif t == NPY_OBJECT: f = "O"2710* else:2711* raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<2712* info.format = f2713* return2714*/2715__pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error)2716__Pyx_GOTREF(__pyx_t_3);2717__pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 325, __pyx_L1_error)2718__Pyx_GOTREF(__pyx_t_8);2719__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;2720__pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 325, __pyx_L1_error)2721__Pyx_GOTREF(__pyx_t_3);2722__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;2723__Pyx_Raise(__pyx_t_3, 0, 0, 0);2724__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;2725__PYX_ERR(1, 325, __pyx_L1_error)2726break;2727}27282729/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3262730* else:2731* raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)2732* info.format = f # <<<<<<<<<<<<<<2733* return2734* else:2735*/2736__pyx_v_info->format = __pyx_v_f;27372738/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3272739* raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)2740* info.format = f2741* return # <<<<<<<<<<<<<<2742* else:2743* info.format = <char*>PyObject_Malloc(_buffer_format_string_len)2744*/2745__pyx_r = 0;2746goto __pyx_L0;27472748/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3022749* info.obj = self2750*2751* if not PyDataType_HASFIELDS(descr): # <<<<<<<<<<<<<<2752* t = descr.type_num2753* if ((descr.byteorder == c'>' and little_endian) or2754*/2755}27562757/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3292758* return2759* else:2760* info.format = <char*>PyObject_Malloc(_buffer_format_string_len) # <<<<<<<<<<<<<<2761* info.format[0] = c'^' # Native data types, manual alignment2762* offset = 02763*/2764/*else*/ {2765__pyx_v_info->format = ((char *)PyObject_Malloc(0xFF));27662767/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3302768* else:2769* info.format = <char*>PyObject_Malloc(_buffer_format_string_len)2770* info.format[0] = c'^' # Native data types, manual alignment # <<<<<<<<<<<<<<2771* offset = 02772* f = _util_dtypestring(descr, info.format + 1,2773*/2774(__pyx_v_info->format[0]) = '^';27752776/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3312777* info.format = <char*>PyObject_Malloc(_buffer_format_string_len)2778* info.format[0] = c'^' # Native data types, manual alignment2779* offset = 0 # <<<<<<<<<<<<<<2780* f = _util_dtypestring(descr, info.format + 1,2781* info.format + _buffer_format_string_len,2782*/2783__pyx_v_offset = 0;27842785/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3322786* info.format[0] = c'^' # Native data types, manual alignment2787* offset = 02788* f = _util_dtypestring(descr, info.format + 1, # <<<<<<<<<<<<<<2789* info.format + _buffer_format_string_len,2790* &offset)2791*/2792__pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 332, __pyx_L1_error)2793__pyx_v_f = __pyx_t_9;27942795/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3352796* info.format + _buffer_format_string_len,2797* &offset)2798* f[0] = c'\0' # Terminate format string # <<<<<<<<<<<<<<2799*2800* def __releasebuffer__(ndarray self, Py_buffer* info):2801*/2802(__pyx_v_f[0]) = '\x00';2803}28042805/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2582806* # experimental exception made for __getbuffer__ and __releasebuffer__2807* # -- the details of this may change.2808* def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<2809* # This implementation of getbuffer is geared towards Cython2810* # requirements, and does not yet fulfill the PEP.2811*/28122813/* function exit code */2814__pyx_r = 0;2815goto __pyx_L0;2816__pyx_L1_error:;2817__Pyx_XDECREF(__pyx_t_3);2818__Pyx_XDECREF(__pyx_t_8);2819__Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);2820__pyx_r = -1;2821if (__pyx_v_info->obj != NULL) {2822__Pyx_GOTREF(__pyx_v_info->obj);2823__Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;2824}2825goto __pyx_L2;2826__pyx_L0:;2827if (__pyx_v_info->obj == Py_None) {2828__Pyx_GOTREF(__pyx_v_info->obj);2829__Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;2830}2831__pyx_L2:;2832__Pyx_XDECREF((PyObject *)__pyx_v_descr);2833__Pyx_RefNannyFinishContext();2834return __pyx_r;2835}28362837/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3372838* f[0] = c'\0' # Terminate format string2839*2840* def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<2841* if PyArray_HASFIELDS(self):2842* PyObject_Free(info.format)2843*/28442845/* Python wrapper */2846static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/2847static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {2848__Pyx_RefNannyDeclarations2849__Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);2850__pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));28512852/* function exit code */2853__Pyx_RefNannyFinishContext();2854}28552856static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {2857__Pyx_RefNannyDeclarations2858int __pyx_t_1;2859__Pyx_RefNannySetupContext("__releasebuffer__", 0);28602861/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3382862*2863* def __releasebuffer__(ndarray self, Py_buffer* info):2864* if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<2865* PyObject_Free(info.format)2866* if sizeof(npy_intp) != sizeof(Py_ssize_t):2867*/2868__pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);2869if (__pyx_t_1) {28702871/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3392872* def __releasebuffer__(ndarray self, Py_buffer* info):2873* if PyArray_HASFIELDS(self):2874* PyObject_Free(info.format) # <<<<<<<<<<<<<<2875* if sizeof(npy_intp) != sizeof(Py_ssize_t):2876* PyObject_Free(info.strides)2877*/2878PyObject_Free(__pyx_v_info->format);28792880/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3382881*2882* def __releasebuffer__(ndarray self, Py_buffer* info):2883* if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<<2884* PyObject_Free(info.format)2885* if sizeof(npy_intp) != sizeof(Py_ssize_t):2886*/2887}28882889/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3402890* if PyArray_HASFIELDS(self):2891* PyObject_Free(info.format)2892* if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<2893* PyObject_Free(info.strides)2894* # info.shape was stored after info.strides in the same block2895*/2896__pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);2897if (__pyx_t_1) {28982899/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3412900* PyObject_Free(info.format)2901* if sizeof(npy_intp) != sizeof(Py_ssize_t):2902* PyObject_Free(info.strides) # <<<<<<<<<<<<<<2903* # info.shape was stored after info.strides in the same block2904*2905*/2906PyObject_Free(__pyx_v_info->strides);29072908/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3402909* if PyArray_HASFIELDS(self):2910* PyObject_Free(info.format)2911* if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<<2912* PyObject_Free(info.strides)2913* # info.shape was stored after info.strides in the same block2914*/2915}29162917/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3372918* f[0] = c'\0' # Terminate format string2919*2920* def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<<2921* if PyArray_HASFIELDS(self):2922* PyObject_Free(info.format)2923*/29242925/* function exit code */2926__Pyx_RefNannyFinishContext();2927}29282929/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8212930* ctypedef npy_cdouble complex_t2931*2932* cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<2933* return PyArray_MultiIterNew(1, <void*>a)2934*2935*/29362937static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {2938PyObject *__pyx_r = NULL;2939__Pyx_RefNannyDeclarations2940PyObject *__pyx_t_1 = NULL;2941__Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);29422943/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8222944*2945* cdef inline object PyArray_MultiIterNew1(a):2946* return PyArray_MultiIterNew(1, <void*>a) # <<<<<<<<<<<<<<2947*2948* cdef inline object PyArray_MultiIterNew2(a, b):2949*/2950__Pyx_XDECREF(__pyx_r);2951__pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 822, __pyx_L1_error)2952__Pyx_GOTREF(__pyx_t_1);2953__pyx_r = __pyx_t_1;2954__pyx_t_1 = 0;2955goto __pyx_L0;29562957/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8212958* ctypedef npy_cdouble complex_t2959*2960* cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<<2961* return PyArray_MultiIterNew(1, <void*>a)2962*2963*/29642965/* function exit code */2966__pyx_L1_error:;2967__Pyx_XDECREF(__pyx_t_1);2968__Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);2969__pyx_r = 0;2970__pyx_L0:;2971__Pyx_XGIVEREF(__pyx_r);2972__Pyx_RefNannyFinishContext();2973return __pyx_r;2974}29752976/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8242977* return PyArray_MultiIterNew(1, <void*>a)2978*2979* cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<2980* return PyArray_MultiIterNew(2, <void*>a, <void*>b)2981*2982*/29832984static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {2985PyObject *__pyx_r = NULL;2986__Pyx_RefNannyDeclarations2987PyObject *__pyx_t_1 = NULL;2988__Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);29892990/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8252991*2992* cdef inline object PyArray_MultiIterNew2(a, b):2993* return PyArray_MultiIterNew(2, <void*>a, <void*>b) # <<<<<<<<<<<<<<2994*2995* cdef inline object PyArray_MultiIterNew3(a, b, c):2996*/2997__Pyx_XDECREF(__pyx_r);2998__pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 825, __pyx_L1_error)2999__Pyx_GOTREF(__pyx_t_1);3000__pyx_r = __pyx_t_1;3001__pyx_t_1 = 0;3002goto __pyx_L0;30033004/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8243005* return PyArray_MultiIterNew(1, <void*>a)3006*3007* cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<<3008* return PyArray_MultiIterNew(2, <void*>a, <void*>b)3009*3010*/30113012/* function exit code */3013__pyx_L1_error:;3014__Pyx_XDECREF(__pyx_t_1);3015__Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);3016__pyx_r = 0;3017__pyx_L0:;3018__Pyx_XGIVEREF(__pyx_r);3019__Pyx_RefNannyFinishContext();3020return __pyx_r;3021}30223023/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8273024* return PyArray_MultiIterNew(2, <void*>a, <void*>b)3025*3026* cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<3027* return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)3028*3029*/30303031static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {3032PyObject *__pyx_r = NULL;3033__Pyx_RefNannyDeclarations3034PyObject *__pyx_t_1 = NULL;3035__Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);30363037/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8283038*3039* cdef inline object PyArray_MultiIterNew3(a, b, c):3040* return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c) # <<<<<<<<<<<<<<3041*3042* cdef inline object PyArray_MultiIterNew4(a, b, c, d):3043*/3044__Pyx_XDECREF(__pyx_r);3045__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(1, 828, __pyx_L1_error)3046__Pyx_GOTREF(__pyx_t_1);3047__pyx_r = __pyx_t_1;3048__pyx_t_1 = 0;3049goto __pyx_L0;30503051/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8273052* return PyArray_MultiIterNew(2, <void*>a, <void*>b)3053*3054* cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<<3055* return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)3056*3057*/30583059/* function exit code */3060__pyx_L1_error:;3061__Pyx_XDECREF(__pyx_t_1);3062__Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);3063__pyx_r = 0;3064__pyx_L0:;3065__Pyx_XGIVEREF(__pyx_r);3066__Pyx_RefNannyFinishContext();3067return __pyx_r;3068}30693070/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8303071* return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)3072*3073* cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<3074* return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)3075*3076*/30773078static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {3079PyObject *__pyx_r = NULL;3080__Pyx_RefNannyDeclarations3081PyObject *__pyx_t_1 = NULL;3082__Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);30833084/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8313085*3086* cdef inline object PyArray_MultiIterNew4(a, b, c, d):3087* return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d) # <<<<<<<<<<<<<<3088*3089* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):3090*/3091__Pyx_XDECREF(__pyx_r);3092__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(1, 831, __pyx_L1_error)3093__Pyx_GOTREF(__pyx_t_1);3094__pyx_r = __pyx_t_1;3095__pyx_t_1 = 0;3096goto __pyx_L0;30973098/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8303099* return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)3100*3101* cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<<3102* return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)3103*3104*/31053106/* function exit code */3107__pyx_L1_error:;3108__Pyx_XDECREF(__pyx_t_1);3109__Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);3110__pyx_r = 0;3111__pyx_L0:;3112__Pyx_XGIVEREF(__pyx_r);3113__Pyx_RefNannyFinishContext();3114return __pyx_r;3115}31163117/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8333118* return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)3119*3120* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<3121* return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)3122*3123*/31243125static 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) {3126PyObject *__pyx_r = NULL;3127__Pyx_RefNannyDeclarations3128PyObject *__pyx_t_1 = NULL;3129__Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);31303131/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8343132*3133* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):3134* return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e) # <<<<<<<<<<<<<<3135*3136* cdef inline tuple PyDataType_SHAPE(dtype d):3137*/3138__Pyx_XDECREF(__pyx_r);3139__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(1, 834, __pyx_L1_error)3140__Pyx_GOTREF(__pyx_t_1);3141__pyx_r = __pyx_t_1;3142__pyx_t_1 = 0;3143goto __pyx_L0;31443145/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8333146* return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)3147*3148* cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<<3149* return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)3150*3151*/31523153/* function exit code */3154__pyx_L1_error:;3155__Pyx_XDECREF(__pyx_t_1);3156__Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);3157__pyx_r = 0;3158__pyx_L0:;3159__Pyx_XGIVEREF(__pyx_r);3160__Pyx_RefNannyFinishContext();3161return __pyx_r;3162}31633164/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8363165* return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)3166*3167* cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<3168* if PyDataType_HASSUBARRAY(d):3169* return <tuple>d.subarray.shape3170*/31713172static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {3173PyObject *__pyx_r = NULL;3174__Pyx_RefNannyDeclarations3175int __pyx_t_1;3176__Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);31773178/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8373179*3180* cdef inline tuple PyDataType_SHAPE(dtype d):3181* if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<3182* return <tuple>d.subarray.shape3183* else:3184*/3185__pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0);3186if (__pyx_t_1) {31873188/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8383189* cdef inline tuple PyDataType_SHAPE(dtype d):3190* if PyDataType_HASSUBARRAY(d):3191* return <tuple>d.subarray.shape # <<<<<<<<<<<<<<3192* else:3193* return ()3194*/3195__Pyx_XDECREF(__pyx_r);3196__Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));3197__pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);3198goto __pyx_L0;31993200/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8373201*3202* cdef inline tuple PyDataType_SHAPE(dtype d):3203* if PyDataType_HASSUBARRAY(d): # <<<<<<<<<<<<<<3204* return <tuple>d.subarray.shape3205* else:3206*/3207}32083209/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8403210* return <tuple>d.subarray.shape3211* else:3212* return () # <<<<<<<<<<<<<<3213*3214* cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:3215*/3216/*else*/ {3217__Pyx_XDECREF(__pyx_r);3218__Pyx_INCREF(__pyx_empty_tuple);3219__pyx_r = __pyx_empty_tuple;3220goto __pyx_L0;3221}32223223/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8363224* return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)3225*3226* cdef inline tuple PyDataType_SHAPE(dtype d): # <<<<<<<<<<<<<<3227* if PyDataType_HASSUBARRAY(d):3228* return <tuple>d.subarray.shape3229*/32303231/* function exit code */3232__pyx_L0:;3233__Pyx_XGIVEREF(__pyx_r);3234__Pyx_RefNannyFinishContext();3235return __pyx_r;3236}32373238/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8423239* return ()3240*3241* cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<3242* # Recursive utility function used in __getbuffer__ to get format3243* # string. The new location in the format string is returned.3244*/32453246static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {3247PyArray_Descr *__pyx_v_child = 0;3248int __pyx_v_endian_detector;3249int __pyx_v_little_endian;3250PyObject *__pyx_v_fields = 0;3251PyObject *__pyx_v_childname = NULL;3252PyObject *__pyx_v_new_offset = NULL;3253PyObject *__pyx_v_t = NULL;3254char *__pyx_r;3255__Pyx_RefNannyDeclarations3256PyObject *__pyx_t_1 = NULL;3257Py_ssize_t __pyx_t_2;3258PyObject *__pyx_t_3 = NULL;3259PyObject *__pyx_t_4 = NULL;3260int __pyx_t_5;3261int __pyx_t_6;3262int __pyx_t_7;3263long __pyx_t_8;3264char *__pyx_t_9;3265__Pyx_RefNannySetupContext("_util_dtypestring", 0);32663267/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8473268*3269* cdef dtype child3270* cdef int endian_detector = 1 # <<<<<<<<<<<<<<3271* cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)3272* cdef tuple fields3273*/3274__pyx_v_endian_detector = 1;32753276/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8483277* cdef dtype child3278* cdef int endian_detector = 13279* cdef bint little_endian = ((<char*>&endian_detector)[0] != 0) # <<<<<<<<<<<<<<3280* cdef tuple fields3281*3282*/3283__pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);32843285/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8513286* cdef tuple fields3287*3288* for childname in descr.names: # <<<<<<<<<<<<<<3289* fields = descr.fields[childname]3290* child, new_offset = fields3291*/3292if (unlikely(__pyx_v_descr->names == Py_None)) {3293PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");3294__PYX_ERR(1, 851, __pyx_L1_error)3295}3296__pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;3297for (;;) {3298if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;3299#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS3300__pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(1, 851, __pyx_L1_error)3301#else3302__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 851, __pyx_L1_error)3303__Pyx_GOTREF(__pyx_t_3);3304#endif3305__Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);3306__pyx_t_3 = 0;33073308/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8523309*3310* for childname in descr.names:3311* fields = descr.fields[childname] # <<<<<<<<<<<<<<3312* child, new_offset = fields3313*3314*/3315if (unlikely(__pyx_v_descr->fields == Py_None)) {3316PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");3317__PYX_ERR(1, 852, __pyx_L1_error)3318}3319__pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 852, __pyx_L1_error)3320__Pyx_GOTREF(__pyx_t_3);3321if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(1, 852, __pyx_L1_error)3322__Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));3323__pyx_t_3 = 0;33243325/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8533326* for childname in descr.names:3327* fields = descr.fields[childname]3328* child, new_offset = fields # <<<<<<<<<<<<<<3329*3330* if (end - f) - <int>(new_offset - offset[0]) < 15:3331*/3332if (likely(__pyx_v_fields != Py_None)) {3333PyObject* sequence = __pyx_v_fields;3334Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);3335if (unlikely(size != 2)) {3336if (size > 2) __Pyx_RaiseTooManyValuesError(2);3337else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);3338__PYX_ERR(1, 853, __pyx_L1_error)3339}3340#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS3341__pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);3342__pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);3343__Pyx_INCREF(__pyx_t_3);3344__Pyx_INCREF(__pyx_t_4);3345#else3346__pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 853, __pyx_L1_error)3347__Pyx_GOTREF(__pyx_t_3);3348__pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 853, __pyx_L1_error)3349__Pyx_GOTREF(__pyx_t_4);3350#endif3351} else {3352__Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 853, __pyx_L1_error)3353}3354if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(1, 853, __pyx_L1_error)3355__Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));3356__pyx_t_3 = 0;3357__Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);3358__pyx_t_4 = 0;33593360/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8553361* child, new_offset = fields3362*3363* if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<3364* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")3365*3366*/3367__pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 855, __pyx_L1_error)3368__Pyx_GOTREF(__pyx_t_4);3369__pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 855, __pyx_L1_error)3370__Pyx_GOTREF(__pyx_t_3);3371__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3372__pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 855, __pyx_L1_error)3373__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3374__pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);3375if (unlikely(__pyx_t_6)) {33763377/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8563378*3379* if (end - f) - <int>(new_offset - offset[0]) < 15:3380* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<3381*3382* if ((child.byteorder == c'>' and little_endian) or3383*/3384__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 856, __pyx_L1_error)3385__Pyx_GOTREF(__pyx_t_3);3386__Pyx_Raise(__pyx_t_3, 0, 0, 0);3387__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3388__PYX_ERR(1, 856, __pyx_L1_error)33893390/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8553391* child, new_offset = fields3392*3393* if (end - f) - <int>(new_offset - offset[0]) < 15: # <<<<<<<<<<<<<<3394* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")3395*3396*/3397}33983399/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8583400* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")3401*3402* if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<3403* (child.byteorder == c'<' and not little_endian)):3404* raise ValueError(u"Non-native byte order not supported")3405*/3406__pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);3407if (!__pyx_t_7) {3408goto __pyx_L8_next_or;3409} else {3410}3411__pyx_t_7 = (__pyx_v_little_endian != 0);3412if (!__pyx_t_7) {3413} else {3414__pyx_t_6 = __pyx_t_7;3415goto __pyx_L7_bool_binop_done;3416}3417__pyx_L8_next_or:;34183419/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8593420*3421* if ((child.byteorder == c'>' and little_endian) or3422* (child.byteorder == c'<' and not little_endian)): # <<<<<<<<<<<<<<3423* raise ValueError(u"Non-native byte order not supported")3424* # One could encode it in the format string and have Cython3425*/3426__pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);3427if (__pyx_t_7) {3428} else {3429__pyx_t_6 = __pyx_t_7;3430goto __pyx_L7_bool_binop_done;3431}3432__pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);3433__pyx_t_6 = __pyx_t_7;3434__pyx_L7_bool_binop_done:;34353436/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8583437* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")3438*3439* if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<3440* (child.byteorder == c'<' and not little_endian)):3441* raise ValueError(u"Non-native byte order not supported")3442*/3443if (unlikely(__pyx_t_6)) {34443445/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8603446* if ((child.byteorder == c'>' and little_endian) or3447* (child.byteorder == c'<' and not little_endian)):3448* raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<3449* # One could encode it in the format string and have Cython3450* # complain instead, BUT: < and > in format strings also imply3451*/3452__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__3, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 860, __pyx_L1_error)3453__Pyx_GOTREF(__pyx_t_3);3454__Pyx_Raise(__pyx_t_3, 0, 0, 0);3455__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3456__PYX_ERR(1, 860, __pyx_L1_error)34573458/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8583459* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")3460*3461* if ((child.byteorder == c'>' and little_endian) or # <<<<<<<<<<<<<<3462* (child.byteorder == c'<' and not little_endian)):3463* raise ValueError(u"Non-native byte order not supported")3464*/3465}34663467/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8703468*3469* # Output padding bytes3470* while offset[0] < new_offset: # <<<<<<<<<<<<<<3471* f[0] = 120 # "x"; pad byte3472* f += 13473*/3474while (1) {3475__pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 870, __pyx_L1_error)3476__Pyx_GOTREF(__pyx_t_3);3477__pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 870, __pyx_L1_error)3478__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3479__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 870, __pyx_L1_error)3480__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3481if (!__pyx_t_6) break;34823483/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8713484* # Output padding bytes3485* while offset[0] < new_offset:3486* f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<<3487* f += 13488* offset[0] += 13489*/3490(__pyx_v_f[0]) = 0x78;34913492/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8723493* while offset[0] < new_offset:3494* f[0] = 120 # "x"; pad byte3495* f += 1 # <<<<<<<<<<<<<<3496* offset[0] += 13497*3498*/3499__pyx_v_f = (__pyx_v_f + 1);35003501/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8733502* f[0] = 120 # "x"; pad byte3503* f += 13504* offset[0] += 1 # <<<<<<<<<<<<<<3505*3506* offset[0] += child.itemsize3507*/3508__pyx_t_8 = 0;3509(__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);3510}35113512/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8753513* offset[0] += 13514*3515* offset[0] += child.itemsize # <<<<<<<<<<<<<<3516*3517* if not PyDataType_HASFIELDS(child):3518*/3519__pyx_t_8 = 0;3520(__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);35213522/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8773523* offset[0] += child.itemsize3524*3525* if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<3526* t = child.type_num3527* if end - f < 5:3528*/3529__pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);3530if (__pyx_t_6) {35313532/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8783533*3534* if not PyDataType_HASFIELDS(child):3535* t = child.type_num # <<<<<<<<<<<<<<3536* if end - f < 5:3537* raise RuntimeError(u"Format string allocated too short.")3538*/3539__pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 878, __pyx_L1_error)3540__Pyx_GOTREF(__pyx_t_4);3541__Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);3542__pyx_t_4 = 0;35433544/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8793545* if not PyDataType_HASFIELDS(child):3546* t = child.type_num3547* if end - f < 5: # <<<<<<<<<<<<<<3548* raise RuntimeError(u"Format string allocated too short.")3549*3550*/3551__pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);3552if (unlikely(__pyx_t_6)) {35533554/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8803555* t = child.type_num3556* if end - f < 5:3557* raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<3558*3559* # Until ticket #99 is fixed, use integers to avoid warnings3560*/3561__pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 880, __pyx_L1_error)3562__Pyx_GOTREF(__pyx_t_4);3563__Pyx_Raise(__pyx_t_4, 0, 0, 0);3564__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3565__PYX_ERR(1, 880, __pyx_L1_error)35663567/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8793568* if not PyDataType_HASFIELDS(child):3569* t = child.type_num3570* if end - f < 5: # <<<<<<<<<<<<<<3571* raise RuntimeError(u"Format string allocated too short.")3572*3573*/3574}35753576/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8833577*3578* # Until ticket #99 is fixed, use integers to avoid warnings3579* if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<<3580* elif t == NPY_UBYTE: f[0] = 66 #"B"3581* elif t == NPY_SHORT: f[0] = 104 #"h"3582*/3583__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 883, __pyx_L1_error)3584__Pyx_GOTREF(__pyx_t_4);3585__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 883, __pyx_L1_error)3586__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3587__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 883, __pyx_L1_error)3588__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3589if (__pyx_t_6) {3590(__pyx_v_f[0]) = 98;3591goto __pyx_L15;3592}35933594/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8843595* # Until ticket #99 is fixed, use integers to avoid warnings3596* if t == NPY_BYTE: f[0] = 98 #"b"3597* elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<<3598* elif t == NPY_SHORT: f[0] = 104 #"h"3599* elif t == NPY_USHORT: f[0] = 72 #"H"3600*/3601__pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 884, __pyx_L1_error)3602__Pyx_GOTREF(__pyx_t_3);3603__pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 884, __pyx_L1_error)3604__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3605__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 884, __pyx_L1_error)3606__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3607if (__pyx_t_6) {3608(__pyx_v_f[0]) = 66;3609goto __pyx_L15;3610}36113612/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8853613* if t == NPY_BYTE: f[0] = 98 #"b"3614* elif t == NPY_UBYTE: f[0] = 66 #"B"3615* elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<<3616* elif t == NPY_USHORT: f[0] = 72 #"H"3617* elif t == NPY_INT: f[0] = 105 #"i"3618*/3619__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 885, __pyx_L1_error)3620__Pyx_GOTREF(__pyx_t_4);3621__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 885, __pyx_L1_error)3622__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3623__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 885, __pyx_L1_error)3624__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3625if (__pyx_t_6) {3626(__pyx_v_f[0]) = 0x68;3627goto __pyx_L15;3628}36293630/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8863631* elif t == NPY_UBYTE: f[0] = 66 #"B"3632* elif t == NPY_SHORT: f[0] = 104 #"h"3633* elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<<3634* elif t == NPY_INT: f[0] = 105 #"i"3635* elif t == NPY_UINT: f[0] = 73 #"I"3636*/3637__pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 886, __pyx_L1_error)3638__Pyx_GOTREF(__pyx_t_3);3639__pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 886, __pyx_L1_error)3640__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3641__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 886, __pyx_L1_error)3642__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3643if (__pyx_t_6) {3644(__pyx_v_f[0]) = 72;3645goto __pyx_L15;3646}36473648/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8873649* elif t == NPY_SHORT: f[0] = 104 #"h"3650* elif t == NPY_USHORT: f[0] = 72 #"H"3651* elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<<3652* elif t == NPY_UINT: f[0] = 73 #"I"3653* elif t == NPY_LONG: f[0] = 108 #"l"3654*/3655__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 887, __pyx_L1_error)3656__Pyx_GOTREF(__pyx_t_4);3657__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 887, __pyx_L1_error)3658__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3659__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 887, __pyx_L1_error)3660__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3661if (__pyx_t_6) {3662(__pyx_v_f[0]) = 0x69;3663goto __pyx_L15;3664}36653666/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8883667* elif t == NPY_USHORT: f[0] = 72 #"H"3668* elif t == NPY_INT: f[0] = 105 #"i"3669* elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<<3670* elif t == NPY_LONG: f[0] = 108 #"l"3671* elif t == NPY_ULONG: f[0] = 76 #"L"3672*/3673__pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 888, __pyx_L1_error)3674__Pyx_GOTREF(__pyx_t_3);3675__pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 888, __pyx_L1_error)3676__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3677__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 888, __pyx_L1_error)3678__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3679if (__pyx_t_6) {3680(__pyx_v_f[0]) = 73;3681goto __pyx_L15;3682}36833684/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8893685* elif t == NPY_INT: f[0] = 105 #"i"3686* elif t == NPY_UINT: f[0] = 73 #"I"3687* elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<<3688* elif t == NPY_ULONG: f[0] = 76 #"L"3689* elif t == NPY_LONGLONG: f[0] = 113 #"q"3690*/3691__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 889, __pyx_L1_error)3692__Pyx_GOTREF(__pyx_t_4);3693__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 889, __pyx_L1_error)3694__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3695__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 889, __pyx_L1_error)3696__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3697if (__pyx_t_6) {3698(__pyx_v_f[0]) = 0x6C;3699goto __pyx_L15;3700}37013702/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8903703* elif t == NPY_UINT: f[0] = 73 #"I"3704* elif t == NPY_LONG: f[0] = 108 #"l"3705* elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<<3706* elif t == NPY_LONGLONG: f[0] = 113 #"q"3707* elif t == NPY_ULONGLONG: f[0] = 81 #"Q"3708*/3709__pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 890, __pyx_L1_error)3710__Pyx_GOTREF(__pyx_t_3);3711__pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 890, __pyx_L1_error)3712__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3713__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 890, __pyx_L1_error)3714__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3715if (__pyx_t_6) {3716(__pyx_v_f[0]) = 76;3717goto __pyx_L15;3718}37193720/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8913721* elif t == NPY_LONG: f[0] = 108 #"l"3722* elif t == NPY_ULONG: f[0] = 76 #"L"3723* elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<<3724* elif t == NPY_ULONGLONG: f[0] = 81 #"Q"3725* elif t == NPY_FLOAT: f[0] = 102 #"f"3726*/3727__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 891, __pyx_L1_error)3728__Pyx_GOTREF(__pyx_t_4);3729__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 891, __pyx_L1_error)3730__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3731__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 891, __pyx_L1_error)3732__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3733if (__pyx_t_6) {3734(__pyx_v_f[0]) = 0x71;3735goto __pyx_L15;3736}37373738/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8923739* elif t == NPY_ULONG: f[0] = 76 #"L"3740* elif t == NPY_LONGLONG: f[0] = 113 #"q"3741* elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<<3742* elif t == NPY_FLOAT: f[0] = 102 #"f"3743* elif t == NPY_DOUBLE: f[0] = 100 #"d"3744*/3745__pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 892, __pyx_L1_error)3746__Pyx_GOTREF(__pyx_t_3);3747__pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 892, __pyx_L1_error)3748__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3749__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 892, __pyx_L1_error)3750__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3751if (__pyx_t_6) {3752(__pyx_v_f[0]) = 81;3753goto __pyx_L15;3754}37553756/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8933757* elif t == NPY_LONGLONG: f[0] = 113 #"q"3758* elif t == NPY_ULONGLONG: f[0] = 81 #"Q"3759* elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<<3760* elif t == NPY_DOUBLE: f[0] = 100 #"d"3761* elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"3762*/3763__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 893, __pyx_L1_error)3764__Pyx_GOTREF(__pyx_t_4);3765__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 893, __pyx_L1_error)3766__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3767__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 893, __pyx_L1_error)3768__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3769if (__pyx_t_6) {3770(__pyx_v_f[0]) = 0x66;3771goto __pyx_L15;3772}37733774/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8943775* elif t == NPY_ULONGLONG: f[0] = 81 #"Q"3776* elif t == NPY_FLOAT: f[0] = 102 #"f"3777* elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<<3778* elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"3779* elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf3780*/3781__pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 894, __pyx_L1_error)3782__Pyx_GOTREF(__pyx_t_3);3783__pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 894, __pyx_L1_error)3784__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3785__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 894, __pyx_L1_error)3786__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3787if (__pyx_t_6) {3788(__pyx_v_f[0]) = 0x64;3789goto __pyx_L15;3790}37913792/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8953793* elif t == NPY_FLOAT: f[0] = 102 #"f"3794* elif t == NPY_DOUBLE: f[0] = 100 #"d"3795* elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<<3796* elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf3797* elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd3798*/3799__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 895, __pyx_L1_error)3800__Pyx_GOTREF(__pyx_t_4);3801__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 895, __pyx_L1_error)3802__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3803__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 895, __pyx_L1_error)3804__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3805if (__pyx_t_6) {3806(__pyx_v_f[0]) = 0x67;3807goto __pyx_L15;3808}38093810/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8963811* elif t == NPY_DOUBLE: f[0] = 100 #"d"3812* elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"3813* elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<<3814* elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd3815* elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg3816*/3817__pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 896, __pyx_L1_error)3818__Pyx_GOTREF(__pyx_t_3);3819__pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 896, __pyx_L1_error)3820__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3821__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 896, __pyx_L1_error)3822__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3823if (__pyx_t_6) {3824(__pyx_v_f[0]) = 90;3825(__pyx_v_f[1]) = 0x66;3826__pyx_v_f = (__pyx_v_f + 1);3827goto __pyx_L15;3828}38293830/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8973831* elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"3832* elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf3833* elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<<3834* elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg3835* elif t == NPY_OBJECT: f[0] = 79 #"O"3836*/3837__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 897, __pyx_L1_error)3838__Pyx_GOTREF(__pyx_t_4);3839__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 897, __pyx_L1_error)3840__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3841__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 897, __pyx_L1_error)3842__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3843if (__pyx_t_6) {3844(__pyx_v_f[0]) = 90;3845(__pyx_v_f[1]) = 0x64;3846__pyx_v_f = (__pyx_v_f + 1);3847goto __pyx_L15;3848}38493850/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8983851* elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf3852* elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd3853* elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<<3854* elif t == NPY_OBJECT: f[0] = 79 #"O"3855* else:3856*/3857__pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 898, __pyx_L1_error)3858__Pyx_GOTREF(__pyx_t_3);3859__pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 898, __pyx_L1_error)3860__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3861__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 898, __pyx_L1_error)3862__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3863if (__pyx_t_6) {3864(__pyx_v_f[0]) = 90;3865(__pyx_v_f[1]) = 0x67;3866__pyx_v_f = (__pyx_v_f + 1);3867goto __pyx_L15;3868}38693870/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8993871* elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd3872* elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg3873* elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<<3874* else:3875* raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)3876*/3877__pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 899, __pyx_L1_error)3878__Pyx_GOTREF(__pyx_t_4);3879__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 899, __pyx_L1_error)3880__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3881__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(1, 899, __pyx_L1_error)3882__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3883if (likely(__pyx_t_6)) {3884(__pyx_v_f[0]) = 79;3885goto __pyx_L15;3886}38873888/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":9013889* elif t == NPY_OBJECT: f[0] = 79 #"O"3890* else:3891* raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<<3892* f += 13893* else:3894*/3895/*else*/ {3896__pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 901, __pyx_L1_error)3897__Pyx_GOTREF(__pyx_t_3);3898__pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 901, __pyx_L1_error)3899__Pyx_GOTREF(__pyx_t_4);3900__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;3901__Pyx_Raise(__pyx_t_4, 0, 0, 0);3902__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;3903__PYX_ERR(1, 901, __pyx_L1_error)3904}3905__pyx_L15:;39063907/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":9023908* else:3909* raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)3910* f += 1 # <<<<<<<<<<<<<<3911* else:3912* # Cython ignores struct boundary information ("T{...}"),3913*/3914__pyx_v_f = (__pyx_v_f + 1);39153916/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8773917* offset[0] += child.itemsize3918*3919* if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<<3920* t = child.type_num3921* if end - f < 5:3922*/3923goto __pyx_L13;3924}39253926/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":9063927* # Cython ignores struct boundary information ("T{...}"),3928* # so don't output it3929* f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<<3930* return f3931*3932*/3933/*else*/ {3934__pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(1, 906, __pyx_L1_error)3935__pyx_v_f = __pyx_t_9;3936}3937__pyx_L13:;39383939/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8513940* cdef tuple fields3941*3942* for childname in descr.names: # <<<<<<<<<<<<<<3943* fields = descr.fields[childname]3944* child, new_offset = fields3945*/3946}3947__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;39483949/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":9073950* # so don't output it3951* f = _util_dtypestring(child, f, end, offset)3952* return f # <<<<<<<<<<<<<<3953*3954*3955*/3956__pyx_r = __pyx_v_f;3957goto __pyx_L0;39583959/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8423960* return ()3961*3962* cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<<3963* # Recursive utility function used in __getbuffer__ to get format3964* # string. The new location in the format string is returned.3965*/39663967/* function exit code */3968__pyx_L1_error:;3969__Pyx_XDECREF(__pyx_t_1);3970__Pyx_XDECREF(__pyx_t_3);3971__Pyx_XDECREF(__pyx_t_4);3972__Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);3973__pyx_r = NULL;3974__pyx_L0:;3975__Pyx_XDECREF((PyObject *)__pyx_v_child);3976__Pyx_XDECREF(__pyx_v_fields);3977__Pyx_XDECREF(__pyx_v_childname);3978__Pyx_XDECREF(__pyx_v_new_offset);3979__Pyx_XDECREF(__pyx_v_t);3980__Pyx_RefNannyFinishContext();3981return __pyx_r;3982}39833984/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10223985* int _import_umath() except -13986*3987* cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<3988* Py_INCREF(base) # important to do this before stealing the reference below!3989* PyArray_SetBaseObject(arr, base)3990*/39913992static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {3993__Pyx_RefNannyDeclarations3994__Pyx_RefNannySetupContext("set_array_base", 0);39953996/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10233997*3998* cdef inline void set_array_base(ndarray arr, object base):3999* Py_INCREF(base) # important to do this before stealing the reference below! # <<<<<<<<<<<<<<4000* PyArray_SetBaseObject(arr, base)4001*4002*/4003Py_INCREF(__pyx_v_base);40044005/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10244006* cdef inline void set_array_base(ndarray arr, object base):4007* Py_INCREF(base) # important to do this before stealing the reference below!4008* PyArray_SetBaseObject(arr, base) # <<<<<<<<<<<<<<4009*4010* cdef inline object get_array_base(ndarray arr):4011*/4012(void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base));40134014/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10224015* int _import_umath() except -14016*4017* cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<<4018* Py_INCREF(base) # important to do this before stealing the reference below!4019* PyArray_SetBaseObject(arr, base)4020*/40214022/* function exit code */4023__Pyx_RefNannyFinishContext();4024}40254026/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10264027* PyArray_SetBaseObject(arr, base)4028*4029* cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<4030* base = PyArray_BASE(arr)4031* if base is NULL:4032*/40334034static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {4035PyObject *__pyx_v_base;4036PyObject *__pyx_r = NULL;4037__Pyx_RefNannyDeclarations4038int __pyx_t_1;4039__Pyx_RefNannySetupContext("get_array_base", 0);40404041/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10274042*4043* cdef inline object get_array_base(ndarray arr):4044* base = PyArray_BASE(arr) # <<<<<<<<<<<<<<4045* if base is NULL:4046* return None4047*/4048__pyx_v_base = PyArray_BASE(__pyx_v_arr);40494050/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10284051* cdef inline object get_array_base(ndarray arr):4052* base = PyArray_BASE(arr)4053* if base is NULL: # <<<<<<<<<<<<<<4054* return None4055* return <object>base4056*/4057__pyx_t_1 = ((__pyx_v_base == NULL) != 0);4058if (__pyx_t_1) {40594060/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10294061* base = PyArray_BASE(arr)4062* if base is NULL:4063* return None # <<<<<<<<<<<<<<4064* return <object>base4065*4066*/4067__Pyx_XDECREF(__pyx_r);4068__pyx_r = Py_None; __Pyx_INCREF(Py_None);4069goto __pyx_L0;40704071/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10284072* cdef inline object get_array_base(ndarray arr):4073* base = PyArray_BASE(arr)4074* if base is NULL: # <<<<<<<<<<<<<<4075* return None4076* return <object>base4077*/4078}40794080/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10304081* if base is NULL:4082* return None4083* return <object>base # <<<<<<<<<<<<<<4084*4085* # Versions of the import_* functions which are more suitable for4086*/4087__Pyx_XDECREF(__pyx_r);4088__Pyx_INCREF(((PyObject *)__pyx_v_base));4089__pyx_r = ((PyObject *)__pyx_v_base);4090goto __pyx_L0;40914092/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10264093* PyArray_SetBaseObject(arr, base)4094*4095* cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<<4096* base = PyArray_BASE(arr)4097* if base is NULL:4098*/40994100/* function exit code */4101__pyx_L0:;4102__Pyx_XGIVEREF(__pyx_r);4103__Pyx_RefNannyFinishContext();4104return __pyx_r;4105}41064107/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10344108* # Versions of the import_* functions which are more suitable for4109* # Cython code.4110* cdef inline int import_array() except -1: # <<<<<<<<<<<<<<4111* try:4112* _import_array()4113*/41144115static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {4116int __pyx_r;4117__Pyx_RefNannyDeclarations4118PyObject *__pyx_t_1 = NULL;4119PyObject *__pyx_t_2 = NULL;4120PyObject *__pyx_t_3 = NULL;4121int __pyx_t_4;4122PyObject *__pyx_t_5 = NULL;4123PyObject *__pyx_t_6 = NULL;4124PyObject *__pyx_t_7 = NULL;4125PyObject *__pyx_t_8 = NULL;4126__Pyx_RefNannySetupContext("import_array", 0);41274128/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10354129* # Cython code.4130* cdef inline int import_array() except -1:4131* try: # <<<<<<<<<<<<<<4132* _import_array()4133* except Exception:4134*/4135{4136__Pyx_PyThreadState_declare4137__Pyx_PyThreadState_assign4138__Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);4139__Pyx_XGOTREF(__pyx_t_1);4140__Pyx_XGOTREF(__pyx_t_2);4141__Pyx_XGOTREF(__pyx_t_3);4142/*try:*/ {41434144/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10364145* cdef inline int import_array() except -1:4146* try:4147* _import_array() # <<<<<<<<<<<<<<4148* except Exception:4149* raise ImportError("numpy.core.multiarray failed to import")4150*/4151__pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1036, __pyx_L3_error)41524153/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10354154* # Cython code.4155* cdef inline int import_array() except -1:4156* try: # <<<<<<<<<<<<<<4157* _import_array()4158* except Exception:4159*/4160}4161__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;4162__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;4163__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;4164goto __pyx_L8_try_end;4165__pyx_L3_error:;41664167/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10374168* try:4169* _import_array()4170* except Exception: # <<<<<<<<<<<<<<4171* raise ImportError("numpy.core.multiarray failed to import")4172*4173*/4174__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));4175if (__pyx_t_4) {4176__Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);4177if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1037, __pyx_L5_except_error)4178__Pyx_GOTREF(__pyx_t_5);4179__Pyx_GOTREF(__pyx_t_6);4180__Pyx_GOTREF(__pyx_t_7);41814182/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10384183* _import_array()4184* except Exception:4185* raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<<4186*4187* cdef inline int import_umath() except -1:4188*/4189__pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1038, __pyx_L5_except_error)4190__Pyx_GOTREF(__pyx_t_8);4191__Pyx_Raise(__pyx_t_8, 0, 0, 0);4192__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;4193__PYX_ERR(1, 1038, __pyx_L5_except_error)4194}4195goto __pyx_L5_except_error;4196__pyx_L5_except_error:;41974198/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10354199* # Cython code.4200* cdef inline int import_array() except -1:4201* try: # <<<<<<<<<<<<<<4202* _import_array()4203* except Exception:4204*/4205__Pyx_XGIVEREF(__pyx_t_1);4206__Pyx_XGIVEREF(__pyx_t_2);4207__Pyx_XGIVEREF(__pyx_t_3);4208__Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);4209goto __pyx_L1_error;4210__pyx_L8_try_end:;4211}42124213/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10344214* # Versions of the import_* functions which are more suitable for4215* # Cython code.4216* cdef inline int import_array() except -1: # <<<<<<<<<<<<<<4217* try:4218* _import_array()4219*/42204221/* function exit code */4222__pyx_r = 0;4223goto __pyx_L0;4224__pyx_L1_error:;4225__Pyx_XDECREF(__pyx_t_5);4226__Pyx_XDECREF(__pyx_t_6);4227__Pyx_XDECREF(__pyx_t_7);4228__Pyx_XDECREF(__pyx_t_8);4229__Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);4230__pyx_r = -1;4231__pyx_L0:;4232__Pyx_RefNannyFinishContext();4233return __pyx_r;4234}42354236/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10404237* raise ImportError("numpy.core.multiarray failed to import")4238*4239* cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<4240* try:4241* _import_umath()4242*/42434244static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {4245int __pyx_r;4246__Pyx_RefNannyDeclarations4247PyObject *__pyx_t_1 = NULL;4248PyObject *__pyx_t_2 = NULL;4249PyObject *__pyx_t_3 = NULL;4250int __pyx_t_4;4251PyObject *__pyx_t_5 = NULL;4252PyObject *__pyx_t_6 = NULL;4253PyObject *__pyx_t_7 = NULL;4254PyObject *__pyx_t_8 = NULL;4255__Pyx_RefNannySetupContext("import_umath", 0);42564257/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10414258*4259* cdef inline int import_umath() except -1:4260* try: # <<<<<<<<<<<<<<4261* _import_umath()4262* except Exception:4263*/4264{4265__Pyx_PyThreadState_declare4266__Pyx_PyThreadState_assign4267__Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);4268__Pyx_XGOTREF(__pyx_t_1);4269__Pyx_XGOTREF(__pyx_t_2);4270__Pyx_XGOTREF(__pyx_t_3);4271/*try:*/ {42724273/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10424274* cdef inline int import_umath() except -1:4275* try:4276* _import_umath() # <<<<<<<<<<<<<<4277* except Exception:4278* raise ImportError("numpy.core.umath failed to import")4279*/4280__pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1042, __pyx_L3_error)42814282/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10414283*4284* cdef inline int import_umath() except -1:4285* try: # <<<<<<<<<<<<<<4286* _import_umath()4287* except Exception:4288*/4289}4290__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;4291__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;4292__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;4293goto __pyx_L8_try_end;4294__pyx_L3_error:;42954296/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10434297* try:4298* _import_umath()4299* except Exception: # <<<<<<<<<<<<<<4300* raise ImportError("numpy.core.umath failed to import")4301*4302*/4303__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));4304if (__pyx_t_4) {4305__Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);4306if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1043, __pyx_L5_except_error)4307__Pyx_GOTREF(__pyx_t_5);4308__Pyx_GOTREF(__pyx_t_6);4309__Pyx_GOTREF(__pyx_t_7);43104311/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10444312* _import_umath()4313* except Exception:4314* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<4315*4316* cdef inline int import_ufunc() except -1:4317*/4318__pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1044, __pyx_L5_except_error)4319__Pyx_GOTREF(__pyx_t_8);4320__Pyx_Raise(__pyx_t_8, 0, 0, 0);4321__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;4322__PYX_ERR(1, 1044, __pyx_L5_except_error)4323}4324goto __pyx_L5_except_error;4325__pyx_L5_except_error:;43264327/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10414328*4329* cdef inline int import_umath() except -1:4330* try: # <<<<<<<<<<<<<<4331* _import_umath()4332* except Exception:4333*/4334__Pyx_XGIVEREF(__pyx_t_1);4335__Pyx_XGIVEREF(__pyx_t_2);4336__Pyx_XGIVEREF(__pyx_t_3);4337__Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);4338goto __pyx_L1_error;4339__pyx_L8_try_end:;4340}43414342/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10404343* raise ImportError("numpy.core.multiarray failed to import")4344*4345* cdef inline int import_umath() except -1: # <<<<<<<<<<<<<<4346* try:4347* _import_umath()4348*/43494350/* function exit code */4351__pyx_r = 0;4352goto __pyx_L0;4353__pyx_L1_error:;4354__Pyx_XDECREF(__pyx_t_5);4355__Pyx_XDECREF(__pyx_t_6);4356__Pyx_XDECREF(__pyx_t_7);4357__Pyx_XDECREF(__pyx_t_8);4358__Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);4359__pyx_r = -1;4360__pyx_L0:;4361__Pyx_RefNannyFinishContext();4362return __pyx_r;4363}43644365/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10464366* raise ImportError("numpy.core.umath failed to import")4367*4368* cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<4369* try:4370* _import_umath()4371*/43724373static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {4374int __pyx_r;4375__Pyx_RefNannyDeclarations4376PyObject *__pyx_t_1 = NULL;4377PyObject *__pyx_t_2 = NULL;4378PyObject *__pyx_t_3 = NULL;4379int __pyx_t_4;4380PyObject *__pyx_t_5 = NULL;4381PyObject *__pyx_t_6 = NULL;4382PyObject *__pyx_t_7 = NULL;4383PyObject *__pyx_t_8 = NULL;4384__Pyx_RefNannySetupContext("import_ufunc", 0);43854386/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10474387*4388* cdef inline int import_ufunc() except -1:4389* try: # <<<<<<<<<<<<<<4390* _import_umath()4391* except Exception:4392*/4393{4394__Pyx_PyThreadState_declare4395__Pyx_PyThreadState_assign4396__Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);4397__Pyx_XGOTREF(__pyx_t_1);4398__Pyx_XGOTREF(__pyx_t_2);4399__Pyx_XGOTREF(__pyx_t_3);4400/*try:*/ {44014402/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10484403* cdef inline int import_ufunc() except -1:4404* try:4405* _import_umath() # <<<<<<<<<<<<<<4406* except Exception:4407* raise ImportError("numpy.core.umath failed to import")4408*/4409__pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(1, 1048, __pyx_L3_error)44104411/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10474412*4413* cdef inline int import_ufunc() except -1:4414* try: # <<<<<<<<<<<<<<4415* _import_umath()4416* except Exception:4417*/4418}4419__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;4420__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;4421__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;4422goto __pyx_L8_try_end;4423__pyx_L3_error:;44244425/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10494426* try:4427* _import_umath()4428* except Exception: # <<<<<<<<<<<<<<4429* raise ImportError("numpy.core.umath failed to import")4430*/4431__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));4432if (__pyx_t_4) {4433__Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);4434if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(1, 1049, __pyx_L5_except_error)4435__Pyx_GOTREF(__pyx_t_5);4436__Pyx_GOTREF(__pyx_t_6);4437__Pyx_GOTREF(__pyx_t_7);44384439/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10504440* _import_umath()4441* except Exception:4442* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<4443*/4444__pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 1050, __pyx_L5_except_error)4445__Pyx_GOTREF(__pyx_t_8);4446__Pyx_Raise(__pyx_t_8, 0, 0, 0);4447__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;4448__PYX_ERR(1, 1050, __pyx_L5_except_error)4449}4450goto __pyx_L5_except_error;4451__pyx_L5_except_error:;44524453/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10474454*4455* cdef inline int import_ufunc() except -1:4456* try: # <<<<<<<<<<<<<<4457* _import_umath()4458* except Exception:4459*/4460__Pyx_XGIVEREF(__pyx_t_1);4461__Pyx_XGIVEREF(__pyx_t_2);4462__Pyx_XGIVEREF(__pyx_t_3);4463__Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);4464goto __pyx_L1_error;4465__pyx_L8_try_end:;4466}44674468/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10464469* raise ImportError("numpy.core.umath failed to import")4470*4471* cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<4472* try:4473* _import_umath()4474*/44754476/* function exit code */4477__pyx_r = 0;4478goto __pyx_L0;4479__pyx_L1_error:;4480__Pyx_XDECREF(__pyx_t_5);4481__Pyx_XDECREF(__pyx_t_6);4482__Pyx_XDECREF(__pyx_t_7);4483__Pyx_XDECREF(__pyx_t_8);4484__Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);4485__pyx_r = -1;4486__pyx_L0:;4487__Pyx_RefNannyFinishContext();4488return __pyx_r;4489}44904491static PyMethodDef __pyx_methods[] = {4492{0, 0, 0, 0}4493};44944495#if PY_MAJOR_VERSION >= 34496#if CYTHON_PEP489_MULTI_PHASE_INIT4497static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/4498static int __pyx_pymod_exec_poly_overlaps(PyObject* module); /*proto*/4499static PyModuleDef_Slot __pyx_moduledef_slots[] = {4500{Py_mod_create, (void*)__pyx_pymod_create},4501{Py_mod_exec, (void*)__pyx_pymod_exec_poly_overlaps},4502{0, NULL}4503};4504#endif45054506static struct PyModuleDef __pyx_moduledef = {4507PyModuleDef_HEAD_INIT,4508"poly_overlaps",45090, /* m_doc */4510#if CYTHON_PEP489_MULTI_PHASE_INIT45110, /* m_size */4512#else4513-1, /* m_size */4514#endif4515__pyx_methods /* m_methods */,4516#if CYTHON_PEP489_MULTI_PHASE_INIT4517__pyx_moduledef_slots, /* m_slots */4518#else4519NULL, /* m_reload */4520#endif4521NULL, /* m_traverse */4522NULL, /* m_clear */4523NULL /* m_free */4524};4525#endif4526#ifndef CYTHON_SMALL_CODE4527#if defined(__clang__)4528#define CYTHON_SMALL_CODE4529#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))4530#define CYTHON_SMALL_CODE __attribute__((cold))4531#else4532#define CYTHON_SMALL_CODE4533#endif4534#endif45354536static __Pyx_StringTabEntry __pyx_string_tab[] = {4537{&__pyx_kp_u_Format_string_allocated_too_shor, __pyx_k_Format_string_allocated_too_shor, sizeof(__pyx_k_Format_string_allocated_too_shor), 0, 1, 0, 0},4538{&__pyx_kp_u_Format_string_allocated_too_shor_2, __pyx_k_Format_string_allocated_too_shor_2, sizeof(__pyx_k_Format_string_allocated_too_shor_2), 0, 1, 0, 0},4539{&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1},4540{&__pyx_n_s_K, __pyx_k_K, sizeof(__pyx_k_K), 0, 0, 1, 1},4541{&__pyx_n_s_N, __pyx_k_N, sizeof(__pyx_k_N), 0, 0, 1, 1},4542{&__pyx_kp_u_Non_native_byte_order_not_suppor, __pyx_k_Non_native_byte_order_not_suppor, sizeof(__pyx_k_Non_native_byte_order_not_suppor), 0, 1, 0, 0},4543{&__pyx_n_s_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 0, 0, 1, 1},4544{&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},4545{&__pyx_n_s_boxes, __pyx_k_boxes, sizeof(__pyx_k_boxes), 0, 0, 1, 1},4546{&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},4547{&__pyx_n_s_device_id, __pyx_k_device_id, sizeof(__pyx_k_device_id), 0, 0, 1, 1},4548{&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1},4549{&__pyx_n_s_float32, __pyx_k_float32, sizeof(__pyx_k_float32), 0, 0, 1, 1},4550{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},4551{&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},4552{&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},4553{&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0},4554{&__pyx_kp_u_ndarray_is_not_Fortran_contiguou, __pyx_k_ndarray_is_not_Fortran_contiguou, sizeof(__pyx_k_ndarray_is_not_Fortran_contiguou), 0, 1, 0, 0},4555{&__pyx_n_s_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 0, 1, 1},4556{&__pyx_n_s_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 0, 0, 1, 1},4557{&__pyx_kp_s_numpy_core_multiarray_failed_to, __pyx_k_numpy_core_multiarray_failed_to, sizeof(__pyx_k_numpy_core_multiarray_failed_to), 0, 0, 1, 0},4558{&__pyx_kp_s_numpy_core_umath_failed_to_impor, __pyx_k_numpy_core_umath_failed_to_impor, sizeof(__pyx_k_numpy_core_umath_failed_to_impor), 0, 0, 1, 0},4559{&__pyx_n_s_overlaps, __pyx_k_overlaps, sizeof(__pyx_k_overlaps), 0, 0, 1, 1},4560{&__pyx_n_s_poly_overlaps, __pyx_k_poly_overlaps, sizeof(__pyx_k_poly_overlaps), 0, 0, 1, 1},4561{&__pyx_kp_s_poly_overlaps_pyx, __pyx_k_poly_overlaps_pyx, sizeof(__pyx_k_poly_overlaps_pyx), 0, 0, 1, 0},4562{&__pyx_n_s_query_boxes, __pyx_k_query_boxes, sizeof(__pyx_k_query_boxes), 0, 0, 1, 1},4563{&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},4564{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},4565{&__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_k_unknown_dtype_code_in_numpy_pxd, sizeof(__pyx_k_unknown_dtype_code_in_numpy_pxd), 0, 1, 0, 0},4566{&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1},4567{0, 0, 0, 0, 0, 0, 0}4568};4569static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {4570__pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(1, 272, __pyx_L1_error)4571__pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 285, __pyx_L1_error)4572__pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 856, __pyx_L1_error)4573__pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(1, 1038, __pyx_L1_error)4574return 0;4575__pyx_L1_error:;4576return -1;4577}45784579static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {4580__Pyx_RefNannyDeclarations4581__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);45824583/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2724584* if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)4585* and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):4586* raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<<4587*4588* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)4589*/4590__pyx_tuple_ = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple_)) __PYX_ERR(1, 272, __pyx_L1_error)4591__Pyx_GOTREF(__pyx_tuple_);4592__Pyx_GIVEREF(__pyx_tuple_);45934594/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":2764595* if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)4596* and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):4597* raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<<4598*4599* info.buf = PyArray_DATA(self)4600*/4601__pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(1, 276, __pyx_L1_error)4602__Pyx_GOTREF(__pyx_tuple__2);4603__Pyx_GIVEREF(__pyx_tuple__2);46044605/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":3064606* if ((descr.byteorder == c'>' and little_endian) or4607* (descr.byteorder == c'<' and not little_endian)):4608* raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<<4609* if t == NPY_BYTE: f = "b"4610* elif t == NPY_UBYTE: f = "B"4611*/4612__pyx_tuple__3 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(1, 306, __pyx_L1_error)4613__Pyx_GOTREF(__pyx_tuple__3);4614__Pyx_GIVEREF(__pyx_tuple__3);46154616/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8564617*4618* if (end - f) - <int>(new_offset - offset[0]) < 15:4619* raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<<4620*4621* if ((child.byteorder == c'>' and little_endian) or4622*/4623__pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(1, 856, __pyx_L1_error)4624__Pyx_GOTREF(__pyx_tuple__4);4625__Pyx_GIVEREF(__pyx_tuple__4);46264627/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":8804628* t = child.type_num4629* if end - f < 5:4630* raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<<4631*4632* # Until ticket #99 is fixed, use integers to avoid warnings4633*/4634__pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(1, 880, __pyx_L1_error)4635__Pyx_GOTREF(__pyx_tuple__5);4636__Pyx_GIVEREF(__pyx_tuple__5);46374638/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10384639* _import_array()4640* except Exception:4641* raise ImportError("numpy.core.multiarray failed to import") # <<<<<<<<<<<<<<4642*4643* cdef inline int import_umath() except -1:4644*/4645__pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 1038, __pyx_L1_error)4646__Pyx_GOTREF(__pyx_tuple__6);4647__Pyx_GIVEREF(__pyx_tuple__6);46484649/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10444650* _import_umath()4651* except Exception:4652* raise ImportError("numpy.core.umath failed to import") # <<<<<<<<<<<<<<4653*4654* cdef inline int import_ufunc() except -1:4655*/4656__pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(1, 1044, __pyx_L1_error)4657__Pyx_GOTREF(__pyx_tuple__7);4658__Pyx_GIVEREF(__pyx_tuple__7);46594660/* "poly_overlaps.pyx":74661* void _overlaps(np.float32_t*, np.float32_t*, np.float32_t*, int, int, int)4662*4663* def poly_overlaps (np.ndarray[np.float32_t, ndim=2] boxes, np.ndarray[np.float32_t, ndim=2] query_boxes, np.int32_t device_id=0): # <<<<<<<<<<<<<<4664* cdef int N = boxes.shape[0]4665* cdef int K = query_boxes.shape[0]4666*/4667__pyx_tuple__8 = PyTuple_Pack(6, __pyx_n_s_boxes, __pyx_n_s_query_boxes, __pyx_n_s_device_id, __pyx_n_s_N, __pyx_n_s_K, __pyx_n_s_overlaps); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 7, __pyx_L1_error)4668__Pyx_GOTREF(__pyx_tuple__8);4669__Pyx_GIVEREF(__pyx_tuple__8);4670__pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_poly_overlaps_pyx, __pyx_n_s_poly_overlaps, 7, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 7, __pyx_L1_error)4671__Pyx_RefNannyFinishContext();4672return 0;4673__pyx_L1_error:;4674__Pyx_RefNannyFinishContext();4675return -1;4676}46774678static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {4679if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);4680return 0;4681__pyx_L1_error:;4682return -1;4683}46844685static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/4686static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/4687static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/4688static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/4689static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/4690static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/4691static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/46924693static int __Pyx_modinit_global_init_code(void) {4694__Pyx_RefNannyDeclarations4695__Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);4696/*--- Global init code ---*/4697__Pyx_RefNannyFinishContext();4698return 0;4699}47004701static int __Pyx_modinit_variable_export_code(void) {4702__Pyx_RefNannyDeclarations4703__Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);4704/*--- Variable export code ---*/4705__Pyx_RefNannyFinishContext();4706return 0;4707}47084709static int __Pyx_modinit_function_export_code(void) {4710__Pyx_RefNannyDeclarations4711__Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);4712/*--- Function export code ---*/4713__Pyx_RefNannyFinishContext();4714return 0;4715}47164717static int __Pyx_modinit_type_init_code(void) {4718__Pyx_RefNannyDeclarations4719__Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);4720/*--- Type init code ---*/4721__Pyx_RefNannyFinishContext();4722return 0;4723}47244725static int __Pyx_modinit_type_import_code(void) {4726__Pyx_RefNannyDeclarations4727PyObject *__pyx_t_1 = NULL;4728__Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);4729/*--- Type import code ---*/4730__pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 9, __pyx_L1_error)4731__Pyx_GOTREF(__pyx_t_1);4732__pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",4733#if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B00004734sizeof(PyTypeObject),4735#else4736sizeof(PyHeapTypeObject),4737#endif4738__Pyx_ImportType_CheckSize_Warn);4739if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(2, 9, __pyx_L1_error)4740__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;4741__pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 206, __pyx_L1_error)4742__Pyx_GOTREF(__pyx_t_1);4743__pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore);4744if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(1, 206, __pyx_L1_error)4745__pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Warn);4746if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(1, 229, __pyx_L1_error)4747__pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Warn);4748if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(1, 233, __pyx_L1_error)4749__pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore);4750if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(1, 242, __pyx_L1_error)4751__pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Warn);4752if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(1, 918, __pyx_L1_error)4753__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;4754__Pyx_RefNannyFinishContext();4755return 0;4756__pyx_L1_error:;4757__Pyx_XDECREF(__pyx_t_1);4758__Pyx_RefNannyFinishContext();4759return -1;4760}47614762static int __Pyx_modinit_variable_import_code(void) {4763__Pyx_RefNannyDeclarations4764__Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);4765/*--- Variable import code ---*/4766__Pyx_RefNannyFinishContext();4767return 0;4768}47694770static int __Pyx_modinit_function_import_code(void) {4771__Pyx_RefNannyDeclarations4772__Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);4773/*--- Function import code ---*/4774__Pyx_RefNannyFinishContext();4775return 0;4776}477747784779#if PY_MAJOR_VERSION < 34780#ifdef CYTHON_NO_PYINIT_EXPORT4781#define __Pyx_PyMODINIT_FUNC void4782#else4783#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC4784#endif4785#else4786#ifdef CYTHON_NO_PYINIT_EXPORT4787#define __Pyx_PyMODINIT_FUNC PyObject *4788#else4789#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC4790#endif4791#endif479247934794#if PY_MAJOR_VERSION < 34795__Pyx_PyMODINIT_FUNC initpoly_overlaps(void) CYTHON_SMALL_CODE; /*proto*/4796__Pyx_PyMODINIT_FUNC initpoly_overlaps(void)4797#else4798__Pyx_PyMODINIT_FUNC PyInit_poly_overlaps(void) CYTHON_SMALL_CODE; /*proto*/4799__Pyx_PyMODINIT_FUNC PyInit_poly_overlaps(void)4800#if CYTHON_PEP489_MULTI_PHASE_INIT4801{4802return PyModuleDef_Init(&__pyx_moduledef);4803}4804static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {4805#if PY_VERSION_HEX >= 0x030700A14806static PY_INT64_T main_interpreter_id = -1;4807PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);4808if (main_interpreter_id == -1) {4809main_interpreter_id = current_id;4810return (unlikely(current_id == -1)) ? -1 : 0;4811} else if (unlikely(main_interpreter_id != current_id))4812#else4813static PyInterpreterState *main_interpreter = NULL;4814PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;4815if (!main_interpreter) {4816main_interpreter = current_interpreter;4817} else if (unlikely(main_interpreter != current_interpreter))4818#endif4819{4820PyErr_SetString(4821PyExc_ImportError,4822"Interpreter change detected - this module can only be loaded into one interpreter per process.");4823return -1;4824}4825return 0;4826}4827static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {4828PyObject *value = PyObject_GetAttrString(spec, from_name);4829int result = 0;4830if (likely(value)) {4831if (allow_none || value != Py_None) {4832result = PyDict_SetItemString(moddict, to_name, value);4833}4834Py_DECREF(value);4835} else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {4836PyErr_Clear();4837} else {4838result = -1;4839}4840return result;4841}4842static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {4843PyObject *module = NULL, *moddict, *modname;4844if (__Pyx_check_single_interpreter())4845return NULL;4846if (__pyx_m)4847return __Pyx_NewRef(__pyx_m);4848modname = PyObject_GetAttrString(spec, "name");4849if (unlikely(!modname)) goto bad;4850module = PyModule_NewObject(modname);4851Py_DECREF(modname);4852if (unlikely(!module)) goto bad;4853moddict = PyModule_GetDict(module);4854if (unlikely(!moddict)) goto bad;4855if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;4856if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;4857if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;4858if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;4859return module;4860bad:4861Py_XDECREF(module);4862return NULL;4863}486448654866static CYTHON_SMALL_CODE int __pyx_pymod_exec_poly_overlaps(PyObject *__pyx_pyinit_module)4867#endif4868#endif4869{4870PyObject *__pyx_t_1 = NULL;4871__Pyx_RefNannyDeclarations4872#if CYTHON_PEP489_MULTI_PHASE_INIT4873if (__pyx_m) {4874if (__pyx_m == __pyx_pyinit_module) return 0;4875PyErr_SetString(PyExc_RuntimeError, "Module 'poly_overlaps' has already been imported. Re-initialisation is not supported.");4876return -1;4877}4878#elif PY_MAJOR_VERSION >= 34879if (__pyx_m) return __Pyx_NewRef(__pyx_m);4880#endif4881#if CYTHON_REFNANNY4882__Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");4883if (!__Pyx_RefNanny) {4884PyErr_Clear();4885__Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");4886if (!__Pyx_RefNanny)4887Py_FatalError("failed to import 'refnanny' module");4888}4889#endif4890__Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_poly_overlaps(void)", 0);4891if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4892#ifdef __Pxy_PyFrame_Initialize_Offsets4893__Pxy_PyFrame_Initialize_Offsets();4894#endif4895__pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)4896__pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)4897__pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)4898#ifdef __Pyx_CyFunction_USED4899if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4900#endif4901#ifdef __Pyx_FusedFunction_USED4902if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4903#endif4904#ifdef __Pyx_Coroutine_USED4905if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4906#endif4907#ifdef __Pyx_Generator_USED4908if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4909#endif4910#ifdef __Pyx_AsyncGen_USED4911if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4912#endif4913#ifdef __Pyx_StopAsyncIteration_USED4914if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4915#endif4916/*--- Library function declarations ---*/4917/*--- Threads initialization code ---*/4918#if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS4919#ifdef WITH_THREAD /* Python build with threading support? */4920PyEval_InitThreads();4921#endif4922#endif4923/*--- Module creation code ---*/4924#if CYTHON_PEP489_MULTI_PHASE_INIT4925__pyx_m = __pyx_pyinit_module;4926Py_INCREF(__pyx_m);4927#else4928#if PY_MAJOR_VERSION < 34929__pyx_m = Py_InitModule4("poly_overlaps", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);4930#else4931__pyx_m = PyModule_Create(&__pyx_moduledef);4932#endif4933if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)4934#endif4935__pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)4936Py_INCREF(__pyx_d);4937__pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)4938Py_INCREF(__pyx_b);4939__pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)4940Py_INCREF(__pyx_cython_runtime);4941if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error);4942/*--- Initialize various global constants etc. ---*/4943if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4944#if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)4945if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4946#endif4947if (__pyx_module_is_main_poly_overlaps) {4948if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)4949}4950#if PY_MAJOR_VERSION >= 34951{4952PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)4953if (!PyDict_GetItemString(modules, "poly_overlaps")) {4954if (unlikely(PyDict_SetItemString(modules, "poly_overlaps", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)4955}4956}4957#endif4958/*--- Builtin init code ---*/4959if (__Pyx_InitCachedBuiltins() < 0) goto __pyx_L1_error;4960/*--- Constants init code ---*/4961if (__Pyx_InitCachedConstants() < 0) goto __pyx_L1_error;4962/*--- Global type/function init code ---*/4963(void)__Pyx_modinit_global_init_code();4964(void)__Pyx_modinit_variable_export_code();4965(void)__Pyx_modinit_function_export_code();4966(void)__Pyx_modinit_type_init_code();4967if (unlikely(__Pyx_modinit_type_import_code() != 0)) goto __pyx_L1_error;4968(void)__Pyx_modinit_variable_import_code();4969(void)__Pyx_modinit_function_import_code();4970/*--- Execution code ---*/4971#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)4972if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)4973#endif49744975/* "poly_overlaps.pyx":14976* import numpy as np # <<<<<<<<<<<<<<4977* cimport numpy as np4978*4979*/4980__pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)4981__Pyx_GOTREF(__pyx_t_1);4982if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)4983__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;49844985/* "poly_overlaps.pyx":74986* void _overlaps(np.float32_t*, np.float32_t*, np.float32_t*, int, int, int)4987*4988* def poly_overlaps (np.ndarray[np.float32_t, ndim=2] boxes, np.ndarray[np.float32_t, ndim=2] query_boxes, np.int32_t device_id=0): # <<<<<<<<<<<<<<4989* cdef int N = boxes.shape[0]4990* cdef int K = query_boxes.shape[0]4991*/4992__pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_13poly_overlaps_1poly_overlaps, NULL, __pyx_n_s_poly_overlaps); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error)4993__Pyx_GOTREF(__pyx_t_1);4994if (PyDict_SetItem(__pyx_d, __pyx_n_s_poly_overlaps, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error)4995__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;49964997/* "poly_overlaps.pyx":14998* import numpy as np # <<<<<<<<<<<<<<4999* cimport numpy as np5000*5001*/5002__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)5003__Pyx_GOTREF(__pyx_t_1);5004if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)5005__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;50065007/* "../../../anaconda3/envs/mmdet/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":10465008* raise ImportError("numpy.core.umath failed to import")5009*5010* cdef inline int import_ufunc() except -1: # <<<<<<<<<<<<<<5011* try:5012* _import_umath()5013*/50145015/*--- Wrapped vars code ---*/50165017goto __pyx_L0;5018__pyx_L1_error:;5019__Pyx_XDECREF(__pyx_t_1);5020if (__pyx_m) {5021if (__pyx_d) {5022__Pyx_AddTraceback("init poly_overlaps", __pyx_clineno, __pyx_lineno, __pyx_filename);5023}5024Py_CLEAR(__pyx_m);5025} else if (!PyErr_Occurred()) {5026PyErr_SetString(PyExc_ImportError, "init poly_overlaps");5027}5028__pyx_L0:;5029__Pyx_RefNannyFinishContext();5030#if CYTHON_PEP489_MULTI_PHASE_INIT5031return (__pyx_m != NULL) ? 0 : -1;5032#elif PY_MAJOR_VERSION >= 35033return __pyx_m;5034#else5035return;5036#endif5037}50385039/* --- Runtime support code --- */5040/* Refnanny */5041#if CYTHON_REFNANNY5042static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {5043PyObject *m = NULL, *p = NULL;5044void *r = NULL;5045m = PyImport_ImportModule(modname);5046if (!m) goto end;5047p = PyObject_GetAttrString(m, "RefNannyAPI");5048if (!p) goto end;5049r = PyLong_AsVoidPtr(p);5050end:5051Py_XDECREF(p);5052Py_XDECREF(m);5053return (__Pyx_RefNannyAPIStruct *)r;5054}5055#endif50565057/* RaiseArgTupleInvalid */5058static void __Pyx_RaiseArgtupleInvalid(5059const char* func_name,5060int exact,5061Py_ssize_t num_min,5062Py_ssize_t num_max,5063Py_ssize_t num_found)5064{5065Py_ssize_t num_expected;5066const char *more_or_less;5067if (num_found < num_min) {5068num_expected = num_min;5069more_or_less = "at least";5070} else {5071num_expected = num_max;5072more_or_less = "at most";5073}5074if (exact) {5075more_or_less = "exactly";5076}5077PyErr_Format(PyExc_TypeError,5078"%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",5079func_name, more_or_less, num_expected,5080(num_expected == 1) ? "" : "s", num_found);5081}50825083/* RaiseDoubleKeywords */5084static void __Pyx_RaiseDoubleKeywordsError(5085const char* func_name,5086PyObject* kw_name)5087{5088PyErr_Format(PyExc_TypeError,5089#if PY_MAJOR_VERSION >= 35090"%s() got multiple values for keyword argument '%U'", func_name, kw_name);5091#else5092"%s() got multiple values for keyword argument '%s'", func_name,5093PyString_AsString(kw_name));5094#endif5095}50965097/* ParseKeywords */5098static int __Pyx_ParseOptionalKeywords(5099PyObject *kwds,5100PyObject **argnames[],5101PyObject *kwds2,5102PyObject *values[],5103Py_ssize_t num_pos_args,5104const char* function_name)5105{5106PyObject *key = 0, *value = 0;5107Py_ssize_t pos = 0;5108PyObject*** name;5109PyObject*** first_kw_arg = argnames + num_pos_args;5110while (PyDict_Next(kwds, &pos, &key, &value)) {5111name = first_kw_arg;5112while (*name && (**name != key)) name++;5113if (*name) {5114values[name-argnames] = value;5115continue;5116}5117name = first_kw_arg;5118#if PY_MAJOR_VERSION < 35119if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {5120while (*name) {5121if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))5122&& _PyString_Eq(**name, key)) {5123values[name-argnames] = value;5124break;5125}5126name++;5127}5128if (*name) continue;5129else {5130PyObject*** argname = argnames;5131while (argname != first_kw_arg) {5132if ((**argname == key) || (5133(CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))5134&& _PyString_Eq(**argname, key))) {5135goto arg_passed_twice;5136}5137argname++;5138}5139}5140} else5141#endif5142if (likely(PyUnicode_Check(key))) {5143while (*name) {5144int cmp = (**name == key) ? 0 :5145#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 35146(PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :5147#endif5148PyUnicode_Compare(**name, key);5149if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;5150if (cmp == 0) {5151values[name-argnames] = value;5152break;5153}5154name++;5155}5156if (*name) continue;5157else {5158PyObject*** argname = argnames;5159while (argname != first_kw_arg) {5160int cmp = (**argname == key) ? 0 :5161#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 35162(PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :5163#endif5164PyUnicode_Compare(**argname, key);5165if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;5166if (cmp == 0) goto arg_passed_twice;5167argname++;5168}5169}5170} else5171goto invalid_keyword_type;5172if (kwds2) {5173if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;5174} else {5175goto invalid_keyword;5176}5177}5178return 0;5179arg_passed_twice:5180__Pyx_RaiseDoubleKeywordsError(function_name, key);5181goto bad;5182invalid_keyword_type:5183PyErr_Format(PyExc_TypeError,5184"%.200s() keywords must be strings", function_name);5185goto bad;5186invalid_keyword:5187PyErr_Format(PyExc_TypeError,5188#if PY_MAJOR_VERSION < 35189"%.200s() got an unexpected keyword argument '%.200s'",5190function_name, PyString_AsString(key));5191#else5192"%s() got an unexpected keyword argument '%U'",5193function_name, key);5194#endif5195bad:5196return -1;5197}51985199/* ArgTypeTest */5200static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)5201{5202if (unlikely(!type)) {5203PyErr_SetString(PyExc_SystemError, "Missing type object");5204return 0;5205}5206else if (exact) {5207#if PY_MAJOR_VERSION == 25208if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;5209#endif5210}5211else {5212if (likely(__Pyx_TypeCheck(obj, type))) return 1;5213}5214PyErr_Format(PyExc_TypeError,5215"Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",5216name, type->tp_name, Py_TYPE(obj)->tp_name);5217return 0;5218}52195220/* IsLittleEndian */5221static CYTHON_INLINE int __Pyx_Is_Little_Endian(void)5222{5223union {5224uint32_t u32;5225uint8_t u8[4];5226} S;5227S.u32 = 0x01020304;5228return S.u8[0] == 4;5229}52305231/* BufferFormatCheck */5232static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,5233__Pyx_BufFmt_StackElem* stack,5234__Pyx_TypeInfo* type) {5235stack[0].field = &ctx->root;5236stack[0].parent_offset = 0;5237ctx->root.type = type;5238ctx->root.name = "buffer dtype";5239ctx->root.offset = 0;5240ctx->head = stack;5241ctx->head->field = &ctx->root;5242ctx->fmt_offset = 0;5243ctx->head->parent_offset = 0;5244ctx->new_packmode = '@';5245ctx->enc_packmode = '@';5246ctx->new_count = 1;5247ctx->enc_count = 0;5248ctx->enc_type = 0;5249ctx->is_complex = 0;5250ctx->is_valid_array = 0;5251ctx->struct_alignment = 0;5252while (type->typegroup == 'S') {5253++ctx->head;5254ctx->head->field = type->fields;5255ctx->head->parent_offset = 0;5256type = type->fields->type;5257}5258}5259static int __Pyx_BufFmt_ParseNumber(const char** ts) {5260int count;5261const char* t = *ts;5262if (*t < '0' || *t > '9') {5263return -1;5264} else {5265count = *t++ - '0';5266while (*t >= '0' && *t <= '9') {5267count *= 10;5268count += *t++ - '0';5269}5270}5271*ts = t;5272return count;5273}5274static int __Pyx_BufFmt_ExpectNumber(const char **ts) {5275int number = __Pyx_BufFmt_ParseNumber(ts);5276if (number == -1)5277PyErr_Format(PyExc_ValueError,\5278"Does not understand character buffer dtype format string ('%c')", **ts);5279return number;5280}5281static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {5282PyErr_Format(PyExc_ValueError,5283"Unexpected format string character: '%c'", ch);5284}5285static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {5286switch (ch) {5287case '?': return "'bool'";5288case 'c': return "'char'";5289case 'b': return "'signed char'";5290case 'B': return "'unsigned char'";5291case 'h': return "'short'";5292case 'H': return "'unsigned short'";5293case 'i': return "'int'";5294case 'I': return "'unsigned int'";5295case 'l': return "'long'";5296case 'L': return "'unsigned long'";5297case 'q': return "'long long'";5298case 'Q': return "'unsigned long long'";5299case 'f': return (is_complex ? "'complex float'" : "'float'");5300case 'd': return (is_complex ? "'complex double'" : "'double'");5301case 'g': return (is_complex ? "'complex long double'" : "'long double'");5302case 'T': return "a struct";5303case 'O': return "Python object";5304case 'P': return "a pointer";5305case 's': case 'p': return "a string";5306case 0: return "end";5307default: return "unparseable format string";5308}5309}5310static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {5311switch (ch) {5312case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;5313case 'h': case 'H': return 2;5314case 'i': case 'I': case 'l': case 'L': return 4;5315case 'q': case 'Q': return 8;5316case 'f': return (is_complex ? 8 : 4);5317case 'd': return (is_complex ? 16 : 8);5318case 'g': {5319PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g')..");5320return 0;5321}5322case 'O': case 'P': return sizeof(void*);5323default:5324__Pyx_BufFmt_RaiseUnexpectedChar(ch);5325return 0;5326}5327}5328static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {5329switch (ch) {5330case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;5331case 'h': case 'H': return sizeof(short);5332case 'i': case 'I': return sizeof(int);5333case 'l': case 'L': return sizeof(long);5334#ifdef HAVE_LONG_LONG5335case 'q': case 'Q': return sizeof(PY_LONG_LONG);5336#endif5337case 'f': return sizeof(float) * (is_complex ? 2 : 1);5338case 'd': return sizeof(double) * (is_complex ? 2 : 1);5339case 'g': return sizeof(long double) * (is_complex ? 2 : 1);5340case 'O': case 'P': return sizeof(void*);5341default: {5342__Pyx_BufFmt_RaiseUnexpectedChar(ch);5343return 0;5344}5345}5346}5347typedef struct { char c; short x; } __Pyx_st_short;5348typedef struct { char c; int x; } __Pyx_st_int;5349typedef struct { char c; long x; } __Pyx_st_long;5350typedef struct { char c; float x; } __Pyx_st_float;5351typedef struct { char c; double x; } __Pyx_st_double;5352typedef struct { char c; long double x; } __Pyx_st_longdouble;5353typedef struct { char c; void *x; } __Pyx_st_void_p;5354#ifdef HAVE_LONG_LONG5355typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;5356#endif5357static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, CYTHON_UNUSED int is_complex) {5358switch (ch) {5359case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;5360case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short);5361case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int);5362case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long);5363#ifdef HAVE_LONG_LONG5364case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG);5365#endif5366case 'f': return sizeof(__Pyx_st_float) - sizeof(float);5367case 'd': return sizeof(__Pyx_st_double) - sizeof(double);5368case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double);5369case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*);5370default:5371__Pyx_BufFmt_RaiseUnexpectedChar(ch);5372return 0;5373}5374}5375/* These are for computing the padding at the end of the struct to align5376on the first member of the struct. This will probably the same as above,5377but we don't have any guarantees.5378*/5379typedef struct { short x; char c; } __Pyx_pad_short;5380typedef struct { int x; char c; } __Pyx_pad_int;5381typedef struct { long x; char c; } __Pyx_pad_long;5382typedef struct { float x; char c; } __Pyx_pad_float;5383typedef struct { double x; char c; } __Pyx_pad_double;5384typedef struct { long double x; char c; } __Pyx_pad_longdouble;5385typedef struct { void *x; char c; } __Pyx_pad_void_p;5386#ifdef HAVE_LONG_LONG5387typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;5388#endif5389static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, CYTHON_UNUSED int is_complex) {5390switch (ch) {5391case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;5392case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short);5393case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int);5394case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long);5395#ifdef HAVE_LONG_LONG5396case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG);5397#endif5398case 'f': return sizeof(__Pyx_pad_float) - sizeof(float);5399case 'd': return sizeof(__Pyx_pad_double) - sizeof(double);5400case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double);5401case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*);5402default:5403__Pyx_BufFmt_RaiseUnexpectedChar(ch);5404return 0;5405}5406}5407static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {5408switch (ch) {5409case 'c':5410return 'H';5411case 'b': case 'h': case 'i':5412case 'l': case 'q': case 's': case 'p':5413return 'I';5414case '?': case 'B': case 'H': case 'I': case 'L': case 'Q':5415return 'U';5416case 'f': case 'd': case 'g':5417return (is_complex ? 'C' : 'R');5418case 'O':5419return 'O';5420case 'P':5421return 'P';5422default: {5423__Pyx_BufFmt_RaiseUnexpectedChar(ch);5424return 0;5425}5426}5427}5428static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {5429if (ctx->head == NULL || ctx->head->field == &ctx->root) {5430const char* expected;5431const char* quote;5432if (ctx->head == NULL) {5433expected = "end";5434quote = "";5435} else {5436expected = ctx->head->field->type->name;5437quote = "'";5438}5439PyErr_Format(PyExc_ValueError,5440"Buffer dtype mismatch, expected %s%s%s but got %s",5441quote, expected, quote,5442__Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex));5443} else {5444__Pyx_StructField* field = ctx->head->field;5445__Pyx_StructField* parent = (ctx->head - 1)->field;5446PyErr_Format(PyExc_ValueError,5447"Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'",5448field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex),5449parent->type->name, field->name);5450}5451}5452static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {5453char group;5454size_t size, offset, arraysize = 1;5455if (ctx->enc_type == 0) return 0;5456if (ctx->head->field->type->arraysize[0]) {5457int i, ndim = 0;5458if (ctx->enc_type == 's' || ctx->enc_type == 'p') {5459ctx->is_valid_array = ctx->head->field->type->ndim == 1;5460ndim = 1;5461if (ctx->enc_count != ctx->head->field->type->arraysize[0]) {5462PyErr_Format(PyExc_ValueError,5463"Expected a dimension of size %zu, got %zu",5464ctx->head->field->type->arraysize[0], ctx->enc_count);5465return -1;5466}5467}5468if (!ctx->is_valid_array) {5469PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d",5470ctx->head->field->type->ndim, ndim);5471return -1;5472}5473for (i = 0; i < ctx->head->field->type->ndim; i++) {5474arraysize *= ctx->head->field->type->arraysize[i];5475}5476ctx->is_valid_array = 0;5477ctx->enc_count = 1;5478}5479group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex);5480do {5481__Pyx_StructField* field = ctx->head->field;5482__Pyx_TypeInfo* type = field->type;5483if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') {5484size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex);5485} else {5486size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex);5487}5488if (ctx->enc_packmode == '@') {5489size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex);5490size_t align_mod_offset;5491if (align_at == 0) return -1;5492align_mod_offset = ctx->fmt_offset % align_at;5493if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset;5494if (ctx->struct_alignment == 0)5495ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type,5496ctx->is_complex);5497}5498if (type->size != size || type->typegroup != group) {5499if (type->typegroup == 'C' && type->fields != NULL) {5500size_t parent_offset = ctx->head->parent_offset + field->offset;5501++ctx->head;5502ctx->head->field = type->fields;5503ctx->head->parent_offset = parent_offset;5504continue;5505}5506if ((type->typegroup == 'H' || group == 'H') && type->size == size) {5507} else {5508__Pyx_BufFmt_RaiseExpected(ctx);5509return -1;5510}5511}5512offset = ctx->head->parent_offset + field->offset;5513if (ctx->fmt_offset != offset) {5514PyErr_Format(PyExc_ValueError,5515"Buffer dtype mismatch; next field is at offset %" CYTHON_FORMAT_SSIZE_T "d but %" CYTHON_FORMAT_SSIZE_T "d expected",5516(Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);5517return -1;5518}5519ctx->fmt_offset += size;5520if (arraysize)5521ctx->fmt_offset += (arraysize - 1) * size;5522--ctx->enc_count;5523while (1) {5524if (field == &ctx->root) {5525ctx->head = NULL;5526if (ctx->enc_count != 0) {5527__Pyx_BufFmt_RaiseExpected(ctx);5528return -1;5529}5530break;5531}5532ctx->head->field = ++field;5533if (field->type == NULL) {5534--ctx->head;5535field = ctx->head->field;5536continue;5537} else if (field->type->typegroup == 'S') {5538size_t parent_offset = ctx->head->parent_offset + field->offset;5539if (field->type->fields->type == NULL) continue;5540field = field->type->fields;5541++ctx->head;5542ctx->head->field = field;5543ctx->head->parent_offset = parent_offset;5544break;5545} else {5546break;5547}5548}5549} while (ctx->enc_count);5550ctx->enc_type = 0;5551ctx->is_complex = 0;5552return 0;5553}5554static PyObject *5555__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)5556{5557const char *ts = *tsp;5558int i = 0, number;5559int ndim = ctx->head->field->type->ndim;5560;5561++ts;5562if (ctx->new_count != 1) {5563PyErr_SetString(PyExc_ValueError,5564"Cannot handle repeated arrays in format string");5565return NULL;5566}5567if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;5568while (*ts && *ts != ')') {5569switch (*ts) {5570case ' ': case '\f': case '\r': case '\n': case '\t': case '\v': continue;5571default: break;5572}5573number = __Pyx_BufFmt_ExpectNumber(&ts);5574if (number == -1) return NULL;5575if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i])5576return PyErr_Format(PyExc_ValueError,5577"Expected a dimension of size %zu, got %d",5578ctx->head->field->type->arraysize[i], number);5579if (*ts != ',' && *ts != ')')5580return PyErr_Format(PyExc_ValueError,5581"Expected a comma in format string, got '%c'", *ts);5582if (*ts == ',') ts++;5583i++;5584}5585if (i != ndim)5586return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",5587ctx->head->field->type->ndim, i);5588if (!*ts) {5589PyErr_SetString(PyExc_ValueError,5590"Unexpected end of format string, expected ')'");5591return NULL;5592}5593ctx->is_valid_array = 1;5594ctx->new_count = 1;5595*tsp = ++ts;5596return Py_None;5597}5598static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {5599int got_Z = 0;5600while (1) {5601switch(*ts) {5602case 0:5603if (ctx->enc_type != 0 && ctx->head == NULL) {5604__Pyx_BufFmt_RaiseExpected(ctx);5605return NULL;5606}5607if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;5608if (ctx->head != NULL) {5609__Pyx_BufFmt_RaiseExpected(ctx);5610return NULL;5611}5612return ts;5613case ' ':5614case '\r':5615case '\n':5616++ts;5617break;5618case '<':5619if (!__Pyx_Is_Little_Endian()) {5620PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler");5621return NULL;5622}5623ctx->new_packmode = '=';5624++ts;5625break;5626case '>':5627case '!':5628if (__Pyx_Is_Little_Endian()) {5629PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler");5630return NULL;5631}5632ctx->new_packmode = '=';5633++ts;5634break;5635case '=':5636case '@':5637case '^':5638ctx->new_packmode = *ts++;5639break;5640case 'T':5641{5642const char* ts_after_sub;5643size_t i, struct_count = ctx->new_count;5644size_t struct_alignment = ctx->struct_alignment;5645ctx->new_count = 1;5646++ts;5647if (*ts != '{') {5648PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'");5649return NULL;5650}5651if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;5652ctx->enc_type = 0;5653ctx->enc_count = 0;5654ctx->struct_alignment = 0;5655++ts;5656ts_after_sub = ts;5657for (i = 0; i != struct_count; ++i) {5658ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts);5659if (!ts_after_sub) return NULL;5660}5661ts = ts_after_sub;5662if (struct_alignment) ctx->struct_alignment = struct_alignment;5663}5664break;5665case '}':5666{5667size_t alignment = ctx->struct_alignment;5668++ts;5669if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;5670ctx->enc_type = 0;5671if (alignment && ctx->fmt_offset % alignment) {5672ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment);5673}5674}5675return ts;5676case 'x':5677if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;5678ctx->fmt_offset += ctx->new_count;5679ctx->new_count = 1;5680ctx->enc_count = 0;5681ctx->enc_type = 0;5682ctx->enc_packmode = ctx->new_packmode;5683++ts;5684break;5685case 'Z':5686got_Z = 1;5687++ts;5688if (*ts != 'f' && *ts != 'd' && *ts != 'g') {5689__Pyx_BufFmt_RaiseUnexpectedChar('Z');5690return NULL;5691}5692CYTHON_FALLTHROUGH;5693case '?': case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I':5694case 'l': case 'L': case 'q': case 'Q':5695case 'f': case 'd': case 'g':5696case 'O': case 'p':5697if (ctx->enc_type == *ts && got_Z == ctx->is_complex &&5698ctx->enc_packmode == ctx->new_packmode) {5699ctx->enc_count += ctx->new_count;5700ctx->new_count = 1;5701got_Z = 0;5702++ts;5703break;5704}5705CYTHON_FALLTHROUGH;5706case 's':5707if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;5708ctx->enc_count = ctx->new_count;5709ctx->enc_packmode = ctx->new_packmode;5710ctx->enc_type = *ts;5711ctx->is_complex = got_Z;5712++ts;5713ctx->new_count = 1;5714got_Z = 0;5715break;5716case ':':5717++ts;5718while(*ts != ':') ++ts;5719++ts;5720break;5721case '(':5722if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL;5723break;5724default:5725{5726int number = __Pyx_BufFmt_ExpectNumber(&ts);5727if (number == -1) return NULL;5728ctx->new_count = (size_t)number;5729}5730}5731}5732}57335734/* BufferGetAndValidate */5735static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {5736if (unlikely(info->buf == NULL)) return;5737if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL;5738__Pyx_ReleaseBuffer(info);5739}5740static void __Pyx_ZeroBuffer(Py_buffer* buf) {5741buf->buf = NULL;5742buf->obj = NULL;5743buf->strides = __Pyx_zeros;5744buf->shape = __Pyx_zeros;5745buf->suboffsets = __Pyx_minusones;5746}5747static int __Pyx__GetBufferAndValidate(5748Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags,5749int nd, int cast, __Pyx_BufFmt_StackElem* stack)5750{5751buf->buf = NULL;5752if (unlikely(__Pyx_GetBuffer(obj, buf, flags) == -1)) {5753__Pyx_ZeroBuffer(buf);5754return -1;5755}5756if (unlikely(buf->ndim != nd)) {5757PyErr_Format(PyExc_ValueError,5758"Buffer has wrong number of dimensions (expected %d, got %d)",5759nd, buf->ndim);5760goto fail;5761}5762if (!cast) {5763__Pyx_BufFmt_Context ctx;5764__Pyx_BufFmt_Init(&ctx, stack, dtype);5765if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail;5766}5767if (unlikely((size_t)buf->itemsize != dtype->size)) {5768PyErr_Format(PyExc_ValueError,5769"Item size of buffer (%" CYTHON_FORMAT_SSIZE_T "d byte%s) does not match size of '%s' (%" CYTHON_FORMAT_SSIZE_T "d byte%s)",5770buf->itemsize, (buf->itemsize > 1) ? "s" : "",5771dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : "");5772goto fail;5773}5774if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones;5775return 0;5776fail:;5777__Pyx_SafeReleaseBuffer(buf);5778return -1;5779}57805781/* PyObjectGetAttrStr */5782#if CYTHON_USE_TYPE_SLOTS5783static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {5784PyTypeObject* tp = Py_TYPE(obj);5785if (likely(tp->tp_getattro))5786return tp->tp_getattro(obj, attr_name);5787#if PY_MAJOR_VERSION < 35788if (likely(tp->tp_getattr))5789return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));5790#endif5791return PyObject_GetAttr(obj, attr_name);5792}5793#endif57945795/* GetBuiltinName */5796static PyObject *__Pyx_GetBuiltinName(PyObject *name) {5797PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);5798if (unlikely(!result)) {5799PyErr_Format(PyExc_NameError,5800#if PY_MAJOR_VERSION >= 35801"name '%U' is not defined", name);5802#else5803"name '%.200s' is not defined", PyString_AS_STRING(name));5804#endif5805}5806return result;5807}58085809/* PyDictVersioning */5810#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS5811static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {5812PyObject *dict = Py_TYPE(obj)->tp_dict;5813return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;5814}5815static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {5816PyObject **dictptr = NULL;5817Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;5818if (offset) {5819#if CYTHON_COMPILING_IN_CPYTHON5820dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);5821#else5822dictptr = _PyObject_GetDictPtr(obj);5823#endif5824}5825return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;5826}5827static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {5828PyObject *dict = Py_TYPE(obj)->tp_dict;5829if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))5830return 0;5831return obj_dict_version == __Pyx_get_object_dict_version(obj);5832}5833#endif58345835/* GetModuleGlobalName */5836#if CYTHON_USE_DICT_VERSIONS5837static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)5838#else5839static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)5840#endif5841{5842PyObject *result;5843#if !CYTHON_AVOID_BORROWED_REFS5844#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A15845result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);5846__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)5847if (likely(result)) {5848return __Pyx_NewRef(result);5849} else if (unlikely(PyErr_Occurred())) {5850return NULL;5851}5852#else5853result = PyDict_GetItem(__pyx_d, name);5854__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)5855if (likely(result)) {5856return __Pyx_NewRef(result);5857}5858#endif5859#else5860result = PyObject_GetItem(__pyx_d, name);5861__PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)5862if (likely(result)) {5863return __Pyx_NewRef(result);5864}5865PyErr_Clear();5866#endif5867return __Pyx_GetBuiltinName(name);5868}58695870/* PyObjectCall */5871#if CYTHON_COMPILING_IN_CPYTHON5872static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {5873PyObject *result;5874ternaryfunc call = func->ob_type->tp_call;5875if (unlikely(!call))5876return PyObject_Call(func, arg, kw);5877if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))5878return NULL;5879result = (*call)(func, arg, kw);5880Py_LeaveRecursiveCall();5881if (unlikely(!result) && unlikely(!PyErr_Occurred())) {5882PyErr_SetString(5883PyExc_SystemError,5884"NULL result without error in PyObject_Call");5885}5886return result;5887}5888#endif58895890/* ExtTypeTest */5891static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {5892if (unlikely(!type)) {5893PyErr_SetString(PyExc_SystemError, "Missing type object");5894return 0;5895}5896if (likely(__Pyx_TypeCheck(obj, type)))5897return 1;5898PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",5899Py_TYPE(obj)->tp_name, type->tp_name);5900return 0;5901}59025903/* BufferIndexError */5904static void __Pyx_RaiseBufferIndexError(int axis) {5905PyErr_Format(PyExc_IndexError,5906"Out of bounds on buffer access (axis %d)", axis);5907}59085909/* PyErrFetchRestore */5910#if CYTHON_FAST_THREAD_STATE5911static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {5912PyObject *tmp_type, *tmp_value, *tmp_tb;5913tmp_type = tstate->curexc_type;5914tmp_value = tstate->curexc_value;5915tmp_tb = tstate->curexc_traceback;5916tstate->curexc_type = type;5917tstate->curexc_value = value;5918tstate->curexc_traceback = tb;5919Py_XDECREF(tmp_type);5920Py_XDECREF(tmp_value);5921Py_XDECREF(tmp_tb);5922}5923static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {5924*type = tstate->curexc_type;5925*value = tstate->curexc_value;5926*tb = tstate->curexc_traceback;5927tstate->curexc_type = 0;5928tstate->curexc_value = 0;5929tstate->curexc_traceback = 0;5930}5931#endif59325933/* RaiseException */5934#if PY_MAJOR_VERSION < 35935static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,5936CYTHON_UNUSED PyObject *cause) {5937__Pyx_PyThreadState_declare5938Py_XINCREF(type);5939if (!value || value == Py_None)5940value = NULL;5941else5942Py_INCREF(value);5943if (!tb || tb == Py_None)5944tb = NULL;5945else {5946Py_INCREF(tb);5947if (!PyTraceBack_Check(tb)) {5948PyErr_SetString(PyExc_TypeError,5949"raise: arg 3 must be a traceback or None");5950goto raise_error;5951}5952}5953if (PyType_Check(type)) {5954#if CYTHON_COMPILING_IN_PYPY5955if (!value) {5956Py_INCREF(Py_None);5957value = Py_None;5958}5959#endif5960PyErr_NormalizeException(&type, &value, &tb);5961} else {5962if (value) {5963PyErr_SetString(PyExc_TypeError,5964"instance exception may not have a separate value");5965goto raise_error;5966}5967value = type;5968type = (PyObject*) Py_TYPE(type);5969Py_INCREF(type);5970if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {5971PyErr_SetString(PyExc_TypeError,5972"raise: exception class must be a subclass of BaseException");5973goto raise_error;5974}5975}5976__Pyx_PyThreadState_assign5977__Pyx_ErrRestore(type, value, tb);5978return;5979raise_error:5980Py_XDECREF(value);5981Py_XDECREF(type);5982Py_XDECREF(tb);5983return;5984}5985#else5986static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {5987PyObject* owned_instance = NULL;5988if (tb == Py_None) {5989tb = 0;5990} else if (tb && !PyTraceBack_Check(tb)) {5991PyErr_SetString(PyExc_TypeError,5992"raise: arg 3 must be a traceback or None");5993goto bad;5994}5995if (value == Py_None)5996value = 0;5997if (PyExceptionInstance_Check(type)) {5998if (value) {5999PyErr_SetString(PyExc_TypeError,6000"instance exception may not have a separate value");6001goto bad;6002}6003value = type;6004type = (PyObject*) Py_TYPE(value);6005} else if (PyExceptionClass_Check(type)) {6006PyObject *instance_class = NULL;6007if (value && PyExceptionInstance_Check(value)) {6008instance_class = (PyObject*) Py_TYPE(value);6009if (instance_class != type) {6010int is_subclass = PyObject_IsSubclass(instance_class, type);6011if (!is_subclass) {6012instance_class = NULL;6013} else if (unlikely(is_subclass == -1)) {6014goto bad;6015} else {6016type = instance_class;6017}6018}6019}6020if (!instance_class) {6021PyObject *args;6022if (!value)6023args = PyTuple_New(0);6024else if (PyTuple_Check(value)) {6025Py_INCREF(value);6026args = value;6027} else6028args = PyTuple_Pack(1, value);6029if (!args)6030goto bad;6031owned_instance = PyObject_Call(type, args, NULL);6032Py_DECREF(args);6033if (!owned_instance)6034goto bad;6035value = owned_instance;6036if (!PyExceptionInstance_Check(value)) {6037PyErr_Format(PyExc_TypeError,6038"calling %R should have returned an instance of "6039"BaseException, not %R",6040type, Py_TYPE(value));6041goto bad;6042}6043}6044} else {6045PyErr_SetString(PyExc_TypeError,6046"raise: exception class must be a subclass of BaseException");6047goto bad;6048}6049if (cause) {6050PyObject *fixed_cause;6051if (cause == Py_None) {6052fixed_cause = NULL;6053} else if (PyExceptionClass_Check(cause)) {6054fixed_cause = PyObject_CallObject(cause, NULL);6055if (fixed_cause == NULL)6056goto bad;6057} else if (PyExceptionInstance_Check(cause)) {6058fixed_cause = cause;6059Py_INCREF(fixed_cause);6060} else {6061PyErr_SetString(PyExc_TypeError,6062"exception causes must derive from "6063"BaseException");6064goto bad;6065}6066PyException_SetCause(value, fixed_cause);6067}6068PyErr_SetObject(type, value);6069if (tb) {6070#if CYTHON_COMPILING_IN_PYPY6071PyObject *tmp_type, *tmp_value, *tmp_tb;6072PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);6073Py_INCREF(tb);6074PyErr_Restore(tmp_type, tmp_value, tb);6075Py_XDECREF(tmp_tb);6076#else6077PyThreadState *tstate = __Pyx_PyThreadState_Current;6078PyObject* tmp_tb = tstate->curexc_traceback;6079if (tb != tmp_tb) {6080Py_INCREF(tb);6081tstate->curexc_traceback = tb;6082Py_XDECREF(tmp_tb);6083}6084#endif6085}6086bad:6087Py_XDECREF(owned_instance);6088return;6089}6090#endif60916092/* PyCFunctionFastCall */6093#if CYTHON_FAST_PYCCALL6094static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {6095PyCFunctionObject *func = (PyCFunctionObject*)func_obj;6096PyCFunction meth = PyCFunction_GET_FUNCTION(func);6097PyObject *self = PyCFunction_GET_SELF(func);6098int flags = PyCFunction_GET_FLAGS(func);6099assert(PyCFunction_Check(func));6100assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));6101assert(nargs >= 0);6102assert(nargs == 0 || args != NULL);6103/* _PyCFunction_FastCallDict() must not be called with an exception set,6104because it may clear it (directly or indirectly) and so the6105caller loses its exception */6106assert(!PyErr_Occurred());6107if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {6108return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);6109} else {6110return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);6111}6112}6113#endif61146115/* PyFunctionFastCall */6116#if CYTHON_FAST_PYCALL6117static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,6118PyObject *globals) {6119PyFrameObject *f;6120PyThreadState *tstate = __Pyx_PyThreadState_Current;6121PyObject **fastlocals;6122Py_ssize_t i;6123PyObject *result;6124assert(globals != NULL);6125/* XXX Perhaps we should create a specialized6126PyFrame_New() that doesn't take locals, but does6127take builtins without sanity checking them.6128*/6129assert(tstate != NULL);6130f = PyFrame_New(tstate, co, globals, NULL);6131if (f == NULL) {6132return NULL;6133}6134fastlocals = __Pyx_PyFrame_GetLocalsplus(f);6135for (i = 0; i < na; i++) {6136Py_INCREF(*args);6137fastlocals[i] = *args++;6138}6139result = PyEval_EvalFrameEx(f,0);6140++tstate->recursion_depth;6141Py_DECREF(f);6142--tstate->recursion_depth;6143return result;6144}6145#if 1 || PY_VERSION_HEX < 0x030600B16146static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {6147PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);6148PyObject *globals = PyFunction_GET_GLOBALS(func);6149PyObject *argdefs = PyFunction_GET_DEFAULTS(func);6150PyObject *closure;6151#if PY_MAJOR_VERSION >= 36152PyObject *kwdefs;6153#endif6154PyObject *kwtuple, **k;6155PyObject **d;6156Py_ssize_t nd;6157Py_ssize_t nk;6158PyObject *result;6159assert(kwargs == NULL || PyDict_Check(kwargs));6160nk = kwargs ? PyDict_Size(kwargs) : 0;6161if (Py_EnterRecursiveCall((char*)" while calling a Python object")) {6162return NULL;6163}6164if (6165#if PY_MAJOR_VERSION >= 36166co->co_kwonlyargcount == 0 &&6167#endif6168likely(kwargs == NULL || nk == 0) &&6169co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {6170if (argdefs == NULL && co->co_argcount == nargs) {6171result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);6172goto done;6173}6174else if (nargs == 0 && argdefs != NULL6175&& co->co_argcount == Py_SIZE(argdefs)) {6176/* function called with no arguments, but all parameters have6177a default value: use default values as arguments .*/6178args = &PyTuple_GET_ITEM(argdefs, 0);6179result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);6180goto done;6181}6182}6183if (kwargs != NULL) {6184Py_ssize_t pos, i;6185kwtuple = PyTuple_New(2 * nk);6186if (kwtuple == NULL) {6187result = NULL;6188goto done;6189}6190k = &PyTuple_GET_ITEM(kwtuple, 0);6191pos = i = 0;6192while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {6193Py_INCREF(k[i]);6194Py_INCREF(k[i+1]);6195i += 2;6196}6197nk = i / 2;6198}6199else {6200kwtuple = NULL;6201k = NULL;6202}6203closure = PyFunction_GET_CLOSURE(func);6204#if PY_MAJOR_VERSION >= 36205kwdefs = PyFunction_GET_KW_DEFAULTS(func);6206#endif6207if (argdefs != NULL) {6208d = &PyTuple_GET_ITEM(argdefs, 0);6209nd = Py_SIZE(argdefs);6210}6211else {6212d = NULL;6213nd = 0;6214}6215#if PY_MAJOR_VERSION >= 36216result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,6217args, (int)nargs,6218k, (int)nk,6219d, (int)nd, kwdefs, closure);6220#else6221result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,6222args, (int)nargs,6223k, (int)nk,6224d, (int)nd, closure);6225#endif6226Py_XDECREF(kwtuple);6227done:6228Py_LeaveRecursiveCall();6229return result;6230}6231#endif6232#endif62336234/* PyObjectCallMethO */6235#if CYTHON_COMPILING_IN_CPYTHON6236static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {6237PyObject *self, *result;6238PyCFunction cfunc;6239cfunc = PyCFunction_GET_FUNCTION(func);6240self = PyCFunction_GET_SELF(func);6241if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))6242return NULL;6243result = cfunc(self, arg);6244Py_LeaveRecursiveCall();6245if (unlikely(!result) && unlikely(!PyErr_Occurred())) {6246PyErr_SetString(6247PyExc_SystemError,6248"NULL result without error in PyObject_Call");6249}6250return result;6251}6252#endif62536254/* PyObjectCallOneArg */6255#if CYTHON_COMPILING_IN_CPYTHON6256static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {6257PyObject *result;6258PyObject *args = PyTuple_New(1);6259if (unlikely(!args)) return NULL;6260Py_INCREF(arg);6261PyTuple_SET_ITEM(args, 0, arg);6262result = __Pyx_PyObject_Call(func, args, NULL);6263Py_DECREF(args);6264return result;6265}6266static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {6267#if CYTHON_FAST_PYCALL6268if (PyFunction_Check(func)) {6269return __Pyx_PyFunction_FastCall(func, &arg, 1);6270}6271#endif6272if (likely(PyCFunction_Check(func))) {6273if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {6274return __Pyx_PyObject_CallMethO(func, arg);6275#if CYTHON_FAST_PYCCALL6276} else if (PyCFunction_GET_FLAGS(func) & METH_FASTCALL) {6277return __Pyx_PyCFunction_FastCall(func, &arg, 1);6278#endif6279}6280}6281return __Pyx__PyObject_CallOneArg(func, arg);6282}6283#else6284static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {6285PyObject *result;6286PyObject *args = PyTuple_Pack(1, arg);6287if (unlikely(!args)) return NULL;6288result = __Pyx_PyObject_Call(func, args, NULL);6289Py_DECREF(args);6290return result;6291}6292#endif62936294/* DictGetItem */6295#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY6296static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {6297PyObject *value;6298value = PyDict_GetItemWithError(d, key);6299if (unlikely(!value)) {6300if (!PyErr_Occurred()) {6301if (unlikely(PyTuple_Check(key))) {6302PyObject* args = PyTuple_Pack(1, key);6303if (likely(args)) {6304PyErr_SetObject(PyExc_KeyError, args);6305Py_DECREF(args);6306}6307} else {6308PyErr_SetObject(PyExc_KeyError, key);6309}6310}6311return NULL;6312}6313Py_INCREF(value);6314return value;6315}6316#endif63176318/* RaiseTooManyValuesToUnpack */6319static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {6320PyErr_Format(PyExc_ValueError,6321"too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);6322}63236324/* RaiseNeedMoreValuesToUnpack */6325static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {6326PyErr_Format(PyExc_ValueError,6327"need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",6328index, (index == 1) ? "" : "s");6329}63306331/* RaiseNoneIterError */6332static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {6333PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");6334}63356336/* GetTopmostException */6337#if CYTHON_USE_EXC_INFO_STACK6338static _PyErr_StackItem *6339__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)6340{6341_PyErr_StackItem *exc_info = tstate->exc_info;6342while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&6343exc_info->previous_item != NULL)6344{6345exc_info = exc_info->previous_item;6346}6347return exc_info;6348}6349#endif63506351/* SaveResetException */6352#if CYTHON_FAST_THREAD_STATE6353static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {6354#if CYTHON_USE_EXC_INFO_STACK6355_PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);6356*type = exc_info->exc_type;6357*value = exc_info->exc_value;6358*tb = exc_info->exc_traceback;6359#else6360*type = tstate->exc_type;6361*value = tstate->exc_value;6362*tb = tstate->exc_traceback;6363#endif6364Py_XINCREF(*type);6365Py_XINCREF(*value);6366Py_XINCREF(*tb);6367}6368static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {6369PyObject *tmp_type, *tmp_value, *tmp_tb;6370#if CYTHON_USE_EXC_INFO_STACK6371_PyErr_StackItem *exc_info = tstate->exc_info;6372tmp_type = exc_info->exc_type;6373tmp_value = exc_info->exc_value;6374tmp_tb = exc_info->exc_traceback;6375exc_info->exc_type = type;6376exc_info->exc_value = value;6377exc_info->exc_traceback = tb;6378#else6379tmp_type = tstate->exc_type;6380tmp_value = tstate->exc_value;6381tmp_tb = tstate->exc_traceback;6382tstate->exc_type = type;6383tstate->exc_value = value;6384tstate->exc_traceback = tb;6385#endif6386Py_XDECREF(tmp_type);6387Py_XDECREF(tmp_value);6388Py_XDECREF(tmp_tb);6389}6390#endif63916392/* PyErrExceptionMatches */6393#if CYTHON_FAST_THREAD_STATE6394static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {6395Py_ssize_t i, n;6396n = PyTuple_GET_SIZE(tuple);6397#if PY_MAJOR_VERSION >= 36398for (i=0; i<n; i++) {6399if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;6400}6401#endif6402for (i=0; i<n; i++) {6403if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;6404}6405return 0;6406}6407static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {6408PyObject *exc_type = tstate->curexc_type;6409if (exc_type == err) return 1;6410if (unlikely(!exc_type)) return 0;6411if (unlikely(PyTuple_Check(err)))6412return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);6413return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);6414}6415#endif64166417/* GetException */6418#if CYTHON_FAST_THREAD_STATE6419static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)6420#else6421static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)6422#endif6423{6424PyObject *local_type, *local_value, *local_tb;6425#if CYTHON_FAST_THREAD_STATE6426PyObject *tmp_type, *tmp_value, *tmp_tb;6427local_type = tstate->curexc_type;6428local_value = tstate->curexc_value;6429local_tb = tstate->curexc_traceback;6430tstate->curexc_type = 0;6431tstate->curexc_value = 0;6432tstate->curexc_traceback = 0;6433#else6434PyErr_Fetch(&local_type, &local_value, &local_tb);6435#endif6436PyErr_NormalizeException(&local_type, &local_value, &local_tb);6437#if CYTHON_FAST_THREAD_STATE6438if (unlikely(tstate->curexc_type))6439#else6440if (unlikely(PyErr_Occurred()))6441#endif6442goto bad;6443#if PY_MAJOR_VERSION >= 36444if (local_tb) {6445if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))6446goto bad;6447}6448#endif6449Py_XINCREF(local_tb);6450Py_XINCREF(local_type);6451Py_XINCREF(local_value);6452*type = local_type;6453*value = local_value;6454*tb = local_tb;6455#if CYTHON_FAST_THREAD_STATE6456#if CYTHON_USE_EXC_INFO_STACK6457{6458_PyErr_StackItem *exc_info = tstate->exc_info;6459tmp_type = exc_info->exc_type;6460tmp_value = exc_info->exc_value;6461tmp_tb = exc_info->exc_traceback;6462exc_info->exc_type = local_type;6463exc_info->exc_value = local_value;6464exc_info->exc_traceback = local_tb;6465}6466#else6467tmp_type = tstate->exc_type;6468tmp_value = tstate->exc_value;6469tmp_tb = tstate->exc_traceback;6470tstate->exc_type = local_type;6471tstate->exc_value = local_value;6472tstate->exc_traceback = local_tb;6473#endif6474Py_XDECREF(tmp_type);6475Py_XDECREF(tmp_value);6476Py_XDECREF(tmp_tb);6477#else6478PyErr_SetExcInfo(local_type, local_value, local_tb);6479#endif6480return 0;6481bad:6482*type = 0;6483*value = 0;6484*tb = 0;6485Py_XDECREF(local_type);6486Py_XDECREF(local_value);6487Py_XDECREF(local_tb);6488return -1;6489}64906491/* TypeImport */6492#ifndef __PYX_HAVE_RT_ImportType6493#define __PYX_HAVE_RT_ImportType6494static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,6495size_t size, enum __Pyx_ImportType_CheckSize check_size)6496{6497PyObject *result = 0;6498char warning[200];6499Py_ssize_t basicsize;6500#ifdef Py_LIMITED_API6501PyObject *py_basicsize;6502#endif6503result = PyObject_GetAttrString(module, class_name);6504if (!result)6505goto bad;6506if (!PyType_Check(result)) {6507PyErr_Format(PyExc_TypeError,6508"%.200s.%.200s is not a type object",6509module_name, class_name);6510goto bad;6511}6512#ifndef Py_LIMITED_API6513basicsize = ((PyTypeObject *)result)->tp_basicsize;6514#else6515py_basicsize = PyObject_GetAttrString(result, "__basicsize__");6516if (!py_basicsize)6517goto bad;6518basicsize = PyLong_AsSsize_t(py_basicsize);6519Py_DECREF(py_basicsize);6520py_basicsize = 0;6521if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())6522goto bad;6523#endif6524if ((size_t)basicsize < size) {6525PyErr_Format(PyExc_ValueError,6526"%.200s.%.200s size changed, may indicate binary incompatibility. "6527"Expected %zd from C header, got %zd from PyObject",6528module_name, class_name, size, basicsize);6529goto bad;6530}6531if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {6532PyErr_Format(PyExc_ValueError,6533"%.200s.%.200s size changed, may indicate binary incompatibility. "6534"Expected %zd from C header, got %zd from PyObject",6535module_name, class_name, size, basicsize);6536goto bad;6537}6538else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {6539PyOS_snprintf(warning, sizeof(warning),6540"%s.%s size changed, may indicate binary incompatibility. "6541"Expected %zd from C header, got %zd from PyObject",6542module_name, class_name, size, basicsize);6543if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;6544}6545return (PyTypeObject *)result;6546bad:6547Py_XDECREF(result);6548return NULL;6549}6550#endif65516552/* Import */6553static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {6554PyObject *empty_list = 0;6555PyObject *module = 0;6556PyObject *global_dict = 0;6557PyObject *empty_dict = 0;6558PyObject *list;6559#if PY_MAJOR_VERSION < 36560PyObject *py_import;6561py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);6562if (!py_import)6563goto bad;6564#endif6565if (from_list)6566list = from_list;6567else {6568empty_list = PyList_New(0);6569if (!empty_list)6570goto bad;6571list = empty_list;6572}6573global_dict = PyModule_GetDict(__pyx_m);6574if (!global_dict)6575goto bad;6576empty_dict = PyDict_New();6577if (!empty_dict)6578goto bad;6579{6580#if PY_MAJOR_VERSION >= 36581if (level == -1) {6582if (strchr(__Pyx_MODULE_NAME, '.')) {6583module = PyImport_ImportModuleLevelObject(6584name, global_dict, empty_dict, list, 1);6585if (!module) {6586if (!PyErr_ExceptionMatches(PyExc_ImportError))6587goto bad;6588PyErr_Clear();6589}6590}6591level = 0;6592}6593#endif6594if (!module) {6595#if PY_MAJOR_VERSION < 36596PyObject *py_level = PyInt_FromLong(level);6597if (!py_level)6598goto bad;6599module = PyObject_CallFunctionObjArgs(py_import,6600name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);6601Py_DECREF(py_level);6602#else6603module = PyImport_ImportModuleLevelObject(6604name, global_dict, empty_dict, list, level);6605#endif6606}6607}6608bad:6609#if PY_MAJOR_VERSION < 36610Py_XDECREF(py_import);6611#endif6612Py_XDECREF(empty_list);6613Py_XDECREF(empty_dict);6614return module;6615}66166617/* CLineInTraceback */6618#ifndef CYTHON_CLINE_IN_TRACEBACK6619static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {6620PyObject *use_cline;6621PyObject *ptype, *pvalue, *ptraceback;6622#if CYTHON_COMPILING_IN_CPYTHON6623PyObject **cython_runtime_dict;6624#endif6625if (unlikely(!__pyx_cython_runtime)) {6626return c_line;6627}6628__Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);6629#if CYTHON_COMPILING_IN_CPYTHON6630cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);6631if (likely(cython_runtime_dict)) {6632__PYX_PY_DICT_LOOKUP_IF_MODIFIED(6633use_cline, *cython_runtime_dict,6634__Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))6635} else6636#endif6637{6638PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);6639if (use_cline_obj) {6640use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;6641Py_DECREF(use_cline_obj);6642} else {6643PyErr_Clear();6644use_cline = NULL;6645}6646}6647if (!use_cline) {6648c_line = 0;6649PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);6650}6651else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {6652c_line = 0;6653}6654__Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);6655return c_line;6656}6657#endif66586659/* CodeObjectCache */6660static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {6661int start = 0, mid = 0, end = count - 1;6662if (end >= 0 && code_line > entries[end].code_line) {6663return count;6664}6665while (start < end) {6666mid = start + (end - start) / 2;6667if (code_line < entries[mid].code_line) {6668end = mid;6669} else if (code_line > entries[mid].code_line) {6670start = mid + 1;6671} else {6672return mid;6673}6674}6675if (code_line <= entries[mid].code_line) {6676return mid;6677} else {6678return mid + 1;6679}6680}6681static PyCodeObject *__pyx_find_code_object(int code_line) {6682PyCodeObject* code_object;6683int pos;6684if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {6685return NULL;6686}6687pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);6688if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {6689return NULL;6690}6691code_object = __pyx_code_cache.entries[pos].code_object;6692Py_INCREF(code_object);6693return code_object;6694}6695static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {6696int pos, i;6697__Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;6698if (unlikely(!code_line)) {6699return;6700}6701if (unlikely(!entries)) {6702entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));6703if (likely(entries)) {6704__pyx_code_cache.entries = entries;6705__pyx_code_cache.max_count = 64;6706__pyx_code_cache.count = 1;6707entries[0].code_line = code_line;6708entries[0].code_object = code_object;6709Py_INCREF(code_object);6710}6711return;6712}6713pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);6714if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {6715PyCodeObject* tmp = entries[pos].code_object;6716entries[pos].code_object = code_object;6717Py_DECREF(tmp);6718return;6719}6720if (__pyx_code_cache.count == __pyx_code_cache.max_count) {6721int new_max = __pyx_code_cache.max_count + 64;6722entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(6723__pyx_code_cache.entries, (size_t)new_max*sizeof(__Pyx_CodeObjectCacheEntry));6724if (unlikely(!entries)) {6725return;6726}6727__pyx_code_cache.entries = entries;6728__pyx_code_cache.max_count = new_max;6729}6730for (i=__pyx_code_cache.count; i>pos; i--) {6731entries[i] = entries[i-1];6732}6733entries[pos].code_line = code_line;6734entries[pos].code_object = code_object;6735__pyx_code_cache.count++;6736Py_INCREF(code_object);6737}67386739/* AddTraceback */6740#include "compile.h"6741#include "frameobject.h"6742#include "traceback.h"6743static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(6744const char *funcname, int c_line,6745int py_line, const char *filename) {6746PyCodeObject *py_code = 0;6747PyObject *py_srcfile = 0;6748PyObject *py_funcname = 0;6749#if PY_MAJOR_VERSION < 36750py_srcfile = PyString_FromString(filename);6751#else6752py_srcfile = PyUnicode_FromString(filename);6753#endif6754if (!py_srcfile) goto bad;6755if (c_line) {6756#if PY_MAJOR_VERSION < 36757py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);6758#else6759py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);6760#endif6761}6762else {6763#if PY_MAJOR_VERSION < 36764py_funcname = PyString_FromString(funcname);6765#else6766py_funcname = PyUnicode_FromString(funcname);6767#endif6768}6769if (!py_funcname) goto bad;6770py_code = __Pyx_PyCode_New(67710,67720,67730,67740,67750,6776__pyx_empty_bytes, /*PyObject *code,*/6777__pyx_empty_tuple, /*PyObject *consts,*/6778__pyx_empty_tuple, /*PyObject *names,*/6779__pyx_empty_tuple, /*PyObject *varnames,*/6780__pyx_empty_tuple, /*PyObject *freevars,*/6781__pyx_empty_tuple, /*PyObject *cellvars,*/6782py_srcfile, /*PyObject *filename,*/6783py_funcname, /*PyObject *name,*/6784py_line,6785__pyx_empty_bytes /*PyObject *lnotab*/6786);6787Py_DECREF(py_srcfile);6788Py_DECREF(py_funcname);6789return py_code;6790bad:6791Py_XDECREF(py_srcfile);6792Py_XDECREF(py_funcname);6793return NULL;6794}6795static void __Pyx_AddTraceback(const char *funcname, int c_line,6796int py_line, const char *filename) {6797PyCodeObject *py_code = 0;6798PyFrameObject *py_frame = 0;6799PyThreadState *tstate = __Pyx_PyThreadState_Current;6800if (c_line) {6801c_line = __Pyx_CLineForTraceback(tstate, c_line);6802}6803py_code = __pyx_find_code_object(c_line ? -c_line : py_line);6804if (!py_code) {6805py_code = __Pyx_CreateCodeObjectForTraceback(6806funcname, c_line, py_line, filename);6807if (!py_code) goto bad;6808__pyx_insert_code_object(c_line ? -c_line : py_line, py_code);6809}6810py_frame = PyFrame_New(6811tstate, /*PyThreadState *tstate,*/6812py_code, /*PyCodeObject *code,*/6813__pyx_d, /*PyObject *globals,*/68140 /*PyObject *locals*/6815);6816if (!py_frame) goto bad;6817__Pyx_PyFrame_SetLineNumber(py_frame, py_line);6818PyTraceBack_Here(py_frame);6819bad:6820Py_XDECREF(py_code);6821Py_XDECREF(py_frame);6822}68236824#if PY_MAJOR_VERSION < 36825static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {6826if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags);6827if (__Pyx_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pw_5numpy_7ndarray_1__getbuffer__(obj, view, flags);6828PyErr_Format(PyExc_TypeError, "'%.200s' does not have the buffer interface", Py_TYPE(obj)->tp_name);6829return -1;6830}6831static void __Pyx_ReleaseBuffer(Py_buffer *view) {6832PyObject *obj = view->obj;6833if (!obj) return;6834if (PyObject_CheckBuffer(obj)) {6835PyBuffer_Release(view);6836return;6837}6838if ((0)) {}6839else if (__Pyx_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view);6840view->obj = NULL;6841Py_DECREF(obj);6842}6843#endif684468456846/* CIntFromPyVerify */6847#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\6848__PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)6849#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\6850__PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)6851#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\6852{\6853func_type value = func_value;\6854if (sizeof(target_type) < sizeof(func_type)) {\6855if (unlikely(value != (func_type) (target_type) value)) {\6856func_type zero = 0;\6857if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\6858return (target_type) -1;\6859if (is_unsigned && unlikely(value < zero))\6860goto raise_neg_overflow;\6861else\6862goto raise_overflow;\6863}\6864}\6865return (target_type) value;\6866}68676868/* CIntToPy */6869static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {6870const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;6871const int is_unsigned = neg_one > const_zero;6872if (is_unsigned) {6873if (sizeof(int) < sizeof(long)) {6874return PyInt_FromLong((long) value);6875} else if (sizeof(int) <= sizeof(unsigned long)) {6876return PyLong_FromUnsignedLong((unsigned long) value);6877#ifdef HAVE_LONG_LONG6878} else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {6879return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);6880#endif6881}6882} else {6883if (sizeof(int) <= sizeof(long)) {6884return PyInt_FromLong((long) value);6885#ifdef HAVE_LONG_LONG6886} else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {6887return PyLong_FromLongLong((PY_LONG_LONG) value);6888#endif6889}6890}6891{6892int one = 1; int little = (int)*(unsigned char *)&one;6893unsigned char *bytes = (unsigned char *)&value;6894return _PyLong_FromByteArray(bytes, sizeof(int),6895little, !is_unsigned);6896}6897}68986899/* Declarations */6900#if CYTHON_CCOMPLEX6901#ifdef __cplusplus6902static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {6903return ::std::complex< float >(x, y);6904}6905#else6906static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {6907return x + y*(__pyx_t_float_complex)_Complex_I;6908}6909#endif6910#else6911static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {6912__pyx_t_float_complex z;6913z.real = x;6914z.imag = y;6915return z;6916}6917#endif69186919/* Arithmetic */6920#if CYTHON_CCOMPLEX6921#else6922static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {6923return (a.real == b.real) && (a.imag == b.imag);6924}6925static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sum_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {6926__pyx_t_float_complex z;6927z.real = a.real + b.real;6928z.imag = a.imag + b.imag;6929return z;6930}6931static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_diff_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {6932__pyx_t_float_complex z;6933z.real = a.real - b.real;6934z.imag = a.imag - b.imag;6935return z;6936}6937static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prod_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {6938__pyx_t_float_complex z;6939z.real = a.real * b.real - a.imag * b.imag;6940z.imag = a.real * b.imag + a.imag * b.real;6941return z;6942}6943#if 16944static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {6945if (b.imag == 0) {6946return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);6947} else if (fabsf(b.real) >= fabsf(b.imag)) {6948if (b.real == 0 && b.imag == 0) {6949return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.imag);6950} else {6951float r = b.imag / b.real;6952float s = (float)(1.0) / (b.real + b.imag * r);6953return __pyx_t_float_complex_from_parts(6954(a.real + a.imag * r) * s, (a.imag - a.real * r) * s);6955}6956} else {6957float r = b.real / b.imag;6958float s = (float)(1.0) / (b.imag + b.real * r);6959return __pyx_t_float_complex_from_parts(6960(a.real * r + a.imag) * s, (a.imag * r - a.real) * s);6961}6962}6963#else6964static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quot_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {6965if (b.imag == 0) {6966return __pyx_t_float_complex_from_parts(a.real / b.real, a.imag / b.real);6967} else {6968float denom = b.real * b.real + b.imag * b.imag;6969return __pyx_t_float_complex_from_parts(6970(a.real * b.real + a.imag * b.imag) / denom,6971(a.imag * b.real - a.real * b.imag) / denom);6972}6973}6974#endif6975static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_neg_float(__pyx_t_float_complex a) {6976__pyx_t_float_complex z;6977z.real = -a.real;6978z.imag = -a.imag;6979return z;6980}6981static CYTHON_INLINE int __Pyx_c_is_zero_float(__pyx_t_float_complex a) {6982return (a.real == 0) && (a.imag == 0);6983}6984static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conj_float(__pyx_t_float_complex a) {6985__pyx_t_float_complex z;6986z.real = a.real;6987z.imag = -a.imag;6988return z;6989}6990#if 16991static CYTHON_INLINE float __Pyx_c_abs_float(__pyx_t_float_complex z) {6992#if !defined(HAVE_HYPOT) || defined(_MSC_VER)6993return sqrtf(z.real*z.real + z.imag*z.imag);6994#else6995return hypotf(z.real, z.imag);6996#endif6997}6998static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_pow_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {6999__pyx_t_float_complex z;7000float r, lnr, theta, z_r, z_theta;7001if (b.imag == 0 && b.real == (int)b.real) {7002if (b.real < 0) {7003float denom = a.real * a.real + a.imag * a.imag;7004a.real = a.real / denom;7005a.imag = -a.imag / denom;7006b.real = -b.real;7007}7008switch ((int)b.real) {7009case 0:7010z.real = 1;7011z.imag = 0;7012return z;7013case 1:7014return a;7015case 2:7016return __Pyx_c_prod_float(a, a);7017case 3:7018z = __Pyx_c_prod_float(a, a);7019return __Pyx_c_prod_float(z, a);7020case 4:7021z = __Pyx_c_prod_float(a, a);7022return __Pyx_c_prod_float(z, z);7023}7024}7025if (a.imag == 0) {7026if (a.real == 0) {7027return a;7028} else if (b.imag == 0) {7029z.real = powf(a.real, b.real);7030z.imag = 0;7031return z;7032} else if (a.real > 0) {7033r = a.real;7034theta = 0;7035} else {7036r = -a.real;7037theta = atan2f(0.0, -1.0);7038}7039} else {7040r = __Pyx_c_abs_float(a);7041theta = atan2f(a.imag, a.real);7042}7043lnr = logf(r);7044z_r = expf(lnr * b.real - theta * b.imag);7045z_theta = theta * b.real + lnr * b.imag;7046z.real = z_r * cosf(z_theta);7047z.imag = z_r * sinf(z_theta);7048return z;7049}7050#endif7051#endif70527053/* Declarations */7054#if CYTHON_CCOMPLEX7055#ifdef __cplusplus7056static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {7057return ::std::complex< double >(x, y);7058}7059#else7060static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {7061return x + y*(__pyx_t_double_complex)_Complex_I;7062}7063#endif7064#else7065static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {7066__pyx_t_double_complex z;7067z.real = x;7068z.imag = y;7069return z;7070}7071#endif70727073/* Arithmetic */7074#if CYTHON_CCOMPLEX7075#else7076static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {7077return (a.real == b.real) && (a.imag == b.imag);7078}7079static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {7080__pyx_t_double_complex z;7081z.real = a.real + b.real;7082z.imag = a.imag + b.imag;7083return z;7084}7085static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {7086__pyx_t_double_complex z;7087z.real = a.real - b.real;7088z.imag = a.imag - b.imag;7089return z;7090}7091static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {7092__pyx_t_double_complex z;7093z.real = a.real * b.real - a.imag * b.imag;7094z.imag = a.real * b.imag + a.imag * b.real;7095return z;7096}7097#if 17098static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {7099if (b.imag == 0) {7100return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);7101} else if (fabs(b.real) >= fabs(b.imag)) {7102if (b.real == 0 && b.imag == 0) {7103return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.imag);7104} else {7105double r = b.imag / b.real;7106double s = (double)(1.0) / (b.real + b.imag * r);7107return __pyx_t_double_complex_from_parts(7108(a.real + a.imag * r) * s, (a.imag - a.real * r) * s);7109}7110} else {7111double r = b.real / b.imag;7112double s = (double)(1.0) / (b.imag + b.real * r);7113return __pyx_t_double_complex_from_parts(7114(a.real * r + a.imag) * s, (a.imag * r - a.real) * s);7115}7116}7117#else7118static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {7119if (b.imag == 0) {7120return __pyx_t_double_complex_from_parts(a.real / b.real, a.imag / b.real);7121} else {7122double denom = b.real * b.real + b.imag * b.imag;7123return __pyx_t_double_complex_from_parts(7124(a.real * b.real + a.imag * b.imag) / denom,7125(a.imag * b.real - a.real * b.imag) / denom);7126}7127}7128#endif7129static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg_double(__pyx_t_double_complex a) {7130__pyx_t_double_complex z;7131z.real = -a.real;7132z.imag = -a.imag;7133return z;7134}7135static CYTHON_INLINE int __Pyx_c_is_zero_double(__pyx_t_double_complex a) {7136return (a.real == 0) && (a.imag == 0);7137}7138static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj_double(__pyx_t_double_complex a) {7139__pyx_t_double_complex z;7140z.real = a.real;7141z.imag = -a.imag;7142return z;7143}7144#if 17145static CYTHON_INLINE double __Pyx_c_abs_double(__pyx_t_double_complex z) {7146#if !defined(HAVE_HYPOT) || defined(_MSC_VER)7147return sqrt(z.real*z.real + z.imag*z.imag);7148#else7149return hypot(z.real, z.imag);7150#endif7151}7152static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {7153__pyx_t_double_complex z;7154double r, lnr, theta, z_r, z_theta;7155if (b.imag == 0 && b.real == (int)b.real) {7156if (b.real < 0) {7157double denom = a.real * a.real + a.imag * a.imag;7158a.real = a.real / denom;7159a.imag = -a.imag / denom;7160b.real = -b.real;7161}7162switch ((int)b.real) {7163case 0:7164z.real = 1;7165z.imag = 0;7166return z;7167case 1:7168return a;7169case 2:7170return __Pyx_c_prod_double(a, a);7171case 3:7172z = __Pyx_c_prod_double(a, a);7173return __Pyx_c_prod_double(z, a);7174case 4:7175z = __Pyx_c_prod_double(a, a);7176return __Pyx_c_prod_double(z, z);7177}7178}7179if (a.imag == 0) {7180if (a.real == 0) {7181return a;7182} else if (b.imag == 0) {7183z.real = pow(a.real, b.real);7184z.imag = 0;7185return z;7186} else if (a.real > 0) {7187r = a.real;7188theta = 0;7189} else {7190r = -a.real;7191theta = atan2(0.0, -1.0);7192}7193} else {7194r = __Pyx_c_abs_double(a);7195theta = atan2(a.imag, a.real);7196}7197lnr = log(r);7198z_r = exp(lnr * b.real - theta * b.imag);7199z_theta = theta * b.real + lnr * b.imag;7200z.real = z_r * cos(z_theta);7201z.imag = z_r * sin(z_theta);7202return z;7203}7204#endif7205#endif72067207/* CIntToPy */7208static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {7209const enum NPY_TYPES neg_one = (enum NPY_TYPES) ((enum NPY_TYPES) 0 - (enum NPY_TYPES) 1), const_zero = (enum NPY_TYPES) 0;7210const int is_unsigned = neg_one > const_zero;7211if (is_unsigned) {7212if (sizeof(enum NPY_TYPES) < sizeof(long)) {7213return PyInt_FromLong((long) value);7214} else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned long)) {7215return PyLong_FromUnsignedLong((unsigned long) value);7216#ifdef HAVE_LONG_LONG7217} else if (sizeof(enum NPY_TYPES) <= sizeof(unsigned PY_LONG_LONG)) {7218return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);7219#endif7220}7221} else {7222if (sizeof(enum NPY_TYPES) <= sizeof(long)) {7223return PyInt_FromLong((long) value);7224#ifdef HAVE_LONG_LONG7225} else if (sizeof(enum NPY_TYPES) <= sizeof(PY_LONG_LONG)) {7226return PyLong_FromLongLong((PY_LONG_LONG) value);7227#endif7228}7229}7230{7231int one = 1; int little = (int)*(unsigned char *)&one;7232unsigned char *bytes = (unsigned char *)&value;7233return _PyLong_FromByteArray(bytes, sizeof(enum NPY_TYPES),7234little, !is_unsigned);7235}7236}72377238/* CIntFromPy */7239static CYTHON_INLINE npy_int32 __Pyx_PyInt_As_npy_int32(PyObject *x) {7240const npy_int32 neg_one = (npy_int32) ((npy_int32) 0 - (npy_int32) 1), const_zero = (npy_int32) 0;7241const int is_unsigned = neg_one > const_zero;7242#if PY_MAJOR_VERSION < 37243if (likely(PyInt_Check(x))) {7244if (sizeof(npy_int32) < sizeof(long)) {7245__PYX_VERIFY_RETURN_INT(npy_int32, long, PyInt_AS_LONG(x))7246} else {7247long val = PyInt_AS_LONG(x);7248if (is_unsigned && unlikely(val < 0)) {7249goto raise_neg_overflow;7250}7251return (npy_int32) val;7252}7253} else7254#endif7255if (likely(PyLong_Check(x))) {7256if (is_unsigned) {7257#if CYTHON_USE_PYLONG_INTERNALS7258const digit* digits = ((PyLongObject*)x)->ob_digit;7259switch (Py_SIZE(x)) {7260case 0: return (npy_int32) 0;7261case 1: __PYX_VERIFY_RETURN_INT(npy_int32, digit, digits[0])7262case 2:7263if (8 * sizeof(npy_int32) > 1 * PyLong_SHIFT) {7264if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7265__PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7266} else if (8 * sizeof(npy_int32) >= 2 * PyLong_SHIFT) {7267return (npy_int32) (((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]));7268}7269}7270break;7271case 3:7272if (8 * sizeof(npy_int32) > 2 * PyLong_SHIFT) {7273if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7274__PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7275} else if (8 * sizeof(npy_int32) >= 3 * PyLong_SHIFT) {7276return (npy_int32) (((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]));7277}7278}7279break;7280case 4:7281if (8 * sizeof(npy_int32) > 3 * PyLong_SHIFT) {7282if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7283__PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7284} else if (8 * sizeof(npy_int32) >= 4 * PyLong_SHIFT) {7285return (npy_int32) (((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0]));7286}7287}7288break;7289}7290#endif7291#if CYTHON_COMPILING_IN_CPYTHON7292if (unlikely(Py_SIZE(x) < 0)) {7293goto raise_neg_overflow;7294}7295#else7296{7297int result = PyObject_RichCompareBool(x, Py_False, Py_LT);7298if (unlikely(result < 0))7299return (npy_int32) -1;7300if (unlikely(result == 1))7301goto raise_neg_overflow;7302}7303#endif7304if (sizeof(npy_int32) <= sizeof(unsigned long)) {7305__PYX_VERIFY_RETURN_INT_EXC(npy_int32, unsigned long, PyLong_AsUnsignedLong(x))7306#ifdef HAVE_LONG_LONG7307} else if (sizeof(npy_int32) <= sizeof(unsigned PY_LONG_LONG)) {7308__PYX_VERIFY_RETURN_INT_EXC(npy_int32, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))7309#endif7310}7311} else {7312#if CYTHON_USE_PYLONG_INTERNALS7313const digit* digits = ((PyLongObject*)x)->ob_digit;7314switch (Py_SIZE(x)) {7315case 0: return (npy_int32) 0;7316case -1: __PYX_VERIFY_RETURN_INT(npy_int32, sdigit, (sdigit) (-(sdigit)digits[0]))7317case 1: __PYX_VERIFY_RETURN_INT(npy_int32, digit, +digits[0])7318case -2:7319if (8 * sizeof(npy_int32) - 1 > 1 * PyLong_SHIFT) {7320if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7321__PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7322} else if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) {7323return (npy_int32) (((npy_int32)-1)*(((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])));7324}7325}7326break;7327case 2:7328if (8 * sizeof(npy_int32) > 1 * PyLong_SHIFT) {7329if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7330__PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7331} else if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) {7332return (npy_int32) ((((((npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])));7333}7334}7335break;7336case -3:7337if (8 * sizeof(npy_int32) - 1 > 2 * PyLong_SHIFT) {7338if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7339__PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7340} else if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) {7341return (npy_int32) (((npy_int32)-1)*(((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])));7342}7343}7344break;7345case 3:7346if (8 * sizeof(npy_int32) > 2 * PyLong_SHIFT) {7347if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7348__PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7349} else if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) {7350return (npy_int32) ((((((((npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])));7351}7352}7353break;7354case -4:7355if (8 * sizeof(npy_int32) - 1 > 3 * PyLong_SHIFT) {7356if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7357__PYX_VERIFY_RETURN_INT(npy_int32, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7358} else if (8 * sizeof(npy_int32) - 1 > 4 * PyLong_SHIFT) {7359return (npy_int32) (((npy_int32)-1)*(((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])));7360}7361}7362break;7363case 4:7364if (8 * sizeof(npy_int32) > 3 * PyLong_SHIFT) {7365if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7366__PYX_VERIFY_RETURN_INT(npy_int32, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7367} else if (8 * sizeof(npy_int32) - 1 > 4 * PyLong_SHIFT) {7368return (npy_int32) ((((((((((npy_int32)digits[3]) << PyLong_SHIFT) | (npy_int32)digits[2]) << PyLong_SHIFT) | (npy_int32)digits[1]) << PyLong_SHIFT) | (npy_int32)digits[0])));7369}7370}7371break;7372}7373#endif7374if (sizeof(npy_int32) <= sizeof(long)) {7375__PYX_VERIFY_RETURN_INT_EXC(npy_int32, long, PyLong_AsLong(x))7376#ifdef HAVE_LONG_LONG7377} else if (sizeof(npy_int32) <= sizeof(PY_LONG_LONG)) {7378__PYX_VERIFY_RETURN_INT_EXC(npy_int32, PY_LONG_LONG, PyLong_AsLongLong(x))7379#endif7380}7381}7382{7383#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)7384PyErr_SetString(PyExc_RuntimeError,7385"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");7386#else7387npy_int32 val;7388PyObject *v = __Pyx_PyNumber_IntOrLong(x);7389#if PY_MAJOR_VERSION < 37390if (likely(v) && !PyLong_Check(v)) {7391PyObject *tmp = v;7392v = PyNumber_Long(tmp);7393Py_DECREF(tmp);7394}7395#endif7396if (likely(v)) {7397int one = 1; int is_little = (int)*(unsigned char *)&one;7398unsigned char *bytes = (unsigned char *)&val;7399int ret = _PyLong_AsByteArray((PyLongObject *)v,7400bytes, sizeof(val),7401is_little, !is_unsigned);7402Py_DECREF(v);7403if (likely(!ret))7404return val;7405}7406#endif7407return (npy_int32) -1;7408}7409} else {7410npy_int32 val;7411PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);7412if (!tmp) return (npy_int32) -1;7413val = __Pyx_PyInt_As_npy_int32(tmp);7414Py_DECREF(tmp);7415return val;7416}7417raise_overflow:7418PyErr_SetString(PyExc_OverflowError,7419"value too large to convert to npy_int32");7420return (npy_int32) -1;7421raise_neg_overflow:7422PyErr_SetString(PyExc_OverflowError,7423"can't convert negative value to npy_int32");7424return (npy_int32) -1;7425}74267427/* CIntFromPy */7428static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {7429const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;7430const int is_unsigned = neg_one > const_zero;7431#if PY_MAJOR_VERSION < 37432if (likely(PyInt_Check(x))) {7433if (sizeof(int) < sizeof(long)) {7434__PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))7435} else {7436long val = PyInt_AS_LONG(x);7437if (is_unsigned && unlikely(val < 0)) {7438goto raise_neg_overflow;7439}7440return (int) val;7441}7442} else7443#endif7444if (likely(PyLong_Check(x))) {7445if (is_unsigned) {7446#if CYTHON_USE_PYLONG_INTERNALS7447const digit* digits = ((PyLongObject*)x)->ob_digit;7448switch (Py_SIZE(x)) {7449case 0: return (int) 0;7450case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])7451case 2:7452if (8 * sizeof(int) > 1 * PyLong_SHIFT) {7453if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7454__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7455} else if (8 * sizeof(int) >= 2 * PyLong_SHIFT) {7456return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));7457}7458}7459break;7460case 3:7461if (8 * sizeof(int) > 2 * PyLong_SHIFT) {7462if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7463__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7464} else if (8 * sizeof(int) >= 3 * PyLong_SHIFT) {7465return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));7466}7467}7468break;7469case 4:7470if (8 * sizeof(int) > 3 * PyLong_SHIFT) {7471if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7472__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])))7473} else if (8 * sizeof(int) >= 4 * PyLong_SHIFT) {7474return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));7475}7476}7477break;7478}7479#endif7480#if CYTHON_COMPILING_IN_CPYTHON7481if (unlikely(Py_SIZE(x) < 0)) {7482goto raise_neg_overflow;7483}7484#else7485{7486int result = PyObject_RichCompareBool(x, Py_False, Py_LT);7487if (unlikely(result < 0))7488return (int) -1;7489if (unlikely(result == 1))7490goto raise_neg_overflow;7491}7492#endif7493if (sizeof(int) <= sizeof(unsigned long)) {7494__PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))7495#ifdef HAVE_LONG_LONG7496} else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {7497__PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))7498#endif7499}7500} else {7501#if CYTHON_USE_PYLONG_INTERNALS7502const digit* digits = ((PyLongObject*)x)->ob_digit;7503switch (Py_SIZE(x)) {7504case 0: return (int) 0;7505case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))7506case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0])7507case -2:7508if (8 * sizeof(int) - 1 > 1 * PyLong_SHIFT) {7509if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7510__PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7511} else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {7512return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));7513}7514}7515break;7516case 2:7517if (8 * sizeof(int) > 1 * PyLong_SHIFT) {7518if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7519__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7520} else if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {7521return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));7522}7523}7524break;7525case -3:7526if (8 * sizeof(int) - 1 > 2 * PyLong_SHIFT) {7527if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7528__PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7529} else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {7530return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));7531}7532}7533break;7534case 3:7535if (8 * sizeof(int) > 2 * PyLong_SHIFT) {7536if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7537__PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7538} else if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {7539return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));7540}7541}7542break;7543case -4:7544if (8 * sizeof(int) - 1 > 3 * PyLong_SHIFT) {7545if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7546__PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7547} else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {7548return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));7549}7550}7551break;7552case 4:7553if (8 * sizeof(int) > 3 * PyLong_SHIFT) {7554if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7555__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])))7556} else if (8 * sizeof(int) - 1 > 4 * PyLong_SHIFT) {7557return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));7558}7559}7560break;7561}7562#endif7563if (sizeof(int) <= sizeof(long)) {7564__PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))7565#ifdef HAVE_LONG_LONG7566} else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {7567__PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))7568#endif7569}7570}7571{7572#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)7573PyErr_SetString(PyExc_RuntimeError,7574"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");7575#else7576int val;7577PyObject *v = __Pyx_PyNumber_IntOrLong(x);7578#if PY_MAJOR_VERSION < 37579if (likely(v) && !PyLong_Check(v)) {7580PyObject *tmp = v;7581v = PyNumber_Long(tmp);7582Py_DECREF(tmp);7583}7584#endif7585if (likely(v)) {7586int one = 1; int is_little = (int)*(unsigned char *)&one;7587unsigned char *bytes = (unsigned char *)&val;7588int ret = _PyLong_AsByteArray((PyLongObject *)v,7589bytes, sizeof(val),7590is_little, !is_unsigned);7591Py_DECREF(v);7592if (likely(!ret))7593return val;7594}7595#endif7596return (int) -1;7597}7598} else {7599int val;7600PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);7601if (!tmp) return (int) -1;7602val = __Pyx_PyInt_As_int(tmp);7603Py_DECREF(tmp);7604return val;7605}7606raise_overflow:7607PyErr_SetString(PyExc_OverflowError,7608"value too large to convert to int");7609return (int) -1;7610raise_neg_overflow:7611PyErr_SetString(PyExc_OverflowError,7612"can't convert negative value to int");7613return (int) -1;7614}76157616/* CIntToPy */7617static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {7618const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;7619const int is_unsigned = neg_one > const_zero;7620if (is_unsigned) {7621if (sizeof(long) < sizeof(long)) {7622return PyInt_FromLong((long) value);7623} else if (sizeof(long) <= sizeof(unsigned long)) {7624return PyLong_FromUnsignedLong((unsigned long) value);7625#ifdef HAVE_LONG_LONG7626} else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {7627return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);7628#endif7629}7630} else {7631if (sizeof(long) <= sizeof(long)) {7632return PyInt_FromLong((long) value);7633#ifdef HAVE_LONG_LONG7634} else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {7635return PyLong_FromLongLong((PY_LONG_LONG) value);7636#endif7637}7638}7639{7640int one = 1; int little = (int)*(unsigned char *)&one;7641unsigned char *bytes = (unsigned char *)&value;7642return _PyLong_FromByteArray(bytes, sizeof(long),7643little, !is_unsigned);7644}7645}76467647/* CIntFromPy */7648static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {7649const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;7650const int is_unsigned = neg_one > const_zero;7651#if PY_MAJOR_VERSION < 37652if (likely(PyInt_Check(x))) {7653if (sizeof(long) < sizeof(long)) {7654__PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))7655} else {7656long val = PyInt_AS_LONG(x);7657if (is_unsigned && unlikely(val < 0)) {7658goto raise_neg_overflow;7659}7660return (long) val;7661}7662} else7663#endif7664if (likely(PyLong_Check(x))) {7665if (is_unsigned) {7666#if CYTHON_USE_PYLONG_INTERNALS7667const digit* digits = ((PyLongObject*)x)->ob_digit;7668switch (Py_SIZE(x)) {7669case 0: return (long) 0;7670case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])7671case 2:7672if (8 * sizeof(long) > 1 * PyLong_SHIFT) {7673if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7674__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7675} else if (8 * sizeof(long) >= 2 * PyLong_SHIFT) {7676return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));7677}7678}7679break;7680case 3:7681if (8 * sizeof(long) > 2 * PyLong_SHIFT) {7682if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7683__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7684} else if (8 * sizeof(long) >= 3 * PyLong_SHIFT) {7685return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));7686}7687}7688break;7689case 4:7690if (8 * sizeof(long) > 3 * PyLong_SHIFT) {7691if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7692__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])))7693} else if (8 * sizeof(long) >= 4 * PyLong_SHIFT) {7694return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));7695}7696}7697break;7698}7699#endif7700#if CYTHON_COMPILING_IN_CPYTHON7701if (unlikely(Py_SIZE(x) < 0)) {7702goto raise_neg_overflow;7703}7704#else7705{7706int result = PyObject_RichCompareBool(x, Py_False, Py_LT);7707if (unlikely(result < 0))7708return (long) -1;7709if (unlikely(result == 1))7710goto raise_neg_overflow;7711}7712#endif7713if (sizeof(long) <= sizeof(unsigned long)) {7714__PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))7715#ifdef HAVE_LONG_LONG7716} else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {7717__PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))7718#endif7719}7720} else {7721#if CYTHON_USE_PYLONG_INTERNALS7722const digit* digits = ((PyLongObject*)x)->ob_digit;7723switch (Py_SIZE(x)) {7724case 0: return (long) 0;7725case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))7726case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0])7727case -2:7728if (8 * sizeof(long) - 1 > 1 * PyLong_SHIFT) {7729if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7730__PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7731} else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {7732return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));7733}7734}7735break;7736case 2:7737if (8 * sizeof(long) > 1 * PyLong_SHIFT) {7738if (8 * sizeof(unsigned long) > 2 * PyLong_SHIFT) {7739__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7740} else if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {7741return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));7742}7743}7744break;7745case -3:7746if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {7747if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7748__PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7749} else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {7750return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));7751}7752}7753break;7754case 3:7755if (8 * sizeof(long) > 2 * PyLong_SHIFT) {7756if (8 * sizeof(unsigned long) > 3 * PyLong_SHIFT) {7757__PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7758} else if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {7759return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));7760}7761}7762break;7763case -4:7764if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {7765if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7766__PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))7767} else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {7768return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));7769}7770}7771break;7772case 4:7773if (8 * sizeof(long) > 3 * PyLong_SHIFT) {7774if (8 * sizeof(unsigned long) > 4 * PyLong_SHIFT) {7775__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])))7776} else if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {7777return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));7778}7779}7780break;7781}7782#endif7783if (sizeof(long) <= sizeof(long)) {7784__PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))7785#ifdef HAVE_LONG_LONG7786} else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {7787__PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))7788#endif7789}7790}7791{7792#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)7793PyErr_SetString(PyExc_RuntimeError,7794"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");7795#else7796long val;7797PyObject *v = __Pyx_PyNumber_IntOrLong(x);7798#if PY_MAJOR_VERSION < 37799if (likely(v) && !PyLong_Check(v)) {7800PyObject *tmp = v;7801v = PyNumber_Long(tmp);7802Py_DECREF(tmp);7803}7804#endif7805if (likely(v)) {7806int one = 1; int is_little = (int)*(unsigned char *)&one;7807unsigned char *bytes = (unsigned char *)&val;7808int ret = _PyLong_AsByteArray((PyLongObject *)v,7809bytes, sizeof(val),7810is_little, !is_unsigned);7811Py_DECREF(v);7812if (likely(!ret))7813return val;7814}7815#endif7816return (long) -1;7817}7818} else {7819long val;7820PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);7821if (!tmp) return (long) -1;7822val = __Pyx_PyInt_As_long(tmp);7823Py_DECREF(tmp);7824return val;7825}7826raise_overflow:7827PyErr_SetString(PyExc_OverflowError,7828"value too large to convert to long");7829return (long) -1;7830raise_neg_overflow:7831PyErr_SetString(PyExc_OverflowError,7832"can't convert negative value to long");7833return (long) -1;7834}78357836/* FastTypeChecks */7837#if CYTHON_COMPILING_IN_CPYTHON7838static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {7839while (a) {7840a = a->tp_base;7841if (a == b)7842return 1;7843}7844return b == &PyBaseObject_Type;7845}7846static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {7847PyObject *mro;7848if (a == b) return 1;7849mro = a->tp_mro;7850if (likely(mro)) {7851Py_ssize_t i, n;7852n = PyTuple_GET_SIZE(mro);7853for (i = 0; i < n; i++) {7854if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)7855return 1;7856}7857return 0;7858}7859return __Pyx_InBases(a, b);7860}7861#if PY_MAJOR_VERSION == 27862static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {7863PyObject *exception, *value, *tb;7864int res;7865__Pyx_PyThreadState_declare7866__Pyx_PyThreadState_assign7867__Pyx_ErrFetch(&exception, &value, &tb);7868res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;7869if (unlikely(res == -1)) {7870PyErr_WriteUnraisable(err);7871res = 0;7872}7873if (!res) {7874res = PyObject_IsSubclass(err, exc_type2);7875if (unlikely(res == -1)) {7876PyErr_WriteUnraisable(err);7877res = 0;7878}7879}7880__Pyx_ErrRestore(exception, value, tb);7881return res;7882}7883#else7884static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {7885int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;7886if (!res) {7887res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);7888}7889return res;7890}7891#endif7892static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {7893Py_ssize_t i, n;7894assert(PyExceptionClass_Check(exc_type));7895n = PyTuple_GET_SIZE(tuple);7896#if PY_MAJOR_VERSION >= 37897for (i=0; i<n; i++) {7898if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;7899}7900#endif7901for (i=0; i<n; i++) {7902PyObject *t = PyTuple_GET_ITEM(tuple, i);7903#if PY_MAJOR_VERSION < 37904if (likely(exc_type == t)) return 1;7905#endif7906if (likely(PyExceptionClass_Check(t))) {7907if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;7908} else {7909}7910}7911return 0;7912}7913static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {7914if (likely(err == exc_type)) return 1;7915if (likely(PyExceptionClass_Check(err))) {7916if (likely(PyExceptionClass_Check(exc_type))) {7917return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);7918} else if (likely(PyTuple_Check(exc_type))) {7919return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);7920} else {7921}7922}7923return PyErr_GivenExceptionMatches(err, exc_type);7924}7925static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {7926assert(PyExceptionClass_Check(exc_type1));7927assert(PyExceptionClass_Check(exc_type2));7928if (likely(err == exc_type1 || err == exc_type2)) return 1;7929if (likely(PyExceptionClass_Check(err))) {7930return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);7931}7932return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));7933}7934#endif79357936/* CheckBinaryVersion */7937static int __Pyx_check_binary_version(void) {7938char ctversion[4], rtversion[4];7939PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);7940PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());7941if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {7942char message[200];7943PyOS_snprintf(message, sizeof(message),7944"compiletime version %s of module '%.100s' "7945"does not match runtime version %s",7946ctversion, __Pyx_MODULE_NAME, rtversion);7947return PyErr_WarnEx(NULL, message, 1);7948}7949return 0;7950}79517952/* InitStrings */7953static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {7954while (t->p) {7955#if PY_MAJOR_VERSION < 37956if (t->is_unicode) {7957*t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);7958} else if (t->intern) {7959*t->p = PyString_InternFromString(t->s);7960} else {7961*t->p = PyString_FromStringAndSize(t->s, t->n - 1);7962}7963#else7964if (t->is_unicode | t->is_str) {7965if (t->intern) {7966*t->p = PyUnicode_InternFromString(t->s);7967} else if (t->encoding) {7968*t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);7969} else {7970*t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);7971}7972} else {7973*t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);7974}7975#endif7976if (!*t->p)7977return -1;7978if (PyObject_Hash(*t->p) == -1)7979return -1;7980++t;7981}7982return 0;7983}79847985static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {7986return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));7987}7988static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {7989Py_ssize_t ignore;7990return __Pyx_PyObject_AsStringAndSize(o, &ignore);7991}7992#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT7993#if !CYTHON_PEP393_ENABLED7994static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {7995char* defenc_c;7996PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);7997if (!defenc) return NULL;7998defenc_c = PyBytes_AS_STRING(defenc);7999#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII8000{8001char* end = defenc_c + PyBytes_GET_SIZE(defenc);8002char* c;8003for (c = defenc_c; c < end; c++) {8004if ((unsigned char) (*c) >= 128) {8005PyUnicode_AsASCIIString(o);8006return NULL;8007}8008}8009}8010#endif8011*length = PyBytes_GET_SIZE(defenc);8012return defenc_c;8013}8014#else8015static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {8016if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;8017#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII8018if (likely(PyUnicode_IS_ASCII(o))) {8019*length = PyUnicode_GET_LENGTH(o);8020return PyUnicode_AsUTF8(o);8021} else {8022PyUnicode_AsASCIIString(o);8023return NULL;8024}8025#else8026return PyUnicode_AsUTF8AndSize(o, length);8027#endif8028}8029#endif8030#endif8031static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {8032#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT8033if (8034#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII8035__Pyx_sys_getdefaultencoding_not_ascii &&8036#endif8037PyUnicode_Check(o)) {8038return __Pyx_PyUnicode_AsStringAndSize(o, length);8039} else8040#endif8041#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))8042if (PyByteArray_Check(o)) {8043*length = PyByteArray_GET_SIZE(o);8044return PyByteArray_AS_STRING(o);8045} else8046#endif8047{8048char* result;8049int r = PyBytes_AsStringAndSize(o, &result, length);8050if (unlikely(r < 0)) {8051return NULL;8052} else {8053return result;8054}8055}8056}8057static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {8058int is_true = x == Py_True;8059if (is_true | (x == Py_False) | (x == Py_None)) return is_true;8060else return PyObject_IsTrue(x);8061}8062static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {8063int retval;8064if (unlikely(!x)) return -1;8065retval = __Pyx_PyObject_IsTrue(x);8066Py_DECREF(x);8067return retval;8068}8069static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {8070#if PY_MAJOR_VERSION >= 38071if (PyLong_Check(result)) {8072if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,8073"__int__ returned non-int (type %.200s). "8074"The ability to return an instance of a strict subclass of int "8075"is deprecated, and may be removed in a future version of Python.",8076Py_TYPE(result)->tp_name)) {8077Py_DECREF(result);8078return NULL;8079}8080return result;8081}8082#endif8083PyErr_Format(PyExc_TypeError,8084"__%.4s__ returned non-%.4s (type %.200s)",8085type_name, type_name, Py_TYPE(result)->tp_name);8086Py_DECREF(result);8087return NULL;8088}8089static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {8090#if CYTHON_USE_TYPE_SLOTS8091PyNumberMethods *m;8092#endif8093const char *name = NULL;8094PyObject *res = NULL;8095#if PY_MAJOR_VERSION < 38096if (likely(PyInt_Check(x) || PyLong_Check(x)))8097#else8098if (likely(PyLong_Check(x)))8099#endif8100return __Pyx_NewRef(x);8101#if CYTHON_USE_TYPE_SLOTS8102m = Py_TYPE(x)->tp_as_number;8103#if PY_MAJOR_VERSION < 38104if (m && m->nb_int) {8105name = "int";8106res = m->nb_int(x);8107}8108else if (m && m->nb_long) {8109name = "long";8110res = m->nb_long(x);8111}8112#else8113if (likely(m && m->nb_int)) {8114name = "int";8115res = m->nb_int(x);8116}8117#endif8118#else8119if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {8120res = PyNumber_Int(x);8121}8122#endif8123if (likely(res)) {8124#if PY_MAJOR_VERSION < 38125if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {8126#else8127if (unlikely(!PyLong_CheckExact(res))) {8128#endif8129return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);8130}8131}8132else if (!PyErr_Occurred()) {8133PyErr_SetString(PyExc_TypeError,8134"an integer is required");8135}8136return res;8137}8138static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {8139Py_ssize_t ival;8140PyObject *x;8141#if PY_MAJOR_VERSION < 38142if (likely(PyInt_CheckExact(b))) {8143if (sizeof(Py_ssize_t) >= sizeof(long))8144return PyInt_AS_LONG(b);8145else8146return PyInt_AsSsize_t(b);8147}8148#endif8149if (likely(PyLong_CheckExact(b))) {8150#if CYTHON_USE_PYLONG_INTERNALS8151const digit* digits = ((PyLongObject*)b)->ob_digit;8152const Py_ssize_t size = Py_SIZE(b);8153if (likely(__Pyx_sst_abs(size) <= 1)) {8154ival = likely(size) ? digits[0] : 0;8155if (size == -1) ival = -ival;8156return ival;8157} else {8158switch (size) {8159case 2:8160if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {8161return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));8162}8163break;8164case -2:8165if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {8166return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));8167}8168break;8169case 3:8170if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {8171return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));8172}8173break;8174case -3:8175if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {8176return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));8177}8178break;8179case 4:8180if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {8181return (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]));8182}8183break;8184case -4:8185if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {8186return -(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]));8187}8188break;8189}8190}8191#endif8192return PyLong_AsSsize_t(b);8193}8194x = PyNumber_Index(b);8195if (!x) return -1;8196ival = PyInt_AsSsize_t(x);8197Py_DECREF(x);8198return ival;8199}8200static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {8201return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);8202}8203static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {8204return PyInt_FromSize_t(ival);8205}820682078208#endif /* Py_PYTHON_H */820982108211