annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/pysam/libctabixproxies.c @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 /* Generated by Cython 3.0.11 */
jpayne@69 2
jpayne@69 3 /* BEGIN: Cython Metadata
jpayne@69 4 {
jpayne@69 5 "distutils": {
jpayne@69 6 "define_macros": [
jpayne@69 7 [
jpayne@69 8 "BUILDING_WHEEL",
jpayne@69 9 null
jpayne@69 10 ]
jpayne@69 11 ],
jpayne@69 12 "depends": [],
jpayne@69 13 "extra_compile_args": [
jpayne@69 14 "-Wno-unused",
jpayne@69 15 "-Wno-strict-prototypes",
jpayne@69 16 "-Wno-sign-compare",
jpayne@69 17 "-Wno-error=declaration-after-statement"
jpayne@69 18 ],
jpayne@69 19 "extra_link_args": [
jpayne@69 20 "-Wl,-rpath,$ORIGIN"
jpayne@69 21 ],
jpayne@69 22 "include_dirs": [
jpayne@69 23 "/project/pysam",
jpayne@69 24 "/project/htslib",
jpayne@69 25 "/project/samtools",
jpayne@69 26 "/project/samtools/lz4",
jpayne@69 27 "/project/bcftools",
jpayne@69 28 "/project"
jpayne@69 29 ],
jpayne@69 30 "language": "c",
jpayne@69 31 "libraries": [
jpayne@69 32 "z",
jpayne@69 33 "lzma",
jpayne@69 34 "bz2",
jpayne@69 35 "z",
jpayne@69 36 "m",
jpayne@69 37 "curl",
jpayne@69 38 "crypto",
jpayne@69 39 "chtslib.cpython-37m-x86_64-linux-gnu",
jpayne@69 40 "cutils.cpython-37m-x86_64-linux-gnu"
jpayne@69 41 ],
jpayne@69 42 "library_dirs": [
jpayne@69 43 "/project/pysam",
jpayne@69 44 "/project",
jpayne@69 45 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 46 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 47 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 48 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 49 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 50 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 51 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 52 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 53 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 54 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 55 "build/lib.linux-x86_64-cpython-37/pysam",
jpayne@69 56 "build/lib.linux-x86_64-cpython-37/pysam"
jpayne@69 57 ],
jpayne@69 58 "name": "pysam.libctabixproxies",
jpayne@69 59 "sources": [
jpayne@69 60 "pysam/libctabixproxies.pyx"
jpayne@69 61 ]
jpayne@69 62 },
jpayne@69 63 "module_name": "pysam.libctabixproxies"
jpayne@69 64 }
jpayne@69 65 END: Cython Metadata */
jpayne@69 66
jpayne@69 67 #ifndef PY_SSIZE_T_CLEAN
jpayne@69 68 #define PY_SSIZE_T_CLEAN
jpayne@69 69 #endif /* PY_SSIZE_T_CLEAN */
jpayne@69 70 #if defined(CYTHON_LIMITED_API) && 0
jpayne@69 71 #ifndef Py_LIMITED_API
jpayne@69 72 #if CYTHON_LIMITED_API+0 > 0x03030000
jpayne@69 73 #define Py_LIMITED_API CYTHON_LIMITED_API
jpayne@69 74 #else
jpayne@69 75 #define Py_LIMITED_API 0x03030000
jpayne@69 76 #endif
jpayne@69 77 #endif
jpayne@69 78 #endif
jpayne@69 79
jpayne@69 80 #include "Python.h"
jpayne@69 81
jpayne@69 82 #if PY_MAJOR_VERSION >= 3
jpayne@69 83 #define __Pyx_PyFloat_FromString(obj) PyFloat_FromString(obj)
jpayne@69 84 #else
jpayne@69 85 #define __Pyx_PyFloat_FromString(obj) PyFloat_FromString(obj, NULL)
jpayne@69 86 #endif
jpayne@69 87
jpayne@69 88
jpayne@69 89 #if PY_MAJOR_VERSION <= 2
jpayne@69 90 #define PyDict_GetItemWithError _PyDict_GetItemWithError
jpayne@69 91 #endif
jpayne@69 92
jpayne@69 93
jpayne@69 94 #if (PY_VERSION_HEX < 0x030700b1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030600)) && !defined(PyContextVar_Get)
jpayne@69 95 #define PyContextVar_Get(var, d, v) ((d) ? ((void)(var), Py_INCREF(d), (v)[0] = (d), 0) : ((v)[0] = NULL, 0) )
jpayne@69 96 #endif
jpayne@69 97
jpayne@69 98 #ifndef Py_PYTHON_H
jpayne@69 99 #error Python headers needed to compile C extensions, please install development version of Python.
jpayne@69 100 #elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
jpayne@69 101 #error Cython requires Python 2.7+ or Python 3.3+.
jpayne@69 102 #else
jpayne@69 103 #if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
jpayne@69 104 #define __PYX_EXTRA_ABI_MODULE_NAME "limited"
jpayne@69 105 #else
jpayne@69 106 #define __PYX_EXTRA_ABI_MODULE_NAME ""
jpayne@69 107 #endif
jpayne@69 108 #define CYTHON_ABI "3_0_11" __PYX_EXTRA_ABI_MODULE_NAME
jpayne@69 109 #define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
jpayne@69 110 #define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
jpayne@69 111 #define CYTHON_HEX_VERSION 0x03000BF0
jpayne@69 112 #define CYTHON_FUTURE_DIVISION 1
jpayne@69 113 #include <stddef.h>
jpayne@69 114 #ifndef offsetof
jpayne@69 115 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
jpayne@69 116 #endif
jpayne@69 117 #if !defined(_WIN32) && !defined(WIN32) && !defined(MS_WINDOWS)
jpayne@69 118 #ifndef __stdcall
jpayne@69 119 #define __stdcall
jpayne@69 120 #endif
jpayne@69 121 #ifndef __cdecl
jpayne@69 122 #define __cdecl
jpayne@69 123 #endif
jpayne@69 124 #ifndef __fastcall
jpayne@69 125 #define __fastcall
jpayne@69 126 #endif
jpayne@69 127 #endif
jpayne@69 128 #ifndef DL_IMPORT
jpayne@69 129 #define DL_IMPORT(t) t
jpayne@69 130 #endif
jpayne@69 131 #ifndef DL_EXPORT
jpayne@69 132 #define DL_EXPORT(t) t
jpayne@69 133 #endif
jpayne@69 134 #define __PYX_COMMA ,
jpayne@69 135 #ifndef HAVE_LONG_LONG
jpayne@69 136 #define HAVE_LONG_LONG
jpayne@69 137 #endif
jpayne@69 138 #ifndef PY_LONG_LONG
jpayne@69 139 #define PY_LONG_LONG LONG_LONG
jpayne@69 140 #endif
jpayne@69 141 #ifndef Py_HUGE_VAL
jpayne@69 142 #define Py_HUGE_VAL HUGE_VAL
jpayne@69 143 #endif
jpayne@69 144 #define __PYX_LIMITED_VERSION_HEX PY_VERSION_HEX
jpayne@69 145 #if defined(GRAALVM_PYTHON)
jpayne@69 146 /* For very preliminary testing purposes. Most variables are set the same as PyPy.
jpayne@69 147 The existence of this section does not imply that anything works or is even tested */
jpayne@69 148 #define CYTHON_COMPILING_IN_PYPY 0
jpayne@69 149 #define CYTHON_COMPILING_IN_CPYTHON 0
jpayne@69 150 #define CYTHON_COMPILING_IN_LIMITED_API 0
jpayne@69 151 #define CYTHON_COMPILING_IN_GRAAL 1
jpayne@69 152 #define CYTHON_COMPILING_IN_NOGIL 0
jpayne@69 153 #undef CYTHON_USE_TYPE_SLOTS
jpayne@69 154 #define CYTHON_USE_TYPE_SLOTS 0
jpayne@69 155 #undef CYTHON_USE_TYPE_SPECS
jpayne@69 156 #define CYTHON_USE_TYPE_SPECS 0
jpayne@69 157 #undef CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 158 #define CYTHON_USE_PYTYPE_LOOKUP 0
jpayne@69 159 #if PY_VERSION_HEX < 0x03050000
jpayne@69 160 #undef CYTHON_USE_ASYNC_SLOTS
jpayne@69 161 #define CYTHON_USE_ASYNC_SLOTS 0
jpayne@69 162 #elif !defined(CYTHON_USE_ASYNC_SLOTS)
jpayne@69 163 #define CYTHON_USE_ASYNC_SLOTS 1
jpayne@69 164 #endif
jpayne@69 165 #undef CYTHON_USE_PYLIST_INTERNALS
jpayne@69 166 #define CYTHON_USE_PYLIST_INTERNALS 0
jpayne@69 167 #undef CYTHON_USE_UNICODE_INTERNALS
jpayne@69 168 #define CYTHON_USE_UNICODE_INTERNALS 0
jpayne@69 169 #undef CYTHON_USE_UNICODE_WRITER
jpayne@69 170 #define CYTHON_USE_UNICODE_WRITER 0
jpayne@69 171 #undef CYTHON_USE_PYLONG_INTERNALS
jpayne@69 172 #define CYTHON_USE_PYLONG_INTERNALS 0
jpayne@69 173 #undef CYTHON_AVOID_BORROWED_REFS
jpayne@69 174 #define CYTHON_AVOID_BORROWED_REFS 1
jpayne@69 175 #undef CYTHON_ASSUME_SAFE_MACROS
jpayne@69 176 #define CYTHON_ASSUME_SAFE_MACROS 0
jpayne@69 177 #undef CYTHON_UNPACK_METHODS
jpayne@69 178 #define CYTHON_UNPACK_METHODS 0
jpayne@69 179 #undef CYTHON_FAST_THREAD_STATE
jpayne@69 180 #define CYTHON_FAST_THREAD_STATE 0
jpayne@69 181 #undef CYTHON_FAST_GIL
jpayne@69 182 #define CYTHON_FAST_GIL 0
jpayne@69 183 #undef CYTHON_METH_FASTCALL
jpayne@69 184 #define CYTHON_METH_FASTCALL 0
jpayne@69 185 #undef CYTHON_FAST_PYCALL
jpayne@69 186 #define CYTHON_FAST_PYCALL 0
jpayne@69 187 #ifndef CYTHON_PEP487_INIT_SUBCLASS
jpayne@69 188 #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3)
jpayne@69 189 #endif
jpayne@69 190 #undef CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 191 #define CYTHON_PEP489_MULTI_PHASE_INIT 1
jpayne@69 192 #undef CYTHON_USE_MODULE_STATE
jpayne@69 193 #define CYTHON_USE_MODULE_STATE 0
jpayne@69 194 #undef CYTHON_USE_TP_FINALIZE
jpayne@69 195 #define CYTHON_USE_TP_FINALIZE 0
jpayne@69 196 #undef CYTHON_USE_DICT_VERSIONS
jpayne@69 197 #define CYTHON_USE_DICT_VERSIONS 0
jpayne@69 198 #undef CYTHON_USE_EXC_INFO_STACK
jpayne@69 199 #define CYTHON_USE_EXC_INFO_STACK 0
jpayne@69 200 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 201 #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
jpayne@69 202 #endif
jpayne@69 203 #undef CYTHON_USE_FREELISTS
jpayne@69 204 #define CYTHON_USE_FREELISTS 0
jpayne@69 205 #elif defined(PYPY_VERSION)
jpayne@69 206 #define CYTHON_COMPILING_IN_PYPY 1
jpayne@69 207 #define CYTHON_COMPILING_IN_CPYTHON 0
jpayne@69 208 #define CYTHON_COMPILING_IN_LIMITED_API 0
jpayne@69 209 #define CYTHON_COMPILING_IN_GRAAL 0
jpayne@69 210 #define CYTHON_COMPILING_IN_NOGIL 0
jpayne@69 211 #undef CYTHON_USE_TYPE_SLOTS
jpayne@69 212 #define CYTHON_USE_TYPE_SLOTS 0
jpayne@69 213 #ifndef CYTHON_USE_TYPE_SPECS
jpayne@69 214 #define CYTHON_USE_TYPE_SPECS 0
jpayne@69 215 #endif
jpayne@69 216 #undef CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 217 #define CYTHON_USE_PYTYPE_LOOKUP 0
jpayne@69 218 #if PY_VERSION_HEX < 0x03050000
jpayne@69 219 #undef CYTHON_USE_ASYNC_SLOTS
jpayne@69 220 #define CYTHON_USE_ASYNC_SLOTS 0
jpayne@69 221 #elif !defined(CYTHON_USE_ASYNC_SLOTS)
jpayne@69 222 #define CYTHON_USE_ASYNC_SLOTS 1
jpayne@69 223 #endif
jpayne@69 224 #undef CYTHON_USE_PYLIST_INTERNALS
jpayne@69 225 #define CYTHON_USE_PYLIST_INTERNALS 0
jpayne@69 226 #undef CYTHON_USE_UNICODE_INTERNALS
jpayne@69 227 #define CYTHON_USE_UNICODE_INTERNALS 0
jpayne@69 228 #undef CYTHON_USE_UNICODE_WRITER
jpayne@69 229 #define CYTHON_USE_UNICODE_WRITER 0
jpayne@69 230 #undef CYTHON_USE_PYLONG_INTERNALS
jpayne@69 231 #define CYTHON_USE_PYLONG_INTERNALS 0
jpayne@69 232 #undef CYTHON_AVOID_BORROWED_REFS
jpayne@69 233 #define CYTHON_AVOID_BORROWED_REFS 1
jpayne@69 234 #undef CYTHON_ASSUME_SAFE_MACROS
jpayne@69 235 #define CYTHON_ASSUME_SAFE_MACROS 0
jpayne@69 236 #undef CYTHON_UNPACK_METHODS
jpayne@69 237 #define CYTHON_UNPACK_METHODS 0
jpayne@69 238 #undef CYTHON_FAST_THREAD_STATE
jpayne@69 239 #define CYTHON_FAST_THREAD_STATE 0
jpayne@69 240 #undef CYTHON_FAST_GIL
jpayne@69 241 #define CYTHON_FAST_GIL 0
jpayne@69 242 #undef CYTHON_METH_FASTCALL
jpayne@69 243 #define CYTHON_METH_FASTCALL 0
jpayne@69 244 #undef CYTHON_FAST_PYCALL
jpayne@69 245 #define CYTHON_FAST_PYCALL 0
jpayne@69 246 #ifndef CYTHON_PEP487_INIT_SUBCLASS
jpayne@69 247 #define CYTHON_PEP487_INIT_SUBCLASS (PY_MAJOR_VERSION >= 3)
jpayne@69 248 #endif
jpayne@69 249 #if PY_VERSION_HEX < 0x03090000
jpayne@69 250 #undef CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 251 #define CYTHON_PEP489_MULTI_PHASE_INIT 0
jpayne@69 252 #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
jpayne@69 253 #define CYTHON_PEP489_MULTI_PHASE_INIT 1
jpayne@69 254 #endif
jpayne@69 255 #undef CYTHON_USE_MODULE_STATE
jpayne@69 256 #define CYTHON_USE_MODULE_STATE 0
jpayne@69 257 #undef CYTHON_USE_TP_FINALIZE
jpayne@69 258 #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
jpayne@69 259 #undef CYTHON_USE_DICT_VERSIONS
jpayne@69 260 #define CYTHON_USE_DICT_VERSIONS 0
jpayne@69 261 #undef CYTHON_USE_EXC_INFO_STACK
jpayne@69 262 #define CYTHON_USE_EXC_INFO_STACK 0
jpayne@69 263 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 264 #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
jpayne@69 265 #endif
jpayne@69 266 #undef CYTHON_USE_FREELISTS
jpayne@69 267 #define CYTHON_USE_FREELISTS 0
jpayne@69 268 #elif defined(CYTHON_LIMITED_API)
jpayne@69 269 #ifdef Py_LIMITED_API
jpayne@69 270 #undef __PYX_LIMITED_VERSION_HEX
jpayne@69 271 #define __PYX_LIMITED_VERSION_HEX Py_LIMITED_API
jpayne@69 272 #endif
jpayne@69 273 #define CYTHON_COMPILING_IN_PYPY 0
jpayne@69 274 #define CYTHON_COMPILING_IN_CPYTHON 0
jpayne@69 275 #define CYTHON_COMPILING_IN_LIMITED_API 1
jpayne@69 276 #define CYTHON_COMPILING_IN_GRAAL 0
jpayne@69 277 #define CYTHON_COMPILING_IN_NOGIL 0
jpayne@69 278 #undef CYTHON_CLINE_IN_TRACEBACK
jpayne@69 279 #define CYTHON_CLINE_IN_TRACEBACK 0
jpayne@69 280 #undef CYTHON_USE_TYPE_SLOTS
jpayne@69 281 #define CYTHON_USE_TYPE_SLOTS 0
jpayne@69 282 #undef CYTHON_USE_TYPE_SPECS
jpayne@69 283 #define CYTHON_USE_TYPE_SPECS 1
jpayne@69 284 #undef CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 285 #define CYTHON_USE_PYTYPE_LOOKUP 0
jpayne@69 286 #undef CYTHON_USE_ASYNC_SLOTS
jpayne@69 287 #define CYTHON_USE_ASYNC_SLOTS 0
jpayne@69 288 #undef CYTHON_USE_PYLIST_INTERNALS
jpayne@69 289 #define CYTHON_USE_PYLIST_INTERNALS 0
jpayne@69 290 #undef CYTHON_USE_UNICODE_INTERNALS
jpayne@69 291 #define CYTHON_USE_UNICODE_INTERNALS 0
jpayne@69 292 #ifndef CYTHON_USE_UNICODE_WRITER
jpayne@69 293 #define CYTHON_USE_UNICODE_WRITER 0
jpayne@69 294 #endif
jpayne@69 295 #undef CYTHON_USE_PYLONG_INTERNALS
jpayne@69 296 #define CYTHON_USE_PYLONG_INTERNALS 0
jpayne@69 297 #ifndef CYTHON_AVOID_BORROWED_REFS
jpayne@69 298 #define CYTHON_AVOID_BORROWED_REFS 0
jpayne@69 299 #endif
jpayne@69 300 #undef CYTHON_ASSUME_SAFE_MACROS
jpayne@69 301 #define CYTHON_ASSUME_SAFE_MACROS 0
jpayne@69 302 #undef CYTHON_UNPACK_METHODS
jpayne@69 303 #define CYTHON_UNPACK_METHODS 0
jpayne@69 304 #undef CYTHON_FAST_THREAD_STATE
jpayne@69 305 #define CYTHON_FAST_THREAD_STATE 0
jpayne@69 306 #undef CYTHON_FAST_GIL
jpayne@69 307 #define CYTHON_FAST_GIL 0
jpayne@69 308 #undef CYTHON_METH_FASTCALL
jpayne@69 309 #define CYTHON_METH_FASTCALL 0
jpayne@69 310 #undef CYTHON_FAST_PYCALL
jpayne@69 311 #define CYTHON_FAST_PYCALL 0
jpayne@69 312 #ifndef CYTHON_PEP487_INIT_SUBCLASS
jpayne@69 313 #define CYTHON_PEP487_INIT_SUBCLASS 1
jpayne@69 314 #endif
jpayne@69 315 #undef CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 316 #define CYTHON_PEP489_MULTI_PHASE_INIT 0
jpayne@69 317 #undef CYTHON_USE_MODULE_STATE
jpayne@69 318 #define CYTHON_USE_MODULE_STATE 1
jpayne@69 319 #ifndef CYTHON_USE_TP_FINALIZE
jpayne@69 320 #define CYTHON_USE_TP_FINALIZE 0
jpayne@69 321 #endif
jpayne@69 322 #undef CYTHON_USE_DICT_VERSIONS
jpayne@69 323 #define CYTHON_USE_DICT_VERSIONS 0
jpayne@69 324 #undef CYTHON_USE_EXC_INFO_STACK
jpayne@69 325 #define CYTHON_USE_EXC_INFO_STACK 0
jpayne@69 326 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 327 #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
jpayne@69 328 #endif
jpayne@69 329 #undef CYTHON_USE_FREELISTS
jpayne@69 330 #define CYTHON_USE_FREELISTS 0
jpayne@69 331 #elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL)
jpayne@69 332 #define CYTHON_COMPILING_IN_PYPY 0
jpayne@69 333 #define CYTHON_COMPILING_IN_CPYTHON 0
jpayne@69 334 #define CYTHON_COMPILING_IN_LIMITED_API 0
jpayne@69 335 #define CYTHON_COMPILING_IN_GRAAL 0
jpayne@69 336 #define CYTHON_COMPILING_IN_NOGIL 1
jpayne@69 337 #ifndef CYTHON_USE_TYPE_SLOTS
jpayne@69 338 #define CYTHON_USE_TYPE_SLOTS 1
jpayne@69 339 #endif
jpayne@69 340 #ifndef CYTHON_USE_TYPE_SPECS
jpayne@69 341 #define CYTHON_USE_TYPE_SPECS 0
jpayne@69 342 #endif
jpayne@69 343 #undef CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 344 #define CYTHON_USE_PYTYPE_LOOKUP 0
jpayne@69 345 #ifndef CYTHON_USE_ASYNC_SLOTS
jpayne@69 346 #define CYTHON_USE_ASYNC_SLOTS 1
jpayne@69 347 #endif
jpayne@69 348 #ifndef CYTHON_USE_PYLONG_INTERNALS
jpayne@69 349 #define CYTHON_USE_PYLONG_INTERNALS 0
jpayne@69 350 #endif
jpayne@69 351 #undef CYTHON_USE_PYLIST_INTERNALS
jpayne@69 352 #define CYTHON_USE_PYLIST_INTERNALS 0
jpayne@69 353 #ifndef CYTHON_USE_UNICODE_INTERNALS
jpayne@69 354 #define CYTHON_USE_UNICODE_INTERNALS 1
jpayne@69 355 #endif
jpayne@69 356 #undef CYTHON_USE_UNICODE_WRITER
jpayne@69 357 #define CYTHON_USE_UNICODE_WRITER 0
jpayne@69 358 #ifndef CYTHON_AVOID_BORROWED_REFS
jpayne@69 359 #define CYTHON_AVOID_BORROWED_REFS 0
jpayne@69 360 #endif
jpayne@69 361 #ifndef CYTHON_ASSUME_SAFE_MACROS
jpayne@69 362 #define CYTHON_ASSUME_SAFE_MACROS 1
jpayne@69 363 #endif
jpayne@69 364 #ifndef CYTHON_UNPACK_METHODS
jpayne@69 365 #define CYTHON_UNPACK_METHODS 1
jpayne@69 366 #endif
jpayne@69 367 #undef CYTHON_FAST_THREAD_STATE
jpayne@69 368 #define CYTHON_FAST_THREAD_STATE 0
jpayne@69 369 #undef CYTHON_FAST_GIL
jpayne@69 370 #define CYTHON_FAST_GIL 0
jpayne@69 371 #ifndef CYTHON_METH_FASTCALL
jpayne@69 372 #define CYTHON_METH_FASTCALL 1
jpayne@69 373 #endif
jpayne@69 374 #undef CYTHON_FAST_PYCALL
jpayne@69 375 #define CYTHON_FAST_PYCALL 0
jpayne@69 376 #ifndef CYTHON_PEP487_INIT_SUBCLASS
jpayne@69 377 #define CYTHON_PEP487_INIT_SUBCLASS 1
jpayne@69 378 #endif
jpayne@69 379 #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 380 #define CYTHON_PEP489_MULTI_PHASE_INIT 1
jpayne@69 381 #endif
jpayne@69 382 #ifndef CYTHON_USE_MODULE_STATE
jpayne@69 383 #define CYTHON_USE_MODULE_STATE 0
jpayne@69 384 #endif
jpayne@69 385 #ifndef CYTHON_USE_TP_FINALIZE
jpayne@69 386 #define CYTHON_USE_TP_FINALIZE 1
jpayne@69 387 #endif
jpayne@69 388 #undef CYTHON_USE_DICT_VERSIONS
jpayne@69 389 #define CYTHON_USE_DICT_VERSIONS 0
jpayne@69 390 #undef CYTHON_USE_EXC_INFO_STACK
jpayne@69 391 #define CYTHON_USE_EXC_INFO_STACK 0
jpayne@69 392 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 393 #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
jpayne@69 394 #endif
jpayne@69 395 #ifndef CYTHON_USE_FREELISTS
jpayne@69 396 #define CYTHON_USE_FREELISTS 0
jpayne@69 397 #endif
jpayne@69 398 #else
jpayne@69 399 #define CYTHON_COMPILING_IN_PYPY 0
jpayne@69 400 #define CYTHON_COMPILING_IN_CPYTHON 1
jpayne@69 401 #define CYTHON_COMPILING_IN_LIMITED_API 0
jpayne@69 402 #define CYTHON_COMPILING_IN_GRAAL 0
jpayne@69 403 #define CYTHON_COMPILING_IN_NOGIL 0
jpayne@69 404 #ifndef CYTHON_USE_TYPE_SLOTS
jpayne@69 405 #define CYTHON_USE_TYPE_SLOTS 1
jpayne@69 406 #endif
jpayne@69 407 #ifndef CYTHON_USE_TYPE_SPECS
jpayne@69 408 #define CYTHON_USE_TYPE_SPECS 0
jpayne@69 409 #endif
jpayne@69 410 #ifndef CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 411 #define CYTHON_USE_PYTYPE_LOOKUP 1
jpayne@69 412 #endif
jpayne@69 413 #if PY_MAJOR_VERSION < 3
jpayne@69 414 #undef CYTHON_USE_ASYNC_SLOTS
jpayne@69 415 #define CYTHON_USE_ASYNC_SLOTS 0
jpayne@69 416 #elif !defined(CYTHON_USE_ASYNC_SLOTS)
jpayne@69 417 #define CYTHON_USE_ASYNC_SLOTS 1
jpayne@69 418 #endif
jpayne@69 419 #ifndef CYTHON_USE_PYLONG_INTERNALS
jpayne@69 420 #define CYTHON_USE_PYLONG_INTERNALS 1
jpayne@69 421 #endif
jpayne@69 422 #ifndef CYTHON_USE_PYLIST_INTERNALS
jpayne@69 423 #define CYTHON_USE_PYLIST_INTERNALS 1
jpayne@69 424 #endif
jpayne@69 425 #ifndef CYTHON_USE_UNICODE_INTERNALS
jpayne@69 426 #define CYTHON_USE_UNICODE_INTERNALS 1
jpayne@69 427 #endif
jpayne@69 428 #if PY_VERSION_HEX < 0x030300F0 || PY_VERSION_HEX >= 0x030B00A2
jpayne@69 429 #undef CYTHON_USE_UNICODE_WRITER
jpayne@69 430 #define CYTHON_USE_UNICODE_WRITER 0
jpayne@69 431 #elif !defined(CYTHON_USE_UNICODE_WRITER)
jpayne@69 432 #define CYTHON_USE_UNICODE_WRITER 1
jpayne@69 433 #endif
jpayne@69 434 #ifndef CYTHON_AVOID_BORROWED_REFS
jpayne@69 435 #define CYTHON_AVOID_BORROWED_REFS 0
jpayne@69 436 #endif
jpayne@69 437 #ifndef CYTHON_ASSUME_SAFE_MACROS
jpayne@69 438 #define CYTHON_ASSUME_SAFE_MACROS 1
jpayne@69 439 #endif
jpayne@69 440 #ifndef CYTHON_UNPACK_METHODS
jpayne@69 441 #define CYTHON_UNPACK_METHODS 1
jpayne@69 442 #endif
jpayne@69 443 #ifndef CYTHON_FAST_THREAD_STATE
jpayne@69 444 #define CYTHON_FAST_THREAD_STATE 1
jpayne@69 445 #endif
jpayne@69 446 #ifndef CYTHON_FAST_GIL
jpayne@69 447 #define CYTHON_FAST_GIL (PY_MAJOR_VERSION < 3 || PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030C00A6)
jpayne@69 448 #endif
jpayne@69 449 #ifndef CYTHON_METH_FASTCALL
jpayne@69 450 #define CYTHON_METH_FASTCALL (PY_VERSION_HEX >= 0x030700A1)
jpayne@69 451 #endif
jpayne@69 452 #ifndef CYTHON_FAST_PYCALL
jpayne@69 453 #define CYTHON_FAST_PYCALL 1
jpayne@69 454 #endif
jpayne@69 455 #ifndef CYTHON_PEP487_INIT_SUBCLASS
jpayne@69 456 #define CYTHON_PEP487_INIT_SUBCLASS 1
jpayne@69 457 #endif
jpayne@69 458 #if PY_VERSION_HEX < 0x03050000
jpayne@69 459 #undef CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 460 #define CYTHON_PEP489_MULTI_PHASE_INIT 0
jpayne@69 461 #elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
jpayne@69 462 #define CYTHON_PEP489_MULTI_PHASE_INIT 1
jpayne@69 463 #endif
jpayne@69 464 #ifndef CYTHON_USE_MODULE_STATE
jpayne@69 465 #define CYTHON_USE_MODULE_STATE 0
jpayne@69 466 #endif
jpayne@69 467 #if PY_VERSION_HEX < 0x030400a1
jpayne@69 468 #undef CYTHON_USE_TP_FINALIZE
jpayne@69 469 #define CYTHON_USE_TP_FINALIZE 0
jpayne@69 470 #elif !defined(CYTHON_USE_TP_FINALIZE)
jpayne@69 471 #define CYTHON_USE_TP_FINALIZE 1
jpayne@69 472 #endif
jpayne@69 473 #if PY_VERSION_HEX < 0x030600B1
jpayne@69 474 #undef CYTHON_USE_DICT_VERSIONS
jpayne@69 475 #define CYTHON_USE_DICT_VERSIONS 0
jpayne@69 476 #elif !defined(CYTHON_USE_DICT_VERSIONS)
jpayne@69 477 #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX < 0x030C00A5)
jpayne@69 478 #endif
jpayne@69 479 #if PY_VERSION_HEX < 0x030700A3
jpayne@69 480 #undef CYTHON_USE_EXC_INFO_STACK
jpayne@69 481 #define CYTHON_USE_EXC_INFO_STACK 0
jpayne@69 482 #elif !defined(CYTHON_USE_EXC_INFO_STACK)
jpayne@69 483 #define CYTHON_USE_EXC_INFO_STACK 1
jpayne@69 484 #endif
jpayne@69 485 #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 486 #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
jpayne@69 487 #endif
jpayne@69 488 #ifndef CYTHON_USE_FREELISTS
jpayne@69 489 #define CYTHON_USE_FREELISTS 1
jpayne@69 490 #endif
jpayne@69 491 #endif
jpayne@69 492 #if !defined(CYTHON_FAST_PYCCALL)
jpayne@69 493 #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
jpayne@69 494 #endif
jpayne@69 495 #if !defined(CYTHON_VECTORCALL)
jpayne@69 496 #define CYTHON_VECTORCALL (CYTHON_FAST_PYCCALL && PY_VERSION_HEX >= 0x030800B1)
jpayne@69 497 #endif
jpayne@69 498 #define CYTHON_BACKPORT_VECTORCALL (CYTHON_METH_FASTCALL && PY_VERSION_HEX < 0x030800B1)
jpayne@69 499 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 500 #if PY_MAJOR_VERSION < 3
jpayne@69 501 #include "longintrepr.h"
jpayne@69 502 #endif
jpayne@69 503 #undef SHIFT
jpayne@69 504 #undef BASE
jpayne@69 505 #undef MASK
jpayne@69 506 #ifdef SIZEOF_VOID_P
jpayne@69 507 enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
jpayne@69 508 #endif
jpayne@69 509 #endif
jpayne@69 510 #ifndef __has_attribute
jpayne@69 511 #define __has_attribute(x) 0
jpayne@69 512 #endif
jpayne@69 513 #ifndef __has_cpp_attribute
jpayne@69 514 #define __has_cpp_attribute(x) 0
jpayne@69 515 #endif
jpayne@69 516 #ifndef CYTHON_RESTRICT
jpayne@69 517 #if defined(__GNUC__)
jpayne@69 518 #define CYTHON_RESTRICT __restrict__
jpayne@69 519 #elif defined(_MSC_VER) && _MSC_VER >= 1400
jpayne@69 520 #define CYTHON_RESTRICT __restrict
jpayne@69 521 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
jpayne@69 522 #define CYTHON_RESTRICT restrict
jpayne@69 523 #else
jpayne@69 524 #define CYTHON_RESTRICT
jpayne@69 525 #endif
jpayne@69 526 #endif
jpayne@69 527 #ifndef CYTHON_UNUSED
jpayne@69 528 #if defined(__cplusplus)
jpayne@69 529 /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17
jpayne@69 530 * but leads to warnings with -pedantic, since it is a C++17 feature */
jpayne@69 531 #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
jpayne@69 532 #if __has_cpp_attribute(maybe_unused)
jpayne@69 533 #define CYTHON_UNUSED [[maybe_unused]]
jpayne@69 534 #endif
jpayne@69 535 #endif
jpayne@69 536 #endif
jpayne@69 537 #endif
jpayne@69 538 #ifndef CYTHON_UNUSED
jpayne@69 539 # if defined(__GNUC__)
jpayne@69 540 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
jpayne@69 541 # define CYTHON_UNUSED __attribute__ ((__unused__))
jpayne@69 542 # else
jpayne@69 543 # define CYTHON_UNUSED
jpayne@69 544 # endif
jpayne@69 545 # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
jpayne@69 546 # define CYTHON_UNUSED __attribute__ ((__unused__))
jpayne@69 547 # else
jpayne@69 548 # define CYTHON_UNUSED
jpayne@69 549 # endif
jpayne@69 550 #endif
jpayne@69 551 #ifndef CYTHON_UNUSED_VAR
jpayne@69 552 # if defined(__cplusplus)
jpayne@69 553 template<class T> void CYTHON_UNUSED_VAR( const T& ) { }
jpayne@69 554 # else
jpayne@69 555 # define CYTHON_UNUSED_VAR(x) (void)(x)
jpayne@69 556 # endif
jpayne@69 557 #endif
jpayne@69 558 #ifndef CYTHON_MAYBE_UNUSED_VAR
jpayne@69 559 #define CYTHON_MAYBE_UNUSED_VAR(x) CYTHON_UNUSED_VAR(x)
jpayne@69 560 #endif
jpayne@69 561 #ifndef CYTHON_NCP_UNUSED
jpayne@69 562 # if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 563 # define CYTHON_NCP_UNUSED
jpayne@69 564 # else
jpayne@69 565 # define CYTHON_NCP_UNUSED CYTHON_UNUSED
jpayne@69 566 # endif
jpayne@69 567 #endif
jpayne@69 568 #ifndef CYTHON_USE_CPP_STD_MOVE
jpayne@69 569 #if defined(__cplusplus) && (\
jpayne@69 570 __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600))
jpayne@69 571 #define CYTHON_USE_CPP_STD_MOVE 1
jpayne@69 572 #else
jpayne@69 573 #define CYTHON_USE_CPP_STD_MOVE 0
jpayne@69 574 #endif
jpayne@69 575 #endif
jpayne@69 576 #define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
jpayne@69 577 #ifdef _MSC_VER
jpayne@69 578 #ifndef _MSC_STDINT_H_
jpayne@69 579 #if _MSC_VER < 1300
jpayne@69 580 typedef unsigned char uint8_t;
jpayne@69 581 typedef unsigned short uint16_t;
jpayne@69 582 typedef unsigned int uint32_t;
jpayne@69 583 #else
jpayne@69 584 typedef unsigned __int8 uint8_t;
jpayne@69 585 typedef unsigned __int16 uint16_t;
jpayne@69 586 typedef unsigned __int32 uint32_t;
jpayne@69 587 #endif
jpayne@69 588 #endif
jpayne@69 589 #if _MSC_VER < 1300
jpayne@69 590 #ifdef _WIN64
jpayne@69 591 typedef unsigned long long __pyx_uintptr_t;
jpayne@69 592 #else
jpayne@69 593 typedef unsigned int __pyx_uintptr_t;
jpayne@69 594 #endif
jpayne@69 595 #else
jpayne@69 596 #ifdef _WIN64
jpayne@69 597 typedef unsigned __int64 __pyx_uintptr_t;
jpayne@69 598 #else
jpayne@69 599 typedef unsigned __int32 __pyx_uintptr_t;
jpayne@69 600 #endif
jpayne@69 601 #endif
jpayne@69 602 #else
jpayne@69 603 #include <stdint.h>
jpayne@69 604 typedef uintptr_t __pyx_uintptr_t;
jpayne@69 605 #endif
jpayne@69 606 #ifndef CYTHON_FALLTHROUGH
jpayne@69 607 #if defined(__cplusplus)
jpayne@69 608 /* for clang __has_cpp_attribute(fallthrough) is true even before C++17
jpayne@69 609 * but leads to warnings with -pedantic, since it is a C++17 feature */
jpayne@69 610 #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L)
jpayne@69 611 #if __has_cpp_attribute(fallthrough)
jpayne@69 612 #define CYTHON_FALLTHROUGH [[fallthrough]]
jpayne@69 613 #endif
jpayne@69 614 #endif
jpayne@69 615 #ifndef CYTHON_FALLTHROUGH
jpayne@69 616 #if __has_cpp_attribute(clang::fallthrough)
jpayne@69 617 #define CYTHON_FALLTHROUGH [[clang::fallthrough]]
jpayne@69 618 #elif __has_cpp_attribute(gnu::fallthrough)
jpayne@69 619 #define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
jpayne@69 620 #endif
jpayne@69 621 #endif
jpayne@69 622 #endif
jpayne@69 623 #ifndef CYTHON_FALLTHROUGH
jpayne@69 624 #if __has_attribute(fallthrough)
jpayne@69 625 #define CYTHON_FALLTHROUGH __attribute__((fallthrough))
jpayne@69 626 #else
jpayne@69 627 #define CYTHON_FALLTHROUGH
jpayne@69 628 #endif
jpayne@69 629 #endif
jpayne@69 630 #if defined(__clang__) && defined(__apple_build_version__)
jpayne@69 631 #if __apple_build_version__ < 7000000
jpayne@69 632 #undef CYTHON_FALLTHROUGH
jpayne@69 633 #define CYTHON_FALLTHROUGH
jpayne@69 634 #endif
jpayne@69 635 #endif
jpayne@69 636 #endif
jpayne@69 637 #ifdef __cplusplus
jpayne@69 638 template <typename T>
jpayne@69 639 struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);};
jpayne@69 640 #define __PYX_IS_UNSIGNED(type) (__PYX_IS_UNSIGNED_IMPL<type>::value)
jpayne@69 641 #else
jpayne@69 642 #define __PYX_IS_UNSIGNED(type) (((type)-1) > 0)
jpayne@69 643 #endif
jpayne@69 644 #if CYTHON_COMPILING_IN_PYPY == 1
jpayne@69 645 #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x030A0000)
jpayne@69 646 #else
jpayne@69 647 #define __PYX_NEED_TP_PRINT_SLOT (PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000)
jpayne@69 648 #endif
jpayne@69 649 #define __PYX_REINTERPRET_FUNCION(func_pointer, other_pointer) ((func_pointer)(void(*)(void))(other_pointer))
jpayne@69 650
jpayne@69 651 #ifndef CYTHON_INLINE
jpayne@69 652 #if defined(__clang__)
jpayne@69 653 #define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
jpayne@69 654 #elif defined(__GNUC__)
jpayne@69 655 #define CYTHON_INLINE __inline__
jpayne@69 656 #elif defined(_MSC_VER)
jpayne@69 657 #define CYTHON_INLINE __inline
jpayne@69 658 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
jpayne@69 659 #define CYTHON_INLINE inline
jpayne@69 660 #else
jpayne@69 661 #define CYTHON_INLINE
jpayne@69 662 #endif
jpayne@69 663 #endif
jpayne@69 664
jpayne@69 665 #define __PYX_BUILD_PY_SSIZE_T "n"
jpayne@69 666 #define CYTHON_FORMAT_SSIZE_T "z"
jpayne@69 667 #if PY_MAJOR_VERSION < 3
jpayne@69 668 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
jpayne@69 669 #define __Pyx_DefaultClassType PyClass_Type
jpayne@69 670 #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
jpayne@69 671 PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
jpayne@69 672 #else
jpayne@69 673 #define __Pyx_BUILTIN_MODULE_NAME "builtins"
jpayne@69 674 #define __Pyx_DefaultClassType PyType_Type
jpayne@69 675 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 676 static CYTHON_INLINE PyObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
jpayne@69 677 PyObject *code, PyObject *c, PyObject* n, PyObject *v,
jpayne@69 678 PyObject *fv, PyObject *cell, PyObject* fn,
jpayne@69 679 PyObject *name, int fline, PyObject *lnos) {
jpayne@69 680 PyObject *exception_table = NULL;
jpayne@69 681 PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
jpayne@69 682 #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
jpayne@69 683 PyObject *version_info;
jpayne@69 684 PyObject *py_minor_version = NULL;
jpayne@69 685 #endif
jpayne@69 686 long minor_version = 0;
jpayne@69 687 PyObject *type, *value, *traceback;
jpayne@69 688 PyErr_Fetch(&type, &value, &traceback);
jpayne@69 689 #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
jpayne@69 690 minor_version = 11;
jpayne@69 691 #else
jpayne@69 692 if (!(version_info = PySys_GetObject("version_info"))) goto end;
jpayne@69 693 if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
jpayne@69 694 minor_version = PyLong_AsLong(py_minor_version);
jpayne@69 695 Py_DECREF(py_minor_version);
jpayne@69 696 if (minor_version == -1 && PyErr_Occurred()) goto end;
jpayne@69 697 #endif
jpayne@69 698 if (!(types_module = PyImport_ImportModule("types"))) goto end;
jpayne@69 699 if (!(code_type = PyObject_GetAttrString(types_module, "CodeType"))) goto end;
jpayne@69 700 if (minor_version <= 7) {
jpayne@69 701 (void)p;
jpayne@69 702 result = PyObject_CallFunction(code_type, "iiiiiOOOOOOiOO", a, k, l, s, f, code,
jpayne@69 703 c, n, v, fn, name, fline, lnos, fv, cell);
jpayne@69 704 } else if (minor_version <= 10) {
jpayne@69 705 result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOiOO", a,p, k, l, s, f, code,
jpayne@69 706 c, n, v, fn, name, fline, lnos, fv, cell);
jpayne@69 707 } else {
jpayne@69 708 if (!(exception_table = PyBytes_FromStringAndSize(NULL, 0))) goto end;
jpayne@69 709 result = PyObject_CallFunction(code_type, "iiiiiiOOOOOOOiOO", a,p, k, l, s, f, code,
jpayne@69 710 c, n, v, fn, name, name, fline, lnos, exception_table, fv, cell);
jpayne@69 711 }
jpayne@69 712 end:
jpayne@69 713 Py_XDECREF(code_type);
jpayne@69 714 Py_XDECREF(exception_table);
jpayne@69 715 Py_XDECREF(types_module);
jpayne@69 716 if (type) {
jpayne@69 717 PyErr_Restore(type, value, traceback);
jpayne@69 718 }
jpayne@69 719 return result;
jpayne@69 720 }
jpayne@69 721 #ifndef CO_OPTIMIZED
jpayne@69 722 #define CO_OPTIMIZED 0x0001
jpayne@69 723 #endif
jpayne@69 724 #ifndef CO_NEWLOCALS
jpayne@69 725 #define CO_NEWLOCALS 0x0002
jpayne@69 726 #endif
jpayne@69 727 #ifndef CO_VARARGS
jpayne@69 728 #define CO_VARARGS 0x0004
jpayne@69 729 #endif
jpayne@69 730 #ifndef CO_VARKEYWORDS
jpayne@69 731 #define CO_VARKEYWORDS 0x0008
jpayne@69 732 #endif
jpayne@69 733 #ifndef CO_ASYNC_GENERATOR
jpayne@69 734 #define CO_ASYNC_GENERATOR 0x0200
jpayne@69 735 #endif
jpayne@69 736 #ifndef CO_GENERATOR
jpayne@69 737 #define CO_GENERATOR 0x0020
jpayne@69 738 #endif
jpayne@69 739 #ifndef CO_COROUTINE
jpayne@69 740 #define CO_COROUTINE 0x0080
jpayne@69 741 #endif
jpayne@69 742 #elif PY_VERSION_HEX >= 0x030B0000
jpayne@69 743 static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f,
jpayne@69 744 PyObject *code, PyObject *c, PyObject* n, PyObject *v,
jpayne@69 745 PyObject *fv, PyObject *cell, PyObject* fn,
jpayne@69 746 PyObject *name, int fline, PyObject *lnos) {
jpayne@69 747 PyCodeObject *result;
jpayne@69 748 PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0);
jpayne@69 749 if (!empty_bytes) return NULL;
jpayne@69 750 result =
jpayne@69 751 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 752 PyUnstable_Code_NewWithPosOnlyArgs
jpayne@69 753 #else
jpayne@69 754 PyCode_NewWithPosOnlyArgs
jpayne@69 755 #endif
jpayne@69 756 (a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, name, fline, lnos, empty_bytes);
jpayne@69 757 Py_DECREF(empty_bytes);
jpayne@69 758 return result;
jpayne@69 759 }
jpayne@69 760 #elif PY_VERSION_HEX >= 0x030800B2 && !CYTHON_COMPILING_IN_PYPY
jpayne@69 761 #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
jpayne@69 762 PyCode_NewWithPosOnlyArgs(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
jpayne@69 763 #else
jpayne@69 764 #define __Pyx_PyCode_New(a, p, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
jpayne@69 765 PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
jpayne@69 766 #endif
jpayne@69 767 #endif
jpayne@69 768 #if PY_VERSION_HEX >= 0x030900A4 || defined(Py_IS_TYPE)
jpayne@69 769 #define __Pyx_IS_TYPE(ob, type) Py_IS_TYPE(ob, type)
jpayne@69 770 #else
jpayne@69 771 #define __Pyx_IS_TYPE(ob, type) (((const PyObject*)ob)->ob_type == (type))
jpayne@69 772 #endif
jpayne@69 773 #if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_Is)
jpayne@69 774 #define __Pyx_Py_Is(x, y) Py_Is(x, y)
jpayne@69 775 #else
jpayne@69 776 #define __Pyx_Py_Is(x, y) ((x) == (y))
jpayne@69 777 #endif
jpayne@69 778 #if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsNone)
jpayne@69 779 #define __Pyx_Py_IsNone(ob) Py_IsNone(ob)
jpayne@69 780 #else
jpayne@69 781 #define __Pyx_Py_IsNone(ob) __Pyx_Py_Is((ob), Py_None)
jpayne@69 782 #endif
jpayne@69 783 #if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsTrue)
jpayne@69 784 #define __Pyx_Py_IsTrue(ob) Py_IsTrue(ob)
jpayne@69 785 #else
jpayne@69 786 #define __Pyx_Py_IsTrue(ob) __Pyx_Py_Is((ob), Py_True)
jpayne@69 787 #endif
jpayne@69 788 #if PY_VERSION_HEX >= 0x030A00B1 || defined(Py_IsFalse)
jpayne@69 789 #define __Pyx_Py_IsFalse(ob) Py_IsFalse(ob)
jpayne@69 790 #else
jpayne@69 791 #define __Pyx_Py_IsFalse(ob) __Pyx_Py_Is((ob), Py_False)
jpayne@69 792 #endif
jpayne@69 793 #define __Pyx_NoneAsNull(obj) (__Pyx_Py_IsNone(obj) ? NULL : (obj))
jpayne@69 794 #if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
jpayne@69 795 #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
jpayne@69 796 #else
jpayne@69 797 #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
jpayne@69 798 #endif
jpayne@69 799 #ifndef CO_COROUTINE
jpayne@69 800 #define CO_COROUTINE 0x80
jpayne@69 801 #endif
jpayne@69 802 #ifndef CO_ASYNC_GENERATOR
jpayne@69 803 #define CO_ASYNC_GENERATOR 0x200
jpayne@69 804 #endif
jpayne@69 805 #ifndef Py_TPFLAGS_CHECKTYPES
jpayne@69 806 #define Py_TPFLAGS_CHECKTYPES 0
jpayne@69 807 #endif
jpayne@69 808 #ifndef Py_TPFLAGS_HAVE_INDEX
jpayne@69 809 #define Py_TPFLAGS_HAVE_INDEX 0
jpayne@69 810 #endif
jpayne@69 811 #ifndef Py_TPFLAGS_HAVE_NEWBUFFER
jpayne@69 812 #define Py_TPFLAGS_HAVE_NEWBUFFER 0
jpayne@69 813 #endif
jpayne@69 814 #ifndef Py_TPFLAGS_HAVE_FINALIZE
jpayne@69 815 #define Py_TPFLAGS_HAVE_FINALIZE 0
jpayne@69 816 #endif
jpayne@69 817 #ifndef Py_TPFLAGS_SEQUENCE
jpayne@69 818 #define Py_TPFLAGS_SEQUENCE 0
jpayne@69 819 #endif
jpayne@69 820 #ifndef Py_TPFLAGS_MAPPING
jpayne@69 821 #define Py_TPFLAGS_MAPPING 0
jpayne@69 822 #endif
jpayne@69 823 #ifndef METH_STACKLESS
jpayne@69 824 #define METH_STACKLESS 0
jpayne@69 825 #endif
jpayne@69 826 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
jpayne@69 827 #ifndef METH_FASTCALL
jpayne@69 828 #define METH_FASTCALL 0x80
jpayne@69 829 #endif
jpayne@69 830 typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs);
jpayne@69 831 typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
jpayne@69 832 Py_ssize_t nargs, PyObject *kwnames);
jpayne@69 833 #else
jpayne@69 834 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 835 # define __Pyx_PyCFunctionFast PyCFunctionFast
jpayne@69 836 # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
jpayne@69 837 #else
jpayne@69 838 # define __Pyx_PyCFunctionFast _PyCFunctionFast
jpayne@69 839 # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
jpayne@69 840 #endif
jpayne@69 841 #endif
jpayne@69 842 #if CYTHON_METH_FASTCALL
jpayne@69 843 #define __Pyx_METH_FASTCALL METH_FASTCALL
jpayne@69 844 #define __Pyx_PyCFunction_FastCall __Pyx_PyCFunctionFast
jpayne@69 845 #define __Pyx_PyCFunction_FastCallWithKeywords __Pyx_PyCFunctionFastWithKeywords
jpayne@69 846 #else
jpayne@69 847 #define __Pyx_METH_FASTCALL METH_VARARGS
jpayne@69 848 #define __Pyx_PyCFunction_FastCall PyCFunction
jpayne@69 849 #define __Pyx_PyCFunction_FastCallWithKeywords PyCFunctionWithKeywords
jpayne@69 850 #endif
jpayne@69 851 #if CYTHON_VECTORCALL
jpayne@69 852 #define __pyx_vectorcallfunc vectorcallfunc
jpayne@69 853 #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET PY_VECTORCALL_ARGUMENTS_OFFSET
jpayne@69 854 #define __Pyx_PyVectorcall_NARGS(n) PyVectorcall_NARGS((size_t)(n))
jpayne@69 855 #elif CYTHON_BACKPORT_VECTORCALL
jpayne@69 856 typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args,
jpayne@69 857 size_t nargsf, PyObject *kwnames);
jpayne@69 858 #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET ((size_t)1 << (8 * sizeof(size_t) - 1))
jpayne@69 859 #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(((size_t)(n)) & ~__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET))
jpayne@69 860 #else
jpayne@69 861 #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
jpayne@69 862 #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
jpayne@69 863 #endif
jpayne@69 864 #if PY_MAJOR_VERSION >= 0x030900B1
jpayne@69 865 #define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
jpayne@69 866 #else
jpayne@69 867 #define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
jpayne@69 868 #endif
jpayne@69 869 #define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
jpayne@69 870 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 871 #define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
jpayne@69 872 #elif !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 873 #define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
jpayne@69 874 #endif
jpayne@69 875 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 876 #define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
jpayne@69 877 static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
jpayne@69 878 return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
jpayne@69 879 }
jpayne@69 880 #endif
jpayne@69 881 static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
jpayne@69 882 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 883 return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
jpayne@69 884 #else
jpayne@69 885 return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
jpayne@69 886 #endif
jpayne@69 887 }
jpayne@69 888 #define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
jpayne@69 889 #if __PYX_LIMITED_VERSION_HEX < 0x030900B1
jpayne@69 890 #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
jpayne@69 891 typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
jpayne@69 892 #else
jpayne@69 893 #define __Pyx_PyType_FromModuleAndSpec(m, s, b) PyType_FromModuleAndSpec(m, s, b)
jpayne@69 894 #define __Pyx_PyCMethod PyCMethod
jpayne@69 895 #endif
jpayne@69 896 #ifndef METH_METHOD
jpayne@69 897 #define METH_METHOD 0x200
jpayne@69 898 #endif
jpayne@69 899 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
jpayne@69 900 #define PyObject_Malloc(s) PyMem_Malloc(s)
jpayne@69 901 #define PyObject_Free(p) PyMem_Free(p)
jpayne@69 902 #define PyObject_Realloc(p) PyMem_Realloc(p)
jpayne@69 903 #endif
jpayne@69 904 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 905 #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
jpayne@69 906 #define __Pyx_PyFrame_SetLineNumber(frame, lineno)
jpayne@69 907 #else
jpayne@69 908 #define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
jpayne@69 909 #define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
jpayne@69 910 #endif
jpayne@69 911 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 912 #define __Pyx_PyThreadState_Current PyThreadState_Get()
jpayne@69 913 #elif !CYTHON_FAST_THREAD_STATE
jpayne@69 914 #define __Pyx_PyThreadState_Current PyThreadState_GET()
jpayne@69 915 #elif PY_VERSION_HEX >= 0x030d00A1
jpayne@69 916 #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
jpayne@69 917 #elif PY_VERSION_HEX >= 0x03060000
jpayne@69 918 #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
jpayne@69 919 #elif PY_VERSION_HEX >= 0x03000000
jpayne@69 920 #define __Pyx_PyThreadState_Current PyThreadState_GET()
jpayne@69 921 #else
jpayne@69 922 #define __Pyx_PyThreadState_Current _PyThreadState_Current
jpayne@69 923 #endif
jpayne@69 924 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 925 static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op)
jpayne@69 926 {
jpayne@69 927 void *result;
jpayne@69 928 result = PyModule_GetState(op);
jpayne@69 929 if (!result)
jpayne@69 930 Py_FatalError("Couldn't find the module state");
jpayne@69 931 return result;
jpayne@69 932 }
jpayne@69 933 #endif
jpayne@69 934 #define __Pyx_PyObject_GetSlot(obj, name, func_ctype) __Pyx_PyType_GetSlot(Py_TYPE(obj), name, func_ctype)
jpayne@69 935 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 936 #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((func_ctype) PyType_GetSlot((type), Py_##name))
jpayne@69 937 #else
jpayne@69 938 #define __Pyx_PyType_GetSlot(type, name, func_ctype) ((type)->name)
jpayne@69 939 #endif
jpayne@69 940 #if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
jpayne@69 941 #include "pythread.h"
jpayne@69 942 #define Py_tss_NEEDS_INIT 0
jpayne@69 943 typedef int Py_tss_t;
jpayne@69 944 static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) {
jpayne@69 945 *key = PyThread_create_key();
jpayne@69 946 return 0;
jpayne@69 947 }
jpayne@69 948 static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) {
jpayne@69 949 Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t));
jpayne@69 950 *key = Py_tss_NEEDS_INIT;
jpayne@69 951 return key;
jpayne@69 952 }
jpayne@69 953 static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) {
jpayne@69 954 PyObject_Free(key);
jpayne@69 955 }
jpayne@69 956 static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) {
jpayne@69 957 return *key != Py_tss_NEEDS_INIT;
jpayne@69 958 }
jpayne@69 959 static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) {
jpayne@69 960 PyThread_delete_key(*key);
jpayne@69 961 *key = Py_tss_NEEDS_INIT;
jpayne@69 962 }
jpayne@69 963 static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) {
jpayne@69 964 return PyThread_set_key_value(*key, value);
jpayne@69 965 }
jpayne@69 966 static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
jpayne@69 967 return PyThread_get_key_value(*key);
jpayne@69 968 }
jpayne@69 969 #endif
jpayne@69 970 #if PY_MAJOR_VERSION < 3
jpayne@69 971 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 972 #if PYPY_VERSION_NUM < 0x07030600
jpayne@69 973 #if defined(__cplusplus) && __cplusplus >= 201402L
jpayne@69 974 [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]]
jpayne@69 975 #elif defined(__GNUC__) || defined(__clang__)
jpayne@69 976 __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")))
jpayne@69 977 #elif defined(_MSC_VER)
jpayne@69 978 __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))
jpayne@69 979 #endif
jpayne@69 980 static CYTHON_INLINE int PyGILState_Check(void) {
jpayne@69 981 return 0;
jpayne@69 982 }
jpayne@69 983 #else // PYPY_VERSION_NUM < 0x07030600
jpayne@69 984 #endif // PYPY_VERSION_NUM < 0x07030600
jpayne@69 985 #else
jpayne@69 986 static CYTHON_INLINE int PyGILState_Check(void) {
jpayne@69 987 PyThreadState * tstate = _PyThreadState_Current;
jpayne@69 988 return tstate && (tstate == PyGILState_GetThisThreadState());
jpayne@69 989 }
jpayne@69 990 #endif
jpayne@69 991 #endif
jpayne@69 992 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
jpayne@69 993 #define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
jpayne@69 994 #else
jpayne@69 995 #define __Pyx_PyDict_NewPresized(n) PyDict_New()
jpayne@69 996 #endif
jpayne@69 997 #if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
jpayne@69 998 #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
jpayne@69 999 #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
jpayne@69 1000 #else
jpayne@69 1001 #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
jpayne@69 1002 #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
jpayne@69 1003 #endif
jpayne@69 1004 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
jpayne@69 1005 #define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
jpayne@69 1006 static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
jpayne@69 1007 PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
jpayne@69 1008 if (res == NULL) PyErr_Clear();
jpayne@69 1009 return res;
jpayne@69 1010 }
jpayne@69 1011 #elif PY_MAJOR_VERSION >= 3 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07020000)
jpayne@69 1012 #define __Pyx_PyDict_GetItemStrWithError PyDict_GetItemWithError
jpayne@69 1013 #define __Pyx_PyDict_GetItemStr PyDict_GetItem
jpayne@69 1014 #else
jpayne@69 1015 static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) {
jpayne@69 1016 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 1017 return PyDict_GetItem(dict, name);
jpayne@69 1018 #else
jpayne@69 1019 PyDictEntry *ep;
jpayne@69 1020 PyDictObject *mp = (PyDictObject*) dict;
jpayne@69 1021 long hash = ((PyStringObject *) name)->ob_shash;
jpayne@69 1022 assert(hash != -1);
jpayne@69 1023 ep = (mp->ma_lookup)(mp, name, hash);
jpayne@69 1024 if (ep == NULL) {
jpayne@69 1025 return NULL;
jpayne@69 1026 }
jpayne@69 1027 return ep->me_value;
jpayne@69 1028 #endif
jpayne@69 1029 }
jpayne@69 1030 #define __Pyx_PyDict_GetItemStr PyDict_GetItem
jpayne@69 1031 #endif
jpayne@69 1032 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 1033 #define __Pyx_PyType_GetFlags(tp) (((PyTypeObject *)tp)->tp_flags)
jpayne@69 1034 #define __Pyx_PyType_HasFeature(type, feature) ((__Pyx_PyType_GetFlags(type) & (feature)) != 0)
jpayne@69 1035 #define __Pyx_PyObject_GetIterNextFunc(obj) (Py_TYPE(obj)->tp_iternext)
jpayne@69 1036 #else
jpayne@69 1037 #define __Pyx_PyType_GetFlags(tp) (PyType_GetFlags((PyTypeObject *)tp))
jpayne@69 1038 #define __Pyx_PyType_HasFeature(type, feature) PyType_HasFeature(type, feature)
jpayne@69 1039 #define __Pyx_PyObject_GetIterNextFunc(obj) PyIter_Next
jpayne@69 1040 #endif
jpayne@69 1041 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 1042 #define __Pyx_SetItemOnTypeDict(tp, k, v) PyObject_GenericSetAttr((PyObject*)tp, k, v)
jpayne@69 1043 #else
jpayne@69 1044 #define __Pyx_SetItemOnTypeDict(tp, k, v) PyDict_SetItem(tp->tp_dict, k, v)
jpayne@69 1045 #endif
jpayne@69 1046 #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
jpayne@69 1047 #define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
jpayne@69 1048 PyTypeObject *type = Py_TYPE((PyObject*)obj);\
jpayne@69 1049 assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
jpayne@69 1050 PyObject_GC_Del(obj);\
jpayne@69 1051 Py_DECREF(type);\
jpayne@69 1052 }
jpayne@69 1053 #else
jpayne@69 1054 #define __Pyx_PyHeapTypeObject_GC_Del(obj) PyObject_GC_Del(obj)
jpayne@69 1055 #endif
jpayne@69 1056 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 1057 #define CYTHON_PEP393_ENABLED 1
jpayne@69 1058 #define __Pyx_PyUnicode_READY(op) (0)
jpayne@69 1059 #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GetLength(u)
jpayne@69 1060 #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_ReadChar(u, i)
jpayne@69 1061 #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((void)u, 1114111U)
jpayne@69 1062 #define __Pyx_PyUnicode_KIND(u) ((void)u, (0))
jpayne@69 1063 #define __Pyx_PyUnicode_DATA(u) ((void*)u)
jpayne@69 1064 #define __Pyx_PyUnicode_READ(k, d, i) ((void)k, PyUnicode_ReadChar((PyObject*)(d), i))
jpayne@69 1065 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GetLength(u))
jpayne@69 1066 #elif PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
jpayne@69 1067 #define CYTHON_PEP393_ENABLED 1
jpayne@69 1068 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 1069 #define __Pyx_PyUnicode_READY(op) (0)
jpayne@69 1070 #else
jpayne@69 1071 #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
jpayne@69 1072 0 : _PyUnicode_Ready((PyObject *)(op)))
jpayne@69 1073 #endif
jpayne@69 1074 #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
jpayne@69 1075 #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
jpayne@69 1076 #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
jpayne@69 1077 #define __Pyx_PyUnicode_KIND(u) ((int)PyUnicode_KIND(u))
jpayne@69 1078 #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
jpayne@69 1079 #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
jpayne@69 1080 #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, (Py_UCS4) ch)
jpayne@69 1081 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 1082 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
jpayne@69 1083 #else
jpayne@69 1084 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
jpayne@69 1085 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
jpayne@69 1086 #else
jpayne@69 1087 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
jpayne@69 1088 #endif
jpayne@69 1089 #endif
jpayne@69 1090 #else
jpayne@69 1091 #define CYTHON_PEP393_ENABLED 0
jpayne@69 1092 #define PyUnicode_1BYTE_KIND 1
jpayne@69 1093 #define PyUnicode_2BYTE_KIND 2
jpayne@69 1094 #define PyUnicode_4BYTE_KIND 4
jpayne@69 1095 #define __Pyx_PyUnicode_READY(op) (0)
jpayne@69 1096 #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
jpayne@69 1097 #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
jpayne@69 1098 #define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535U : 1114111U)
jpayne@69 1099 #define __Pyx_PyUnicode_KIND(u) ((int)sizeof(Py_UNICODE))
jpayne@69 1100 #define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
jpayne@69 1101 #define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
jpayne@69 1102 #define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = (Py_UNICODE) ch)
jpayne@69 1103 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))
jpayne@69 1104 #endif
jpayne@69 1105 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 1106 #define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
jpayne@69 1107 #define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
jpayne@69 1108 #else
jpayne@69 1109 #define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
jpayne@69 1110 #define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
jpayne@69 1111 PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
jpayne@69 1112 #endif
jpayne@69 1113 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 1114 #if !defined(PyUnicode_DecodeUnicodeEscape)
jpayne@69 1115 #define PyUnicode_DecodeUnicodeEscape(s, size, errors) PyUnicode_Decode(s, size, "unicode_escape", errors)
jpayne@69 1116 #endif
jpayne@69 1117 #if !defined(PyUnicode_Contains) || (PY_MAJOR_VERSION == 2 && PYPY_VERSION_NUM < 0x07030500)
jpayne@69 1118 #undef PyUnicode_Contains
jpayne@69 1119 #define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
jpayne@69 1120 #endif
jpayne@69 1121 #if !defined(PyByteArray_Check)
jpayne@69 1122 #define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
jpayne@69 1123 #endif
jpayne@69 1124 #if !defined(PyObject_Format)
jpayne@69 1125 #define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
jpayne@69 1126 #endif
jpayne@69 1127 #endif
jpayne@69 1128 #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))
jpayne@69 1129 #define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
jpayne@69 1130 #if PY_MAJOR_VERSION >= 3
jpayne@69 1131 #define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
jpayne@69 1132 #else
jpayne@69 1133 #define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
jpayne@69 1134 #endif
jpayne@69 1135 #if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
jpayne@69 1136 #define PyObject_ASCII(o) PyObject_Repr(o)
jpayne@69 1137 #endif
jpayne@69 1138 #if PY_MAJOR_VERSION >= 3
jpayne@69 1139 #define PyBaseString_Type PyUnicode_Type
jpayne@69 1140 #define PyStringObject PyUnicodeObject
jpayne@69 1141 #define PyString_Type PyUnicode_Type
jpayne@69 1142 #define PyString_Check PyUnicode_Check
jpayne@69 1143 #define PyString_CheckExact PyUnicode_CheckExact
jpayne@69 1144 #ifndef PyObject_Unicode
jpayne@69 1145 #define PyObject_Unicode PyObject_Str
jpayne@69 1146 #endif
jpayne@69 1147 #endif
jpayne@69 1148 #if PY_MAJOR_VERSION >= 3
jpayne@69 1149 #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
jpayne@69 1150 #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
jpayne@69 1151 #else
jpayne@69 1152 #define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
jpayne@69 1153 #define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
jpayne@69 1154 #endif
jpayne@69 1155 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 1156 #define __Pyx_PySequence_ListKeepNew(obj)\
jpayne@69 1157 (likely(PyList_CheckExact(obj) && Py_REFCNT(obj) == 1) ? __Pyx_NewRef(obj) : PySequence_List(obj))
jpayne@69 1158 #else
jpayne@69 1159 #define __Pyx_PySequence_ListKeepNew(obj) PySequence_List(obj)
jpayne@69 1160 #endif
jpayne@69 1161 #ifndef PySet_CheckExact
jpayne@69 1162 #define PySet_CheckExact(obj) __Pyx_IS_TYPE(obj, &PySet_Type)
jpayne@69 1163 #endif
jpayne@69 1164 #if PY_VERSION_HEX >= 0x030900A4
jpayne@69 1165 #define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
jpayne@69 1166 #define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
jpayne@69 1167 #else
jpayne@69 1168 #define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
jpayne@69 1169 #define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
jpayne@69 1170 #endif
jpayne@69 1171 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 1172 #define __Pyx_PySequence_ITEM(o, i) PySequence_ITEM(o, i)
jpayne@69 1173 #define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
jpayne@69 1174 #define __Pyx_PyTuple_SET_ITEM(o, i, v) (PyTuple_SET_ITEM(o, i, v), (0))
jpayne@69 1175 #define __Pyx_PyList_SET_ITEM(o, i, v) (PyList_SET_ITEM(o, i, v), (0))
jpayne@69 1176 #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_GET_SIZE(o)
jpayne@69 1177 #define __Pyx_PyList_GET_SIZE(o) PyList_GET_SIZE(o)
jpayne@69 1178 #define __Pyx_PySet_GET_SIZE(o) PySet_GET_SIZE(o)
jpayne@69 1179 #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
jpayne@69 1180 #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_GET_SIZE(o)
jpayne@69 1181 #else
jpayne@69 1182 #define __Pyx_PySequence_ITEM(o, i) PySequence_GetItem(o, i)
jpayne@69 1183 #define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
jpayne@69 1184 #define __Pyx_PyTuple_SET_ITEM(o, i, v) PyTuple_SetItem(o, i, v)
jpayne@69 1185 #define __Pyx_PyList_SET_ITEM(o, i, v) PyList_SetItem(o, i, v)
jpayne@69 1186 #define __Pyx_PyTuple_GET_SIZE(o) PyTuple_Size(o)
jpayne@69 1187 #define __Pyx_PyList_GET_SIZE(o) PyList_Size(o)
jpayne@69 1188 #define __Pyx_PySet_GET_SIZE(o) PySet_Size(o)
jpayne@69 1189 #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
jpayne@69 1190 #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
jpayne@69 1191 #endif
jpayne@69 1192 #if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
jpayne@69 1193 #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
jpayne@69 1194 #else
jpayne@69 1195 static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
jpayne@69 1196 PyObject *module = PyImport_AddModule(name);
jpayne@69 1197 Py_XINCREF(module);
jpayne@69 1198 return module;
jpayne@69 1199 }
jpayne@69 1200 #endif
jpayne@69 1201 #if PY_MAJOR_VERSION >= 3
jpayne@69 1202 #define PyIntObject PyLongObject
jpayne@69 1203 #define PyInt_Type PyLong_Type
jpayne@69 1204 #define PyInt_Check(op) PyLong_Check(op)
jpayne@69 1205 #define PyInt_CheckExact(op) PyLong_CheckExact(op)
jpayne@69 1206 #define __Pyx_Py3Int_Check(op) PyLong_Check(op)
jpayne@69 1207 #define __Pyx_Py3Int_CheckExact(op) PyLong_CheckExact(op)
jpayne@69 1208 #define PyInt_FromString PyLong_FromString
jpayne@69 1209 #define PyInt_FromUnicode PyLong_FromUnicode
jpayne@69 1210 #define PyInt_FromLong PyLong_FromLong
jpayne@69 1211 #define PyInt_FromSize_t PyLong_FromSize_t
jpayne@69 1212 #define PyInt_FromSsize_t PyLong_FromSsize_t
jpayne@69 1213 #define PyInt_AsLong PyLong_AsLong
jpayne@69 1214 #define PyInt_AS_LONG PyLong_AS_LONG
jpayne@69 1215 #define PyInt_AsSsize_t PyLong_AsSsize_t
jpayne@69 1216 #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
jpayne@69 1217 #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
jpayne@69 1218 #define PyNumber_Int PyNumber_Long
jpayne@69 1219 #else
jpayne@69 1220 #define __Pyx_Py3Int_Check(op) (PyLong_Check(op) || PyInt_Check(op))
jpayne@69 1221 #define __Pyx_Py3Int_CheckExact(op) (PyLong_CheckExact(op) || PyInt_CheckExact(op))
jpayne@69 1222 #endif
jpayne@69 1223 #if PY_MAJOR_VERSION >= 3
jpayne@69 1224 #define PyBoolObject PyLongObject
jpayne@69 1225 #endif
jpayne@69 1226 #if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
jpayne@69 1227 #ifndef PyUnicode_InternFromString
jpayne@69 1228 #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
jpayne@69 1229 #endif
jpayne@69 1230 #endif
jpayne@69 1231 #if PY_VERSION_HEX < 0x030200A4
jpayne@69 1232 typedef long Py_hash_t;
jpayne@69 1233 #define __Pyx_PyInt_FromHash_t PyInt_FromLong
jpayne@69 1234 #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsHash_t
jpayne@69 1235 #else
jpayne@69 1236 #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
jpayne@69 1237 #define __Pyx_PyInt_AsHash_t __Pyx_PyIndex_AsSsize_t
jpayne@69 1238 #endif
jpayne@69 1239 #if CYTHON_USE_ASYNC_SLOTS
jpayne@69 1240 #if PY_VERSION_HEX >= 0x030500B1
jpayne@69 1241 #define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
jpayne@69 1242 #define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
jpayne@69 1243 #else
jpayne@69 1244 #define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
jpayne@69 1245 #endif
jpayne@69 1246 #else
jpayne@69 1247 #define __Pyx_PyType_AsAsync(obj) NULL
jpayne@69 1248 #endif
jpayne@69 1249 #ifndef __Pyx_PyAsyncMethodsStruct
jpayne@69 1250 typedef struct {
jpayne@69 1251 unaryfunc am_await;
jpayne@69 1252 unaryfunc am_aiter;
jpayne@69 1253 unaryfunc am_anext;
jpayne@69 1254 } __Pyx_PyAsyncMethodsStruct;
jpayne@69 1255 #endif
jpayne@69 1256
jpayne@69 1257 #if defined(_WIN32) || defined(WIN32) || defined(MS_WINDOWS)
jpayne@69 1258 #if !defined(_USE_MATH_DEFINES)
jpayne@69 1259 #define _USE_MATH_DEFINES
jpayne@69 1260 #endif
jpayne@69 1261 #endif
jpayne@69 1262 #include <math.h>
jpayne@69 1263 #ifdef NAN
jpayne@69 1264 #define __PYX_NAN() ((float) NAN)
jpayne@69 1265 #else
jpayne@69 1266 static CYTHON_INLINE float __PYX_NAN() {
jpayne@69 1267 float value;
jpayne@69 1268 memset(&value, 0xFF, sizeof(value));
jpayne@69 1269 return value;
jpayne@69 1270 }
jpayne@69 1271 #endif
jpayne@69 1272 #if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
jpayne@69 1273 #define __Pyx_truncl trunc
jpayne@69 1274 #else
jpayne@69 1275 #define __Pyx_truncl truncl
jpayne@69 1276 #endif
jpayne@69 1277
jpayne@69 1278 #define __PYX_MARK_ERR_POS(f_index, lineno) \
jpayne@69 1279 { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
jpayne@69 1280 #define __PYX_ERR(f_index, lineno, Ln_error) \
jpayne@69 1281 { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
jpayne@69 1282
jpayne@69 1283 #ifdef CYTHON_EXTERN_C
jpayne@69 1284 #undef __PYX_EXTERN_C
jpayne@69 1285 #define __PYX_EXTERN_C CYTHON_EXTERN_C
jpayne@69 1286 #elif defined(__PYX_EXTERN_C)
jpayne@69 1287 #ifdef _MSC_VER
jpayne@69 1288 #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
jpayne@69 1289 #else
jpayne@69 1290 #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
jpayne@69 1291 #endif
jpayne@69 1292 #else
jpayne@69 1293 #ifdef __cplusplus
jpayne@69 1294 #define __PYX_EXTERN_C extern "C"
jpayne@69 1295 #else
jpayne@69 1296 #define __PYX_EXTERN_C extern
jpayne@69 1297 #endif
jpayne@69 1298 #endif
jpayne@69 1299
jpayne@69 1300 #define __PYX_HAVE__pysam__libctabixproxies
jpayne@69 1301 #define __PYX_HAVE_API__pysam__libctabixproxies
jpayne@69 1302 /* Early includes */
jpayne@69 1303 #include <stdint.h>
jpayne@69 1304 #include <string.h>
jpayne@69 1305 #include <stdio.h>
jpayne@69 1306 #include <stddef.h>
jpayne@69 1307 #include "pythread.h"
jpayne@69 1308 #include <stdlib.h>
jpayne@69 1309
jpayne@69 1310 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 1311 #ifdef _MSC_VER
jpayne@69 1312 #pragma message ("This module uses CPython specific internals of 'array.array', which are not available in PyPy.")
jpayne@69 1313 #else
jpayne@69 1314 #warning This module uses CPython specific internals of 'array.array', which are not available in PyPy.
jpayne@69 1315 #endif
jpayne@69 1316 #endif
jpayne@69 1317
jpayne@69 1318 #ifdef _OPENMP
jpayne@69 1319 #include <omp.h>
jpayne@69 1320 #endif /* _OPENMP */
jpayne@69 1321
jpayne@69 1322 #if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
jpayne@69 1323 #define CYTHON_WITHOUT_ASSERTIONS
jpayne@69 1324 #endif
jpayne@69 1325
jpayne@69 1326 typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding;
jpayne@69 1327 const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry;
jpayne@69 1328
jpayne@69 1329 #define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
jpayne@69 1330 #define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
jpayne@69 1331 #define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
jpayne@69 1332 #define __PYX_DEFAULT_STRING_ENCODING ""
jpayne@69 1333 #define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
jpayne@69 1334 #define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
jpayne@69 1335 #define __Pyx_uchar_cast(c) ((unsigned char)c)
jpayne@69 1336 #define __Pyx_long_cast(x) ((long)x)
jpayne@69 1337 #define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
jpayne@69 1338 (sizeof(type) < sizeof(Py_ssize_t)) ||\
jpayne@69 1339 (sizeof(type) > sizeof(Py_ssize_t) &&\
jpayne@69 1340 likely(v < (type)PY_SSIZE_T_MAX ||\
jpayne@69 1341 v == (type)PY_SSIZE_T_MAX) &&\
jpayne@69 1342 (!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
jpayne@69 1343 v == (type)PY_SSIZE_T_MIN))) ||\
jpayne@69 1344 (sizeof(type) == sizeof(Py_ssize_t) &&\
jpayne@69 1345 (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
jpayne@69 1346 v == (type)PY_SSIZE_T_MAX))) )
jpayne@69 1347 static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
jpayne@69 1348 return (size_t) i < (size_t) limit;
jpayne@69 1349 }
jpayne@69 1350 #if defined (__cplusplus) && __cplusplus >= 201103L
jpayne@69 1351 #include <cstdlib>
jpayne@69 1352 #define __Pyx_sst_abs(value) std::abs(value)
jpayne@69 1353 #elif SIZEOF_INT >= SIZEOF_SIZE_T
jpayne@69 1354 #define __Pyx_sst_abs(value) abs(value)
jpayne@69 1355 #elif SIZEOF_LONG >= SIZEOF_SIZE_T
jpayne@69 1356 #define __Pyx_sst_abs(value) labs(value)
jpayne@69 1357 #elif defined (_MSC_VER)
jpayne@69 1358 #define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
jpayne@69 1359 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
jpayne@69 1360 #define __Pyx_sst_abs(value) llabs(value)
jpayne@69 1361 #elif defined (__GNUC__)
jpayne@69 1362 #define __Pyx_sst_abs(value) __builtin_llabs(value)
jpayne@69 1363 #else
jpayne@69 1364 #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
jpayne@69 1365 #endif
jpayne@69 1366 static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
jpayne@69 1367 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
jpayne@69 1368 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
jpayne@69 1369 static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
jpayne@69 1370 #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
jpayne@69 1371 #define __Pyx_PyBytes_FromString PyBytes_FromString
jpayne@69 1372 #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
jpayne@69 1373 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
jpayne@69 1374 #if PY_MAJOR_VERSION < 3
jpayne@69 1375 #define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
jpayne@69 1376 #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
jpayne@69 1377 #else
jpayne@69 1378 #define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
jpayne@69 1379 #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
jpayne@69 1380 #endif
jpayne@69 1381 #define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
jpayne@69 1382 #define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
jpayne@69 1383 #define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
jpayne@69 1384 #define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
jpayne@69 1385 #define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
jpayne@69 1386 #define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
jpayne@69 1387 #define __Pyx_PyObject_AsWritableString(s) ((char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
jpayne@69 1388 #define __Pyx_PyObject_AsWritableSString(s) ((signed char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
jpayne@69 1389 #define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*)(__pyx_uintptr_t) __Pyx_PyObject_AsString(s))
jpayne@69 1390 #define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
jpayne@69 1391 #define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
jpayne@69 1392 #define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
jpayne@69 1393 #define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
jpayne@69 1394 #define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
jpayne@69 1395 #define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
jpayne@69 1396 #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
jpayne@69 1397 #define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o)
jpayne@69 1398 #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
jpayne@69 1399 #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
jpayne@69 1400 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
jpayne@69 1401 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
jpayne@69 1402 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
jpayne@69 1403 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
jpayne@69 1404 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
jpayne@69 1405 #define __Pyx_PySequence_Tuple(obj)\
jpayne@69 1406 (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
jpayne@69 1407 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
jpayne@69 1408 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
jpayne@69 1409 static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
jpayne@69 1410 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 1411 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
jpayne@69 1412 #else
jpayne@69 1413 #define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
jpayne@69 1414 #endif
jpayne@69 1415 #define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
jpayne@69 1416 #if PY_MAJOR_VERSION >= 3
jpayne@69 1417 #define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
jpayne@69 1418 #else
jpayne@69 1419 #define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
jpayne@69 1420 #endif
jpayne@69 1421 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 1422 #if PY_VERSION_HEX >= 0x030C00A7
jpayne@69 1423 #ifndef _PyLong_SIGN_MASK
jpayne@69 1424 #define _PyLong_SIGN_MASK 3
jpayne@69 1425 #endif
jpayne@69 1426 #ifndef _PyLong_NON_SIZE_BITS
jpayne@69 1427 #define _PyLong_NON_SIZE_BITS 3
jpayne@69 1428 #endif
jpayne@69 1429 #define __Pyx_PyLong_Sign(x) (((PyLongObject*)x)->long_value.lv_tag & _PyLong_SIGN_MASK)
jpayne@69 1430 #define __Pyx_PyLong_IsNeg(x) ((__Pyx_PyLong_Sign(x) & 2) != 0)
jpayne@69 1431 #define __Pyx_PyLong_IsNonNeg(x) (!__Pyx_PyLong_IsNeg(x))
jpayne@69 1432 #define __Pyx_PyLong_IsZero(x) (__Pyx_PyLong_Sign(x) & 1)
jpayne@69 1433 #define __Pyx_PyLong_IsPos(x) (__Pyx_PyLong_Sign(x) == 0)
jpayne@69 1434 #define __Pyx_PyLong_CompactValueUnsigned(x) (__Pyx_PyLong_Digits(x)[0])
jpayne@69 1435 #define __Pyx_PyLong_DigitCount(x) ((Py_ssize_t) (((PyLongObject*)x)->long_value.lv_tag >> _PyLong_NON_SIZE_BITS))
jpayne@69 1436 #define __Pyx_PyLong_SignedDigitCount(x)\
jpayne@69 1437 ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
jpayne@69 1438 #if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
jpayne@69 1439 #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x)
jpayne@69 1440 #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x)
jpayne@69 1441 #else
jpayne@69 1442 #define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
jpayne@69 1443 #define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
jpayne@69 1444 #endif
jpayne@69 1445 typedef Py_ssize_t __Pyx_compact_pylong;
jpayne@69 1446 typedef size_t __Pyx_compact_upylong;
jpayne@69 1447 #else
jpayne@69 1448 #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0)
jpayne@69 1449 #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0)
jpayne@69 1450 #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0)
jpayne@69 1451 #define __Pyx_PyLong_IsPos(x) (Py_SIZE(x) > 0)
jpayne@69 1452 #define __Pyx_PyLong_CompactValueUnsigned(x) ((Py_SIZE(x) == 0) ? 0 : __Pyx_PyLong_Digits(x)[0])
jpayne@69 1453 #define __Pyx_PyLong_DigitCount(x) __Pyx_sst_abs(Py_SIZE(x))
jpayne@69 1454 #define __Pyx_PyLong_SignedDigitCount(x) Py_SIZE(x)
jpayne@69 1455 #define __Pyx_PyLong_IsCompact(x) (Py_SIZE(x) == 0 || Py_SIZE(x) == 1 || Py_SIZE(x) == -1)
jpayne@69 1456 #define __Pyx_PyLong_CompactValue(x)\
jpayne@69 1457 ((Py_SIZE(x) == 0) ? (sdigit) 0 : ((Py_SIZE(x) < 0) ? -(sdigit)__Pyx_PyLong_Digits(x)[0] : (sdigit)__Pyx_PyLong_Digits(x)[0]))
jpayne@69 1458 typedef sdigit __Pyx_compact_pylong;
jpayne@69 1459 typedef digit __Pyx_compact_upylong;
jpayne@69 1460 #endif
jpayne@69 1461 #if PY_VERSION_HEX >= 0x030C00A5
jpayne@69 1462 #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->long_value.ob_digit)
jpayne@69 1463 #else
jpayne@69 1464 #define __Pyx_PyLong_Digits(x) (((PyLongObject*)x)->ob_digit)
jpayne@69 1465 #endif
jpayne@69 1466 #endif
jpayne@69 1467 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
jpayne@69 1468 #include <string.h>
jpayne@69 1469 static int __Pyx_sys_getdefaultencoding_not_ascii;
jpayne@69 1470 static int __Pyx_init_sys_getdefaultencoding_params(void) {
jpayne@69 1471 PyObject* sys;
jpayne@69 1472 PyObject* default_encoding = NULL;
jpayne@69 1473 PyObject* ascii_chars_u = NULL;
jpayne@69 1474 PyObject* ascii_chars_b = NULL;
jpayne@69 1475 const char* default_encoding_c;
jpayne@69 1476 sys = PyImport_ImportModule("sys");
jpayne@69 1477 if (!sys) goto bad;
jpayne@69 1478 default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL);
jpayne@69 1479 Py_DECREF(sys);
jpayne@69 1480 if (!default_encoding) goto bad;
jpayne@69 1481 default_encoding_c = PyBytes_AsString(default_encoding);
jpayne@69 1482 if (!default_encoding_c) goto bad;
jpayne@69 1483 if (strcmp(default_encoding_c, "ascii") == 0) {
jpayne@69 1484 __Pyx_sys_getdefaultencoding_not_ascii = 0;
jpayne@69 1485 } else {
jpayne@69 1486 char ascii_chars[128];
jpayne@69 1487 int c;
jpayne@69 1488 for (c = 0; c < 128; c++) {
jpayne@69 1489 ascii_chars[c] = (char) c;
jpayne@69 1490 }
jpayne@69 1491 __Pyx_sys_getdefaultencoding_not_ascii = 1;
jpayne@69 1492 ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
jpayne@69 1493 if (!ascii_chars_u) goto bad;
jpayne@69 1494 ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
jpayne@69 1495 if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
jpayne@69 1496 PyErr_Format(
jpayne@69 1497 PyExc_ValueError,
jpayne@69 1498 "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.",
jpayne@69 1499 default_encoding_c);
jpayne@69 1500 goto bad;
jpayne@69 1501 }
jpayne@69 1502 Py_DECREF(ascii_chars_u);
jpayne@69 1503 Py_DECREF(ascii_chars_b);
jpayne@69 1504 }
jpayne@69 1505 Py_DECREF(default_encoding);
jpayne@69 1506 return 0;
jpayne@69 1507 bad:
jpayne@69 1508 Py_XDECREF(default_encoding);
jpayne@69 1509 Py_XDECREF(ascii_chars_u);
jpayne@69 1510 Py_XDECREF(ascii_chars_b);
jpayne@69 1511 return -1;
jpayne@69 1512 }
jpayne@69 1513 #endif
jpayne@69 1514 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
jpayne@69 1515 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
jpayne@69 1516 #else
jpayne@69 1517 #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
jpayne@69 1518 #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
jpayne@69 1519 #include <string.h>
jpayne@69 1520 static char* __PYX_DEFAULT_STRING_ENCODING;
jpayne@69 1521 static int __Pyx_init_sys_getdefaultencoding_params(void) {
jpayne@69 1522 PyObject* sys;
jpayne@69 1523 PyObject* default_encoding = NULL;
jpayne@69 1524 char* default_encoding_c;
jpayne@69 1525 sys = PyImport_ImportModule("sys");
jpayne@69 1526 if (!sys) goto bad;
jpayne@69 1527 default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
jpayne@69 1528 Py_DECREF(sys);
jpayne@69 1529 if (!default_encoding) goto bad;
jpayne@69 1530 default_encoding_c = PyBytes_AsString(default_encoding);
jpayne@69 1531 if (!default_encoding_c) goto bad;
jpayne@69 1532 __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
jpayne@69 1533 if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
jpayne@69 1534 strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
jpayne@69 1535 Py_DECREF(default_encoding);
jpayne@69 1536 return 0;
jpayne@69 1537 bad:
jpayne@69 1538 Py_XDECREF(default_encoding);
jpayne@69 1539 return -1;
jpayne@69 1540 }
jpayne@69 1541 #endif
jpayne@69 1542 #endif
jpayne@69 1543
jpayne@69 1544
jpayne@69 1545 /* Test for GCC > 2.95 */
jpayne@69 1546 #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
jpayne@69 1547 #define likely(x) __builtin_expect(!!(x), 1)
jpayne@69 1548 #define unlikely(x) __builtin_expect(!!(x), 0)
jpayne@69 1549 #else /* !__GNUC__ or GCC < 2.95 */
jpayne@69 1550 #define likely(x) (x)
jpayne@69 1551 #define unlikely(x) (x)
jpayne@69 1552 #endif /* __GNUC__ */
jpayne@69 1553 static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
jpayne@69 1554
jpayne@69 1555 #if !CYTHON_USE_MODULE_STATE
jpayne@69 1556 static PyObject *__pyx_m = NULL;
jpayne@69 1557 #endif
jpayne@69 1558 static int __pyx_lineno;
jpayne@69 1559 static int __pyx_clineno = 0;
jpayne@69 1560 static const char * __pyx_cfilenm = __FILE__;
jpayne@69 1561 static const char *__pyx_filename;
jpayne@69 1562
jpayne@69 1563 /* #### Code section: filename_table ### */
jpayne@69 1564
jpayne@69 1565 static const char *__pyx_f[] = {
jpayne@69 1566 "pysam/libctabixproxies.pyx",
jpayne@69 1567 "<stringsource>",
jpayne@69 1568 "contextvars.pxd",
jpayne@69 1569 "array.pxd",
jpayne@69 1570 "type.pxd",
jpayne@69 1571 "bool.pxd",
jpayne@69 1572 "complex.pxd",
jpayne@69 1573 };
jpayne@69 1574 /* #### Code section: utility_code_proto_before_types ### */
jpayne@69 1575 /* ForceInitThreads.proto */
jpayne@69 1576 #ifndef __PYX_FORCE_INIT_THREADS
jpayne@69 1577 #define __PYX_FORCE_INIT_THREADS 0
jpayne@69 1578 #endif
jpayne@69 1579
jpayne@69 1580 /* #### Code section: numeric_typedefs ### */
jpayne@69 1581 /* #### Code section: complex_type_declarations ### */
jpayne@69 1582 /* #### Code section: type_declarations ### */
jpayne@69 1583
jpayne@69 1584 /*--- Type declarations ---*/
jpayne@69 1585 #ifndef _ARRAYARRAY_H
jpayne@69 1586 struct arrayobject;
jpayne@69 1587 typedef struct arrayobject arrayobject;
jpayne@69 1588 #endif
jpayne@69 1589 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 1590 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator;
jpayne@69 1591 struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 1592 struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 1593 struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy;
jpayne@69 1594 struct __pyx_obj_5pysam_16libctabixproxies_BedProxy;
jpayne@69 1595 struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy;
jpayne@69 1596 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator;
jpayne@69 1597 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator;
jpayne@69 1598 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr;
jpayne@69 1599 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v;
jpayne@69 1600 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v;
jpayne@69 1601 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v;
jpayne@69 1602 struct __pyx_opt_args_7cpython_11contextvars_get_value;
jpayne@69 1603 struct __pyx_opt_args_7cpython_11contextvars_get_value_no_default;
jpayne@69 1604
jpayne@69 1605 /* "cpython/contextvars.pxd":112
jpayne@69 1606 *
jpayne@69 1607 *
jpayne@69 1608 * cdef inline object get_value(var, default_value=None): # <<<<<<<<<<<<<<
jpayne@69 1609 * """Return a new reference to the value of the context variable,
jpayne@69 1610 * or the default value of the context variable,
jpayne@69 1611 */
jpayne@69 1612 struct __pyx_opt_args_7cpython_11contextvars_get_value {
jpayne@69 1613 int __pyx_n;
jpayne@69 1614 PyObject *default_value;
jpayne@69 1615 };
jpayne@69 1616
jpayne@69 1617 /* "cpython/contextvars.pxd":129
jpayne@69 1618 *
jpayne@69 1619 *
jpayne@69 1620 * cdef inline object get_value_no_default(var, default_value=None): # <<<<<<<<<<<<<<
jpayne@69 1621 * """Return a new reference to the value of the context variable,
jpayne@69 1622 * or the provided default value if no such value was found.
jpayne@69 1623 */
jpayne@69 1624 struct __pyx_opt_args_7cpython_11contextvars_get_value_no_default {
jpayne@69 1625 int __pyx_n;
jpayne@69 1626 PyObject *default_value;
jpayne@69 1627 };
jpayne@69 1628 struct __pyx_opt_args_5pysam_9libcutils_parse_region;
jpayne@69 1629 struct __pyx_opt_args_5pysam_9libcutils_qualitystring_to_array;
jpayne@69 1630 struct __pyx_opt_args_5pysam_9libcutils_array_to_qualitystring;
jpayne@69 1631 struct __pyx_opt_args_5pysam_9libcutils_qualities_to_qualitystring;
jpayne@69 1632 struct __pyx_opt_args_5pysam_9libcutils_charptr_to_str;
jpayne@69 1633 struct __pyx_opt_args_5pysam_9libcutils_charptr_to_bytes;
jpayne@69 1634 struct __pyx_opt_args_5pysam_9libcutils_charptr_to_str_w_len;
jpayne@69 1635 struct __pyx_opt_args_5pysam_9libcutils_force_str;
jpayne@69 1636 struct __pyx_opt_args_5pysam_9libcutils_force_bytes;
jpayne@69 1637 struct __pyx_opt_args_5pysam_9libcutils_decode_bytes;
jpayne@69 1638
jpayne@69 1639 /* "pysam/libcutils.pxd":8
jpayne@69 1640 * from cpython cimport array as c_array
jpayne@69 1641 *
jpayne@69 1642 * cpdef parse_region(contig=*, start=*, stop=*, region=*, reference=*, end=*) # <<<<<<<<<<<<<<
jpayne@69 1643 *
jpayne@69 1644 * cdef int libc_whence_from_io(int whence)
jpayne@69 1645 */
jpayne@69 1646 struct __pyx_opt_args_5pysam_9libcutils_parse_region {
jpayne@69 1647 int __pyx_n;
jpayne@69 1648 PyObject *contig;
jpayne@69 1649 PyObject *start;
jpayne@69 1650 PyObject *stop;
jpayne@69 1651 PyObject *region;
jpayne@69 1652 PyObject *reference;
jpayne@69 1653 PyObject *end;
jpayne@69 1654 };
jpayne@69 1655
jpayne@69 1656 /* "pysam/libcutils.pxd":15
jpayne@69 1657 * # Utility functions for quality string conversions
jpayne@69 1658 *
jpayne@69 1659 * cpdef c_array.array qualitystring_to_array(input_str, int offset=*) # <<<<<<<<<<<<<<
jpayne@69 1660 * cpdef array_to_qualitystring(c_array.array arr, int offset=*)
jpayne@69 1661 * cpdef qualities_to_qualitystring(qualities, int offset=*)
jpayne@69 1662 */
jpayne@69 1663 struct __pyx_opt_args_5pysam_9libcutils_qualitystring_to_array {
jpayne@69 1664 int __pyx_n;
jpayne@69 1665 int offset;
jpayne@69 1666 };
jpayne@69 1667
jpayne@69 1668 /* "pysam/libcutils.pxd":16
jpayne@69 1669 *
jpayne@69 1670 * cpdef c_array.array qualitystring_to_array(input_str, int offset=*)
jpayne@69 1671 * cpdef array_to_qualitystring(c_array.array arr, int offset=*) # <<<<<<<<<<<<<<
jpayne@69 1672 * cpdef qualities_to_qualitystring(qualities, int offset=*)
jpayne@69 1673 *
jpayne@69 1674 */
jpayne@69 1675 struct __pyx_opt_args_5pysam_9libcutils_array_to_qualitystring {
jpayne@69 1676 int __pyx_n;
jpayne@69 1677 int offset;
jpayne@69 1678 };
jpayne@69 1679
jpayne@69 1680 /* "pysam/libcutils.pxd":17
jpayne@69 1681 * cpdef c_array.array qualitystring_to_array(input_str, int offset=*)
jpayne@69 1682 * cpdef array_to_qualitystring(c_array.array arr, int offset=*)
jpayne@69 1683 * cpdef qualities_to_qualitystring(qualities, int offset=*) # <<<<<<<<<<<<<<
jpayne@69 1684 *
jpayne@69 1685 * ########################################################################
jpayne@69 1686 */
jpayne@69 1687 struct __pyx_opt_args_5pysam_9libcutils_qualities_to_qualitystring {
jpayne@69 1688 int __pyx_n;
jpayne@69 1689 int offset;
jpayne@69 1690 };
jpayne@69 1691
jpayne@69 1692 /* "pysam/libcutils.pxd":29
jpayne@69 1693 * ## Python 3 compatibility functions
jpayne@69 1694 * ########################################################################
jpayne@69 1695 * cdef charptr_to_str(const char *s, encoding=*, errors=*) # <<<<<<<<<<<<<<
jpayne@69 1696 * cdef bytes charptr_to_bytes(const char *s, encoding=*, errors=*)
jpayne@69 1697 * cdef charptr_to_str_w_len(const char* s, size_t n, encoding=*, errors=*)
jpayne@69 1698 */
jpayne@69 1699 struct __pyx_opt_args_5pysam_9libcutils_charptr_to_str {
jpayne@69 1700 int __pyx_n;
jpayne@69 1701 PyObject *encoding;
jpayne@69 1702 PyObject *errors;
jpayne@69 1703 };
jpayne@69 1704
jpayne@69 1705 /* "pysam/libcutils.pxd":30
jpayne@69 1706 * ########################################################################
jpayne@69 1707 * cdef charptr_to_str(const char *s, encoding=*, errors=*)
jpayne@69 1708 * cdef bytes charptr_to_bytes(const char *s, encoding=*, errors=*) # <<<<<<<<<<<<<<
jpayne@69 1709 * cdef charptr_to_str_w_len(const char* s, size_t n, encoding=*, errors=*)
jpayne@69 1710 * cdef force_str(object s, encoding=*, errors=*)
jpayne@69 1711 */
jpayne@69 1712 struct __pyx_opt_args_5pysam_9libcutils_charptr_to_bytes {
jpayne@69 1713 int __pyx_n;
jpayne@69 1714 PyObject *encoding;
jpayne@69 1715 PyObject *errors;
jpayne@69 1716 };
jpayne@69 1717
jpayne@69 1718 /* "pysam/libcutils.pxd":31
jpayne@69 1719 * cdef charptr_to_str(const char *s, encoding=*, errors=*)
jpayne@69 1720 * cdef bytes charptr_to_bytes(const char *s, encoding=*, errors=*)
jpayne@69 1721 * cdef charptr_to_str_w_len(const char* s, size_t n, encoding=*, errors=*) # <<<<<<<<<<<<<<
jpayne@69 1722 * cdef force_str(object s, encoding=*, errors=*)
jpayne@69 1723 * cdef bytes force_bytes(object s, encoding=*, errors=*)
jpayne@69 1724 */
jpayne@69 1725 struct __pyx_opt_args_5pysam_9libcutils_charptr_to_str_w_len {
jpayne@69 1726 int __pyx_n;
jpayne@69 1727 PyObject *encoding;
jpayne@69 1728 PyObject *errors;
jpayne@69 1729 };
jpayne@69 1730
jpayne@69 1731 /* "pysam/libcutils.pxd":32
jpayne@69 1732 * cdef bytes charptr_to_bytes(const char *s, encoding=*, errors=*)
jpayne@69 1733 * cdef charptr_to_str_w_len(const char* s, size_t n, encoding=*, errors=*)
jpayne@69 1734 * cdef force_str(object s, encoding=*, errors=*) # <<<<<<<<<<<<<<
jpayne@69 1735 * cdef bytes force_bytes(object s, encoding=*, errors=*)
jpayne@69 1736 * cdef decode_bytes(bytes s, encoding=*, errors=*)
jpayne@69 1737 */
jpayne@69 1738 struct __pyx_opt_args_5pysam_9libcutils_force_str {
jpayne@69 1739 int __pyx_n;
jpayne@69 1740 PyObject *encoding;
jpayne@69 1741 PyObject *errors;
jpayne@69 1742 };
jpayne@69 1743
jpayne@69 1744 /* "pysam/libcutils.pxd":33
jpayne@69 1745 * cdef charptr_to_str_w_len(const char* s, size_t n, encoding=*, errors=*)
jpayne@69 1746 * cdef force_str(object s, encoding=*, errors=*)
jpayne@69 1747 * cdef bytes force_bytes(object s, encoding=*, errors=*) # <<<<<<<<<<<<<<
jpayne@69 1748 * cdef decode_bytes(bytes s, encoding=*, errors=*)
jpayne@69 1749 * cdef bytes encode_filename(object filename)
jpayne@69 1750 */
jpayne@69 1751 struct __pyx_opt_args_5pysam_9libcutils_force_bytes {
jpayne@69 1752 int __pyx_n;
jpayne@69 1753 PyObject *encoding;
jpayne@69 1754 PyObject *errors;
jpayne@69 1755 };
jpayne@69 1756
jpayne@69 1757 /* "pysam/libcutils.pxd":34
jpayne@69 1758 * cdef force_str(object s, encoding=*, errors=*)
jpayne@69 1759 * cdef bytes force_bytes(object s, encoding=*, errors=*)
jpayne@69 1760 * cdef decode_bytes(bytes s, encoding=*, errors=*) # <<<<<<<<<<<<<<
jpayne@69 1761 * cdef bytes encode_filename(object filename)
jpayne@69 1762 * cdef from_string_and_size(const char *s, size_t length)
jpayne@69 1763 */
jpayne@69 1764 struct __pyx_opt_args_5pysam_9libcutils_decode_bytes {
jpayne@69 1765 int __pyx_n;
jpayne@69 1766 PyObject *encoding;
jpayne@69 1767 PyObject *errors;
jpayne@69 1768 };
jpayne@69 1769 struct __pyx_opt_args_5pysam_16libctabixproxies_10TupleProxy_copy;
jpayne@69 1770
jpayne@69 1771 /* "pysam/libctabixproxies.pxd":23
jpayne@69 1772 * cdef take(self, char * buffer, size_t nbytes)
jpayne@69 1773 * cdef present(self, char * buffer, size_t nbytes)
jpayne@69 1774 * cdef copy(self, char * buffer, size_t nbytes, bint reset=*) # <<<<<<<<<<<<<<
jpayne@69 1775 * cdef update(self, char * buffer, size_t nbytes)
jpayne@69 1776 *
jpayne@69 1777 */
jpayne@69 1778 struct __pyx_opt_args_5pysam_16libctabixproxies_10TupleProxy_copy {
jpayne@69 1779 int __pyx_n;
jpayne@69 1780 int reset;
jpayne@69 1781 };
jpayne@69 1782
jpayne@69 1783 /* "pysam/libctabixproxies.pxd":5
jpayne@69 1784 * from libc.stdint cimport uint8_t, int32_t, uint32_t, int64_t, uint64_t
jpayne@69 1785 *
jpayne@69 1786 * cdef class TupleProxy: # <<<<<<<<<<<<<<
jpayne@69 1787 *
jpayne@69 1788 * cdef:
jpayne@69 1789 */
jpayne@69 1790 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy {
jpayne@69 1791 PyObject_HEAD
jpayne@69 1792 struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *__pyx_vtab;
jpayne@69 1793 char *data;
jpayne@69 1794 char **fields;
jpayne@69 1795 int nfields;
jpayne@69 1796 int nbytes;
jpayne@69 1797 int offset;
jpayne@69 1798 int is_modified;
jpayne@69 1799 PyObject *encoding;
jpayne@69 1800 };
jpayne@69 1801
jpayne@69 1802
jpayne@69 1803 /* "pysam/libctabixproxies.pxd":27
jpayne@69 1804 *
jpayne@69 1805 *
jpayne@69 1806 * cdef class TupleProxyIterator: # <<<<<<<<<<<<<<
jpayne@69 1807 * cdef TupleProxy proxy
jpayne@69 1808 * cdef int index
jpayne@69 1809 */
jpayne@69 1810 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator {
jpayne@69 1811 PyObject_HEAD
jpayne@69 1812 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *proxy;
jpayne@69 1813 int index;
jpayne@69 1814 };
jpayne@69 1815
jpayne@69 1816
jpayne@69 1817 /* "pysam/libctabixproxies.pxd":32
jpayne@69 1818 *
jpayne@69 1819 *
jpayne@69 1820 * cdef class NamedTupleProxy(TupleProxy): # <<<<<<<<<<<<<<
jpayne@69 1821 * pass
jpayne@69 1822 *
jpayne@69 1823 */
jpayne@69 1824 struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy {
jpayne@69 1825 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy __pyx_base;
jpayne@69 1826 };
jpayne@69 1827
jpayne@69 1828
jpayne@69 1829 /* "pysam/libctabixproxies.pxd":36
jpayne@69 1830 *
jpayne@69 1831 *
jpayne@69 1832 * cdef class GTFProxy(NamedTupleProxy): # <<<<<<<<<<<<<<
jpayne@69 1833 * cdef object attribute_dict
jpayne@69 1834 * cpdef int getMaxFields(self)
jpayne@69 1835 */
jpayne@69 1836 struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy {
jpayne@69 1837 struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy __pyx_base;
jpayne@69 1838 PyObject *attribute_dict;
jpayne@69 1839 };
jpayne@69 1840
jpayne@69 1841
jpayne@69 1842 /* "pysam/libctabixproxies.pxd":42
jpayne@69 1843 *
jpayne@69 1844 *
jpayne@69 1845 * cdef class GFF3Proxy(GTFProxy): # <<<<<<<<<<<<<<
jpayne@69 1846 * pass
jpayne@69 1847 *
jpayne@69 1848 */
jpayne@69 1849 struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy {
jpayne@69 1850 struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy __pyx_base;
jpayne@69 1851 };
jpayne@69 1852
jpayne@69 1853
jpayne@69 1854 /* "pysam/libctabixproxies.pxd":46
jpayne@69 1855 *
jpayne@69 1856 *
jpayne@69 1857 * cdef class BedProxy(NamedTupleProxy): # <<<<<<<<<<<<<<
jpayne@69 1858 *
jpayne@69 1859 * cdef:
jpayne@69 1860 */
jpayne@69 1861 struct __pyx_obj_5pysam_16libctabixproxies_BedProxy {
jpayne@69 1862 struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy __pyx_base;
jpayne@69 1863 char *contig;
jpayne@69 1864 uint32_t start;
jpayne@69 1865 uint32_t end;
jpayne@69 1866 int bedfields;
jpayne@69 1867 };
jpayne@69 1868
jpayne@69 1869
jpayne@69 1870 /* "pysam/libctabixproxies.pxd":58
jpayne@69 1871 * cdef update(self, char * buffer, size_t nbytes)
jpayne@69 1872 *
jpayne@69 1873 * cdef class VCFProxy(NamedTupleProxy) : # <<<<<<<<<<<<<<
jpayne@69 1874 *
jpayne@69 1875 * cdef:
jpayne@69 1876 */
jpayne@69 1877 struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy {
jpayne@69 1878 struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy __pyx_base;
jpayne@69 1879 char *contig;
jpayne@69 1880 uint32_t pos;
jpayne@69 1881 };
jpayne@69 1882
jpayne@69 1883
jpayne@69 1884 /* "pysam/libctabixproxies.pyx":566
jpayne@69 1885 * return self.separator.join(aa) + ";"
jpayne@69 1886 *
jpayne@69 1887 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 1888 * """convert attribute string in GTF format to records
jpayne@69 1889 * and iterate over key, value pairs.
jpayne@69 1890 */
jpayne@69 1891 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator {
jpayne@69 1892 PyObject_HEAD
jpayne@69 1893 PyObject *__pyx_v_attributes;
jpayne@69 1894 PyObject *__pyx_v_d;
jpayne@69 1895 PyObject *__pyx_v_f;
jpayne@69 1896 PyObject *__pyx_v_fields;
jpayne@69 1897 PyObject *__pyx_v_n;
jpayne@69 1898 PyObject *__pyx_v_s;
jpayne@69 1899 struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self;
jpayne@69 1900 PyObject *__pyx_v_v;
jpayne@69 1901 PyObject *__pyx_7genexpr__pyx_v_x;
jpayne@69 1902 PyObject *__pyx_8genexpr1__pyx_v_x;
jpayne@69 1903 PyObject *__pyx_t_0;
jpayne@69 1904 Py_ssize_t __pyx_t_1;
jpayne@69 1905 };
jpayne@69 1906
jpayne@69 1907
jpayne@69 1908 /* "pysam/libctabixproxies.pyx":679
jpayne@69 1909 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 1910 *
jpayne@69 1911 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 1912 * """convert attribute string in GFF3 format to records
jpayne@69 1913 * and iterate over key, value pairs.
jpayne@69 1914 */
jpayne@69 1915 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator {
jpayne@69 1916 PyObject_HEAD
jpayne@69 1917 PyObject *__pyx_v_f;
jpayne@69 1918 PyObject *__pyx_v_genexpr;
jpayne@69 1919 PyObject *__pyx_v_key;
jpayne@69 1920 PyObject *__pyx_v_s;
jpayne@69 1921 struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self;
jpayne@69 1922 PyObject *__pyx_v_value;
jpayne@69 1923 PyObject *__pyx_t_0;
jpayne@69 1924 Py_ssize_t __pyx_t_1;
jpayne@69 1925 PyObject *(*__pyx_t_2)(PyObject *);
jpayne@69 1926 };
jpayne@69 1927
jpayne@69 1928
jpayne@69 1929 /* "pysam/libctabixproxies.pyx":684
jpayne@69 1930 * """
jpayne@69 1931 *
jpayne@69 1932 * for f in (x.strip() for x in s.split(";")): # <<<<<<<<<<<<<<
jpayne@69 1933 * if not f:
jpayne@69 1934 * continue
jpayne@69 1935 */
jpayne@69 1936 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr {
jpayne@69 1937 PyObject_HEAD
jpayne@69 1938 PyObject *__pyx_genexpr_arg_0;
jpayne@69 1939 PyObject *__pyx_v_x;
jpayne@69 1940 PyObject *__pyx_t_0;
jpayne@69 1941 Py_ssize_t __pyx_t_1;
jpayne@69 1942 PyObject *(*__pyx_t_2)(PyObject *);
jpayne@69 1943 };
jpayne@69 1944
jpayne@69 1945
jpayne@69 1946 /* "cfunc.to_py":66
jpayne@69 1947 *
jpayne@69 1948 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v")
jpayne@69 1949 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(object (*f)(object) ): # <<<<<<<<<<<<<<
jpayne@69 1950 * def wrap(object v):
jpayne@69 1951 * """wrap(v)"""
jpayne@69 1952 */
jpayne@69 1953 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v {
jpayne@69 1954 PyObject_HEAD
jpayne@69 1955 PyObject *(*__pyx_v_f)(PyObject *);
jpayne@69 1956 };
jpayne@69 1957
jpayne@69 1958 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v {
jpayne@69 1959 PyObject_HEAD
jpayne@69 1960 int (*__pyx_v_f)(PyObject *);
jpayne@69 1961 };
jpayne@69 1962
jpayne@69 1963 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v {
jpayne@69 1964 PyObject_HEAD
jpayne@69 1965 PyObject *(*__pyx_v_f)(int);
jpayne@69 1966 };
jpayne@69 1967
jpayne@69 1968
jpayne@69 1969
jpayne@69 1970 /* "pysam/libctabixproxies.pyx":31
jpayne@69 1971 *
jpayne@69 1972 *
jpayne@69 1973 * cdef class TupleProxy: # <<<<<<<<<<<<<<
jpayne@69 1974 * '''Proxy class for access to parsed row as a tuple.
jpayne@69 1975 *
jpayne@69 1976 */
jpayne@69 1977
jpayne@69 1978 struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy {
jpayne@69 1979 int (*getMaxFields)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, int __pyx_skip_dispatch);
jpayne@69 1980 int (*getMinFields)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, int __pyx_skip_dispatch);
jpayne@69 1981 PyObject *(*take)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t);
jpayne@69 1982 PyObject *(*present)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t);
jpayne@69 1983 PyObject *(*copy)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t, struct __pyx_opt_args_5pysam_16libctabixproxies_10TupleProxy_copy *__pyx_optional_args);
jpayne@69 1984 PyObject *(*update)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t);
jpayne@69 1985 };
jpayne@69 1986 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *__pyx_vtabptr_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 1987
jpayne@69 1988
jpayne@69 1989 /* "pysam/libctabixproxies.pyx":360
jpayne@69 1990 *
jpayne@69 1991 *
jpayne@69 1992 * cdef class NamedTupleProxy(TupleProxy): # <<<<<<<<<<<<<<
jpayne@69 1993 *
jpayne@69 1994 * map_key2field = {}
jpayne@69 1995 */
jpayne@69 1996
jpayne@69 1997 struct __pyx_vtabstruct_5pysam_16libctabixproxies_NamedTupleProxy {
jpayne@69 1998 struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy __pyx_base;
jpayne@69 1999 };
jpayne@69 2000 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 2001
jpayne@69 2002
jpayne@69 2003 /* "pysam/libctabixproxies.pyx":415
jpayne@69 2004 *
jpayne@69 2005 *
jpayne@69 2006 * cdef class GTFProxy(NamedTupleProxy): # <<<<<<<<<<<<<<
jpayne@69 2007 * '''Proxy class for access to GTF fields.
jpayne@69 2008 *
jpayne@69 2009 */
jpayne@69 2010
jpayne@69 2011 struct __pyx_vtabstruct_5pysam_16libctabixproxies_GTFProxy {
jpayne@69 2012 struct __pyx_vtabstruct_5pysam_16libctabixproxies_NamedTupleProxy __pyx_base;
jpayne@69 2013 };
jpayne@69 2014 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_GTFProxy *__pyx_vtabptr_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 2015
jpayne@69 2016
jpayne@69 2017 /* "pysam/libctabixproxies.pyx":673
jpayne@69 2018 *
jpayne@69 2019 *
jpayne@69 2020 * cdef class GFF3Proxy(GTFProxy): # <<<<<<<<<<<<<<
jpayne@69 2021 *
jpayne@69 2022 * def dict2attribute_string(self, d):
jpayne@69 2023 */
jpayne@69 2024
jpayne@69 2025 struct __pyx_vtabstruct_5pysam_16libctabixproxies_GFF3Proxy {
jpayne@69 2026 struct __pyx_vtabstruct_5pysam_16libctabixproxies_GTFProxy __pyx_base;
jpayne@69 2027 };
jpayne@69 2028 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_GFF3Proxy *__pyx_vtabptr_5pysam_16libctabixproxies_GFF3Proxy;
jpayne@69 2029
jpayne@69 2030
jpayne@69 2031 /* "pysam/libctabixproxies.pyx":703
jpayne@69 2032 *
jpayne@69 2033 *
jpayne@69 2034 * cdef class BedProxy(NamedTupleProxy): # <<<<<<<<<<<<<<
jpayne@69 2035 * '''Proxy class for access to Bed fields.
jpayne@69 2036 *
jpayne@69 2037 */
jpayne@69 2038
jpayne@69 2039 struct __pyx_vtabstruct_5pysam_16libctabixproxies_BedProxy {
jpayne@69 2040 struct __pyx_vtabstruct_5pysam_16libctabixproxies_NamedTupleProxy __pyx_base;
jpayne@69 2041 };
jpayne@69 2042 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_BedProxy *__pyx_vtabptr_5pysam_16libctabixproxies_BedProxy;
jpayne@69 2043
jpayne@69 2044
jpayne@69 2045 /* "pysam/libctabixproxies.pyx":776
jpayne@69 2046 *
jpayne@69 2047 *
jpayne@69 2048 * cdef class VCFProxy(NamedTupleProxy): # <<<<<<<<<<<<<<
jpayne@69 2049 * '''Proxy class for access to VCF fields.
jpayne@69 2050 *
jpayne@69 2051 */
jpayne@69 2052
jpayne@69 2053 struct __pyx_vtabstruct_5pysam_16libctabixproxies_VCFProxy {
jpayne@69 2054 struct __pyx_vtabstruct_5pysam_16libctabixproxies_NamedTupleProxy __pyx_base;
jpayne@69 2055 };
jpayne@69 2056 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_VCFProxy *__pyx_vtabptr_5pysam_16libctabixproxies_VCFProxy;
jpayne@69 2057 /* #### Code section: utility_code_proto ### */
jpayne@69 2058
jpayne@69 2059 /* --- Runtime support code (head) --- */
jpayne@69 2060 /* Refnanny.proto */
jpayne@69 2061 #ifndef CYTHON_REFNANNY
jpayne@69 2062 #define CYTHON_REFNANNY 0
jpayne@69 2063 #endif
jpayne@69 2064 #if CYTHON_REFNANNY
jpayne@69 2065 typedef struct {
jpayne@69 2066 void (*INCREF)(void*, PyObject*, Py_ssize_t);
jpayne@69 2067 void (*DECREF)(void*, PyObject*, Py_ssize_t);
jpayne@69 2068 void (*GOTREF)(void*, PyObject*, Py_ssize_t);
jpayne@69 2069 void (*GIVEREF)(void*, PyObject*, Py_ssize_t);
jpayne@69 2070 void* (*SetupContext)(const char*, Py_ssize_t, const char*);
jpayne@69 2071 void (*FinishContext)(void**);
jpayne@69 2072 } __Pyx_RefNannyAPIStruct;
jpayne@69 2073 static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
jpayne@69 2074 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
jpayne@69 2075 #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
jpayne@69 2076 #ifdef WITH_THREAD
jpayne@69 2077 #define __Pyx_RefNannySetupContext(name, acquire_gil)\
jpayne@69 2078 if (acquire_gil) {\
jpayne@69 2079 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
jpayne@69 2080 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
jpayne@69 2081 PyGILState_Release(__pyx_gilstate_save);\
jpayne@69 2082 } else {\
jpayne@69 2083 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__));\
jpayne@69 2084 }
jpayne@69 2085 #define __Pyx_RefNannyFinishContextNogil() {\
jpayne@69 2086 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
jpayne@69 2087 __Pyx_RefNannyFinishContext();\
jpayne@69 2088 PyGILState_Release(__pyx_gilstate_save);\
jpayne@69 2089 }
jpayne@69 2090 #else
jpayne@69 2091 #define __Pyx_RefNannySetupContext(name, acquire_gil)\
jpayne@69 2092 __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), (__LINE__), (__FILE__))
jpayne@69 2093 #define __Pyx_RefNannyFinishContextNogil() __Pyx_RefNannyFinishContext()
jpayne@69 2094 #endif
jpayne@69 2095 #define __Pyx_RefNannyFinishContextNogil() {\
jpayne@69 2096 PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
jpayne@69 2097 __Pyx_RefNannyFinishContext();\
jpayne@69 2098 PyGILState_Release(__pyx_gilstate_save);\
jpayne@69 2099 }
jpayne@69 2100 #define __Pyx_RefNannyFinishContext()\
jpayne@69 2101 __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
jpayne@69 2102 #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
jpayne@69 2103 #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
jpayne@69 2104 #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
jpayne@69 2105 #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
jpayne@69 2106 #define __Pyx_XINCREF(r) do { if((r) == NULL); else {__Pyx_INCREF(r); }} while(0)
jpayne@69 2107 #define __Pyx_XDECREF(r) do { if((r) == NULL); else {__Pyx_DECREF(r); }} while(0)
jpayne@69 2108 #define __Pyx_XGOTREF(r) do { if((r) == NULL); else {__Pyx_GOTREF(r); }} while(0)
jpayne@69 2109 #define __Pyx_XGIVEREF(r) do { if((r) == NULL); else {__Pyx_GIVEREF(r);}} while(0)
jpayne@69 2110 #else
jpayne@69 2111 #define __Pyx_RefNannyDeclarations
jpayne@69 2112 #define __Pyx_RefNannySetupContext(name, acquire_gil)
jpayne@69 2113 #define __Pyx_RefNannyFinishContextNogil()
jpayne@69 2114 #define __Pyx_RefNannyFinishContext()
jpayne@69 2115 #define __Pyx_INCREF(r) Py_INCREF(r)
jpayne@69 2116 #define __Pyx_DECREF(r) Py_DECREF(r)
jpayne@69 2117 #define __Pyx_GOTREF(r)
jpayne@69 2118 #define __Pyx_GIVEREF(r)
jpayne@69 2119 #define __Pyx_XINCREF(r) Py_XINCREF(r)
jpayne@69 2120 #define __Pyx_XDECREF(r) Py_XDECREF(r)
jpayne@69 2121 #define __Pyx_XGOTREF(r)
jpayne@69 2122 #define __Pyx_XGIVEREF(r)
jpayne@69 2123 #endif
jpayne@69 2124 #define __Pyx_Py_XDECREF_SET(r, v) do {\
jpayne@69 2125 PyObject *tmp = (PyObject *) r;\
jpayne@69 2126 r = v; Py_XDECREF(tmp);\
jpayne@69 2127 } while (0)
jpayne@69 2128 #define __Pyx_XDECREF_SET(r, v) do {\
jpayne@69 2129 PyObject *tmp = (PyObject *) r;\
jpayne@69 2130 r = v; __Pyx_XDECREF(tmp);\
jpayne@69 2131 } while (0)
jpayne@69 2132 #define __Pyx_DECREF_SET(r, v) do {\
jpayne@69 2133 PyObject *tmp = (PyObject *) r;\
jpayne@69 2134 r = v; __Pyx_DECREF(tmp);\
jpayne@69 2135 } while (0)
jpayne@69 2136 #define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
jpayne@69 2137 #define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
jpayne@69 2138
jpayne@69 2139 /* PyErrExceptionMatches.proto */
jpayne@69 2140 #if CYTHON_FAST_THREAD_STATE
jpayne@69 2141 #define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
jpayne@69 2142 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
jpayne@69 2143 #else
jpayne@69 2144 #define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
jpayne@69 2145 #endif
jpayne@69 2146
jpayne@69 2147 /* PyThreadStateGet.proto */
jpayne@69 2148 #if CYTHON_FAST_THREAD_STATE
jpayne@69 2149 #define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
jpayne@69 2150 #define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
jpayne@69 2151 #if PY_VERSION_HEX >= 0x030C00A6
jpayne@69 2152 #define __Pyx_PyErr_Occurred() (__pyx_tstate->current_exception != NULL)
jpayne@69 2153 #define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->current_exception ? (PyObject*) Py_TYPE(__pyx_tstate->current_exception) : (PyObject*) NULL)
jpayne@69 2154 #else
jpayne@69 2155 #define __Pyx_PyErr_Occurred() (__pyx_tstate->curexc_type != NULL)
jpayne@69 2156 #define __Pyx_PyErr_CurrentExceptionType() (__pyx_tstate->curexc_type)
jpayne@69 2157 #endif
jpayne@69 2158 #else
jpayne@69 2159 #define __Pyx_PyThreadState_declare
jpayne@69 2160 #define __Pyx_PyThreadState_assign
jpayne@69 2161 #define __Pyx_PyErr_Occurred() (PyErr_Occurred() != NULL)
jpayne@69 2162 #define __Pyx_PyErr_CurrentExceptionType() PyErr_Occurred()
jpayne@69 2163 #endif
jpayne@69 2164
jpayne@69 2165 /* PyErrFetchRestore.proto */
jpayne@69 2166 #if CYTHON_FAST_THREAD_STATE
jpayne@69 2167 #define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
jpayne@69 2168 #define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
jpayne@69 2169 #define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
jpayne@69 2170 #define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
jpayne@69 2171 #define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
jpayne@69 2172 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
jpayne@69 2173 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
jpayne@69 2174 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A6
jpayne@69 2175 #define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
jpayne@69 2176 #else
jpayne@69 2177 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
jpayne@69 2178 #endif
jpayne@69 2179 #else
jpayne@69 2180 #define __Pyx_PyErr_Clear() PyErr_Clear()
jpayne@69 2181 #define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
jpayne@69 2182 #define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
jpayne@69 2183 #define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
jpayne@69 2184 #define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
jpayne@69 2185 #define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
jpayne@69 2186 #define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
jpayne@69 2187 #define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
jpayne@69 2188 #endif
jpayne@69 2189
jpayne@69 2190 /* PyObjectGetAttrStr.proto */
jpayne@69 2191 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 2192 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
jpayne@69 2193 #else
jpayne@69 2194 #define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
jpayne@69 2195 #endif
jpayne@69 2196
jpayne@69 2197 /* PyObjectGetAttrStrNoError.proto */
jpayne@69 2198 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name);
jpayne@69 2199
jpayne@69 2200 /* GetBuiltinName.proto */
jpayne@69 2201 static PyObject *__Pyx_GetBuiltinName(PyObject *name);
jpayne@69 2202
jpayne@69 2203 /* TupleAndListFromArray.proto */
jpayne@69 2204 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 2205 static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n);
jpayne@69 2206 static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n);
jpayne@69 2207 #endif
jpayne@69 2208
jpayne@69 2209 /* IncludeStringH.proto */
jpayne@69 2210 #include <string.h>
jpayne@69 2211
jpayne@69 2212 /* BytesEquals.proto */
jpayne@69 2213 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals);
jpayne@69 2214
jpayne@69 2215 /* UnicodeEquals.proto */
jpayne@69 2216 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals);
jpayne@69 2217
jpayne@69 2218 /* fastcall.proto */
jpayne@69 2219 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 2220 #define __Pyx_Arg_VARARGS(args, i) PySequence_GetItem(args, i)
jpayne@69 2221 #elif CYTHON_ASSUME_SAFE_MACROS
jpayne@69 2222 #define __Pyx_Arg_VARARGS(args, i) PyTuple_GET_ITEM(args, i)
jpayne@69 2223 #else
jpayne@69 2224 #define __Pyx_Arg_VARARGS(args, i) PyTuple_GetItem(args, i)
jpayne@69 2225 #endif
jpayne@69 2226 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 2227 #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
jpayne@69 2228 #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
jpayne@69 2229 #else
jpayne@69 2230 #define __Pyx_Arg_NewRef_VARARGS(arg) arg
jpayne@69 2231 #define __Pyx_Arg_XDECREF_VARARGS(arg)
jpayne@69 2232 #endif
jpayne@69 2233 #define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
jpayne@69 2234 #define __Pyx_KwValues_VARARGS(args, nargs) NULL
jpayne@69 2235 #define __Pyx_GetKwValue_VARARGS(kw, kwvalues, s) __Pyx_PyDict_GetItemStrWithError(kw, s)
jpayne@69 2236 #define __Pyx_KwargsAsDict_VARARGS(kw, kwvalues) PyDict_Copy(kw)
jpayne@69 2237 #if CYTHON_METH_FASTCALL
jpayne@69 2238 #define __Pyx_Arg_FASTCALL(args, i) args[i]
jpayne@69 2239 #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
jpayne@69 2240 #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
jpayne@69 2241 static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
jpayne@69 2242 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
jpayne@69 2243 CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
jpayne@69 2244 #else
jpayne@69 2245 #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
jpayne@69 2246 #endif
jpayne@69 2247 #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs
jpayne@69 2248 to have the same reference counting */
jpayne@69 2249 #define __Pyx_Arg_XDECREF_FASTCALL(arg)
jpayne@69 2250 #else
jpayne@69 2251 #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
jpayne@69 2252 #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
jpayne@69 2253 #define __Pyx_KwValues_FASTCALL __Pyx_KwValues_VARARGS
jpayne@69 2254 #define __Pyx_GetKwValue_FASTCALL __Pyx_GetKwValue_VARARGS
jpayne@69 2255 #define __Pyx_KwargsAsDict_FASTCALL __Pyx_KwargsAsDict_VARARGS
jpayne@69 2256 #define __Pyx_Arg_NewRef_FASTCALL(arg) __Pyx_Arg_NewRef_VARARGS(arg)
jpayne@69 2257 #define __Pyx_Arg_XDECREF_FASTCALL(arg) __Pyx_Arg_XDECREF_VARARGS(arg)
jpayne@69 2258 #endif
jpayne@69 2259 #if CYTHON_COMPILING_IN_CPYTHON && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 2260 #define __Pyx_ArgsSlice_VARARGS(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_VARARGS(args, start), stop - start)
jpayne@69 2261 #define __Pyx_ArgsSlice_FASTCALL(args, start, stop) __Pyx_PyTuple_FromArray(&__Pyx_Arg_FASTCALL(args, start), stop - start)
jpayne@69 2262 #else
jpayne@69 2263 #define __Pyx_ArgsSlice_VARARGS(args, start, stop) PyTuple_GetSlice(args, start, stop)
jpayne@69 2264 #define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
jpayne@69 2265 #endif
jpayne@69 2266
jpayne@69 2267 /* RaiseDoubleKeywords.proto */
jpayne@69 2268 static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name);
jpayne@69 2269
jpayne@69 2270 /* ParseKeywords.proto */
jpayne@69 2271 static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues,
jpayne@69 2272 PyObject **argnames[],
jpayne@69 2273 PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,
jpayne@69 2274 const char* function_name);
jpayne@69 2275
jpayne@69 2276 /* RaiseArgTupleInvalid.proto */
jpayne@69 2277 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
jpayne@69 2278 Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found);
jpayne@69 2279
jpayne@69 2280 /* IncludeStructmemberH.proto */
jpayne@69 2281 #include <structmember.h>
jpayne@69 2282
jpayne@69 2283 /* FixUpExtensionType.proto */
jpayne@69 2284 #if CYTHON_USE_TYPE_SPECS
jpayne@69 2285 static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type);
jpayne@69 2286 #endif
jpayne@69 2287
jpayne@69 2288 /* FetchSharedCythonModule.proto */
jpayne@69 2289 static PyObject *__Pyx_FetchSharedCythonABIModule(void);
jpayne@69 2290
jpayne@69 2291 /* FetchCommonType.proto */
jpayne@69 2292 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 2293 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
jpayne@69 2294 #else
jpayne@69 2295 static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases);
jpayne@69 2296 #endif
jpayne@69 2297
jpayne@69 2298 /* PyMethodNew.proto */
jpayne@69 2299 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 2300 static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
jpayne@69 2301 PyObject *typesModule=NULL, *methodType=NULL, *result=NULL;
jpayne@69 2302 CYTHON_UNUSED_VAR(typ);
jpayne@69 2303 if (!self)
jpayne@69 2304 return __Pyx_NewRef(func);
jpayne@69 2305 typesModule = PyImport_ImportModule("types");
jpayne@69 2306 if (!typesModule) return NULL;
jpayne@69 2307 methodType = PyObject_GetAttrString(typesModule, "MethodType");
jpayne@69 2308 Py_DECREF(typesModule);
jpayne@69 2309 if (!methodType) return NULL;
jpayne@69 2310 result = PyObject_CallFunctionObjArgs(methodType, func, self, NULL);
jpayne@69 2311 Py_DECREF(methodType);
jpayne@69 2312 return result;
jpayne@69 2313 }
jpayne@69 2314 #elif PY_MAJOR_VERSION >= 3
jpayne@69 2315 static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) {
jpayne@69 2316 CYTHON_UNUSED_VAR(typ);
jpayne@69 2317 if (!self)
jpayne@69 2318 return __Pyx_NewRef(func);
jpayne@69 2319 return PyMethod_New(func, self);
jpayne@69 2320 }
jpayne@69 2321 #else
jpayne@69 2322 #define __Pyx_PyMethod_New PyMethod_New
jpayne@69 2323 #endif
jpayne@69 2324
jpayne@69 2325 /* PyVectorcallFastCallDict.proto */
jpayne@69 2326 #if CYTHON_METH_FASTCALL
jpayne@69 2327 static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
jpayne@69 2328 #endif
jpayne@69 2329
jpayne@69 2330 /* CythonFunctionShared.proto */
jpayne@69 2331 #define __Pyx_CyFunction_USED
jpayne@69 2332 #define __Pyx_CYFUNCTION_STATICMETHOD 0x01
jpayne@69 2333 #define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
jpayne@69 2334 #define __Pyx_CYFUNCTION_CCLASS 0x04
jpayne@69 2335 #define __Pyx_CYFUNCTION_COROUTINE 0x08
jpayne@69 2336 #define __Pyx_CyFunction_GetClosure(f)\
jpayne@69 2337 (((__pyx_CyFunctionObject *) (f))->func_closure)
jpayne@69 2338 #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 2339 #define __Pyx_CyFunction_GetClassObj(f)\
jpayne@69 2340 (((__pyx_CyFunctionObject *) (f))->func_classobj)
jpayne@69 2341 #else
jpayne@69 2342 #define __Pyx_CyFunction_GetClassObj(f)\
jpayne@69 2343 ((PyObject*) ((PyCMethodObject *) (f))->mm_class)
jpayne@69 2344 #endif
jpayne@69 2345 #define __Pyx_CyFunction_SetClassObj(f, classobj)\
jpayne@69 2346 __Pyx__CyFunction_SetClassObj((__pyx_CyFunctionObject *) (f), (classobj))
jpayne@69 2347 #define __Pyx_CyFunction_Defaults(type, f)\
jpayne@69 2348 ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
jpayne@69 2349 #define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
jpayne@69 2350 ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
jpayne@69 2351 typedef struct {
jpayne@69 2352 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 2353 PyObject_HEAD
jpayne@69 2354 PyObject *func;
jpayne@69 2355 #elif PY_VERSION_HEX < 0x030900B1
jpayne@69 2356 PyCFunctionObject func;
jpayne@69 2357 #else
jpayne@69 2358 PyCMethodObject func;
jpayne@69 2359 #endif
jpayne@69 2360 #if CYTHON_BACKPORT_VECTORCALL
jpayne@69 2361 __pyx_vectorcallfunc func_vectorcall;
jpayne@69 2362 #endif
jpayne@69 2363 #if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 2364 PyObject *func_weakreflist;
jpayne@69 2365 #endif
jpayne@69 2366 PyObject *func_dict;
jpayne@69 2367 PyObject *func_name;
jpayne@69 2368 PyObject *func_qualname;
jpayne@69 2369 PyObject *func_doc;
jpayne@69 2370 PyObject *func_globals;
jpayne@69 2371 PyObject *func_code;
jpayne@69 2372 PyObject *func_closure;
jpayne@69 2373 #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 2374 PyObject *func_classobj;
jpayne@69 2375 #endif
jpayne@69 2376 void *defaults;
jpayne@69 2377 int defaults_pyobjects;
jpayne@69 2378 size_t defaults_size;
jpayne@69 2379 int flags;
jpayne@69 2380 PyObject *defaults_tuple;
jpayne@69 2381 PyObject *defaults_kwdict;
jpayne@69 2382 PyObject *(*defaults_getter)(PyObject *);
jpayne@69 2383 PyObject *func_annotations;
jpayne@69 2384 PyObject *func_is_coroutine;
jpayne@69 2385 } __pyx_CyFunctionObject;
jpayne@69 2386 #undef __Pyx_CyOrPyCFunction_Check
jpayne@69 2387 #define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
jpayne@69 2388 #define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
jpayne@69 2389 #define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
jpayne@69 2390 static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
jpayne@69 2391 #undef __Pyx_IsSameCFunction
jpayne@69 2392 #define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
jpayne@69 2393 static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
jpayne@69 2394 int flags, PyObject* qualname,
jpayne@69 2395 PyObject *closure,
jpayne@69 2396 PyObject *module, PyObject *globals,
jpayne@69 2397 PyObject* code);
jpayne@69 2398 static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj);
jpayne@69 2399 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
jpayne@69 2400 size_t size,
jpayne@69 2401 int pyobjects);
jpayne@69 2402 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
jpayne@69 2403 PyObject *tuple);
jpayne@69 2404 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m,
jpayne@69 2405 PyObject *dict);
jpayne@69 2406 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m,
jpayne@69 2407 PyObject *dict);
jpayne@69 2408 static int __pyx_CyFunction_init(PyObject *module);
jpayne@69 2409 #if CYTHON_METH_FASTCALL
jpayne@69 2410 static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
jpayne@69 2411 static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
jpayne@69 2412 static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
jpayne@69 2413 static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames);
jpayne@69 2414 #if CYTHON_BACKPORT_VECTORCALL
jpayne@69 2415 #define __Pyx_CyFunction_func_vectorcall(f) (((__pyx_CyFunctionObject*)f)->func_vectorcall)
jpayne@69 2416 #else
jpayne@69 2417 #define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
jpayne@69 2418 #endif
jpayne@69 2419 #endif
jpayne@69 2420
jpayne@69 2421 /* CythonFunction.proto */
jpayne@69 2422 static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
jpayne@69 2423 int flags, PyObject* qualname,
jpayne@69 2424 PyObject *closure,
jpayne@69 2425 PyObject *module, PyObject *globals,
jpayne@69 2426 PyObject* code);
jpayne@69 2427
jpayne@69 2428 /* WriteUnraisableException.proto */
jpayne@69 2429 static void __Pyx_WriteUnraisable(const char *name, int clineno,
jpayne@69 2430 int lineno, const char *filename,
jpayne@69 2431 int full_traceback, int nogil);
jpayne@69 2432
jpayne@69 2433 /* KeywordStringCheck.proto */
jpayne@69 2434 static int __Pyx_CheckKeywordStrings(PyObject *kw, const char* function_name, int kw_allowed);
jpayne@69 2435
jpayne@69 2436 /* PyObjectCall.proto */
jpayne@69 2437 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 2438 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
jpayne@69 2439 #else
jpayne@69 2440 #define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
jpayne@69 2441 #endif
jpayne@69 2442
jpayne@69 2443 /* RaiseException.proto */
jpayne@69 2444 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
jpayne@69 2445
jpayne@69 2446 /* PyFunctionFastCall.proto */
jpayne@69 2447 #if CYTHON_FAST_PYCALL
jpayne@69 2448 #if !CYTHON_VECTORCALL
jpayne@69 2449 #define __Pyx_PyFunction_FastCall(func, args, nargs)\
jpayne@69 2450 __Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
jpayne@69 2451 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
jpayne@69 2452 #endif
jpayne@69 2453 #define __Pyx_BUILD_ASSERT_EXPR(cond)\
jpayne@69 2454 (sizeof(char [1 - 2*!(cond)]) - 1)
jpayne@69 2455 #ifndef Py_MEMBER_SIZE
jpayne@69 2456 #define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
jpayne@69 2457 #endif
jpayne@69 2458 #if !CYTHON_VECTORCALL
jpayne@69 2459 #if PY_VERSION_HEX >= 0x03080000
jpayne@69 2460 #include "frameobject.h"
jpayne@69 2461 #if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 2462 #ifndef Py_BUILD_CORE
jpayne@69 2463 #define Py_BUILD_CORE 1
jpayne@69 2464 #endif
jpayne@69 2465 #include "internal/pycore_frame.h"
jpayne@69 2466 #endif
jpayne@69 2467 #define __Pxy_PyFrame_Initialize_Offsets()
jpayne@69 2468 #define __Pyx_PyFrame_GetLocalsplus(frame) ((frame)->f_localsplus)
jpayne@69 2469 #else
jpayne@69 2470 static size_t __pyx_pyframe_localsplus_offset = 0;
jpayne@69 2471 #include "frameobject.h"
jpayne@69 2472 #define __Pxy_PyFrame_Initialize_Offsets()\
jpayne@69 2473 ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
jpayne@69 2474 (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
jpayne@69 2475 #define __Pyx_PyFrame_GetLocalsplus(frame)\
jpayne@69 2476 (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
jpayne@69 2477 #endif
jpayne@69 2478 #endif
jpayne@69 2479 #endif
jpayne@69 2480
jpayne@69 2481 /* PyObjectCallMethO.proto */
jpayne@69 2482 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 2483 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
jpayne@69 2484 #endif
jpayne@69 2485
jpayne@69 2486 /* PyObjectFastCall.proto */
jpayne@69 2487 #define __Pyx_PyObject_FastCall(func, args, nargs) __Pyx_PyObject_FastCallDict(func, args, (size_t)(nargs), NULL)
jpayne@69 2488 static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs);
jpayne@69 2489
jpayne@69 2490 /* ExtTypeTest.proto */
jpayne@69 2491 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type);
jpayne@69 2492
jpayne@69 2493 /* ArgTypeTest.proto */
jpayne@69 2494 #define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
jpayne@69 2495 ((likely(__Pyx_IS_TYPE(obj, type) | (none_allowed && (obj == Py_None)))) ? 1 :\
jpayne@69 2496 __Pyx__ArgTypeTest(obj, type, name, exact))
jpayne@69 2497 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
jpayne@69 2498
jpayne@69 2499 /* PyIntCompare.proto */
jpayne@69 2500 static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace);
jpayne@69 2501
jpayne@69 2502 /* PyIntCompare.proto */
jpayne@69 2503 static CYTHON_INLINE PyObject* __Pyx_PyInt_NeObjC(PyObject *op1, PyObject *op2, long intval, long inplace);
jpayne@69 2504
jpayne@69 2505 /* PyObjectCallOneArg.proto */
jpayne@69 2506 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
jpayne@69 2507
jpayne@69 2508 /* PyDictVersioning.proto */
jpayne@69 2509 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
jpayne@69 2510 #define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
jpayne@69 2511 #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
jpayne@69 2512 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
jpayne@69 2513 (version_var) = __PYX_GET_DICT_VERSION(dict);\
jpayne@69 2514 (cache_var) = (value);
jpayne@69 2515 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
jpayne@69 2516 static PY_UINT64_T __pyx_dict_version = 0;\
jpayne@69 2517 static PyObject *__pyx_dict_cached_value = NULL;\
jpayne@69 2518 if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
jpayne@69 2519 (VAR) = __pyx_dict_cached_value;\
jpayne@69 2520 } else {\
jpayne@69 2521 (VAR) = __pyx_dict_cached_value = (LOOKUP);\
jpayne@69 2522 __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
jpayne@69 2523 }\
jpayne@69 2524 }
jpayne@69 2525 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj);
jpayne@69 2526 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj);
jpayne@69 2527 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version);
jpayne@69 2528 #else
jpayne@69 2529 #define __PYX_GET_DICT_VERSION(dict) (0)
jpayne@69 2530 #define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
jpayne@69 2531 #define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
jpayne@69 2532 #endif
jpayne@69 2533
jpayne@69 2534 /* AssertionsEnabled.proto */
jpayne@69 2535 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
jpayne@69 2536 #define __Pyx_init_assertions_enabled() (0)
jpayne@69 2537 #define __pyx_assertions_enabled() (1)
jpayne@69 2538 #elif CYTHON_COMPILING_IN_LIMITED_API || (CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030C0000)
jpayne@69 2539 static int __pyx_assertions_enabled_flag;
jpayne@69 2540 #define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
jpayne@69 2541 static int __Pyx_init_assertions_enabled(void) {
jpayne@69 2542 PyObject *builtins, *debug, *debug_str;
jpayne@69 2543 int flag;
jpayne@69 2544 builtins = PyEval_GetBuiltins();
jpayne@69 2545 if (!builtins) goto bad;
jpayne@69 2546 debug_str = PyUnicode_FromStringAndSize("__debug__", 9);
jpayne@69 2547 if (!debug_str) goto bad;
jpayne@69 2548 debug = PyObject_GetItem(builtins, debug_str);
jpayne@69 2549 Py_DECREF(debug_str);
jpayne@69 2550 if (!debug) goto bad;
jpayne@69 2551 flag = PyObject_IsTrue(debug);
jpayne@69 2552 Py_DECREF(debug);
jpayne@69 2553 if (flag == -1) goto bad;
jpayne@69 2554 __pyx_assertions_enabled_flag = flag;
jpayne@69 2555 return 0;
jpayne@69 2556 bad:
jpayne@69 2557 __pyx_assertions_enabled_flag = 1;
jpayne@69 2558 return -1;
jpayne@69 2559 }
jpayne@69 2560 #else
jpayne@69 2561 #define __Pyx_init_assertions_enabled() (0)
jpayne@69 2562 #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
jpayne@69 2563 #endif
jpayne@69 2564
jpayne@69 2565 /* RaiseTooManyValuesToUnpack.proto */
jpayne@69 2566 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
jpayne@69 2567
jpayne@69 2568 /* RaiseNeedMoreValuesToUnpack.proto */
jpayne@69 2569 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
jpayne@69 2570
jpayne@69 2571 /* IterFinish.proto */
jpayne@69 2572 static CYTHON_INLINE int __Pyx_IterFinish(void);
jpayne@69 2573
jpayne@69 2574 /* UnpackItemEndCheck.proto */
jpayne@69 2575 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
jpayne@69 2576
jpayne@69 2577 /* ListAppend.proto */
jpayne@69 2578 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
jpayne@69 2579 static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
jpayne@69 2580 PyListObject* L = (PyListObject*) list;
jpayne@69 2581 Py_ssize_t len = Py_SIZE(list);
jpayne@69 2582 if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
jpayne@69 2583 Py_INCREF(x);
jpayne@69 2584 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
jpayne@69 2585 L->ob_item[len] = x;
jpayne@69 2586 #else
jpayne@69 2587 PyList_SET_ITEM(list, len, x);
jpayne@69 2588 #endif
jpayne@69 2589 __Pyx_SET_SIZE(list, len + 1);
jpayne@69 2590 return 0;
jpayne@69 2591 }
jpayne@69 2592 return PyList_Append(list, x);
jpayne@69 2593 }
jpayne@69 2594 #else
jpayne@69 2595 #define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
jpayne@69 2596 #endif
jpayne@69 2597
jpayne@69 2598 /* PyObjectCall2Args.proto */
jpayne@69 2599 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
jpayne@69 2600
jpayne@69 2601 /* PyObjectGetMethod.proto */
jpayne@69 2602 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method);
jpayne@69 2603
jpayne@69 2604 /* PyObjectCallMethod1.proto */
jpayne@69 2605 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg);
jpayne@69 2606
jpayne@69 2607 /* append.proto */
jpayne@69 2608 static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x);
jpayne@69 2609
jpayne@69 2610 /* GetAttr3.proto */
jpayne@69 2611 static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *, PyObject *, PyObject *);
jpayne@69 2612
jpayne@69 2613 /* GetModuleGlobalName.proto */
jpayne@69 2614 #if CYTHON_USE_DICT_VERSIONS
jpayne@69 2615 #define __Pyx_GetModuleGlobalName(var, name) do {\
jpayne@69 2616 static PY_UINT64_T __pyx_dict_version = 0;\
jpayne@69 2617 static PyObject *__pyx_dict_cached_value = NULL;\
jpayne@69 2618 (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
jpayne@69 2619 (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
jpayne@69 2620 __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
jpayne@69 2621 } while(0)
jpayne@69 2622 #define __Pyx_GetModuleGlobalNameUncached(var, name) do {\
jpayne@69 2623 PY_UINT64_T __pyx_dict_version;\
jpayne@69 2624 PyObject *__pyx_dict_cached_value;\
jpayne@69 2625 (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
jpayne@69 2626 } while(0)
jpayne@69 2627 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
jpayne@69 2628 #else
jpayne@69 2629 #define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
jpayne@69 2630 #define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
jpayne@69 2631 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
jpayne@69 2632 #endif
jpayne@69 2633
jpayne@69 2634 /* RaiseUnexpectedTypeError.proto */
jpayne@69 2635 static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj);
jpayne@69 2636
jpayne@69 2637 /* PyObject_Unicode.proto */
jpayne@69 2638 #if PY_MAJOR_VERSION >= 3
jpayne@69 2639 #define __Pyx_PyObject_Unicode(obj)\
jpayne@69 2640 (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Str(obj))
jpayne@69 2641 #else
jpayne@69 2642 #define __Pyx_PyObject_Unicode(obj)\
jpayne@69 2643 (likely(PyUnicode_CheckExact(obj)) ? __Pyx_NewRef(obj) : PyObject_Unicode(obj))
jpayne@69 2644 #endif
jpayne@69 2645
jpayne@69 2646 /* GetItemInt.proto */
jpayne@69 2647 #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
jpayne@69 2648 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
jpayne@69 2649 __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
jpayne@69 2650 (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
jpayne@69 2651 __Pyx_GetItemInt_Generic(o, to_py_func(i))))
jpayne@69 2652 #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
jpayne@69 2653 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
jpayne@69 2654 __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
jpayne@69 2655 (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
jpayne@69 2656 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
jpayne@69 2657 int wraparound, int boundscheck);
jpayne@69 2658 #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
jpayne@69 2659 (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
jpayne@69 2660 __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
jpayne@69 2661 (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
jpayne@69 2662 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
jpayne@69 2663 int wraparound, int boundscheck);
jpayne@69 2664 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
jpayne@69 2665 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
jpayne@69 2666 int is_list, int wraparound, int boundscheck);
jpayne@69 2667
jpayne@69 2668 /* ObjectGetItem.proto */
jpayne@69 2669 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 2670 static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key);
jpayne@69 2671 #else
jpayne@69 2672 #define __Pyx_PyObject_GetItem(obj, key) PyObject_GetItem(obj, key)
jpayne@69 2673 #endif
jpayne@69 2674
jpayne@69 2675 /* GetTopmostException.proto */
jpayne@69 2676 #if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
jpayne@69 2677 static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
jpayne@69 2678 #endif
jpayne@69 2679
jpayne@69 2680 /* SaveResetException.proto */
jpayne@69 2681 #if CYTHON_FAST_THREAD_STATE
jpayne@69 2682 #define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
jpayne@69 2683 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
jpayne@69 2684 #define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
jpayne@69 2685 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
jpayne@69 2686 #else
jpayne@69 2687 #define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
jpayne@69 2688 #define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
jpayne@69 2689 #endif
jpayne@69 2690
jpayne@69 2691 /* GetException.proto */
jpayne@69 2692 #if CYTHON_FAST_THREAD_STATE
jpayne@69 2693 #define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
jpayne@69 2694 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
jpayne@69 2695 #else
jpayne@69 2696 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
jpayne@69 2697 #endif
jpayne@69 2698
jpayne@69 2699 /* pybytes_as_double.proto */
jpayne@69 2700 static double __Pyx_SlowPyString_AsDouble(PyObject *obj);
jpayne@69 2701 static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length);
jpayne@69 2702 static CYTHON_INLINE double __Pyx_PyBytes_AsDouble(PyObject *obj) {
jpayne@69 2703 char* as_c_string;
jpayne@69 2704 Py_ssize_t size;
jpayne@69 2705 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 2706 as_c_string = PyBytes_AS_STRING(obj);
jpayne@69 2707 size = PyBytes_GET_SIZE(obj);
jpayne@69 2708 #else
jpayne@69 2709 if (PyBytes_AsStringAndSize(obj, &as_c_string, &size) < 0) {
jpayne@69 2710 return (double)-1;
jpayne@69 2711 }
jpayne@69 2712 #endif
jpayne@69 2713 return __Pyx__PyBytes_AsDouble(obj, as_c_string, size);
jpayne@69 2714 }
jpayne@69 2715 static CYTHON_INLINE double __Pyx_PyByteArray_AsDouble(PyObject *obj) {
jpayne@69 2716 char* as_c_string;
jpayne@69 2717 Py_ssize_t size;
jpayne@69 2718 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 2719 as_c_string = PyByteArray_AS_STRING(obj);
jpayne@69 2720 size = PyByteArray_GET_SIZE(obj);
jpayne@69 2721 #else
jpayne@69 2722 as_c_string = PyByteArray_AsString(obj);
jpayne@69 2723 if (as_c_string == NULL) {
jpayne@69 2724 return (double)-1;
jpayne@69 2725 }
jpayne@69 2726 size = PyByteArray_Size(obj);
jpayne@69 2727 #endif
jpayne@69 2728 return __Pyx__PyBytes_AsDouble(obj, as_c_string, size);
jpayne@69 2729 }
jpayne@69 2730
jpayne@69 2731 /* pyunicode_as_double.proto */
jpayne@69 2732 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS
jpayne@69 2733 static const char* __Pyx__PyUnicode_AsDouble_Copy(const void* data, const int kind, char* buffer, Py_ssize_t start, Py_ssize_t end) {
jpayne@69 2734 int last_was_punctuation;
jpayne@69 2735 Py_ssize_t i;
jpayne@69 2736 last_was_punctuation = 1;
jpayne@69 2737 for (i=start; i <= end; i++) {
jpayne@69 2738 Py_UCS4 chr = PyUnicode_READ(kind, data, i);
jpayne@69 2739 int is_punctuation = (chr == '_') | (chr == '.');
jpayne@69 2740 *buffer = (char)chr;
jpayne@69 2741 buffer += (chr != '_');
jpayne@69 2742 if (unlikely(chr > 127)) goto parse_failure;
jpayne@69 2743 if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure;
jpayne@69 2744 last_was_punctuation = is_punctuation;
jpayne@69 2745 }
jpayne@69 2746 if (unlikely(last_was_punctuation)) goto parse_failure;
jpayne@69 2747 *buffer = '\0';
jpayne@69 2748 return buffer;
jpayne@69 2749 parse_failure:
jpayne@69 2750 return NULL;
jpayne@69 2751 }
jpayne@69 2752 static double __Pyx__PyUnicode_AsDouble_inf_nan(const void* data, int kind, Py_ssize_t start, Py_ssize_t length) {
jpayne@69 2753 int matches = 1;
jpayne@69 2754 Py_UCS4 chr;
jpayne@69 2755 Py_UCS4 sign = PyUnicode_READ(kind, data, start);
jpayne@69 2756 int is_signed = (sign == '-') | (sign == '+');
jpayne@69 2757 start += is_signed;
jpayne@69 2758 length -= is_signed;
jpayne@69 2759 switch (PyUnicode_READ(kind, data, start)) {
jpayne@69 2760 #ifdef Py_NAN
jpayne@69 2761 case 'n':
jpayne@69 2762 case 'N':
jpayne@69 2763 if (unlikely(length != 3)) goto parse_failure;
jpayne@69 2764 chr = PyUnicode_READ(kind, data, start+1);
jpayne@69 2765 matches &= (chr == 'a') | (chr == 'A');
jpayne@69 2766 chr = PyUnicode_READ(kind, data, start+2);
jpayne@69 2767 matches &= (chr == 'n') | (chr == 'N');
jpayne@69 2768 if (unlikely(!matches)) goto parse_failure;
jpayne@69 2769 return (sign == '-') ? -Py_NAN : Py_NAN;
jpayne@69 2770 #endif
jpayne@69 2771 case 'i':
jpayne@69 2772 case 'I':
jpayne@69 2773 if (unlikely(length < 3)) goto parse_failure;
jpayne@69 2774 chr = PyUnicode_READ(kind, data, start+1);
jpayne@69 2775 matches &= (chr == 'n') | (chr == 'N');
jpayne@69 2776 chr = PyUnicode_READ(kind, data, start+2);
jpayne@69 2777 matches &= (chr == 'f') | (chr == 'F');
jpayne@69 2778 if (likely(length == 3 && matches))
jpayne@69 2779 return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
jpayne@69 2780 if (unlikely(length != 8)) goto parse_failure;
jpayne@69 2781 chr = PyUnicode_READ(kind, data, start+3);
jpayne@69 2782 matches &= (chr == 'i') | (chr == 'I');
jpayne@69 2783 chr = PyUnicode_READ(kind, data, start+4);
jpayne@69 2784 matches &= (chr == 'n') | (chr == 'N');
jpayne@69 2785 chr = PyUnicode_READ(kind, data, start+5);
jpayne@69 2786 matches &= (chr == 'i') | (chr == 'I');
jpayne@69 2787 chr = PyUnicode_READ(kind, data, start+6);
jpayne@69 2788 matches &= (chr == 't') | (chr == 'T');
jpayne@69 2789 chr = PyUnicode_READ(kind, data, start+7);
jpayne@69 2790 matches &= (chr == 'y') | (chr == 'Y');
jpayne@69 2791 if (unlikely(!matches)) goto parse_failure;
jpayne@69 2792 return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
jpayne@69 2793 case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
jpayne@69 2794 break;
jpayne@69 2795 default:
jpayne@69 2796 goto parse_failure;
jpayne@69 2797 }
jpayne@69 2798 return 0.0;
jpayne@69 2799 parse_failure:
jpayne@69 2800 return -1.0;
jpayne@69 2801 }
jpayne@69 2802 static double __Pyx_PyUnicode_AsDouble_WithSpaces(PyObject *obj) {
jpayne@69 2803 double value;
jpayne@69 2804 const char *last;
jpayne@69 2805 char *end;
jpayne@69 2806 Py_ssize_t start, length = PyUnicode_GET_LENGTH(obj);
jpayne@69 2807 const int kind = PyUnicode_KIND(obj);
jpayne@69 2808 const void* data = PyUnicode_DATA(obj);
jpayne@69 2809 start = 0;
jpayne@69 2810 while (Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, start)))
jpayne@69 2811 start++;
jpayne@69 2812 while (start < length - 1 && Py_UNICODE_ISSPACE(PyUnicode_READ(kind, data, length - 1)))
jpayne@69 2813 length--;
jpayne@69 2814 length -= start;
jpayne@69 2815 if (unlikely(length <= 0)) goto fallback;
jpayne@69 2816 value = __Pyx__PyUnicode_AsDouble_inf_nan(data, kind, start, length);
jpayne@69 2817 if (unlikely(value == -1.0)) goto fallback;
jpayne@69 2818 if (value != 0.0) return value;
jpayne@69 2819 if (length < 40) {
jpayne@69 2820 char number[40];
jpayne@69 2821 last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length);
jpayne@69 2822 if (unlikely(!last)) goto fallback;
jpayne@69 2823 value = PyOS_string_to_double(number, &end, NULL);
jpayne@69 2824 } else {
jpayne@69 2825 char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char));
jpayne@69 2826 if (unlikely(!number)) goto fallback;
jpayne@69 2827 last = __Pyx__PyUnicode_AsDouble_Copy(data, kind, number, start, start + length);
jpayne@69 2828 if (unlikely(!last)) {
jpayne@69 2829 PyMem_Free(number);
jpayne@69 2830 goto fallback;
jpayne@69 2831 }
jpayne@69 2832 value = PyOS_string_to_double(number, &end, NULL);
jpayne@69 2833 PyMem_Free(number);
jpayne@69 2834 }
jpayne@69 2835 if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) {
jpayne@69 2836 return value;
jpayne@69 2837 }
jpayne@69 2838 fallback:
jpayne@69 2839 return __Pyx_SlowPyString_AsDouble(obj);
jpayne@69 2840 }
jpayne@69 2841 #endif
jpayne@69 2842 static CYTHON_INLINE double __Pyx_PyUnicode_AsDouble(PyObject *obj) {
jpayne@69 2843 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY && CYTHON_ASSUME_SAFE_MACROS
jpayne@69 2844 if (unlikely(__Pyx_PyUnicode_READY(obj) == -1))
jpayne@69 2845 return (double)-1;
jpayne@69 2846 if (likely(PyUnicode_IS_ASCII(obj))) {
jpayne@69 2847 const char *s;
jpayne@69 2848 Py_ssize_t length;
jpayne@69 2849 s = PyUnicode_AsUTF8AndSize(obj, &length);
jpayne@69 2850 return __Pyx__PyBytes_AsDouble(obj, s, length);
jpayne@69 2851 }
jpayne@69 2852 return __Pyx_PyUnicode_AsDouble_WithSpaces(obj);
jpayne@69 2853 #else
jpayne@69 2854 return __Pyx_SlowPyString_AsDouble(obj);
jpayne@69 2855 #endif
jpayne@69 2856 }
jpayne@69 2857
jpayne@69 2858 /* pynumber_float.proto */
jpayne@69 2859 static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj);
jpayne@69 2860 #define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : __Pyx__PyNumber_Float(x))
jpayne@69 2861
jpayne@69 2862 /* PyIntBinop.proto */
jpayne@69 2863 #if !CYTHON_COMPILING_IN_PYPY
jpayne@69 2864 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check);
jpayne@69 2865 #else
jpayne@69 2866 #define __Pyx_PyInt_AddObjC(op1, op2, intval, inplace, zerodivision_check)\
jpayne@69 2867 (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
jpayne@69 2868 #endif
jpayne@69 2869
jpayne@69 2870 /* PyObjectSetAttrStr.proto */
jpayne@69 2871 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 2872 #define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
jpayne@69 2873 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
jpayne@69 2874 #else
jpayne@69 2875 #define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
jpayne@69 2876 #define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
jpayne@69 2877 #endif
jpayne@69 2878
jpayne@69 2879 /* PyObjectCallNoArg.proto */
jpayne@69 2880 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
jpayne@69 2881
jpayne@69 2882 /* PyObjectCallMethod0.proto */
jpayne@69 2883 static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name);
jpayne@69 2884
jpayne@69 2885 /* RaiseNoneIterError.proto */
jpayne@69 2886 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
jpayne@69 2887
jpayne@69 2888 /* UnpackTupleError.proto */
jpayne@69 2889 static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);
jpayne@69 2890
jpayne@69 2891 /* UnpackTuple2.proto */
jpayne@69 2892 #define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
jpayne@69 2893 (likely(is_tuple || PyTuple_Check(tuple)) ?\
jpayne@69 2894 (likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
jpayne@69 2895 __Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
jpayne@69 2896 (__Pyx_UnpackTupleError(tuple, 2), -1)) :\
jpayne@69 2897 __Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple))
jpayne@69 2898 static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
jpayne@69 2899 PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple);
jpayne@69 2900 static int __Pyx_unpack_tuple2_generic(
jpayne@69 2901 PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple);
jpayne@69 2902
jpayne@69 2903 /* dict_iter.proto */
jpayne@69 2904 static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
jpayne@69 2905 Py_ssize_t* p_orig_length, int* p_is_dict);
jpayne@69 2906 static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
jpayne@69 2907 PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
jpayne@69 2908
jpayne@69 2909 /* ListCompAppend.proto */
jpayne@69 2910 #if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
jpayne@69 2911 static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
jpayne@69 2912 PyListObject* L = (PyListObject*) list;
jpayne@69 2913 Py_ssize_t len = Py_SIZE(list);
jpayne@69 2914 if (likely(L->allocated > len)) {
jpayne@69 2915 Py_INCREF(x);
jpayne@69 2916 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
jpayne@69 2917 L->ob_item[len] = x;
jpayne@69 2918 #else
jpayne@69 2919 PyList_SET_ITEM(list, len, x);
jpayne@69 2920 #endif
jpayne@69 2921 __Pyx_SET_SIZE(list, len + 1);
jpayne@69 2922 return 0;
jpayne@69 2923 }
jpayne@69 2924 return PyList_Append(list, x);
jpayne@69 2925 }
jpayne@69 2926 #else
jpayne@69 2927 #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
jpayne@69 2928 #endif
jpayne@69 2929
jpayne@69 2930 /* SliceObject.proto */
jpayne@69 2931 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
jpayne@69 2932 PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
jpayne@69 2933 PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
jpayne@69 2934 int has_cstart, int has_cstop, int wraparound);
jpayne@69 2935
jpayne@69 2936 /* SliceTupleAndList.proto */
jpayne@69 2937 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 2938 static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
jpayne@69 2939 static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(PyObject* src, Py_ssize_t start, Py_ssize_t stop);
jpayne@69 2940 #else
jpayne@69 2941 #define __Pyx_PyList_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop)
jpayne@69 2942 #define __Pyx_PyTuple_GetSlice(seq, start, stop) PySequence_GetSlice(seq, start, stop)
jpayne@69 2943 #endif
jpayne@69 2944
jpayne@69 2945 /* pep479.proto */
jpayne@69 2946 static void __Pyx_Generator_Replace_StopIteration(int in_async_gen);
jpayne@69 2947
jpayne@69 2948 /* RaiseUnboundLocalError.proto */
jpayne@69 2949 static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
jpayne@69 2950
jpayne@69 2951 /* PySequenceContains.proto */
jpayne@69 2952 static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) {
jpayne@69 2953 int result = PySequence_Contains(seq, item);
jpayne@69 2954 return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
jpayne@69 2955 }
jpayne@69 2956
jpayne@69 2957 /* Import.proto */
jpayne@69 2958 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
jpayne@69 2959
jpayne@69 2960 /* ImportFrom.proto */
jpayne@69 2961 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
jpayne@69 2962
jpayne@69 2963 /* GetAttr.proto */
jpayne@69 2964 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
jpayne@69 2965
jpayne@69 2966 /* HasAttr.proto */
jpayne@69 2967 static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
jpayne@69 2968
jpayne@69 2969 /* PyObject_GenericGetAttrNoDict.proto */
jpayne@69 2970 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
jpayne@69 2971 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
jpayne@69 2972 #else
jpayne@69 2973 #define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
jpayne@69 2974 #endif
jpayne@69 2975
jpayne@69 2976 /* PyObject_GenericGetAttr.proto */
jpayne@69 2977 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
jpayne@69 2978 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name);
jpayne@69 2979 #else
jpayne@69 2980 #define __Pyx_PyObject_GenericGetAttr PyObject_GenericGetAttr
jpayne@69 2981 #endif
jpayne@69 2982
jpayne@69 2983 /* ValidateBasesTuple.proto */
jpayne@69 2984 #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
jpayne@69 2985 static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases);
jpayne@69 2986 #endif
jpayne@69 2987
jpayne@69 2988 /* PyType_Ready.proto */
jpayne@69 2989 CYTHON_UNUSED static int __Pyx_PyType_Ready(PyTypeObject *t);
jpayne@69 2990
jpayne@69 2991 /* SetVTable.proto */
jpayne@69 2992 static int __Pyx_SetVtable(PyTypeObject* typeptr , void* vtable);
jpayne@69 2993
jpayne@69 2994 /* GetVTable.proto */
jpayne@69 2995 static void* __Pyx_GetVtable(PyTypeObject *type);
jpayne@69 2996
jpayne@69 2997 /* MergeVTables.proto */
jpayne@69 2998 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 2999 static int __Pyx_MergeVtables(PyTypeObject *type);
jpayne@69 3000 #endif
jpayne@69 3001
jpayne@69 3002 /* SetupReduce.proto */
jpayne@69 3003 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 3004 static int __Pyx_setup_reduce(PyObject* type_obj);
jpayne@69 3005 #endif
jpayne@69 3006
jpayne@69 3007 /* TypeImport.proto */
jpayne@69 3008 #ifndef __PYX_HAVE_RT_ImportType_proto_3_0_11
jpayne@69 3009 #define __PYX_HAVE_RT_ImportType_proto_3_0_11
jpayne@69 3010 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
jpayne@69 3011 #include <stdalign.h>
jpayne@69 3012 #endif
jpayne@69 3013 #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || __cplusplus >= 201103L
jpayne@69 3014 #define __PYX_GET_STRUCT_ALIGNMENT_3_0_11(s) alignof(s)
jpayne@69 3015 #else
jpayne@69 3016 #define __PYX_GET_STRUCT_ALIGNMENT_3_0_11(s) sizeof(void*)
jpayne@69 3017 #endif
jpayne@69 3018 enum __Pyx_ImportType_CheckSize_3_0_11 {
jpayne@69 3019 __Pyx_ImportType_CheckSize_Error_3_0_11 = 0,
jpayne@69 3020 __Pyx_ImportType_CheckSize_Warn_3_0_11 = 1,
jpayne@69 3021 __Pyx_ImportType_CheckSize_Ignore_3_0_11 = 2
jpayne@69 3022 };
jpayne@69 3023 static PyTypeObject *__Pyx_ImportType_3_0_11(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_11 check_size);
jpayne@69 3024 #endif
jpayne@69 3025
jpayne@69 3026 /* ImportDottedModule.proto */
jpayne@69 3027 static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple);
jpayne@69 3028 #if PY_MAJOR_VERSION >= 3
jpayne@69 3029 static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
jpayne@69 3030 #endif
jpayne@69 3031
jpayne@69 3032 /* CLineInTraceback.proto */
jpayne@69 3033 #ifdef CYTHON_CLINE_IN_TRACEBACK
jpayne@69 3034 #define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
jpayne@69 3035 #else
jpayne@69 3036 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
jpayne@69 3037 #endif
jpayne@69 3038
jpayne@69 3039 /* CodeObjectCache.proto */
jpayne@69 3040 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 3041 typedef struct {
jpayne@69 3042 PyCodeObject* code_object;
jpayne@69 3043 int code_line;
jpayne@69 3044 } __Pyx_CodeObjectCacheEntry;
jpayne@69 3045 struct __Pyx_CodeObjectCache {
jpayne@69 3046 int count;
jpayne@69 3047 int max_count;
jpayne@69 3048 __Pyx_CodeObjectCacheEntry* entries;
jpayne@69 3049 };
jpayne@69 3050 static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
jpayne@69 3051 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
jpayne@69 3052 static PyCodeObject *__pyx_find_code_object(int code_line);
jpayne@69 3053 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
jpayne@69 3054 #endif
jpayne@69 3055
jpayne@69 3056 /* AddTraceback.proto */
jpayne@69 3057 static void __Pyx_AddTraceback(const char *funcname, int c_line,
jpayne@69 3058 int py_line, const char *filename);
jpayne@69 3059
jpayne@69 3060 /* GCCDiagnostics.proto */
jpayne@69 3061 #if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
jpayne@69 3062 #define __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 3063 #endif
jpayne@69 3064
jpayne@69 3065 /* ArrayAPI.proto */
jpayne@69 3066 #ifndef _ARRAYARRAY_H
jpayne@69 3067 #define _ARRAYARRAY_H
jpayne@69 3068 typedef struct arraydescr {
jpayne@69 3069 int typecode;
jpayne@69 3070 int itemsize;
jpayne@69 3071 PyObject * (*getitem)(struct arrayobject *, Py_ssize_t);
jpayne@69 3072 int (*setitem)(struct arrayobject *, Py_ssize_t, PyObject *);
jpayne@69 3073 #if PY_MAJOR_VERSION >= 3
jpayne@69 3074 char *formats;
jpayne@69 3075 #endif
jpayne@69 3076 } arraydescr;
jpayne@69 3077 struct arrayobject {
jpayne@69 3078 PyObject_HEAD
jpayne@69 3079 Py_ssize_t ob_size;
jpayne@69 3080 union {
jpayne@69 3081 char *ob_item;
jpayne@69 3082 float *as_floats;
jpayne@69 3083 double *as_doubles;
jpayne@69 3084 int *as_ints;
jpayne@69 3085 unsigned int *as_uints;
jpayne@69 3086 unsigned char *as_uchars;
jpayne@69 3087 signed char *as_schars;
jpayne@69 3088 char *as_chars;
jpayne@69 3089 unsigned long *as_ulongs;
jpayne@69 3090 long *as_longs;
jpayne@69 3091 #if PY_MAJOR_VERSION >= 3
jpayne@69 3092 unsigned long long *as_ulonglongs;
jpayne@69 3093 long long *as_longlongs;
jpayne@69 3094 #endif
jpayne@69 3095 short *as_shorts;
jpayne@69 3096 unsigned short *as_ushorts;
jpayne@69 3097 Py_UNICODE *as_pyunicodes;
jpayne@69 3098 void *as_voidptr;
jpayne@69 3099 } data;
jpayne@69 3100 Py_ssize_t allocated;
jpayne@69 3101 struct arraydescr *ob_descr;
jpayne@69 3102 PyObject *weakreflist;
jpayne@69 3103 #if PY_MAJOR_VERSION >= 3
jpayne@69 3104 int ob_exports;
jpayne@69 3105 #endif
jpayne@69 3106 };
jpayne@69 3107 #ifndef NO_NEWARRAY_INLINE
jpayne@69 3108 static CYTHON_INLINE PyObject * newarrayobject(PyTypeObject *type, Py_ssize_t size,
jpayne@69 3109 struct arraydescr *descr) {
jpayne@69 3110 arrayobject *op;
jpayne@69 3111 size_t nbytes;
jpayne@69 3112 if (size < 0) {
jpayne@69 3113 PyErr_BadInternalCall();
jpayne@69 3114 return NULL;
jpayne@69 3115 }
jpayne@69 3116 nbytes = size * descr->itemsize;
jpayne@69 3117 if (nbytes / descr->itemsize != (size_t)size) {
jpayne@69 3118 return PyErr_NoMemory();
jpayne@69 3119 }
jpayne@69 3120 op = (arrayobject *) type->tp_alloc(type, 0);
jpayne@69 3121 if (op == NULL) {
jpayne@69 3122 return NULL;
jpayne@69 3123 }
jpayne@69 3124 op->ob_descr = descr;
jpayne@69 3125 op->allocated = size;
jpayne@69 3126 op->weakreflist = NULL;
jpayne@69 3127 __Pyx_SET_SIZE(op, size);
jpayne@69 3128 if (size <= 0) {
jpayne@69 3129 op->data.ob_item = NULL;
jpayne@69 3130 }
jpayne@69 3131 else {
jpayne@69 3132 op->data.ob_item = PyMem_NEW(char, nbytes);
jpayne@69 3133 if (op->data.ob_item == NULL) {
jpayne@69 3134 Py_DECREF(op);
jpayne@69 3135 return PyErr_NoMemory();
jpayne@69 3136 }
jpayne@69 3137 }
jpayne@69 3138 return (PyObject *) op;
jpayne@69 3139 }
jpayne@69 3140 #else
jpayne@69 3141 PyObject* newarrayobject(PyTypeObject *type, Py_ssize_t size,
jpayne@69 3142 struct arraydescr *descr);
jpayne@69 3143 #endif
jpayne@69 3144 static CYTHON_INLINE int resize(arrayobject *self, Py_ssize_t n) {
jpayne@69 3145 void *items = (void*) self->data.ob_item;
jpayne@69 3146 PyMem_Resize(items, char, (size_t)(n * self->ob_descr->itemsize));
jpayne@69 3147 if (items == NULL) {
jpayne@69 3148 PyErr_NoMemory();
jpayne@69 3149 return -1;
jpayne@69 3150 }
jpayne@69 3151 self->data.ob_item = (char*) items;
jpayne@69 3152 __Pyx_SET_SIZE(self, n);
jpayne@69 3153 self->allocated = n;
jpayne@69 3154 return 0;
jpayne@69 3155 }
jpayne@69 3156 static CYTHON_INLINE int resize_smart(arrayobject *self, Py_ssize_t n) {
jpayne@69 3157 void *items = (void*) self->data.ob_item;
jpayne@69 3158 Py_ssize_t newsize;
jpayne@69 3159 if (n < self->allocated && n*4 > self->allocated) {
jpayne@69 3160 __Pyx_SET_SIZE(self, n);
jpayne@69 3161 return 0;
jpayne@69 3162 }
jpayne@69 3163 newsize = n + (n / 2) + 1;
jpayne@69 3164 if (newsize <= n) {
jpayne@69 3165 PyErr_NoMemory();
jpayne@69 3166 return -1;
jpayne@69 3167 }
jpayne@69 3168 PyMem_Resize(items, char, (size_t)(newsize * self->ob_descr->itemsize));
jpayne@69 3169 if (items == NULL) {
jpayne@69 3170 PyErr_NoMemory();
jpayne@69 3171 return -1;
jpayne@69 3172 }
jpayne@69 3173 self->data.ob_item = (char*) items;
jpayne@69 3174 __Pyx_SET_SIZE(self, n);
jpayne@69 3175 self->allocated = newsize;
jpayne@69 3176 return 0;
jpayne@69 3177 }
jpayne@69 3178 #endif
jpayne@69 3179
jpayne@69 3180 /* CIntToPy.proto */
jpayne@69 3181 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value);
jpayne@69 3182
jpayne@69 3183 /* CIntFromPy.proto */
jpayne@69 3184 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
jpayne@69 3185
jpayne@69 3186 /* CIntFromPy.proto */
jpayne@69 3187 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
jpayne@69 3188
jpayne@69 3189 /* CIntToPy.proto */
jpayne@69 3190 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
jpayne@69 3191
jpayne@69 3192 /* CIntFromPy.proto */
jpayne@69 3193 static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *);
jpayne@69 3194
jpayne@69 3195 /* CIntToPy.proto */
jpayne@69 3196 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value);
jpayne@69 3197
jpayne@69 3198 /* FormatTypeName.proto */
jpayne@69 3199 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 3200 typedef PyObject *__Pyx_TypeName;
jpayne@69 3201 #define __Pyx_FMT_TYPENAME "%U"
jpayne@69 3202 static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp);
jpayne@69 3203 #define __Pyx_DECREF_TypeName(obj) Py_XDECREF(obj)
jpayne@69 3204 #else
jpayne@69 3205 typedef const char *__Pyx_TypeName;
jpayne@69 3206 #define __Pyx_FMT_TYPENAME "%.200s"
jpayne@69 3207 #define __Pyx_PyType_GetName(tp) ((tp)->tp_name)
jpayne@69 3208 #define __Pyx_DECREF_TypeName(obj)
jpayne@69 3209 #endif
jpayne@69 3210
jpayne@69 3211 /* FastTypeChecks.proto */
jpayne@69 3212 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 3213 #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
jpayne@69 3214 #define __Pyx_TypeCheck2(obj, type1, type2) __Pyx_IsAnySubtype2(Py_TYPE(obj), (PyTypeObject *)type1, (PyTypeObject *)type2)
jpayne@69 3215 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b);
jpayne@69 3216 static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b);
jpayne@69 3217 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type);
jpayne@69 3218 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2);
jpayne@69 3219 #else
jpayne@69 3220 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
jpayne@69 3221 #define __Pyx_TypeCheck2(obj, type1, type2) (PyObject_TypeCheck(obj, (PyTypeObject *)type1) || PyObject_TypeCheck(obj, (PyTypeObject *)type2))
jpayne@69 3222 #define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
jpayne@69 3223 #define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
jpayne@69 3224 #endif
jpayne@69 3225 #define __Pyx_PyErr_ExceptionMatches2(err1, err2) __Pyx_PyErr_GivenExceptionMatches2(__Pyx_PyErr_CurrentExceptionType(), err1, err2)
jpayne@69 3226 #define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
jpayne@69 3227
jpayne@69 3228 /* SwapException.proto */
jpayne@69 3229 #if CYTHON_FAST_THREAD_STATE
jpayne@69 3230 #define __Pyx_ExceptionSwap(type, value, tb) __Pyx__ExceptionSwap(__pyx_tstate, type, value, tb)
jpayne@69 3231 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
jpayne@69 3232 #else
jpayne@69 3233 static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb);
jpayne@69 3234 #endif
jpayne@69 3235
jpayne@69 3236 /* CoroutineBase.proto */
jpayne@69 3237 struct __pyx_CoroutineObject;
jpayne@69 3238 typedef PyObject *(*__pyx_coroutine_body_t)(struct __pyx_CoroutineObject *, PyThreadState *, PyObject *);
jpayne@69 3239 #if CYTHON_USE_EXC_INFO_STACK
jpayne@69 3240 #define __Pyx_ExcInfoStruct _PyErr_StackItem
jpayne@69 3241 #else
jpayne@69 3242 typedef struct {
jpayne@69 3243 PyObject *exc_type;
jpayne@69 3244 PyObject *exc_value;
jpayne@69 3245 PyObject *exc_traceback;
jpayne@69 3246 } __Pyx_ExcInfoStruct;
jpayne@69 3247 #endif
jpayne@69 3248 typedef struct __pyx_CoroutineObject {
jpayne@69 3249 PyObject_HEAD
jpayne@69 3250 __pyx_coroutine_body_t body;
jpayne@69 3251 PyObject *closure;
jpayne@69 3252 __Pyx_ExcInfoStruct gi_exc_state;
jpayne@69 3253 PyObject *gi_weakreflist;
jpayne@69 3254 PyObject *classobj;
jpayne@69 3255 PyObject *yieldfrom;
jpayne@69 3256 PyObject *gi_name;
jpayne@69 3257 PyObject *gi_qualname;
jpayne@69 3258 PyObject *gi_modulename;
jpayne@69 3259 PyObject *gi_code;
jpayne@69 3260 PyObject *gi_frame;
jpayne@69 3261 int resume_label;
jpayne@69 3262 char is_running;
jpayne@69 3263 } __pyx_CoroutineObject;
jpayne@69 3264 static __pyx_CoroutineObject *__Pyx__Coroutine_New(
jpayne@69 3265 PyTypeObject *type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
jpayne@69 3266 PyObject *name, PyObject *qualname, PyObject *module_name);
jpayne@69 3267 static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
jpayne@69 3268 __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
jpayne@69 3269 PyObject *name, PyObject *qualname, PyObject *module_name);
jpayne@69 3270 static CYTHON_INLINE void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *self);
jpayne@69 3271 static int __Pyx_Coroutine_clear(PyObject *self);
jpayne@69 3272 static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value);
jpayne@69 3273 static PyObject *__Pyx_Coroutine_Close(PyObject *self);
jpayne@69 3274 static PyObject *__Pyx_Coroutine_Throw(PyObject *gen, PyObject *args);
jpayne@69 3275 #if CYTHON_USE_EXC_INFO_STACK
jpayne@69 3276 #define __Pyx_Coroutine_SwapException(self)
jpayne@69 3277 #define __Pyx_Coroutine_ResetAndClearException(self) __Pyx_Coroutine_ExceptionClear(&(self)->gi_exc_state)
jpayne@69 3278 #else
jpayne@69 3279 #define __Pyx_Coroutine_SwapException(self) {\
jpayne@69 3280 __Pyx_ExceptionSwap(&(self)->gi_exc_state.exc_type, &(self)->gi_exc_state.exc_value, &(self)->gi_exc_state.exc_traceback);\
jpayne@69 3281 __Pyx_Coroutine_ResetFrameBackpointer(&(self)->gi_exc_state);\
jpayne@69 3282 }
jpayne@69 3283 #define __Pyx_Coroutine_ResetAndClearException(self) {\
jpayne@69 3284 __Pyx_ExceptionReset((self)->gi_exc_state.exc_type, (self)->gi_exc_state.exc_value, (self)->gi_exc_state.exc_traceback);\
jpayne@69 3285 (self)->gi_exc_state.exc_type = (self)->gi_exc_state.exc_value = (self)->gi_exc_state.exc_traceback = NULL;\
jpayne@69 3286 }
jpayne@69 3287 #endif
jpayne@69 3288 #if CYTHON_FAST_THREAD_STATE
jpayne@69 3289 #define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
jpayne@69 3290 __Pyx_PyGen__FetchStopIterationValue(__pyx_tstate, pvalue)
jpayne@69 3291 #else
jpayne@69 3292 #define __Pyx_PyGen_FetchStopIterationValue(pvalue)\
jpayne@69 3293 __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, pvalue)
jpayne@69 3294 #endif
jpayne@69 3295 static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *tstate, PyObject **pvalue);
jpayne@69 3296 static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state);
jpayne@69 3297
jpayne@69 3298 /* PatchModuleWithCoroutine.proto */
jpayne@69 3299 static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code);
jpayne@69 3300
jpayne@69 3301 /* PatchGeneratorABC.proto */
jpayne@69 3302 static int __Pyx_patch_abc(void);
jpayne@69 3303
jpayne@69 3304 /* Generator.proto */
jpayne@69 3305 #define __Pyx_Generator_USED
jpayne@69 3306 #define __Pyx_Generator_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_GeneratorType)
jpayne@69 3307 #define __Pyx_Generator_New(body, code, closure, name, qualname, module_name)\
jpayne@69 3308 __Pyx__Coroutine_New(__pyx_GeneratorType, body, code, closure, name, qualname, module_name)
jpayne@69 3309 static PyObject *__Pyx_Generator_Next(PyObject *self);
jpayne@69 3310 static int __pyx_Generator_init(PyObject *module);
jpayne@69 3311
jpayne@69 3312 /* CheckBinaryVersion.proto */
jpayne@69 3313 static unsigned long __Pyx_get_runtime_version(void);
jpayne@69 3314 static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
jpayne@69 3315
jpayne@69 3316 /* FunctionImport.proto */
jpayne@69 3317 static int __Pyx_ImportFunction_3_0_11(PyObject *module, const char *funcname, void (**f)(void), const char *sig);
jpayne@69 3318
jpayne@69 3319 /* InitStrings.proto */
jpayne@69 3320 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
jpayne@69 3321
jpayne@69 3322 /* #### Code section: module_declarations ### */
jpayne@69 3323 static CYTHON_INLINE double __pyx_f_7cpython_7complex_7complex_4real_real(PyComplexObject *__pyx_v_self); /* proto*/
jpayne@69 3324 static CYTHON_INLINE double __pyx_f_7cpython_7complex_7complex_4imag_imag(PyComplexObject *__pyx_v_self); /* proto*/
jpayne@69 3325 static PyObject *__pyx_f_5pysam_16libctabixproxies_10TupleProxy_take(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes); /* proto*/
jpayne@69 3326 static PyObject *__pyx_f_5pysam_16libctabixproxies_10TupleProxy_present(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes); /* proto*/
jpayne@69 3327 static PyObject *__pyx_f_5pysam_16libctabixproxies_10TupleProxy_copy(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes, struct __pyx_opt_args_5pysam_16libctabixproxies_10TupleProxy_copy *__pyx_optional_args); /* proto*/
jpayne@69 3328 static int __pyx_f_5pysam_16libctabixproxies_10TupleProxy_getMinFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
jpayne@69 3329 static int __pyx_f_5pysam_16libctabixproxies_10TupleProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
jpayne@69 3330 static PyObject *__pyx_f_5pysam_16libctabixproxies_10TupleProxy_update(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes); /* proto*/
jpayne@69 3331 static int __pyx_f_5pysam_16libctabixproxies_8GTFProxy_getMinFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
jpayne@69 3332 static int __pyx_f_5pysam_16libctabixproxies_8GTFProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
jpayne@69 3333 static int __pyx_f_5pysam_16libctabixproxies_8BedProxy_getMinFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
jpayne@69 3334 static int __pyx_f_5pysam_16libctabixproxies_8BedProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, int __pyx_skip_dispatch); /* proto*/
jpayne@69 3335 static PyObject *__pyx_f_5pysam_16libctabixproxies_8BedProxy_update(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes); /* proto*/
jpayne@69 3336 static PyObject *__pyx_f_5pysam_16libctabixproxies_8VCFProxy_update(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes); /* proto*/
jpayne@69 3337
jpayne@69 3338 /* Module declarations from "libc.stdint" */
jpayne@69 3339
jpayne@69 3340 /* Module declarations from "cpython.version" */
jpayne@69 3341
jpayne@69 3342 /* Module declarations from "__builtin__" */
jpayne@69 3343
jpayne@69 3344 /* Module declarations from "cpython.type" */
jpayne@69 3345
jpayne@69 3346 /* Module declarations from "libc.string" */
jpayne@69 3347
jpayne@69 3348 /* Module declarations from "libc.stdio" */
jpayne@69 3349
jpayne@69 3350 /* Module declarations from "cpython.object" */
jpayne@69 3351
jpayne@69 3352 /* Module declarations from "cpython.ref" */
jpayne@69 3353
jpayne@69 3354 /* Module declarations from "cpython.exc" */
jpayne@69 3355
jpayne@69 3356 /* Module declarations from "cpython.module" */
jpayne@69 3357
jpayne@69 3358 /* Module declarations from "cpython.mem" */
jpayne@69 3359
jpayne@69 3360 /* Module declarations from "cpython.tuple" */
jpayne@69 3361
jpayne@69 3362 /* Module declarations from "cpython.list" */
jpayne@69 3363
jpayne@69 3364 /* Module declarations from "cpython.sequence" */
jpayne@69 3365
jpayne@69 3366 /* Module declarations from "cpython.mapping" */
jpayne@69 3367
jpayne@69 3368 /* Module declarations from "cpython.iterator" */
jpayne@69 3369
jpayne@69 3370 /* Module declarations from "cpython.number" */
jpayne@69 3371
jpayne@69 3372 /* Module declarations from "cpython.int" */
jpayne@69 3373
jpayne@69 3374 /* Module declarations from "__builtin__" */
jpayne@69 3375
jpayne@69 3376 /* Module declarations from "cpython.bool" */
jpayne@69 3377
jpayne@69 3378 /* Module declarations from "cpython.long" */
jpayne@69 3379
jpayne@69 3380 /* Module declarations from "cpython.float" */
jpayne@69 3381
jpayne@69 3382 /* Module declarations from "__builtin__" */
jpayne@69 3383
jpayne@69 3384 /* Module declarations from "cpython.complex" */
jpayne@69 3385
jpayne@69 3386 /* Module declarations from "cpython.string" */
jpayne@69 3387
jpayne@69 3388 /* Module declarations from "libc.stddef" */
jpayne@69 3389
jpayne@69 3390 /* Module declarations from "cpython.unicode" */
jpayne@69 3391
jpayne@69 3392 /* Module declarations from "cpython.pyport" */
jpayne@69 3393
jpayne@69 3394 /* Module declarations from "cpython.dict" */
jpayne@69 3395
jpayne@69 3396 /* Module declarations from "cpython.instance" */
jpayne@69 3397
jpayne@69 3398 /* Module declarations from "cpython.function" */
jpayne@69 3399
jpayne@69 3400 /* Module declarations from "cpython.method" */
jpayne@69 3401
jpayne@69 3402 /* Module declarations from "cpython.weakref" */
jpayne@69 3403
jpayne@69 3404 /* Module declarations from "cpython.getargs" */
jpayne@69 3405
jpayne@69 3406 /* Module declarations from "cpython.pythread" */
jpayne@69 3407
jpayne@69 3408 /* Module declarations from "cpython.pystate" */
jpayne@69 3409
jpayne@69 3410 /* Module declarations from "cpython.cobject" */
jpayne@69 3411
jpayne@69 3412 /* Module declarations from "cpython.oldbuffer" */
jpayne@69 3413
jpayne@69 3414 /* Module declarations from "cpython.set" */
jpayne@69 3415
jpayne@69 3416 /* Module declarations from "cpython.buffer" */
jpayne@69 3417
jpayne@69 3418 /* Module declarations from "cpython.bytes" */
jpayne@69 3419
jpayne@69 3420 /* Module declarations from "cpython.pycapsule" */
jpayne@69 3421
jpayne@69 3422 /* Module declarations from "cpython.contextvars" */
jpayne@69 3423
jpayne@69 3424 /* Module declarations from "cpython" */
jpayne@69 3425
jpayne@69 3426 /* Module declarations from "libc.stdlib" */
jpayne@69 3427
jpayne@69 3428 /* Module declarations from "cython" */
jpayne@69 3429
jpayne@69 3430 /* Module declarations from "array" */
jpayne@69 3431
jpayne@69 3432 /* Module declarations from "cpython.array" */
jpayne@69 3433 static CYTHON_INLINE int __pyx_f_7cpython_5array_extend_buffer(arrayobject *, char *, Py_ssize_t); /*proto*/
jpayne@69 3434
jpayne@69 3435 /* Module declarations from "pysam.libcutils" */
jpayne@69 3436 static PyObject *(*__pyx_f_5pysam_9libcutils_charptr_to_str)(char const *, struct __pyx_opt_args_5pysam_9libcutils_charptr_to_str *__pyx_optional_args); /*proto*/
jpayne@69 3437 static PyObject *(*__pyx_f_5pysam_9libcutils_force_str)(PyObject *, struct __pyx_opt_args_5pysam_9libcutils_force_str *__pyx_optional_args); /*proto*/
jpayne@69 3438 static PyObject *(*__pyx_f_5pysam_9libcutils_force_bytes)(PyObject *, struct __pyx_opt_args_5pysam_9libcutils_force_bytes *__pyx_optional_args); /*proto*/
jpayne@69 3439 static PyObject *(*__pyx_f_5pysam_9libcutils_encode_filename)(PyObject *); /*proto*/
jpayne@69 3440 static PyObject *(*__pyx_f_5pysam_9libcutils_from_string_and_size)(char const *, size_t); /*proto*/
jpayne@69 3441
jpayne@69 3442 /* Module declarations from "pysam.libctabixproxies" */
jpayne@69 3443 static char *__pyx_f_5pysam_16libctabixproxies_StrOrEmpty(char *); /*proto*/
jpayne@69 3444 static int __pyx_f_5pysam_16libctabixproxies_isNew(char *, char *, size_t); /*proto*/
jpayne@69 3445 static PyObject *__pyx_f_5pysam_16libctabixproxies_dot_or_float(PyObject *); /*proto*/
jpayne@69 3446 static PyObject *__pyx_f_5pysam_16libctabixproxies_dot_or_int(PyObject *); /*proto*/
jpayne@69 3447 static PyObject *__pyx_f_5pysam_16libctabixproxies_dot_or_str(PyObject *); /*proto*/
jpayne@69 3448 static int __pyx_f_5pysam_16libctabixproxies_from1based(PyObject *); /*proto*/
jpayne@69 3449 static PyObject *__pyx_f_5pysam_16libctabixproxies_to1based(int); /*proto*/
jpayne@69 3450 static PyObject *__pyx_f_5pysam_16libctabixproxies___pyx_unpickle_TupleProxyIterator__set_state(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *, PyObject *); /*proto*/
jpayne@69 3451 static PyObject *__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(PyObject *(*)(PyObject *)); /*proto*/
jpayne@69 3452 static PyObject *__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(int (*)(PyObject *)); /*proto*/
jpayne@69 3453 static PyObject *__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(PyObject *(*)(int)); /*proto*/
jpayne@69 3454 /* #### Code section: typeinfo ### */
jpayne@69 3455 /* #### Code section: before_global_var ### */
jpayne@69 3456 #define __Pyx_MODULE_NAME "pysam.libctabixproxies"
jpayne@69 3457 extern int __pyx_module_is_main_pysam__libctabixproxies;
jpayne@69 3458 int __pyx_module_is_main_pysam__libctabixproxies = 0;
jpayne@69 3459
jpayne@69 3460 /* Implementation of "pysam.libctabixproxies" */
jpayne@69 3461 /* #### Code section: global_var ### */
jpayne@69 3462 static PyObject *__pyx_builtin_NotImplementedError;
jpayne@69 3463 static PyObject *__pyx_builtin_ValueError;
jpayne@69 3464 static PyObject *__pyx_builtin_AssertionError;
jpayne@69 3465 static PyObject *__pyx_builtin_IndexError;
jpayne@69 3466 static PyObject *__pyx_builtin_range;
jpayne@69 3467 static PyObject *__pyx_builtin_xrange;
jpayne@69 3468 static PyObject *__pyx_builtin_TypeError;
jpayne@69 3469 static PyObject *__pyx_builtin_StopIteration;
jpayne@69 3470 static PyObject *__pyx_builtin_KeyError;
jpayne@69 3471 static PyObject *__pyx_builtin_super;
jpayne@69 3472 static PyObject *__pyx_builtin_MemoryError;
jpayne@69 3473 /* #### Code section: string_decls ### */
jpayne@69 3474 static const char __pyx_k_d[] = "d";
jpayne@69 3475 static const char __pyx_k_f[] = "f";
jpayne@69 3476 static const char __pyx_k_i[] = "i";
jpayne@69 3477 static const char __pyx_k_k[] = "k";
jpayne@69 3478 static const char __pyx_k_n[] = "n";
jpayne@69 3479 static const char __pyx_k_s[] = "\"%s\"";
jpayne@69 3480 static const char __pyx_k_v[] = "v";
jpayne@69 3481 static const char __pyx_k_x[] = "x";
jpayne@69 3482 static const char __pyx_k_aa[] = "aa";
jpayne@69 3483 static const char __pyx_k_gc[] = "gc";
jpayne@69 3484 static const char __pyx_k_id[] = "id";
jpayne@69 3485 static const char __pyx_k__11[] = "\t";
jpayne@69 3486 static const char __pyx_k__12[] = ".";
jpayne@69 3487 static const char __pyx_k__13[] = "";
jpayne@69 3488 static const char __pyx_k__14[] = "-";
jpayne@69 3489 static const char __pyx_k__15[] = "{} \"{}\"";
jpayne@69 3490 static const char __pyx_k__16[] = "{} {}";
jpayne@69 3491 static const char __pyx_k__17[] = ";";
jpayne@69 3492 static const char __pyx_k__19[] = "; ";
jpayne@69 3493 static const char __pyx_k__21[] = " ";
jpayne@69 3494 static const char __pyx_k__23[] = "\"";
jpayne@69 3495 static const char __pyx_k__26[] = "{}={}";
jpayne@69 3496 static const char __pyx_k__28[] = "=";
jpayne@69 3497 static const char __pyx_k__32[] = "*";
jpayne@69 3498 static const char __pyx_k__88[] = "?";
jpayne@69 3499 static const char __pyx_k_all[] = "__all__";
jpayne@69 3500 static const char __pyx_k_alt[] = "alt";
jpayne@69 3501 static const char __pyx_k_end[] = "end";
jpayne@69 3502 static const char __pyx_k_get[] = "get";
jpayne@69 3503 static const char __pyx_k_idx[] = "idx";
jpayne@69 3504 static const char __pyx_k_key[] = "key";
jpayne@69 3505 static const char __pyx_k_new[] = "__new__";
jpayne@69 3506 static const char __pyx_k_pos[] = "pos";
jpayne@69 3507 static const char __pyx_k_ref[] = "ref";
jpayne@69 3508 static const char __pyx_k_s_2[] = "s";
jpayne@69 3509 static const char __pyx_k_str[] = "__str__";
jpayne@69 3510 static const char __pyx_k_tmp[] = "tmp";
jpayne@69 3511 static const char __pyx_k_args[] = "args";
jpayne@69 3512 static const char __pyx_k_copy[] = "copy";
jpayne@69 3513 static const char __pyx_k_dict[] = "__dict__";
jpayne@69 3514 static const char __pyx_k_info[] = "info";
jpayne@69 3515 static const char __pyx_k_join[] = "join";
jpayne@69 3516 static const char __pyx_k_keys[] = "keys";
jpayne@69 3517 static const char __pyx_k_main[] = "__main__";
jpayne@69 3518 static const char __pyx_k_name[] = "name";
jpayne@69 3519 static const char __pyx_k_qual[] = "qual";
jpayne@69 3520 static const char __pyx_k_self[] = "self";
jpayne@69 3521 static const char __pyx_k_send[] = "send";
jpayne@69 3522 static const char __pyx_k_spec[] = "__spec__";
jpayne@69 3523 static const char __pyx_k_test[] = "__test__";
jpayne@69 3524 static const char __pyx_k_wrap[] = "wrap";
jpayne@69 3525 static const char __pyx_k_ascii[] = "ascii";
jpayne@69 3526 static const char __pyx_k_close[] = "close";
jpayne@69 3527 static const char __pyx_k_frame[] = "frame";
jpayne@69 3528 static const char __pyx_k_index[] = "index";
jpayne@69 3529 static const char __pyx_k_items[] = "items";
jpayne@69 3530 static const char __pyx_k_other[] = "other";
jpayne@69 3531 static const char __pyx_k_proxy[] = "proxy";
jpayne@69 3532 static const char __pyx_k_quote[] = "quote";
jpayne@69 3533 static const char __pyx_k_range[] = "range";
jpayne@69 3534 static const char __pyx_k_score[] = "score";
jpayne@69 3535 static const char __pyx_k_split[] = "split";
jpayne@69 3536 static const char __pyx_k_start[] = "start";
jpayne@69 3537 static const char __pyx_k_state[] = "state";
jpayne@69 3538 static const char __pyx_k_strip[] = "strip";
jpayne@69 3539 static const char __pyx_k_super[] = "super";
jpayne@69 3540 static const char __pyx_k_throw[] = "throw";
jpayne@69 3541 static const char __pyx_k_toDot[] = "toDot";
jpayne@69 3542 static const char __pyx_k_value[] = "value";
jpayne@69 3543 static const char __pyx_k_append[] = "append";
jpayne@69 3544 static const char __pyx_k_asDict[] = "asDict";
jpayne@69 3545 static const char __pyx_k_contig[] = "contig";
jpayne@69 3546 static const char __pyx_k_copy_2[] = "__copy__";
jpayne@69 3547 static const char __pyx_k_decode[] = "decode";
jpayne@69 3548 static const char __pyx_k_dict_2[] = "_dict";
jpayne@69 3549 static const char __pyx_k_enable[] = "enable";
jpayne@69 3550 static const char __pyx_k_fields[] = "fields";
jpayne@69 3551 static const char __pyx_k_filter[] = "filter";
jpayne@69 3552 static const char __pyx_k_format[] = "format";
jpayne@69 3553 static const char __pyx_k_import[] = "__import__";
jpayne@69 3554 static const char __pyx_k_invert[] = "invert";
jpayne@69 3555 static const char __pyx_k_kwargs[] = "kwargs";
jpayne@69 3556 static const char __pyx_k_name_2[] = "__name__";
jpayne@69 3557 static const char __pyx_k_pickle[] = "pickle";
jpayne@69 3558 static const char __pyx_k_reduce[] = "__reduce__";
jpayne@69 3559 static const char __pyx_k_source[] = "source";
jpayne@69 3560 static const char __pyx_k_strand[] = "strand";
jpayne@69 3561 static const char __pyx_k_update[] = "update";
jpayne@69 3562 static const char __pyx_k_xrange[] = "xrange";
jpayne@69 3563 static const char __pyx_k_as_dict[] = "as_dict";
jpayne@69 3564 static const char __pyx_k_compare[] = "compare";
jpayne@69 3565 static const char __pyx_k_disable[] = "disable";
jpayne@69 3566 static const char __pyx_k_feature[] = "feature";
jpayne@69 3567 static const char __pyx_k_genexpr[] = "genexpr";
jpayne@69 3568 static const char __pyx_k_getattr[] = "__getattr__";
jpayne@69 3569 static const char __pyx_k_indices[] = "indices";
jpayne@69 3570 static const char __pyx_k_itemRGB[] = "itemRGB";
jpayne@69 3571 static const char __pyx_k_lcontig[] = "lcontig";
jpayne@69 3572 static const char __pyx_k_setitem[] = "__setitem__";
jpayne@69 3573 static const char __pyx_k_to_dict[] = "to_dict";
jpayne@69 3574 static const char __pyx_k_BedProxy[] = "BedProxy";
jpayne@69 3575 static const char __pyx_k_GTFProxy[] = "GTFProxy";
jpayne@69 3576 static const char __pyx_k_KeyError[] = "KeyError";
jpayne@69 3577 static const char __pyx_k_VCFProxy[] = "VCFProxy";
jpayne@69 3578 static const char __pyx_k_encoding[] = "encoding";
jpayne@69 3579 static const char __pyx_k_endswith[] = "endswith";
jpayne@69 3580 static const char __pyx_k_fromDict[] = "fromDict";
jpayne@69 3581 static const char __pyx_k_getindex[] = "_getindex";
jpayne@69 3582 static const char __pyx_k_getstate[] = "__getstate__";
jpayne@69 3583 static const char __pyx_k_pyx_type[] = "__pyx_type";
jpayne@69 3584 static const char __pyx_k_setindex[] = "_setindex";
jpayne@69 3585 static const char __pyx_k_setstate[] = "__setstate__";
jpayne@69 3586 static const char __pyx_k_thickEnd[] = "thickEnd";
jpayne@69 3587 static const char __pyx_k_GFF3Proxy[] = "GFF3Proxy";
jpayne@69 3588 static const char __pyx_k_TypeError[] = "TypeError";
jpayne@69 3589 static const char __pyx_k_from_dict[] = "from_dict";
jpayne@69 3590 static const char __pyx_k_isenabled[] = "isenabled";
jpayne@69 3591 static const char __pyx_k_pyx_state[] = "__pyx_state";
jpayne@69 3592 static const char __pyx_k_reduce_ex[] = "__reduce_ex__";
jpayne@69 3593 static const char __pyx_k_separator[] = "separator";
jpayne@69 3594 static const char __pyx_k_IndexError[] = "IndexError";
jpayne@69 3595 static const char __pyx_k_TupleProxy[] = "TupleProxy";
jpayne@69 3596 static const char __pyx_k_ValueError[] = "ValueError";
jpayne@69 3597 static const char __pyx_k_attributes[] = "attributes";
jpayne@69 3598 static const char __pyx_k_blockCount[] = "blockCount";
jpayne@69 3599 static const char __pyx_k_blockSizes[] = "blockSizes";
jpayne@69 3600 static const char __pyx_k_pyx_result[] = "__pyx_result";
jpayne@69 3601 static const char __pyx_k_pyx_vtable[] = "__pyx_vtable__";
jpayne@69 3602 static const char __pyx_k_thickStart[] = "thickStart";
jpayne@69 3603 static const char __pyx_k_MemoryError[] = "MemoryError";
jpayne@69 3604 static const char __pyx_k_OrderedDict[] = "OrderedDict";
jpayne@69 3605 static const char __pyx_k_PickleError[] = "PickleError";
jpayne@69 3606 static const char __pyx_k_blockStarts[] = "blockStarts";
jpayne@69 3607 static const char __pyx_k_cfunc_to_py[] = "cfunc.to_py";
jpayne@69 3608 static const char __pyx_k_collections[] = "collections";
jpayne@69 3609 static const char __pyx_k_getMaxFields[] = "getMaxFields";
jpayne@69 3610 static const char __pyx_k_getMinFields[] = "getMinFields";
jpayne@69 3611 static const char __pyx_k_initializing[] = "_initializing";
jpayne@69 3612 static const char __pyx_k_is_coroutine[] = "_is_coroutine";
jpayne@69 3613 static const char __pyx_k_pyx_checksum[] = "__pyx_checksum";
jpayne@69 3614 static const char __pyx_k_setAttribute[] = "setAttribute";
jpayne@69 3615 static const char __pyx_k_stringsource[] = "<stringsource>";
jpayne@69 3616 static const char __pyx_k_use_setstate[] = "use_setstate";
jpayne@69 3617 static const char __pyx_k_GTFProxy_keys[] = "GTFProxy.keys";
jpayne@69 3618 static const char __pyx_k_StopIteration[] = "StopIteration";
jpayne@69 3619 static const char __pyx_k_class_getitem[] = "__class_getitem__";
jpayne@69 3620 static const char __pyx_k_map_key2field[] = "map_key2field";
jpayne@69 3621 static const char __pyx_k_out_of_memory[] = "out of memory";
jpayne@69 3622 static const char __pyx_k_reduce_cython[] = "__reduce_cython__";
jpayne@69 3623 static const char __pyx_k_AssertionError[] = "AssertionError";
jpayne@69 3624 static const char __pyx_k_GTFProxy_asDict[] = "GTFProxy.asDict";
jpayne@69 3625 static const char __pyx_k_GTFProxy_invert[] = "GTFProxy.invert";
jpayne@69 3626 static const char __pyx_k_NamedTupleProxy[] = "NamedTupleProxy";
jpayne@69 3627 static const char __pyx_k_field_s_not_set[] = "field %s not set";
jpayne@69 3628 static const char __pyx_k_pyx_PickleError[] = "__pyx_PickleError";
jpayne@69 3629 static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
jpayne@69 3630 static const char __pyx_k_GTFProxy_as_dict[] = "GTFProxy.as_dict";
jpayne@69 3631 static const char __pyx_k_GTFProxy_to_dict[] = "GTFProxy.to_dict";
jpayne@69 3632 static const char __pyx_k_attribute_string[] = "attribute_string";
jpayne@69 3633 static const char __pyx_k_GTFProxy_fromDict[] = "GTFProxy.fromDict";
jpayne@69 3634 static const char __pyx_k_TupleProxy___copy[] = "TupleProxy.__copy__";
jpayne@69 3635 static const char __pyx_k_GTFProxy_from_dict[] = "GTFProxy.from_dict";
jpayne@69 3636 static const char __pyx_k_TupleProxyIterator[] = "TupleProxyIterator";
jpayne@69 3637 static const char __pyx_k_TupleProxy_compare[] = "TupleProxy.compare";
jpayne@69 3638 static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
jpayne@69 3639 static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
jpayne@69 3640 static const char __pyx_k_NotImplementedError[] = "NotImplementedError";
jpayne@69 3641 static const char __pyx_k_TupleProxy__getindex[] = "TupleProxy._getindex";
jpayne@69 3642 static const char __pyx_k_TupleProxy__setindex[] = "TupleProxy._setindex";
jpayne@69 3643 static const char __pyx_k_incomplete_line_at_s[] = "incomplete line at %s";
jpayne@69 3644 static const char __pyx_k_BedProxy_getMaxFields[] = "BedProxy.getMaxFields";
jpayne@69 3645 static const char __pyx_k_BedProxy_getMinFields[] = "BedProxy.getMinFields";
jpayne@69 3646 static const char __pyx_k_GTFProxy_getMaxFields[] = "GTFProxy.getMaxFields";
jpayne@69 3647 static const char __pyx_k_GTFProxy_getMinFields[] = "GTFProxy.getMinFields";
jpayne@69 3648 static const char __pyx_k_GTFProxy_setAttribute[] = "GTFProxy.setAttribute";
jpayne@69 3649 static const char __pyx_k_attribute_dict2string[] = "attribute_dict2string";
jpayne@69 3650 static const char __pyx_k_attribute_string2dict[] = "attribute_string2dict";
jpayne@69 3651 static const char __pyx_k_dict2attribute_string[] = "dict2attribute_string";
jpayne@69 3652 static const char __pyx_k_pysam_libctabixproxies[] = "pysam.libctabixproxies";
jpayne@69 3653 static const char __pyx_k_TupleProxy_getMaxFields[] = "TupleProxy.getMaxFields";
jpayne@69 3654 static const char __pyx_k_TupleProxy_getMinFields[] = "TupleProxy.getMinFields";
jpayne@69 3655 static const char __pyx_k_list_index_out_of_range[] = "list index out of range";
jpayne@69 3656 static const char __pyx_k_BedProxy___reduce_cython[] = "BedProxy.__reduce_cython__";
jpayne@69 3657 static const char __pyx_k_GTFProxy___reduce_cython[] = "GTFProxy.__reduce_cython__";
jpayne@69 3658 static const char __pyx_k_VCFProxy___reduce_cython[] = "VCFProxy.__reduce_cython__";
jpayne@69 3659 static const char __pyx_k_GFF3Proxy___reduce_cython[] = "GFF3Proxy.__reduce_cython__";
jpayne@69 3660 static const char __pyx_k_attribute_string2iterator[] = "attribute_string2iterator";
jpayne@69 3661 static const char __pyx_k_BedProxy___setstate_cython[] = "BedProxy.__setstate_cython__";
jpayne@69 3662 static const char __pyx_k_GTFProxy___setstate_cython[] = "GTFProxy.__setstate_cython__";
jpayne@69 3663 static const char __pyx_k_TupleProxy___reduce_cython[] = "TupleProxy.__reduce_cython__";
jpayne@69 3664 static const char __pyx_k_VCFProxy___setstate_cython[] = "VCFProxy.__setstate_cython__";
jpayne@69 3665 static const char __pyx_k_op_0_isn_t_implemented_yet[] = "op {0} isn't implemented yet";
jpayne@69 3666 static const char __pyx_k_pysam_libctabixproxies_pyx[] = "pysam/libctabixproxies.pyx";
jpayne@69 3667 static const char __pyx_k_GFF3Proxy___setstate_cython[] = "GFF3Proxy.__setstate_cython__";
jpayne@69 3668 static const char __pyx_k_list_index_out_of_range_i_i[] = "list index out of range %i >= %i";
jpayne@69 3669 static const char __pyx_k_TupleProxy___setstate_cython[] = "TupleProxy.__setstate_cython__";
jpayne@69 3670 static const char __pyx_k_GTFProxy_attribute_string2dict[] = "GTFProxy.attribute_string2dict";
jpayne@69 3671 static const char __pyx_k_GTFProxy_dict2attribute_string[] = "GTFProxy.dict2attribute_string";
jpayne@69 3672 static const char __pyx_k_Pyx_CFunc_5pysam_16libctabixpr[] = "__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v.<locals>.wrap";
jpayne@69 3673 static const char __pyx_k_Pyx_CFunc_e2acea__5pysam_16lib[] = "__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v.<locals>.wrap";
jpayne@69 3674 static const char __pyx_k_pyx_unpickle_TupleProxyIterato[] = "__pyx_unpickle_TupleProxyIterator";
jpayne@69 3675 static const char __pyx_k_GFF3Proxy_dict2attribute_string[] = "GFF3Proxy.dict2attribute_string";
jpayne@69 3676 static const char __pyx_k_NamedTupleProxy___reduce_cython[] = "NamedTupleProxy.__reduce_cython__";
jpayne@69 3677 static const char __pyx_k_GFF3Proxy_attribute_string2itera[] = "GFF3Proxy.attribute_string2iterator";
jpayne@69 3678 static const char __pyx_k_GTFProxy_attribute_string2iterat[] = "GTFProxy.attribute_string2iterator";
jpayne@69 3679 static const char __pyx_k_Incompatible_checksums_0x_x_vs_0[] = "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))";
jpayne@69 3680 static const char __pyx_k_NamedTupleProxy___setstate_cytho[] = "NamedTupleProxy.__setstate_cython__";
jpayne@69 3681 static const char __pyx_k_Pyx_CFunc_5pysam_16libctabixpr_2[] = "__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v.<locals>.wrap";
jpayne@69 3682 static const char __pyx_k_TupleProxyIterator___reduce_cyth[] = "TupleProxyIterator.__reduce_cython__";
jpayne@69 3683 static const char __pyx_k_TupleProxyIterator___setstate_cy[] = "TupleProxyIterator.__setstate_cython__";
jpayne@69 3684 static const char __pyx_k_attribute_string2iterator_locals[] = "attribute_string2iterator.<locals>.genexpr";
jpayne@69 3685 static const char __pyx_k_bed_format_requires_at_least_thr[] = "bed format requires at least three columns";
jpayne@69 3686 static const char __pyx_k_comparison_of_modified_TupleProx[] = "comparison of modified TupleProxies is not implemented";
jpayne@69 3687 static const char __pyx_k_copying_modified_tuples_is_not_i[] = "copying modified tuples is not implemented";
jpayne@69 3688 static const char __pyx_k_length_of_buffer_i_number_of_byt[] = "length of buffer (%i) != number of bytes (%i)";
jpayne@69 3689 static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
jpayne@69 3690 static const char __pyx_k_out_of_memory_in_TupleProxy_copy[] = "out of memory in TupleProxy.copy()";
jpayne@69 3691 static const char __pyx_k_out_of_memory_in_TupleProxy_upda[] = "out of memory in TupleProxy.update()";
jpayne@69 3692 static const char __pyx_k_parsing_error_fewer_than_i_field[] = "parsing error: fewer than %i fields in line: %s";
jpayne@69 3693 static const char __pyx_k_parsing_error_more_than_i_fields[] = "parsing error: more than %i fields in line: %s";
jpayne@69 3694 /* #### Code section: decls ### */
jpayne@69 3695 static PyObject *__pyx_pf_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_wrap(PyObject *__pyx_self, PyObject *__pyx_v_v); /* proto */
jpayne@69 3696 static PyObject *__pyx_pf_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_wrap(PyObject *__pyx_self, PyObject *__pyx_v_v); /* proto */
jpayne@69 3697 static PyObject *__pyx_pf_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_wrap(PyObject *__pyx_self, int __pyx_v_v); /* proto */
jpayne@69 3698 static int __pyx_pf_7cpython_5array_5array___getbuffer__(arrayobject *__pyx_v_self, Py_buffer *__pyx_v_info, CYTHON_UNUSED int __pyx_v_flags); /* proto */
jpayne@69 3699 static void __pyx_pf_7cpython_5array_5array_2__releasebuffer__(CYTHON_UNUSED arrayobject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */
jpayne@69 3700 static int __pyx_pf_5pysam_16libctabixproxies_10TupleProxy___cinit__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_encoding); /* proto */
jpayne@69 3701 static void __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_2__dealloc__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self); /* proto */
jpayne@69 3702 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_4__copy__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self); /* proto */
jpayne@69 3703 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_6compare(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_other); /* proto */
jpayne@69 3704 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_8__richcmp__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_other, int __pyx_v_op); /* proto */
jpayne@69 3705 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_10getMinFields(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self); /* proto */
jpayne@69 3706 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_12getMaxFields(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self); /* proto */
jpayne@69 3707 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_14_getindex(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, int __pyx_v_index); /* proto */
jpayne@69 3708 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_16__getitem__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
jpayne@69 3709 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_18_setindex(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto */
jpayne@69 3710 static int __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_20__setitem__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /* proto */
jpayne@69 3711 static Py_ssize_t __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_22__len__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self); /* proto */
jpayne@69 3712 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_24__iter__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self); /* proto */
jpayne@69 3713 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_26__str__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self); /* proto */
jpayne@69 3714 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_28__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self); /* proto */
jpayne@69 3715 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_30__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
jpayne@69 3716 static int __pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator___init__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self, PyObject *__pyx_v_proxy); /* proto */
jpayne@69 3717 static PyObject *__pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_2__iter__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self); /* proto */
jpayne@69 3718 static PyObject *__pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_4__next__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self); /* proto */
jpayne@69 3719 static PyObject *__pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_6__reduce_cython__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self); /* proto */
jpayne@69 3720 static PyObject *__pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_8__setstate_cython__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self, PyObject *__pyx_v___pyx_state); /* proto */
jpayne@69 3721 static PyObject *__pyx_pf_5pysam_16libctabixproxies_toDot(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v); /* proto */
jpayne@69 3722 static PyObject *__pyx_pf_5pysam_16libctabixproxies_2quote(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v); /* proto */
jpayne@69 3723 static int __pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__(struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
jpayne@69 3724 static PyObject *__pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_2__getattr__(struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
jpayne@69 3725 static PyObject *__pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_v_self); /* proto */
jpayne@69 3726 static PyObject *__pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
jpayne@69 3727 static int __pyx_pf_5pysam_16libctabixproxies_8GTFProxy___cinit__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self); /* proto */
jpayne@69 3728 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_2getMinFields(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self); /* proto */
jpayne@69 3729 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_4getMaxFields(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self); /* proto */
jpayne@69 3730 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_6to_dict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self); /* proto */
jpayne@69 3731 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_8as_dict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self); /* proto */
jpayne@69 3732 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_10from_dict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_d); /* proto */
jpayne@69 3733 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_12__str__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self); /* proto */
jpayne@69 3734 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_14invert(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, int __pyx_v_lcontig); /* proto */
jpayne@69 3735 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_16keys(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self); /* proto */
jpayne@69 3736 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_18__getitem__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
jpayne@69 3737 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_20setAttribute(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value); /* proto */
jpayne@69 3738 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_22attribute_string2dict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
jpayne@69 3739 #if PY_MAJOR_VERSION < 3
jpayne@69 3740 static int __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_24__cmp__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_other); /* proto */
jpayne@69 3741 #endif
jpayne@69 3742 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_26__richcmp__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_other, int __pyx_v_op); /* proto */
jpayne@69 3743 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_28dict2attribute_string(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_d); /* proto */
jpayne@69 3744 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_30attribute_string2iterator(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
jpayne@69 3745 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_33__getattr__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
jpayne@69 3746 static int __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_35__setattr__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
jpayne@69 3747 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_37asDict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
jpayne@69 3748 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_39fromDict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
jpayne@69 3749 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_41__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self); /* proto */
jpayne@69 3750 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_43__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
jpayne@69 3751 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_dict2attribute_string(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self, PyObject *__pyx_v_d); /* proto */
jpayne@69 3752 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_25attribute_string2iterator_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0); /* proto */
jpayne@69 3753 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_2attribute_string2iterator(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self, PyObject *__pyx_v_s); /* proto */
jpayne@69 3754 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_5__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self); /* proto */
jpayne@69 3755 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_7__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
jpayne@69 3756 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_getMinFields(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self); /* proto */
jpayne@69 3757 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_2getMaxFields(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self); /* proto */
jpayne@69 3758 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_4__str__(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self); /* proto */
jpayne@69 3759 static int __pyx_pf_5pysam_16libctabixproxies_8BedProxy_6__setattr__(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
jpayne@69 3760 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self); /* proto */
jpayne@69 3761 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
jpayne@69 3762 static int __pyx_pf_5pysam_16libctabixproxies_8VCFProxy___cinit__(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self); /* proto */
jpayne@69 3763 static Py_ssize_t __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_2__len__(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self); /* proto */
jpayne@69 3764 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8VCFProxy_3pos___get__(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self); /* proto */
jpayne@69 3765 static int __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_4__setattr__(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /* proto */
jpayne@69 3766 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8VCFProxy_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self); /* proto */
jpayne@69 3767 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8VCFProxy_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
jpayne@69 3768 static PyObject *__pyx_pf_5pysam_16libctabixproxies_4__pyx_unpickle_TupleProxyIterator(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
jpayne@69 3769 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_TupleProxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3770 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_TupleProxyIterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3771 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_NamedTupleProxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3772 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_GTFProxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3773 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_GFF3Proxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3774 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_BedProxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3775 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_VCFProxy(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3776 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3777 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3778 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3779 static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3780 static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3781 static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
jpayne@69 3782 /* #### Code section: late_includes ### */
jpayne@69 3783 /* #### Code section: module_state ### */
jpayne@69 3784 typedef struct {
jpayne@69 3785 PyObject *__pyx_d;
jpayne@69 3786 PyObject *__pyx_b;
jpayne@69 3787 PyObject *__pyx_cython_runtime;
jpayne@69 3788 PyObject *__pyx_empty_tuple;
jpayne@69 3789 PyObject *__pyx_empty_bytes;
jpayne@69 3790 PyObject *__pyx_empty_unicode;
jpayne@69 3791 #ifdef __Pyx_CyFunction_USED
jpayne@69 3792 PyTypeObject *__pyx_CyFunctionType;
jpayne@69 3793 #endif
jpayne@69 3794 #ifdef __Pyx_FusedFunction_USED
jpayne@69 3795 PyTypeObject *__pyx_FusedFunctionType;
jpayne@69 3796 #endif
jpayne@69 3797 #ifdef __Pyx_Generator_USED
jpayne@69 3798 PyTypeObject *__pyx_GeneratorType;
jpayne@69 3799 #endif
jpayne@69 3800 #ifdef __Pyx_IterableCoroutine_USED
jpayne@69 3801 PyTypeObject *__pyx_IterableCoroutineType;
jpayne@69 3802 #endif
jpayne@69 3803 #ifdef __Pyx_Coroutine_USED
jpayne@69 3804 PyTypeObject *__pyx_CoroutineAwaitType;
jpayne@69 3805 #endif
jpayne@69 3806 #ifdef __Pyx_Coroutine_USED
jpayne@69 3807 PyTypeObject *__pyx_CoroutineType;
jpayne@69 3808 #endif
jpayne@69 3809 #if CYTHON_USE_MODULE_STATE
jpayne@69 3810 #endif
jpayne@69 3811 #if CYTHON_USE_MODULE_STATE
jpayne@69 3812 #endif
jpayne@69 3813 #if CYTHON_USE_MODULE_STATE
jpayne@69 3814 #endif
jpayne@69 3815 #if CYTHON_USE_MODULE_STATE
jpayne@69 3816 #endif
jpayne@69 3817 PyTypeObject *__pyx_ptype_7cpython_4type_type;
jpayne@69 3818 #if CYTHON_USE_MODULE_STATE
jpayne@69 3819 #endif
jpayne@69 3820 #if CYTHON_USE_MODULE_STATE
jpayne@69 3821 #endif
jpayne@69 3822 #if CYTHON_USE_MODULE_STATE
jpayne@69 3823 #endif
jpayne@69 3824 #if CYTHON_USE_MODULE_STATE
jpayne@69 3825 #endif
jpayne@69 3826 #if CYTHON_USE_MODULE_STATE
jpayne@69 3827 #endif
jpayne@69 3828 #if CYTHON_USE_MODULE_STATE
jpayne@69 3829 #endif
jpayne@69 3830 #if CYTHON_USE_MODULE_STATE
jpayne@69 3831 #endif
jpayne@69 3832 #if CYTHON_USE_MODULE_STATE
jpayne@69 3833 #endif
jpayne@69 3834 #if CYTHON_USE_MODULE_STATE
jpayne@69 3835 #endif
jpayne@69 3836 #if CYTHON_USE_MODULE_STATE
jpayne@69 3837 #endif
jpayne@69 3838 #if CYTHON_USE_MODULE_STATE
jpayne@69 3839 #endif
jpayne@69 3840 #if CYTHON_USE_MODULE_STATE
jpayne@69 3841 #endif
jpayne@69 3842 #if CYTHON_USE_MODULE_STATE
jpayne@69 3843 #endif
jpayne@69 3844 #if CYTHON_USE_MODULE_STATE
jpayne@69 3845 #endif
jpayne@69 3846 #if CYTHON_USE_MODULE_STATE
jpayne@69 3847 #endif
jpayne@69 3848 #if CYTHON_USE_MODULE_STATE
jpayne@69 3849 #endif
jpayne@69 3850 PyTypeObject *__pyx_ptype_7cpython_4bool_bool;
jpayne@69 3851 #if CYTHON_USE_MODULE_STATE
jpayne@69 3852 #endif
jpayne@69 3853 #if CYTHON_USE_MODULE_STATE
jpayne@69 3854 #endif
jpayne@69 3855 #if CYTHON_USE_MODULE_STATE
jpayne@69 3856 #endif
jpayne@69 3857 #if CYTHON_USE_MODULE_STATE
jpayne@69 3858 #endif
jpayne@69 3859 PyTypeObject *__pyx_ptype_7cpython_7complex_complex;
jpayne@69 3860 #if CYTHON_USE_MODULE_STATE
jpayne@69 3861 #endif
jpayne@69 3862 #if CYTHON_USE_MODULE_STATE
jpayne@69 3863 #endif
jpayne@69 3864 #if CYTHON_USE_MODULE_STATE
jpayne@69 3865 #endif
jpayne@69 3866 #if CYTHON_USE_MODULE_STATE
jpayne@69 3867 #endif
jpayne@69 3868 #if CYTHON_USE_MODULE_STATE
jpayne@69 3869 #endif
jpayne@69 3870 #if CYTHON_USE_MODULE_STATE
jpayne@69 3871 #endif
jpayne@69 3872 #if CYTHON_USE_MODULE_STATE
jpayne@69 3873 #endif
jpayne@69 3874 #if CYTHON_USE_MODULE_STATE
jpayne@69 3875 #endif
jpayne@69 3876 #if CYTHON_USE_MODULE_STATE
jpayne@69 3877 #endif
jpayne@69 3878 #if CYTHON_USE_MODULE_STATE
jpayne@69 3879 #endif
jpayne@69 3880 #if CYTHON_USE_MODULE_STATE
jpayne@69 3881 #endif
jpayne@69 3882 #if CYTHON_USE_MODULE_STATE
jpayne@69 3883 #endif
jpayne@69 3884 #if CYTHON_USE_MODULE_STATE
jpayne@69 3885 #endif
jpayne@69 3886 #if CYTHON_USE_MODULE_STATE
jpayne@69 3887 #endif
jpayne@69 3888 #if CYTHON_USE_MODULE_STATE
jpayne@69 3889 #endif
jpayne@69 3890 #if CYTHON_USE_MODULE_STATE
jpayne@69 3891 #endif
jpayne@69 3892 #if CYTHON_USE_MODULE_STATE
jpayne@69 3893 #endif
jpayne@69 3894 #if CYTHON_USE_MODULE_STATE
jpayne@69 3895 #endif
jpayne@69 3896 #if CYTHON_USE_MODULE_STATE
jpayne@69 3897 #endif
jpayne@69 3898 #if CYTHON_USE_MODULE_STATE
jpayne@69 3899 #endif
jpayne@69 3900 #if CYTHON_USE_MODULE_STATE
jpayne@69 3901 #endif
jpayne@69 3902 #if CYTHON_USE_MODULE_STATE
jpayne@69 3903 #endif
jpayne@69 3904 #if CYTHON_USE_MODULE_STATE
jpayne@69 3905 #endif
jpayne@69 3906 #if CYTHON_USE_MODULE_STATE
jpayne@69 3907 #endif
jpayne@69 3908 PyTypeObject *__pyx_ptype_7cpython_5array_array;
jpayne@69 3909 #if CYTHON_USE_MODULE_STATE
jpayne@69 3910 #endif
jpayne@69 3911 #if CYTHON_USE_MODULE_STATE
jpayne@69 3912 PyObject *__pyx_type_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 3913 PyObject *__pyx_type_5pysam_16libctabixproxies_TupleProxyIterator;
jpayne@69 3914 PyObject *__pyx_type_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 3915 PyObject *__pyx_type_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 3916 PyObject *__pyx_type_5pysam_16libctabixproxies_GFF3Proxy;
jpayne@69 3917 PyObject *__pyx_type_5pysam_16libctabixproxies_BedProxy;
jpayne@69 3918 PyObject *__pyx_type_5pysam_16libctabixproxies_VCFProxy;
jpayne@69 3919 PyObject *__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator;
jpayne@69 3920 PyObject *__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator;
jpayne@69 3921 PyObject *__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr;
jpayne@69 3922 PyObject *__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v;
jpayne@69 3923 PyObject *__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v;
jpayne@69 3924 PyObject *__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v;
jpayne@69 3925 #endif
jpayne@69 3926 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 3927 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator;
jpayne@69 3928 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 3929 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 3930 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy;
jpayne@69 3931 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies_BedProxy;
jpayne@69 3932 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies_VCFProxy;
jpayne@69 3933 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator;
jpayne@69 3934 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator;
jpayne@69 3935 PyTypeObject *__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr;
jpayne@69 3936 PyTypeObject *__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v;
jpayne@69 3937 PyTypeObject *__pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v;
jpayne@69 3938 PyTypeObject *__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v;
jpayne@69 3939 PyObject *__pyx_n_s_AssertionError;
jpayne@69 3940 PyObject *__pyx_n_s_BedProxy;
jpayne@69 3941 PyObject *__pyx_n_u_BedProxy;
jpayne@69 3942 PyObject *__pyx_n_s_BedProxy___reduce_cython;
jpayne@69 3943 PyObject *__pyx_n_s_BedProxy___setstate_cython;
jpayne@69 3944 PyObject *__pyx_n_s_BedProxy_getMaxFields;
jpayne@69 3945 PyObject *__pyx_n_s_BedProxy_getMinFields;
jpayne@69 3946 PyObject *__pyx_n_s_GFF3Proxy;
jpayne@69 3947 PyObject *__pyx_n_u_GFF3Proxy;
jpayne@69 3948 PyObject *__pyx_n_s_GFF3Proxy___reduce_cython;
jpayne@69 3949 PyObject *__pyx_n_s_GFF3Proxy___setstate_cython;
jpayne@69 3950 PyObject *__pyx_n_s_GFF3Proxy_attribute_string2itera;
jpayne@69 3951 PyObject *__pyx_n_s_GFF3Proxy_dict2attribute_string;
jpayne@69 3952 PyObject *__pyx_n_s_GTFProxy;
jpayne@69 3953 PyObject *__pyx_n_u_GTFProxy;
jpayne@69 3954 PyObject *__pyx_n_s_GTFProxy___reduce_cython;
jpayne@69 3955 PyObject *__pyx_n_s_GTFProxy___setstate_cython;
jpayne@69 3956 PyObject *__pyx_n_s_GTFProxy_asDict;
jpayne@69 3957 PyObject *__pyx_n_s_GTFProxy_as_dict;
jpayne@69 3958 PyObject *__pyx_n_s_GTFProxy_attribute_string2dict;
jpayne@69 3959 PyObject *__pyx_n_s_GTFProxy_attribute_string2iterat;
jpayne@69 3960 PyObject *__pyx_n_s_GTFProxy_dict2attribute_string;
jpayne@69 3961 PyObject *__pyx_n_s_GTFProxy_fromDict;
jpayne@69 3962 PyObject *__pyx_n_s_GTFProxy_from_dict;
jpayne@69 3963 PyObject *__pyx_n_s_GTFProxy_getMaxFields;
jpayne@69 3964 PyObject *__pyx_n_s_GTFProxy_getMinFields;
jpayne@69 3965 PyObject *__pyx_n_s_GTFProxy_invert;
jpayne@69 3966 PyObject *__pyx_n_s_GTFProxy_keys;
jpayne@69 3967 PyObject *__pyx_n_s_GTFProxy_setAttribute;
jpayne@69 3968 PyObject *__pyx_n_s_GTFProxy_to_dict;
jpayne@69 3969 PyObject *__pyx_kp_s_Incompatible_checksums_0x_x_vs_0;
jpayne@69 3970 PyObject *__pyx_n_s_IndexError;
jpayne@69 3971 PyObject *__pyx_n_s_KeyError;
jpayne@69 3972 PyObject *__pyx_n_s_MemoryError;
jpayne@69 3973 PyObject *__pyx_n_s_NamedTupleProxy;
jpayne@69 3974 PyObject *__pyx_n_u_NamedTupleProxy;
jpayne@69 3975 PyObject *__pyx_n_s_NamedTupleProxy___reduce_cython;
jpayne@69 3976 PyObject *__pyx_n_s_NamedTupleProxy___setstate_cytho;
jpayne@69 3977 PyObject *__pyx_n_s_NotImplementedError;
jpayne@69 3978 PyObject *__pyx_n_s_OrderedDict;
jpayne@69 3979 PyObject *__pyx_n_s_PickleError;
jpayne@69 3980 PyObject *__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr;
jpayne@69 3981 PyObject *__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr_2;
jpayne@69 3982 PyObject *__pyx_n_s_Pyx_CFunc_e2acea__5pysam_16lib;
jpayne@69 3983 PyObject *__pyx_n_s_StopIteration;
jpayne@69 3984 PyObject *__pyx_n_s_TupleProxy;
jpayne@69 3985 PyObject *__pyx_n_u_TupleProxy;
jpayne@69 3986 PyObject *__pyx_n_s_TupleProxyIterator;
jpayne@69 3987 PyObject *__pyx_n_s_TupleProxyIterator___reduce_cyth;
jpayne@69 3988 PyObject *__pyx_n_s_TupleProxyIterator___setstate_cy;
jpayne@69 3989 PyObject *__pyx_n_s_TupleProxy___copy;
jpayne@69 3990 PyObject *__pyx_n_s_TupleProxy___reduce_cython;
jpayne@69 3991 PyObject *__pyx_n_s_TupleProxy___setstate_cython;
jpayne@69 3992 PyObject *__pyx_n_s_TupleProxy__getindex;
jpayne@69 3993 PyObject *__pyx_n_s_TupleProxy__setindex;
jpayne@69 3994 PyObject *__pyx_n_s_TupleProxy_compare;
jpayne@69 3995 PyObject *__pyx_n_s_TupleProxy_getMaxFields;
jpayne@69 3996 PyObject *__pyx_n_s_TupleProxy_getMinFields;
jpayne@69 3997 PyObject *__pyx_n_s_TypeError;
jpayne@69 3998 PyObject *__pyx_n_s_VCFProxy;
jpayne@69 3999 PyObject *__pyx_n_u_VCFProxy;
jpayne@69 4000 PyObject *__pyx_n_s_VCFProxy___reduce_cython;
jpayne@69 4001 PyObject *__pyx_n_s_VCFProxy___setstate_cython;
jpayne@69 4002 PyObject *__pyx_n_s_ValueError;
jpayne@69 4003 PyObject *__pyx_kp_u__11;
jpayne@69 4004 PyObject *__pyx_kp_b__12;
jpayne@69 4005 PyObject *__pyx_kp_u__12;
jpayne@69 4006 PyObject *__pyx_kp_u__13;
jpayne@69 4007 PyObject *__pyx_kp_u__14;
jpayne@69 4008 PyObject *__pyx_kp_u__15;
jpayne@69 4009 PyObject *__pyx_kp_u__16;
jpayne@69 4010 PyObject *__pyx_kp_u__17;
jpayne@69 4011 PyObject *__pyx_kp_u__19;
jpayne@69 4012 PyObject *__pyx_kp_u__21;
jpayne@69 4013 PyObject *__pyx_kp_u__23;
jpayne@69 4014 PyObject *__pyx_kp_u__26;
jpayne@69 4015 PyObject *__pyx_kp_u__28;
jpayne@69 4016 PyObject *__pyx_n_s__32;
jpayne@69 4017 PyObject *__pyx_n_s__88;
jpayne@69 4018 PyObject *__pyx_n_s_aa;
jpayne@69 4019 PyObject *__pyx_n_s_all;
jpayne@69 4020 PyObject *__pyx_n_u_alt;
jpayne@69 4021 PyObject *__pyx_n_s_append;
jpayne@69 4022 PyObject *__pyx_n_s_args;
jpayne@69 4023 PyObject *__pyx_n_s_asDict;
jpayne@69 4024 PyObject *__pyx_n_s_as_dict;
jpayne@69 4025 PyObject *__pyx_n_u_ascii;
jpayne@69 4026 PyObject *__pyx_n_s_asyncio_coroutines;
jpayne@69 4027 PyObject *__pyx_n_s_attribute_dict2string;
jpayne@69 4028 PyObject *__pyx_n_s_attribute_string;
jpayne@69 4029 PyObject *__pyx_n_s_attribute_string2dict;
jpayne@69 4030 PyObject *__pyx_n_s_attribute_string2iterator;
jpayne@69 4031 PyObject *__pyx_n_s_attribute_string2iterator_locals;
jpayne@69 4032 PyObject *__pyx_n_s_attributes;
jpayne@69 4033 PyObject *__pyx_n_u_attributes;
jpayne@69 4034 PyObject *__pyx_kp_u_bed_format_requires_at_least_thr;
jpayne@69 4035 PyObject *__pyx_n_u_blockCount;
jpayne@69 4036 PyObject *__pyx_n_u_blockSizes;
jpayne@69 4037 PyObject *__pyx_n_u_blockStarts;
jpayne@69 4038 PyObject *__pyx_n_s_cfunc_to_py;
jpayne@69 4039 PyObject *__pyx_n_s_class_getitem;
jpayne@69 4040 PyObject *__pyx_n_s_cline_in_traceback;
jpayne@69 4041 PyObject *__pyx_n_s_close;
jpayne@69 4042 PyObject *__pyx_n_s_collections;
jpayne@69 4043 PyObject *__pyx_n_s_compare;
jpayne@69 4044 PyObject *__pyx_kp_u_comparison_of_modified_TupleProx;
jpayne@69 4045 PyObject *__pyx_n_s_contig;
jpayne@69 4046 PyObject *__pyx_n_u_contig;
jpayne@69 4047 PyObject *__pyx_n_s_copy;
jpayne@69 4048 PyObject *__pyx_n_s_copy_2;
jpayne@69 4049 PyObject *__pyx_kp_u_copying_modified_tuples_is_not_i;
jpayne@69 4050 PyObject *__pyx_n_s_d;
jpayne@69 4051 PyObject *__pyx_n_s_decode;
jpayne@69 4052 PyObject *__pyx_n_s_dict;
jpayne@69 4053 PyObject *__pyx_n_s_dict2attribute_string;
jpayne@69 4054 PyObject *__pyx_n_s_dict_2;
jpayne@69 4055 PyObject *__pyx_kp_u_disable;
jpayne@69 4056 PyObject *__pyx_kp_u_enable;
jpayne@69 4057 PyObject *__pyx_n_s_encoding;
jpayne@69 4058 PyObject *__pyx_n_s_end;
jpayne@69 4059 PyObject *__pyx_n_u_end;
jpayne@69 4060 PyObject *__pyx_n_s_endswith;
jpayne@69 4061 PyObject *__pyx_n_s_f;
jpayne@69 4062 PyObject *__pyx_n_s_feature;
jpayne@69 4063 PyObject *__pyx_n_u_feature;
jpayne@69 4064 PyObject *__pyx_kp_u_field_s_not_set;
jpayne@69 4065 PyObject *__pyx_n_s_fields;
jpayne@69 4066 PyObject *__pyx_n_u_filter;
jpayne@69 4067 PyObject *__pyx_n_s_format;
jpayne@69 4068 PyObject *__pyx_n_u_format;
jpayne@69 4069 PyObject *__pyx_n_s_frame;
jpayne@69 4070 PyObject *__pyx_n_u_frame;
jpayne@69 4071 PyObject *__pyx_n_s_fromDict;
jpayne@69 4072 PyObject *__pyx_n_s_from_dict;
jpayne@69 4073 PyObject *__pyx_kp_u_gc;
jpayne@69 4074 PyObject *__pyx_n_s_genexpr;
jpayne@69 4075 PyObject *__pyx_n_s_get;
jpayne@69 4076 PyObject *__pyx_n_s_getMaxFields;
jpayne@69 4077 PyObject *__pyx_n_s_getMinFields;
jpayne@69 4078 PyObject *__pyx_n_s_getattr;
jpayne@69 4079 PyObject *__pyx_n_s_getindex;
jpayne@69 4080 PyObject *__pyx_n_s_getstate;
jpayne@69 4081 PyObject *__pyx_n_s_i;
jpayne@69 4082 PyObject *__pyx_n_u_id;
jpayne@69 4083 PyObject *__pyx_n_s_idx;
jpayne@69 4084 PyObject *__pyx_n_s_import;
jpayne@69 4085 PyObject *__pyx_kp_u_incomplete_line_at_s;
jpayne@69 4086 PyObject *__pyx_n_s_index;
jpayne@69 4087 PyObject *__pyx_n_s_indices;
jpayne@69 4088 PyObject *__pyx_n_u_info;
jpayne@69 4089 PyObject *__pyx_n_s_initializing;
jpayne@69 4090 PyObject *__pyx_n_s_invert;
jpayne@69 4091 PyObject *__pyx_n_s_is_coroutine;
jpayne@69 4092 PyObject *__pyx_kp_u_isenabled;
jpayne@69 4093 PyObject *__pyx_n_u_itemRGB;
jpayne@69 4094 PyObject *__pyx_n_s_items;
jpayne@69 4095 PyObject *__pyx_n_s_join;
jpayne@69 4096 PyObject *__pyx_n_s_k;
jpayne@69 4097 PyObject *__pyx_n_s_key;
jpayne@69 4098 PyObject *__pyx_n_s_keys;
jpayne@69 4099 PyObject *__pyx_n_s_kwargs;
jpayne@69 4100 PyObject *__pyx_n_s_lcontig;
jpayne@69 4101 PyObject *__pyx_kp_u_length_of_buffer_i_number_of_byt;
jpayne@69 4102 PyObject *__pyx_kp_u_list_index_out_of_range;
jpayne@69 4103 PyObject *__pyx_kp_u_list_index_out_of_range_i_i;
jpayne@69 4104 PyObject *__pyx_n_s_main;
jpayne@69 4105 PyObject *__pyx_n_s_map_key2field;
jpayne@69 4106 PyObject *__pyx_n_s_n;
jpayne@69 4107 PyObject *__pyx_n_s_name;
jpayne@69 4108 PyObject *__pyx_n_u_name;
jpayne@69 4109 PyObject *__pyx_n_s_name_2;
jpayne@69 4110 PyObject *__pyx_n_s_new;
jpayne@69 4111 PyObject *__pyx_kp_s_no_default___reduce___due_to_non;
jpayne@69 4112 PyObject *__pyx_kp_u_op_0_isn_t_implemented_yet;
jpayne@69 4113 PyObject *__pyx_n_s_other;
jpayne@69 4114 PyObject *__pyx_kp_u_out_of_memory;
jpayne@69 4115 PyObject *__pyx_kp_u_out_of_memory_in_TupleProxy_copy;
jpayne@69 4116 PyObject *__pyx_kp_u_out_of_memory_in_TupleProxy_upda;
jpayne@69 4117 PyObject *__pyx_kp_u_parsing_error_fewer_than_i_field;
jpayne@69 4118 PyObject *__pyx_kp_u_parsing_error_more_than_i_fields;
jpayne@69 4119 PyObject *__pyx_n_s_pickle;
jpayne@69 4120 PyObject *__pyx_n_u_pos;
jpayne@69 4121 PyObject *__pyx_n_s_proxy;
jpayne@69 4122 PyObject *__pyx_n_s_pysam_libctabixproxies;
jpayne@69 4123 PyObject *__pyx_kp_s_pysam_libctabixproxies_pyx;
jpayne@69 4124 PyObject *__pyx_n_s_pyx_PickleError;
jpayne@69 4125 PyObject *__pyx_n_s_pyx_checksum;
jpayne@69 4126 PyObject *__pyx_n_s_pyx_result;
jpayne@69 4127 PyObject *__pyx_n_s_pyx_state;
jpayne@69 4128 PyObject *__pyx_n_s_pyx_type;
jpayne@69 4129 PyObject *__pyx_n_s_pyx_unpickle_TupleProxyIterato;
jpayne@69 4130 PyObject *__pyx_n_s_pyx_vtable;
jpayne@69 4131 PyObject *__pyx_n_u_qual;
jpayne@69 4132 PyObject *__pyx_n_s_quote;
jpayne@69 4133 PyObject *__pyx_n_s_range;
jpayne@69 4134 PyObject *__pyx_n_s_reduce;
jpayne@69 4135 PyObject *__pyx_n_s_reduce_cython;
jpayne@69 4136 PyObject *__pyx_n_s_reduce_ex;
jpayne@69 4137 PyObject *__pyx_n_u_ref;
jpayne@69 4138 PyObject *__pyx_kp_u_s;
jpayne@69 4139 PyObject *__pyx_n_s_s_2;
jpayne@69 4140 PyObject *__pyx_n_s_score;
jpayne@69 4141 PyObject *__pyx_n_u_score;
jpayne@69 4142 PyObject *__pyx_n_s_self;
jpayne@69 4143 PyObject *__pyx_n_s_send;
jpayne@69 4144 PyObject *__pyx_n_s_separator;
jpayne@69 4145 PyObject *__pyx_n_s_setAttribute;
jpayne@69 4146 PyObject *__pyx_n_s_setindex;
jpayne@69 4147 PyObject *__pyx_n_s_setitem;
jpayne@69 4148 PyObject *__pyx_n_s_setstate;
jpayne@69 4149 PyObject *__pyx_n_s_setstate_cython;
jpayne@69 4150 PyObject *__pyx_n_s_source;
jpayne@69 4151 PyObject *__pyx_n_u_source;
jpayne@69 4152 PyObject *__pyx_n_s_spec;
jpayne@69 4153 PyObject *__pyx_n_s_split;
jpayne@69 4154 PyObject *__pyx_n_s_start;
jpayne@69 4155 PyObject *__pyx_n_u_start;
jpayne@69 4156 PyObject *__pyx_n_s_state;
jpayne@69 4157 PyObject *__pyx_n_s_str;
jpayne@69 4158 PyObject *__pyx_n_s_strand;
jpayne@69 4159 PyObject *__pyx_n_u_strand;
jpayne@69 4160 PyObject *__pyx_kp_s_stringsource;
jpayne@69 4161 PyObject *__pyx_n_s_strip;
jpayne@69 4162 PyObject *__pyx_n_s_super;
jpayne@69 4163 PyObject *__pyx_n_s_test;
jpayne@69 4164 PyObject *__pyx_n_u_thickEnd;
jpayne@69 4165 PyObject *__pyx_n_u_thickStart;
jpayne@69 4166 PyObject *__pyx_n_s_throw;
jpayne@69 4167 PyObject *__pyx_n_s_tmp;
jpayne@69 4168 PyObject *__pyx_n_s_toDot;
jpayne@69 4169 PyObject *__pyx_n_s_to_dict;
jpayne@69 4170 PyObject *__pyx_n_s_update;
jpayne@69 4171 PyObject *__pyx_n_s_use_setstate;
jpayne@69 4172 PyObject *__pyx_n_s_v;
jpayne@69 4173 PyObject *__pyx_n_s_value;
jpayne@69 4174 PyObject *__pyx_n_s_wrap;
jpayne@69 4175 PyObject *__pyx_n_s_x;
jpayne@69 4176 PyObject *__pyx_n_s_xrange;
jpayne@69 4177 PyObject *__pyx_int_0;
jpayne@69 4178 PyObject *__pyx_int_1;
jpayne@69 4179 PyObject *__pyx_int_2;
jpayne@69 4180 PyObject *__pyx_int_3;
jpayne@69 4181 PyObject *__pyx_int_4;
jpayne@69 4182 PyObject *__pyx_int_5;
jpayne@69 4183 PyObject *__pyx_int_6;
jpayne@69 4184 PyObject *__pyx_int_7;
jpayne@69 4185 PyObject *__pyx_int_8;
jpayne@69 4186 PyObject *__pyx_int_9;
jpayne@69 4187 PyObject *__pyx_int_10;
jpayne@69 4188 PyObject *__pyx_int_11;
jpayne@69 4189 PyObject *__pyx_int_15441160;
jpayne@69 4190 PyObject *__pyx_int_101682796;
jpayne@69 4191 PyObject *__pyx_int_219412876;
jpayne@69 4192 PyObject *__pyx_int_neg_1;
jpayne@69 4193 PyObject *__pyx_tuple_;
jpayne@69 4194 PyObject *__pyx_tuple__5;
jpayne@69 4195 PyObject *__pyx_tuple__6;
jpayne@69 4196 PyObject *__pyx_tuple__7;
jpayne@69 4197 PyObject *__pyx_tuple__8;
jpayne@69 4198 PyObject *__pyx_tuple__9;
jpayne@69 4199 PyObject *__pyx_slice__20;
jpayne@69 4200 PyObject *__pyx_slice__24;
jpayne@69 4201 PyObject *__pyx_tuple__10;
jpayne@69 4202 PyObject *__pyx_tuple__22;
jpayne@69 4203 PyObject *__pyx_tuple__25;
jpayne@69 4204 PyObject *__pyx_tuple__29;
jpayne@69 4205 PyObject *__pyx_tuple__30;
jpayne@69 4206 PyObject *__pyx_tuple__31;
jpayne@69 4207 PyObject *__pyx_tuple__33;
jpayne@69 4208 PyObject *__pyx_tuple__35;
jpayne@69 4209 PyObject *__pyx_tuple__37;
jpayne@69 4210 PyObject *__pyx_tuple__40;
jpayne@69 4211 PyObject *__pyx_tuple__42;
jpayne@69 4212 PyObject *__pyx_tuple__45;
jpayne@69 4213 PyObject *__pyx_tuple__47;
jpayne@69 4214 PyObject *__pyx_tuple__58;
jpayne@69 4215 PyObject *__pyx_tuple__60;
jpayne@69 4216 PyObject *__pyx_tuple__63;
jpayne@69 4217 PyObject *__pyx_tuple__65;
jpayne@69 4218 PyObject *__pyx_tuple__67;
jpayne@69 4219 PyObject *__pyx_tuple__69;
jpayne@69 4220 PyObject *__pyx_tuple__70;
jpayne@69 4221 PyObject *__pyx_tuple__75;
jpayne@69 4222 PyObject *__pyx_tuple__77;
jpayne@69 4223 PyObject *__pyx_tuple__86;
jpayne@69 4224 PyObject *__pyx_codeobj__2;
jpayne@69 4225 PyObject *__pyx_codeobj__3;
jpayne@69 4226 PyObject *__pyx_codeobj__4;
jpayne@69 4227 PyObject *__pyx_codeobj__18;
jpayne@69 4228 PyObject *__pyx_codeobj__27;
jpayne@69 4229 PyObject *__pyx_codeobj__34;
jpayne@69 4230 PyObject *__pyx_codeobj__36;
jpayne@69 4231 PyObject *__pyx_codeobj__38;
jpayne@69 4232 PyObject *__pyx_codeobj__39;
jpayne@69 4233 PyObject *__pyx_codeobj__41;
jpayne@69 4234 PyObject *__pyx_codeobj__43;
jpayne@69 4235 PyObject *__pyx_codeobj__44;
jpayne@69 4236 PyObject *__pyx_codeobj__46;
jpayne@69 4237 PyObject *__pyx_codeobj__48;
jpayne@69 4238 PyObject *__pyx_codeobj__49;
jpayne@69 4239 PyObject *__pyx_codeobj__50;
jpayne@69 4240 PyObject *__pyx_codeobj__51;
jpayne@69 4241 PyObject *__pyx_codeobj__52;
jpayne@69 4242 PyObject *__pyx_codeobj__53;
jpayne@69 4243 PyObject *__pyx_codeobj__54;
jpayne@69 4244 PyObject *__pyx_codeobj__55;
jpayne@69 4245 PyObject *__pyx_codeobj__56;
jpayne@69 4246 PyObject *__pyx_codeobj__57;
jpayne@69 4247 PyObject *__pyx_codeobj__59;
jpayne@69 4248 PyObject *__pyx_codeobj__61;
jpayne@69 4249 PyObject *__pyx_codeobj__62;
jpayne@69 4250 PyObject *__pyx_codeobj__64;
jpayne@69 4251 PyObject *__pyx_codeobj__66;
jpayne@69 4252 PyObject *__pyx_codeobj__68;
jpayne@69 4253 PyObject *__pyx_codeobj__71;
jpayne@69 4254 PyObject *__pyx_codeobj__72;
jpayne@69 4255 PyObject *__pyx_codeobj__73;
jpayne@69 4256 PyObject *__pyx_codeobj__74;
jpayne@69 4257 PyObject *__pyx_codeobj__76;
jpayne@69 4258 PyObject *__pyx_codeobj__78;
jpayne@69 4259 PyObject *__pyx_codeobj__79;
jpayne@69 4260 PyObject *__pyx_codeobj__80;
jpayne@69 4261 PyObject *__pyx_codeobj__81;
jpayne@69 4262 PyObject *__pyx_codeobj__82;
jpayne@69 4263 PyObject *__pyx_codeobj__83;
jpayne@69 4264 PyObject *__pyx_codeobj__84;
jpayne@69 4265 PyObject *__pyx_codeobj__85;
jpayne@69 4266 PyObject *__pyx_codeobj__87;
jpayne@69 4267 } __pyx_mstate;
jpayne@69 4268
jpayne@69 4269 #if CYTHON_USE_MODULE_STATE
jpayne@69 4270 #ifdef __cplusplus
jpayne@69 4271 namespace {
jpayne@69 4272 extern struct PyModuleDef __pyx_moduledef;
jpayne@69 4273 } /* anonymous namespace */
jpayne@69 4274 #else
jpayne@69 4275 static struct PyModuleDef __pyx_moduledef;
jpayne@69 4276 #endif
jpayne@69 4277
jpayne@69 4278 #define __pyx_mstate(o) ((__pyx_mstate *)__Pyx_PyModule_GetState(o))
jpayne@69 4279
jpayne@69 4280 #define __pyx_mstate_global (__pyx_mstate(PyState_FindModule(&__pyx_moduledef)))
jpayne@69 4281
jpayne@69 4282 #define __pyx_m (PyState_FindModule(&__pyx_moduledef))
jpayne@69 4283 #else
jpayne@69 4284 static __pyx_mstate __pyx_mstate_global_static =
jpayne@69 4285 #ifdef __cplusplus
jpayne@69 4286 {};
jpayne@69 4287 #else
jpayne@69 4288 {0};
jpayne@69 4289 #endif
jpayne@69 4290 static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static;
jpayne@69 4291 #endif
jpayne@69 4292 /* #### Code section: module_state_clear ### */
jpayne@69 4293 #if CYTHON_USE_MODULE_STATE
jpayne@69 4294 static int __pyx_m_clear(PyObject *m) {
jpayne@69 4295 __pyx_mstate *clear_module_state = __pyx_mstate(m);
jpayne@69 4296 if (!clear_module_state) return 0;
jpayne@69 4297 Py_CLEAR(clear_module_state->__pyx_d);
jpayne@69 4298 Py_CLEAR(clear_module_state->__pyx_b);
jpayne@69 4299 Py_CLEAR(clear_module_state->__pyx_cython_runtime);
jpayne@69 4300 Py_CLEAR(clear_module_state->__pyx_empty_tuple);
jpayne@69 4301 Py_CLEAR(clear_module_state->__pyx_empty_bytes);
jpayne@69 4302 Py_CLEAR(clear_module_state->__pyx_empty_unicode);
jpayne@69 4303 #ifdef __Pyx_CyFunction_USED
jpayne@69 4304 Py_CLEAR(clear_module_state->__pyx_CyFunctionType);
jpayne@69 4305 #endif
jpayne@69 4306 #ifdef __Pyx_FusedFunction_USED
jpayne@69 4307 Py_CLEAR(clear_module_state->__pyx_FusedFunctionType);
jpayne@69 4308 #endif
jpayne@69 4309 Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4type_type);
jpayne@69 4310 Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_4bool_bool);
jpayne@69 4311 Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_7complex_complex);
jpayne@69 4312 Py_CLEAR(clear_module_state->__pyx_ptype_7cpython_5array_array);
jpayne@69 4313 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 4314 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 4315 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator);
jpayne@69 4316 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies_TupleProxyIterator);
jpayne@69 4317 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy);
jpayne@69 4318 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies_NamedTupleProxy);
jpayne@69 4319 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 4320 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 4321 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy);
jpayne@69 4322 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies_GFF3Proxy);
jpayne@69 4323 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies_BedProxy);
jpayne@69 4324 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies_BedProxy);
jpayne@69 4325 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies_VCFProxy);
jpayne@69 4326 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies_VCFProxy);
jpayne@69 4327 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator);
jpayne@69 4328 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator);
jpayne@69 4329 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator);
jpayne@69 4330 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator);
jpayne@69 4331 Py_CLEAR(clear_module_state->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr);
jpayne@69 4332 Py_CLEAR(clear_module_state->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr);
jpayne@69 4333 Py_CLEAR(clear_module_state->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v);
jpayne@69 4334 Py_CLEAR(clear_module_state->__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v);
jpayne@69 4335 Py_CLEAR(clear_module_state->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v);
jpayne@69 4336 Py_CLEAR(clear_module_state->__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v);
jpayne@69 4337 Py_CLEAR(clear_module_state->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v);
jpayne@69 4338 Py_CLEAR(clear_module_state->__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v);
jpayne@69 4339 Py_CLEAR(clear_module_state->__pyx_n_s_AssertionError);
jpayne@69 4340 Py_CLEAR(clear_module_state->__pyx_n_s_BedProxy);
jpayne@69 4341 Py_CLEAR(clear_module_state->__pyx_n_u_BedProxy);
jpayne@69 4342 Py_CLEAR(clear_module_state->__pyx_n_s_BedProxy___reduce_cython);
jpayne@69 4343 Py_CLEAR(clear_module_state->__pyx_n_s_BedProxy___setstate_cython);
jpayne@69 4344 Py_CLEAR(clear_module_state->__pyx_n_s_BedProxy_getMaxFields);
jpayne@69 4345 Py_CLEAR(clear_module_state->__pyx_n_s_BedProxy_getMinFields);
jpayne@69 4346 Py_CLEAR(clear_module_state->__pyx_n_s_GFF3Proxy);
jpayne@69 4347 Py_CLEAR(clear_module_state->__pyx_n_u_GFF3Proxy);
jpayne@69 4348 Py_CLEAR(clear_module_state->__pyx_n_s_GFF3Proxy___reduce_cython);
jpayne@69 4349 Py_CLEAR(clear_module_state->__pyx_n_s_GFF3Proxy___setstate_cython);
jpayne@69 4350 Py_CLEAR(clear_module_state->__pyx_n_s_GFF3Proxy_attribute_string2itera);
jpayne@69 4351 Py_CLEAR(clear_module_state->__pyx_n_s_GFF3Proxy_dict2attribute_string);
jpayne@69 4352 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy);
jpayne@69 4353 Py_CLEAR(clear_module_state->__pyx_n_u_GTFProxy);
jpayne@69 4354 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy___reduce_cython);
jpayne@69 4355 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy___setstate_cython);
jpayne@69 4356 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_asDict);
jpayne@69 4357 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_as_dict);
jpayne@69 4358 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_attribute_string2dict);
jpayne@69 4359 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_attribute_string2iterat);
jpayne@69 4360 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_dict2attribute_string);
jpayne@69 4361 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_fromDict);
jpayne@69 4362 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_from_dict);
jpayne@69 4363 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_getMaxFields);
jpayne@69 4364 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_getMinFields);
jpayne@69 4365 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_invert);
jpayne@69 4366 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_keys);
jpayne@69 4367 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_setAttribute);
jpayne@69 4368 Py_CLEAR(clear_module_state->__pyx_n_s_GTFProxy_to_dict);
jpayne@69 4369 Py_CLEAR(clear_module_state->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0);
jpayne@69 4370 Py_CLEAR(clear_module_state->__pyx_n_s_IndexError);
jpayne@69 4371 Py_CLEAR(clear_module_state->__pyx_n_s_KeyError);
jpayne@69 4372 Py_CLEAR(clear_module_state->__pyx_n_s_MemoryError);
jpayne@69 4373 Py_CLEAR(clear_module_state->__pyx_n_s_NamedTupleProxy);
jpayne@69 4374 Py_CLEAR(clear_module_state->__pyx_n_u_NamedTupleProxy);
jpayne@69 4375 Py_CLEAR(clear_module_state->__pyx_n_s_NamedTupleProxy___reduce_cython);
jpayne@69 4376 Py_CLEAR(clear_module_state->__pyx_n_s_NamedTupleProxy___setstate_cytho);
jpayne@69 4377 Py_CLEAR(clear_module_state->__pyx_n_s_NotImplementedError);
jpayne@69 4378 Py_CLEAR(clear_module_state->__pyx_n_s_OrderedDict);
jpayne@69 4379 Py_CLEAR(clear_module_state->__pyx_n_s_PickleError);
jpayne@69 4380 Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr);
jpayne@69 4381 Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr_2);
jpayne@69 4382 Py_CLEAR(clear_module_state->__pyx_n_s_Pyx_CFunc_e2acea__5pysam_16lib);
jpayne@69 4383 Py_CLEAR(clear_module_state->__pyx_n_s_StopIteration);
jpayne@69 4384 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy);
jpayne@69 4385 Py_CLEAR(clear_module_state->__pyx_n_u_TupleProxy);
jpayne@69 4386 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxyIterator);
jpayne@69 4387 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxyIterator___reduce_cyth);
jpayne@69 4388 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxyIterator___setstate_cy);
jpayne@69 4389 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy___copy);
jpayne@69 4390 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy___reduce_cython);
jpayne@69 4391 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy___setstate_cython);
jpayne@69 4392 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy__getindex);
jpayne@69 4393 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy__setindex);
jpayne@69 4394 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy_compare);
jpayne@69 4395 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy_getMaxFields);
jpayne@69 4396 Py_CLEAR(clear_module_state->__pyx_n_s_TupleProxy_getMinFields);
jpayne@69 4397 Py_CLEAR(clear_module_state->__pyx_n_s_TypeError);
jpayne@69 4398 Py_CLEAR(clear_module_state->__pyx_n_s_VCFProxy);
jpayne@69 4399 Py_CLEAR(clear_module_state->__pyx_n_u_VCFProxy);
jpayne@69 4400 Py_CLEAR(clear_module_state->__pyx_n_s_VCFProxy___reduce_cython);
jpayne@69 4401 Py_CLEAR(clear_module_state->__pyx_n_s_VCFProxy___setstate_cython);
jpayne@69 4402 Py_CLEAR(clear_module_state->__pyx_n_s_ValueError);
jpayne@69 4403 Py_CLEAR(clear_module_state->__pyx_kp_u__11);
jpayne@69 4404 Py_CLEAR(clear_module_state->__pyx_kp_b__12);
jpayne@69 4405 Py_CLEAR(clear_module_state->__pyx_kp_u__12);
jpayne@69 4406 Py_CLEAR(clear_module_state->__pyx_kp_u__13);
jpayne@69 4407 Py_CLEAR(clear_module_state->__pyx_kp_u__14);
jpayne@69 4408 Py_CLEAR(clear_module_state->__pyx_kp_u__15);
jpayne@69 4409 Py_CLEAR(clear_module_state->__pyx_kp_u__16);
jpayne@69 4410 Py_CLEAR(clear_module_state->__pyx_kp_u__17);
jpayne@69 4411 Py_CLEAR(clear_module_state->__pyx_kp_u__19);
jpayne@69 4412 Py_CLEAR(clear_module_state->__pyx_kp_u__21);
jpayne@69 4413 Py_CLEAR(clear_module_state->__pyx_kp_u__23);
jpayne@69 4414 Py_CLEAR(clear_module_state->__pyx_kp_u__26);
jpayne@69 4415 Py_CLEAR(clear_module_state->__pyx_kp_u__28);
jpayne@69 4416 Py_CLEAR(clear_module_state->__pyx_n_s__32);
jpayne@69 4417 Py_CLEAR(clear_module_state->__pyx_n_s__88);
jpayne@69 4418 Py_CLEAR(clear_module_state->__pyx_n_s_aa);
jpayne@69 4419 Py_CLEAR(clear_module_state->__pyx_n_s_all);
jpayne@69 4420 Py_CLEAR(clear_module_state->__pyx_n_u_alt);
jpayne@69 4421 Py_CLEAR(clear_module_state->__pyx_n_s_append);
jpayne@69 4422 Py_CLEAR(clear_module_state->__pyx_n_s_args);
jpayne@69 4423 Py_CLEAR(clear_module_state->__pyx_n_s_asDict);
jpayne@69 4424 Py_CLEAR(clear_module_state->__pyx_n_s_as_dict);
jpayne@69 4425 Py_CLEAR(clear_module_state->__pyx_n_u_ascii);
jpayne@69 4426 Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines);
jpayne@69 4427 Py_CLEAR(clear_module_state->__pyx_n_s_attribute_dict2string);
jpayne@69 4428 Py_CLEAR(clear_module_state->__pyx_n_s_attribute_string);
jpayne@69 4429 Py_CLEAR(clear_module_state->__pyx_n_s_attribute_string2dict);
jpayne@69 4430 Py_CLEAR(clear_module_state->__pyx_n_s_attribute_string2iterator);
jpayne@69 4431 Py_CLEAR(clear_module_state->__pyx_n_s_attribute_string2iterator_locals);
jpayne@69 4432 Py_CLEAR(clear_module_state->__pyx_n_s_attributes);
jpayne@69 4433 Py_CLEAR(clear_module_state->__pyx_n_u_attributes);
jpayne@69 4434 Py_CLEAR(clear_module_state->__pyx_kp_u_bed_format_requires_at_least_thr);
jpayne@69 4435 Py_CLEAR(clear_module_state->__pyx_n_u_blockCount);
jpayne@69 4436 Py_CLEAR(clear_module_state->__pyx_n_u_blockSizes);
jpayne@69 4437 Py_CLEAR(clear_module_state->__pyx_n_u_blockStarts);
jpayne@69 4438 Py_CLEAR(clear_module_state->__pyx_n_s_cfunc_to_py);
jpayne@69 4439 Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem);
jpayne@69 4440 Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback);
jpayne@69 4441 Py_CLEAR(clear_module_state->__pyx_n_s_close);
jpayne@69 4442 Py_CLEAR(clear_module_state->__pyx_n_s_collections);
jpayne@69 4443 Py_CLEAR(clear_module_state->__pyx_n_s_compare);
jpayne@69 4444 Py_CLEAR(clear_module_state->__pyx_kp_u_comparison_of_modified_TupleProx);
jpayne@69 4445 Py_CLEAR(clear_module_state->__pyx_n_s_contig);
jpayne@69 4446 Py_CLEAR(clear_module_state->__pyx_n_u_contig);
jpayne@69 4447 Py_CLEAR(clear_module_state->__pyx_n_s_copy);
jpayne@69 4448 Py_CLEAR(clear_module_state->__pyx_n_s_copy_2);
jpayne@69 4449 Py_CLEAR(clear_module_state->__pyx_kp_u_copying_modified_tuples_is_not_i);
jpayne@69 4450 Py_CLEAR(clear_module_state->__pyx_n_s_d);
jpayne@69 4451 Py_CLEAR(clear_module_state->__pyx_n_s_decode);
jpayne@69 4452 Py_CLEAR(clear_module_state->__pyx_n_s_dict);
jpayne@69 4453 Py_CLEAR(clear_module_state->__pyx_n_s_dict2attribute_string);
jpayne@69 4454 Py_CLEAR(clear_module_state->__pyx_n_s_dict_2);
jpayne@69 4455 Py_CLEAR(clear_module_state->__pyx_kp_u_disable);
jpayne@69 4456 Py_CLEAR(clear_module_state->__pyx_kp_u_enable);
jpayne@69 4457 Py_CLEAR(clear_module_state->__pyx_n_s_encoding);
jpayne@69 4458 Py_CLEAR(clear_module_state->__pyx_n_s_end);
jpayne@69 4459 Py_CLEAR(clear_module_state->__pyx_n_u_end);
jpayne@69 4460 Py_CLEAR(clear_module_state->__pyx_n_s_endswith);
jpayne@69 4461 Py_CLEAR(clear_module_state->__pyx_n_s_f);
jpayne@69 4462 Py_CLEAR(clear_module_state->__pyx_n_s_feature);
jpayne@69 4463 Py_CLEAR(clear_module_state->__pyx_n_u_feature);
jpayne@69 4464 Py_CLEAR(clear_module_state->__pyx_kp_u_field_s_not_set);
jpayne@69 4465 Py_CLEAR(clear_module_state->__pyx_n_s_fields);
jpayne@69 4466 Py_CLEAR(clear_module_state->__pyx_n_u_filter);
jpayne@69 4467 Py_CLEAR(clear_module_state->__pyx_n_s_format);
jpayne@69 4468 Py_CLEAR(clear_module_state->__pyx_n_u_format);
jpayne@69 4469 Py_CLEAR(clear_module_state->__pyx_n_s_frame);
jpayne@69 4470 Py_CLEAR(clear_module_state->__pyx_n_u_frame);
jpayne@69 4471 Py_CLEAR(clear_module_state->__pyx_n_s_fromDict);
jpayne@69 4472 Py_CLEAR(clear_module_state->__pyx_n_s_from_dict);
jpayne@69 4473 Py_CLEAR(clear_module_state->__pyx_kp_u_gc);
jpayne@69 4474 Py_CLEAR(clear_module_state->__pyx_n_s_genexpr);
jpayne@69 4475 Py_CLEAR(clear_module_state->__pyx_n_s_get);
jpayne@69 4476 Py_CLEAR(clear_module_state->__pyx_n_s_getMaxFields);
jpayne@69 4477 Py_CLEAR(clear_module_state->__pyx_n_s_getMinFields);
jpayne@69 4478 Py_CLEAR(clear_module_state->__pyx_n_s_getattr);
jpayne@69 4479 Py_CLEAR(clear_module_state->__pyx_n_s_getindex);
jpayne@69 4480 Py_CLEAR(clear_module_state->__pyx_n_s_getstate);
jpayne@69 4481 Py_CLEAR(clear_module_state->__pyx_n_s_i);
jpayne@69 4482 Py_CLEAR(clear_module_state->__pyx_n_u_id);
jpayne@69 4483 Py_CLEAR(clear_module_state->__pyx_n_s_idx);
jpayne@69 4484 Py_CLEAR(clear_module_state->__pyx_n_s_import);
jpayne@69 4485 Py_CLEAR(clear_module_state->__pyx_kp_u_incomplete_line_at_s);
jpayne@69 4486 Py_CLEAR(clear_module_state->__pyx_n_s_index);
jpayne@69 4487 Py_CLEAR(clear_module_state->__pyx_n_s_indices);
jpayne@69 4488 Py_CLEAR(clear_module_state->__pyx_n_u_info);
jpayne@69 4489 Py_CLEAR(clear_module_state->__pyx_n_s_initializing);
jpayne@69 4490 Py_CLEAR(clear_module_state->__pyx_n_s_invert);
jpayne@69 4491 Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine);
jpayne@69 4492 Py_CLEAR(clear_module_state->__pyx_kp_u_isenabled);
jpayne@69 4493 Py_CLEAR(clear_module_state->__pyx_n_u_itemRGB);
jpayne@69 4494 Py_CLEAR(clear_module_state->__pyx_n_s_items);
jpayne@69 4495 Py_CLEAR(clear_module_state->__pyx_n_s_join);
jpayne@69 4496 Py_CLEAR(clear_module_state->__pyx_n_s_k);
jpayne@69 4497 Py_CLEAR(clear_module_state->__pyx_n_s_key);
jpayne@69 4498 Py_CLEAR(clear_module_state->__pyx_n_s_keys);
jpayne@69 4499 Py_CLEAR(clear_module_state->__pyx_n_s_kwargs);
jpayne@69 4500 Py_CLEAR(clear_module_state->__pyx_n_s_lcontig);
jpayne@69 4501 Py_CLEAR(clear_module_state->__pyx_kp_u_length_of_buffer_i_number_of_byt);
jpayne@69 4502 Py_CLEAR(clear_module_state->__pyx_kp_u_list_index_out_of_range);
jpayne@69 4503 Py_CLEAR(clear_module_state->__pyx_kp_u_list_index_out_of_range_i_i);
jpayne@69 4504 Py_CLEAR(clear_module_state->__pyx_n_s_main);
jpayne@69 4505 Py_CLEAR(clear_module_state->__pyx_n_s_map_key2field);
jpayne@69 4506 Py_CLEAR(clear_module_state->__pyx_n_s_n);
jpayne@69 4507 Py_CLEAR(clear_module_state->__pyx_n_s_name);
jpayne@69 4508 Py_CLEAR(clear_module_state->__pyx_n_u_name);
jpayne@69 4509 Py_CLEAR(clear_module_state->__pyx_n_s_name_2);
jpayne@69 4510 Py_CLEAR(clear_module_state->__pyx_n_s_new);
jpayne@69 4511 Py_CLEAR(clear_module_state->__pyx_kp_s_no_default___reduce___due_to_non);
jpayne@69 4512 Py_CLEAR(clear_module_state->__pyx_kp_u_op_0_isn_t_implemented_yet);
jpayne@69 4513 Py_CLEAR(clear_module_state->__pyx_n_s_other);
jpayne@69 4514 Py_CLEAR(clear_module_state->__pyx_kp_u_out_of_memory);
jpayne@69 4515 Py_CLEAR(clear_module_state->__pyx_kp_u_out_of_memory_in_TupleProxy_copy);
jpayne@69 4516 Py_CLEAR(clear_module_state->__pyx_kp_u_out_of_memory_in_TupleProxy_upda);
jpayne@69 4517 Py_CLEAR(clear_module_state->__pyx_kp_u_parsing_error_fewer_than_i_field);
jpayne@69 4518 Py_CLEAR(clear_module_state->__pyx_kp_u_parsing_error_more_than_i_fields);
jpayne@69 4519 Py_CLEAR(clear_module_state->__pyx_n_s_pickle);
jpayne@69 4520 Py_CLEAR(clear_module_state->__pyx_n_u_pos);
jpayne@69 4521 Py_CLEAR(clear_module_state->__pyx_n_s_proxy);
jpayne@69 4522 Py_CLEAR(clear_module_state->__pyx_n_s_pysam_libctabixproxies);
jpayne@69 4523 Py_CLEAR(clear_module_state->__pyx_kp_s_pysam_libctabixproxies_pyx);
jpayne@69 4524 Py_CLEAR(clear_module_state->__pyx_n_s_pyx_PickleError);
jpayne@69 4525 Py_CLEAR(clear_module_state->__pyx_n_s_pyx_checksum);
jpayne@69 4526 Py_CLEAR(clear_module_state->__pyx_n_s_pyx_result);
jpayne@69 4527 Py_CLEAR(clear_module_state->__pyx_n_s_pyx_state);
jpayne@69 4528 Py_CLEAR(clear_module_state->__pyx_n_s_pyx_type);
jpayne@69 4529 Py_CLEAR(clear_module_state->__pyx_n_s_pyx_unpickle_TupleProxyIterato);
jpayne@69 4530 Py_CLEAR(clear_module_state->__pyx_n_s_pyx_vtable);
jpayne@69 4531 Py_CLEAR(clear_module_state->__pyx_n_u_qual);
jpayne@69 4532 Py_CLEAR(clear_module_state->__pyx_n_s_quote);
jpayne@69 4533 Py_CLEAR(clear_module_state->__pyx_n_s_range);
jpayne@69 4534 Py_CLEAR(clear_module_state->__pyx_n_s_reduce);
jpayne@69 4535 Py_CLEAR(clear_module_state->__pyx_n_s_reduce_cython);
jpayne@69 4536 Py_CLEAR(clear_module_state->__pyx_n_s_reduce_ex);
jpayne@69 4537 Py_CLEAR(clear_module_state->__pyx_n_u_ref);
jpayne@69 4538 Py_CLEAR(clear_module_state->__pyx_kp_u_s);
jpayne@69 4539 Py_CLEAR(clear_module_state->__pyx_n_s_s_2);
jpayne@69 4540 Py_CLEAR(clear_module_state->__pyx_n_s_score);
jpayne@69 4541 Py_CLEAR(clear_module_state->__pyx_n_u_score);
jpayne@69 4542 Py_CLEAR(clear_module_state->__pyx_n_s_self);
jpayne@69 4543 Py_CLEAR(clear_module_state->__pyx_n_s_send);
jpayne@69 4544 Py_CLEAR(clear_module_state->__pyx_n_s_separator);
jpayne@69 4545 Py_CLEAR(clear_module_state->__pyx_n_s_setAttribute);
jpayne@69 4546 Py_CLEAR(clear_module_state->__pyx_n_s_setindex);
jpayne@69 4547 Py_CLEAR(clear_module_state->__pyx_n_s_setitem);
jpayne@69 4548 Py_CLEAR(clear_module_state->__pyx_n_s_setstate);
jpayne@69 4549 Py_CLEAR(clear_module_state->__pyx_n_s_setstate_cython);
jpayne@69 4550 Py_CLEAR(clear_module_state->__pyx_n_s_source);
jpayne@69 4551 Py_CLEAR(clear_module_state->__pyx_n_u_source);
jpayne@69 4552 Py_CLEAR(clear_module_state->__pyx_n_s_spec);
jpayne@69 4553 Py_CLEAR(clear_module_state->__pyx_n_s_split);
jpayne@69 4554 Py_CLEAR(clear_module_state->__pyx_n_s_start);
jpayne@69 4555 Py_CLEAR(clear_module_state->__pyx_n_u_start);
jpayne@69 4556 Py_CLEAR(clear_module_state->__pyx_n_s_state);
jpayne@69 4557 Py_CLEAR(clear_module_state->__pyx_n_s_str);
jpayne@69 4558 Py_CLEAR(clear_module_state->__pyx_n_s_strand);
jpayne@69 4559 Py_CLEAR(clear_module_state->__pyx_n_u_strand);
jpayne@69 4560 Py_CLEAR(clear_module_state->__pyx_kp_s_stringsource);
jpayne@69 4561 Py_CLEAR(clear_module_state->__pyx_n_s_strip);
jpayne@69 4562 Py_CLEAR(clear_module_state->__pyx_n_s_super);
jpayne@69 4563 Py_CLEAR(clear_module_state->__pyx_n_s_test);
jpayne@69 4564 Py_CLEAR(clear_module_state->__pyx_n_u_thickEnd);
jpayne@69 4565 Py_CLEAR(clear_module_state->__pyx_n_u_thickStart);
jpayne@69 4566 Py_CLEAR(clear_module_state->__pyx_n_s_throw);
jpayne@69 4567 Py_CLEAR(clear_module_state->__pyx_n_s_tmp);
jpayne@69 4568 Py_CLEAR(clear_module_state->__pyx_n_s_toDot);
jpayne@69 4569 Py_CLEAR(clear_module_state->__pyx_n_s_to_dict);
jpayne@69 4570 Py_CLEAR(clear_module_state->__pyx_n_s_update);
jpayne@69 4571 Py_CLEAR(clear_module_state->__pyx_n_s_use_setstate);
jpayne@69 4572 Py_CLEAR(clear_module_state->__pyx_n_s_v);
jpayne@69 4573 Py_CLEAR(clear_module_state->__pyx_n_s_value);
jpayne@69 4574 Py_CLEAR(clear_module_state->__pyx_n_s_wrap);
jpayne@69 4575 Py_CLEAR(clear_module_state->__pyx_n_s_x);
jpayne@69 4576 Py_CLEAR(clear_module_state->__pyx_n_s_xrange);
jpayne@69 4577 Py_CLEAR(clear_module_state->__pyx_int_0);
jpayne@69 4578 Py_CLEAR(clear_module_state->__pyx_int_1);
jpayne@69 4579 Py_CLEAR(clear_module_state->__pyx_int_2);
jpayne@69 4580 Py_CLEAR(clear_module_state->__pyx_int_3);
jpayne@69 4581 Py_CLEAR(clear_module_state->__pyx_int_4);
jpayne@69 4582 Py_CLEAR(clear_module_state->__pyx_int_5);
jpayne@69 4583 Py_CLEAR(clear_module_state->__pyx_int_6);
jpayne@69 4584 Py_CLEAR(clear_module_state->__pyx_int_7);
jpayne@69 4585 Py_CLEAR(clear_module_state->__pyx_int_8);
jpayne@69 4586 Py_CLEAR(clear_module_state->__pyx_int_9);
jpayne@69 4587 Py_CLEAR(clear_module_state->__pyx_int_10);
jpayne@69 4588 Py_CLEAR(clear_module_state->__pyx_int_11);
jpayne@69 4589 Py_CLEAR(clear_module_state->__pyx_int_15441160);
jpayne@69 4590 Py_CLEAR(clear_module_state->__pyx_int_101682796);
jpayne@69 4591 Py_CLEAR(clear_module_state->__pyx_int_219412876);
jpayne@69 4592 Py_CLEAR(clear_module_state->__pyx_int_neg_1);
jpayne@69 4593 Py_CLEAR(clear_module_state->__pyx_tuple_);
jpayne@69 4594 Py_CLEAR(clear_module_state->__pyx_tuple__5);
jpayne@69 4595 Py_CLEAR(clear_module_state->__pyx_tuple__6);
jpayne@69 4596 Py_CLEAR(clear_module_state->__pyx_tuple__7);
jpayne@69 4597 Py_CLEAR(clear_module_state->__pyx_tuple__8);
jpayne@69 4598 Py_CLEAR(clear_module_state->__pyx_tuple__9);
jpayne@69 4599 Py_CLEAR(clear_module_state->__pyx_slice__20);
jpayne@69 4600 Py_CLEAR(clear_module_state->__pyx_slice__24);
jpayne@69 4601 Py_CLEAR(clear_module_state->__pyx_tuple__10);
jpayne@69 4602 Py_CLEAR(clear_module_state->__pyx_tuple__22);
jpayne@69 4603 Py_CLEAR(clear_module_state->__pyx_tuple__25);
jpayne@69 4604 Py_CLEAR(clear_module_state->__pyx_tuple__29);
jpayne@69 4605 Py_CLEAR(clear_module_state->__pyx_tuple__30);
jpayne@69 4606 Py_CLEAR(clear_module_state->__pyx_tuple__31);
jpayne@69 4607 Py_CLEAR(clear_module_state->__pyx_tuple__33);
jpayne@69 4608 Py_CLEAR(clear_module_state->__pyx_tuple__35);
jpayne@69 4609 Py_CLEAR(clear_module_state->__pyx_tuple__37);
jpayne@69 4610 Py_CLEAR(clear_module_state->__pyx_tuple__40);
jpayne@69 4611 Py_CLEAR(clear_module_state->__pyx_tuple__42);
jpayne@69 4612 Py_CLEAR(clear_module_state->__pyx_tuple__45);
jpayne@69 4613 Py_CLEAR(clear_module_state->__pyx_tuple__47);
jpayne@69 4614 Py_CLEAR(clear_module_state->__pyx_tuple__58);
jpayne@69 4615 Py_CLEAR(clear_module_state->__pyx_tuple__60);
jpayne@69 4616 Py_CLEAR(clear_module_state->__pyx_tuple__63);
jpayne@69 4617 Py_CLEAR(clear_module_state->__pyx_tuple__65);
jpayne@69 4618 Py_CLEAR(clear_module_state->__pyx_tuple__67);
jpayne@69 4619 Py_CLEAR(clear_module_state->__pyx_tuple__69);
jpayne@69 4620 Py_CLEAR(clear_module_state->__pyx_tuple__70);
jpayne@69 4621 Py_CLEAR(clear_module_state->__pyx_tuple__75);
jpayne@69 4622 Py_CLEAR(clear_module_state->__pyx_tuple__77);
jpayne@69 4623 Py_CLEAR(clear_module_state->__pyx_tuple__86);
jpayne@69 4624 Py_CLEAR(clear_module_state->__pyx_codeobj__2);
jpayne@69 4625 Py_CLEAR(clear_module_state->__pyx_codeobj__3);
jpayne@69 4626 Py_CLEAR(clear_module_state->__pyx_codeobj__4);
jpayne@69 4627 Py_CLEAR(clear_module_state->__pyx_codeobj__18);
jpayne@69 4628 Py_CLEAR(clear_module_state->__pyx_codeobj__27);
jpayne@69 4629 Py_CLEAR(clear_module_state->__pyx_codeobj__34);
jpayne@69 4630 Py_CLEAR(clear_module_state->__pyx_codeobj__36);
jpayne@69 4631 Py_CLEAR(clear_module_state->__pyx_codeobj__38);
jpayne@69 4632 Py_CLEAR(clear_module_state->__pyx_codeobj__39);
jpayne@69 4633 Py_CLEAR(clear_module_state->__pyx_codeobj__41);
jpayne@69 4634 Py_CLEAR(clear_module_state->__pyx_codeobj__43);
jpayne@69 4635 Py_CLEAR(clear_module_state->__pyx_codeobj__44);
jpayne@69 4636 Py_CLEAR(clear_module_state->__pyx_codeobj__46);
jpayne@69 4637 Py_CLEAR(clear_module_state->__pyx_codeobj__48);
jpayne@69 4638 Py_CLEAR(clear_module_state->__pyx_codeobj__49);
jpayne@69 4639 Py_CLEAR(clear_module_state->__pyx_codeobj__50);
jpayne@69 4640 Py_CLEAR(clear_module_state->__pyx_codeobj__51);
jpayne@69 4641 Py_CLEAR(clear_module_state->__pyx_codeobj__52);
jpayne@69 4642 Py_CLEAR(clear_module_state->__pyx_codeobj__53);
jpayne@69 4643 Py_CLEAR(clear_module_state->__pyx_codeobj__54);
jpayne@69 4644 Py_CLEAR(clear_module_state->__pyx_codeobj__55);
jpayne@69 4645 Py_CLEAR(clear_module_state->__pyx_codeobj__56);
jpayne@69 4646 Py_CLEAR(clear_module_state->__pyx_codeobj__57);
jpayne@69 4647 Py_CLEAR(clear_module_state->__pyx_codeobj__59);
jpayne@69 4648 Py_CLEAR(clear_module_state->__pyx_codeobj__61);
jpayne@69 4649 Py_CLEAR(clear_module_state->__pyx_codeobj__62);
jpayne@69 4650 Py_CLEAR(clear_module_state->__pyx_codeobj__64);
jpayne@69 4651 Py_CLEAR(clear_module_state->__pyx_codeobj__66);
jpayne@69 4652 Py_CLEAR(clear_module_state->__pyx_codeobj__68);
jpayne@69 4653 Py_CLEAR(clear_module_state->__pyx_codeobj__71);
jpayne@69 4654 Py_CLEAR(clear_module_state->__pyx_codeobj__72);
jpayne@69 4655 Py_CLEAR(clear_module_state->__pyx_codeobj__73);
jpayne@69 4656 Py_CLEAR(clear_module_state->__pyx_codeobj__74);
jpayne@69 4657 Py_CLEAR(clear_module_state->__pyx_codeobj__76);
jpayne@69 4658 Py_CLEAR(clear_module_state->__pyx_codeobj__78);
jpayne@69 4659 Py_CLEAR(clear_module_state->__pyx_codeobj__79);
jpayne@69 4660 Py_CLEAR(clear_module_state->__pyx_codeobj__80);
jpayne@69 4661 Py_CLEAR(clear_module_state->__pyx_codeobj__81);
jpayne@69 4662 Py_CLEAR(clear_module_state->__pyx_codeobj__82);
jpayne@69 4663 Py_CLEAR(clear_module_state->__pyx_codeobj__83);
jpayne@69 4664 Py_CLEAR(clear_module_state->__pyx_codeobj__84);
jpayne@69 4665 Py_CLEAR(clear_module_state->__pyx_codeobj__85);
jpayne@69 4666 Py_CLEAR(clear_module_state->__pyx_codeobj__87);
jpayne@69 4667 return 0;
jpayne@69 4668 }
jpayne@69 4669 #endif
jpayne@69 4670 /* #### Code section: module_state_traverse ### */
jpayne@69 4671 #if CYTHON_USE_MODULE_STATE
jpayne@69 4672 static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
jpayne@69 4673 __pyx_mstate *traverse_module_state = __pyx_mstate(m);
jpayne@69 4674 if (!traverse_module_state) return 0;
jpayne@69 4675 Py_VISIT(traverse_module_state->__pyx_d);
jpayne@69 4676 Py_VISIT(traverse_module_state->__pyx_b);
jpayne@69 4677 Py_VISIT(traverse_module_state->__pyx_cython_runtime);
jpayne@69 4678 Py_VISIT(traverse_module_state->__pyx_empty_tuple);
jpayne@69 4679 Py_VISIT(traverse_module_state->__pyx_empty_bytes);
jpayne@69 4680 Py_VISIT(traverse_module_state->__pyx_empty_unicode);
jpayne@69 4681 #ifdef __Pyx_CyFunction_USED
jpayne@69 4682 Py_VISIT(traverse_module_state->__pyx_CyFunctionType);
jpayne@69 4683 #endif
jpayne@69 4684 #ifdef __Pyx_FusedFunction_USED
jpayne@69 4685 Py_VISIT(traverse_module_state->__pyx_FusedFunctionType);
jpayne@69 4686 #endif
jpayne@69 4687 Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4type_type);
jpayne@69 4688 Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_4bool_bool);
jpayne@69 4689 Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_7complex_complex);
jpayne@69 4690 Py_VISIT(traverse_module_state->__pyx_ptype_7cpython_5array_array);
jpayne@69 4691 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 4692 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 4693 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator);
jpayne@69 4694 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies_TupleProxyIterator);
jpayne@69 4695 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy);
jpayne@69 4696 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies_NamedTupleProxy);
jpayne@69 4697 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 4698 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 4699 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy);
jpayne@69 4700 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies_GFF3Proxy);
jpayne@69 4701 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies_BedProxy);
jpayne@69 4702 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies_BedProxy);
jpayne@69 4703 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies_VCFProxy);
jpayne@69 4704 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies_VCFProxy);
jpayne@69 4705 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator);
jpayne@69 4706 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator);
jpayne@69 4707 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator);
jpayne@69 4708 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator);
jpayne@69 4709 Py_VISIT(traverse_module_state->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr);
jpayne@69 4710 Py_VISIT(traverse_module_state->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr);
jpayne@69 4711 Py_VISIT(traverse_module_state->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v);
jpayne@69 4712 Py_VISIT(traverse_module_state->__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v);
jpayne@69 4713 Py_VISIT(traverse_module_state->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v);
jpayne@69 4714 Py_VISIT(traverse_module_state->__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v);
jpayne@69 4715 Py_VISIT(traverse_module_state->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v);
jpayne@69 4716 Py_VISIT(traverse_module_state->__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v);
jpayne@69 4717 Py_VISIT(traverse_module_state->__pyx_n_s_AssertionError);
jpayne@69 4718 Py_VISIT(traverse_module_state->__pyx_n_s_BedProxy);
jpayne@69 4719 Py_VISIT(traverse_module_state->__pyx_n_u_BedProxy);
jpayne@69 4720 Py_VISIT(traverse_module_state->__pyx_n_s_BedProxy___reduce_cython);
jpayne@69 4721 Py_VISIT(traverse_module_state->__pyx_n_s_BedProxy___setstate_cython);
jpayne@69 4722 Py_VISIT(traverse_module_state->__pyx_n_s_BedProxy_getMaxFields);
jpayne@69 4723 Py_VISIT(traverse_module_state->__pyx_n_s_BedProxy_getMinFields);
jpayne@69 4724 Py_VISIT(traverse_module_state->__pyx_n_s_GFF3Proxy);
jpayne@69 4725 Py_VISIT(traverse_module_state->__pyx_n_u_GFF3Proxy);
jpayne@69 4726 Py_VISIT(traverse_module_state->__pyx_n_s_GFF3Proxy___reduce_cython);
jpayne@69 4727 Py_VISIT(traverse_module_state->__pyx_n_s_GFF3Proxy___setstate_cython);
jpayne@69 4728 Py_VISIT(traverse_module_state->__pyx_n_s_GFF3Proxy_attribute_string2itera);
jpayne@69 4729 Py_VISIT(traverse_module_state->__pyx_n_s_GFF3Proxy_dict2attribute_string);
jpayne@69 4730 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy);
jpayne@69 4731 Py_VISIT(traverse_module_state->__pyx_n_u_GTFProxy);
jpayne@69 4732 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy___reduce_cython);
jpayne@69 4733 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy___setstate_cython);
jpayne@69 4734 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_asDict);
jpayne@69 4735 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_as_dict);
jpayne@69 4736 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_attribute_string2dict);
jpayne@69 4737 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_attribute_string2iterat);
jpayne@69 4738 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_dict2attribute_string);
jpayne@69 4739 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_fromDict);
jpayne@69 4740 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_from_dict);
jpayne@69 4741 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_getMaxFields);
jpayne@69 4742 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_getMinFields);
jpayne@69 4743 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_invert);
jpayne@69 4744 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_keys);
jpayne@69 4745 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_setAttribute);
jpayne@69 4746 Py_VISIT(traverse_module_state->__pyx_n_s_GTFProxy_to_dict);
jpayne@69 4747 Py_VISIT(traverse_module_state->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0);
jpayne@69 4748 Py_VISIT(traverse_module_state->__pyx_n_s_IndexError);
jpayne@69 4749 Py_VISIT(traverse_module_state->__pyx_n_s_KeyError);
jpayne@69 4750 Py_VISIT(traverse_module_state->__pyx_n_s_MemoryError);
jpayne@69 4751 Py_VISIT(traverse_module_state->__pyx_n_s_NamedTupleProxy);
jpayne@69 4752 Py_VISIT(traverse_module_state->__pyx_n_u_NamedTupleProxy);
jpayne@69 4753 Py_VISIT(traverse_module_state->__pyx_n_s_NamedTupleProxy___reduce_cython);
jpayne@69 4754 Py_VISIT(traverse_module_state->__pyx_n_s_NamedTupleProxy___setstate_cytho);
jpayne@69 4755 Py_VISIT(traverse_module_state->__pyx_n_s_NotImplementedError);
jpayne@69 4756 Py_VISIT(traverse_module_state->__pyx_n_s_OrderedDict);
jpayne@69 4757 Py_VISIT(traverse_module_state->__pyx_n_s_PickleError);
jpayne@69 4758 Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr);
jpayne@69 4759 Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr_2);
jpayne@69 4760 Py_VISIT(traverse_module_state->__pyx_n_s_Pyx_CFunc_e2acea__5pysam_16lib);
jpayne@69 4761 Py_VISIT(traverse_module_state->__pyx_n_s_StopIteration);
jpayne@69 4762 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy);
jpayne@69 4763 Py_VISIT(traverse_module_state->__pyx_n_u_TupleProxy);
jpayne@69 4764 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxyIterator);
jpayne@69 4765 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxyIterator___reduce_cyth);
jpayne@69 4766 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxyIterator___setstate_cy);
jpayne@69 4767 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy___copy);
jpayne@69 4768 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy___reduce_cython);
jpayne@69 4769 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy___setstate_cython);
jpayne@69 4770 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy__getindex);
jpayne@69 4771 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy__setindex);
jpayne@69 4772 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy_compare);
jpayne@69 4773 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy_getMaxFields);
jpayne@69 4774 Py_VISIT(traverse_module_state->__pyx_n_s_TupleProxy_getMinFields);
jpayne@69 4775 Py_VISIT(traverse_module_state->__pyx_n_s_TypeError);
jpayne@69 4776 Py_VISIT(traverse_module_state->__pyx_n_s_VCFProxy);
jpayne@69 4777 Py_VISIT(traverse_module_state->__pyx_n_u_VCFProxy);
jpayne@69 4778 Py_VISIT(traverse_module_state->__pyx_n_s_VCFProxy___reduce_cython);
jpayne@69 4779 Py_VISIT(traverse_module_state->__pyx_n_s_VCFProxy___setstate_cython);
jpayne@69 4780 Py_VISIT(traverse_module_state->__pyx_n_s_ValueError);
jpayne@69 4781 Py_VISIT(traverse_module_state->__pyx_kp_u__11);
jpayne@69 4782 Py_VISIT(traverse_module_state->__pyx_kp_b__12);
jpayne@69 4783 Py_VISIT(traverse_module_state->__pyx_kp_u__12);
jpayne@69 4784 Py_VISIT(traverse_module_state->__pyx_kp_u__13);
jpayne@69 4785 Py_VISIT(traverse_module_state->__pyx_kp_u__14);
jpayne@69 4786 Py_VISIT(traverse_module_state->__pyx_kp_u__15);
jpayne@69 4787 Py_VISIT(traverse_module_state->__pyx_kp_u__16);
jpayne@69 4788 Py_VISIT(traverse_module_state->__pyx_kp_u__17);
jpayne@69 4789 Py_VISIT(traverse_module_state->__pyx_kp_u__19);
jpayne@69 4790 Py_VISIT(traverse_module_state->__pyx_kp_u__21);
jpayne@69 4791 Py_VISIT(traverse_module_state->__pyx_kp_u__23);
jpayne@69 4792 Py_VISIT(traverse_module_state->__pyx_kp_u__26);
jpayne@69 4793 Py_VISIT(traverse_module_state->__pyx_kp_u__28);
jpayne@69 4794 Py_VISIT(traverse_module_state->__pyx_n_s__32);
jpayne@69 4795 Py_VISIT(traverse_module_state->__pyx_n_s__88);
jpayne@69 4796 Py_VISIT(traverse_module_state->__pyx_n_s_aa);
jpayne@69 4797 Py_VISIT(traverse_module_state->__pyx_n_s_all);
jpayne@69 4798 Py_VISIT(traverse_module_state->__pyx_n_u_alt);
jpayne@69 4799 Py_VISIT(traverse_module_state->__pyx_n_s_append);
jpayne@69 4800 Py_VISIT(traverse_module_state->__pyx_n_s_args);
jpayne@69 4801 Py_VISIT(traverse_module_state->__pyx_n_s_asDict);
jpayne@69 4802 Py_VISIT(traverse_module_state->__pyx_n_s_as_dict);
jpayne@69 4803 Py_VISIT(traverse_module_state->__pyx_n_u_ascii);
jpayne@69 4804 Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines);
jpayne@69 4805 Py_VISIT(traverse_module_state->__pyx_n_s_attribute_dict2string);
jpayne@69 4806 Py_VISIT(traverse_module_state->__pyx_n_s_attribute_string);
jpayne@69 4807 Py_VISIT(traverse_module_state->__pyx_n_s_attribute_string2dict);
jpayne@69 4808 Py_VISIT(traverse_module_state->__pyx_n_s_attribute_string2iterator);
jpayne@69 4809 Py_VISIT(traverse_module_state->__pyx_n_s_attribute_string2iterator_locals);
jpayne@69 4810 Py_VISIT(traverse_module_state->__pyx_n_s_attributes);
jpayne@69 4811 Py_VISIT(traverse_module_state->__pyx_n_u_attributes);
jpayne@69 4812 Py_VISIT(traverse_module_state->__pyx_kp_u_bed_format_requires_at_least_thr);
jpayne@69 4813 Py_VISIT(traverse_module_state->__pyx_n_u_blockCount);
jpayne@69 4814 Py_VISIT(traverse_module_state->__pyx_n_u_blockSizes);
jpayne@69 4815 Py_VISIT(traverse_module_state->__pyx_n_u_blockStarts);
jpayne@69 4816 Py_VISIT(traverse_module_state->__pyx_n_s_cfunc_to_py);
jpayne@69 4817 Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem);
jpayne@69 4818 Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback);
jpayne@69 4819 Py_VISIT(traverse_module_state->__pyx_n_s_close);
jpayne@69 4820 Py_VISIT(traverse_module_state->__pyx_n_s_collections);
jpayne@69 4821 Py_VISIT(traverse_module_state->__pyx_n_s_compare);
jpayne@69 4822 Py_VISIT(traverse_module_state->__pyx_kp_u_comparison_of_modified_TupleProx);
jpayne@69 4823 Py_VISIT(traverse_module_state->__pyx_n_s_contig);
jpayne@69 4824 Py_VISIT(traverse_module_state->__pyx_n_u_contig);
jpayne@69 4825 Py_VISIT(traverse_module_state->__pyx_n_s_copy);
jpayne@69 4826 Py_VISIT(traverse_module_state->__pyx_n_s_copy_2);
jpayne@69 4827 Py_VISIT(traverse_module_state->__pyx_kp_u_copying_modified_tuples_is_not_i);
jpayne@69 4828 Py_VISIT(traverse_module_state->__pyx_n_s_d);
jpayne@69 4829 Py_VISIT(traverse_module_state->__pyx_n_s_decode);
jpayne@69 4830 Py_VISIT(traverse_module_state->__pyx_n_s_dict);
jpayne@69 4831 Py_VISIT(traverse_module_state->__pyx_n_s_dict2attribute_string);
jpayne@69 4832 Py_VISIT(traverse_module_state->__pyx_n_s_dict_2);
jpayne@69 4833 Py_VISIT(traverse_module_state->__pyx_kp_u_disable);
jpayne@69 4834 Py_VISIT(traverse_module_state->__pyx_kp_u_enable);
jpayne@69 4835 Py_VISIT(traverse_module_state->__pyx_n_s_encoding);
jpayne@69 4836 Py_VISIT(traverse_module_state->__pyx_n_s_end);
jpayne@69 4837 Py_VISIT(traverse_module_state->__pyx_n_u_end);
jpayne@69 4838 Py_VISIT(traverse_module_state->__pyx_n_s_endswith);
jpayne@69 4839 Py_VISIT(traverse_module_state->__pyx_n_s_f);
jpayne@69 4840 Py_VISIT(traverse_module_state->__pyx_n_s_feature);
jpayne@69 4841 Py_VISIT(traverse_module_state->__pyx_n_u_feature);
jpayne@69 4842 Py_VISIT(traverse_module_state->__pyx_kp_u_field_s_not_set);
jpayne@69 4843 Py_VISIT(traverse_module_state->__pyx_n_s_fields);
jpayne@69 4844 Py_VISIT(traverse_module_state->__pyx_n_u_filter);
jpayne@69 4845 Py_VISIT(traverse_module_state->__pyx_n_s_format);
jpayne@69 4846 Py_VISIT(traverse_module_state->__pyx_n_u_format);
jpayne@69 4847 Py_VISIT(traverse_module_state->__pyx_n_s_frame);
jpayne@69 4848 Py_VISIT(traverse_module_state->__pyx_n_u_frame);
jpayne@69 4849 Py_VISIT(traverse_module_state->__pyx_n_s_fromDict);
jpayne@69 4850 Py_VISIT(traverse_module_state->__pyx_n_s_from_dict);
jpayne@69 4851 Py_VISIT(traverse_module_state->__pyx_kp_u_gc);
jpayne@69 4852 Py_VISIT(traverse_module_state->__pyx_n_s_genexpr);
jpayne@69 4853 Py_VISIT(traverse_module_state->__pyx_n_s_get);
jpayne@69 4854 Py_VISIT(traverse_module_state->__pyx_n_s_getMaxFields);
jpayne@69 4855 Py_VISIT(traverse_module_state->__pyx_n_s_getMinFields);
jpayne@69 4856 Py_VISIT(traverse_module_state->__pyx_n_s_getattr);
jpayne@69 4857 Py_VISIT(traverse_module_state->__pyx_n_s_getindex);
jpayne@69 4858 Py_VISIT(traverse_module_state->__pyx_n_s_getstate);
jpayne@69 4859 Py_VISIT(traverse_module_state->__pyx_n_s_i);
jpayne@69 4860 Py_VISIT(traverse_module_state->__pyx_n_u_id);
jpayne@69 4861 Py_VISIT(traverse_module_state->__pyx_n_s_idx);
jpayne@69 4862 Py_VISIT(traverse_module_state->__pyx_n_s_import);
jpayne@69 4863 Py_VISIT(traverse_module_state->__pyx_kp_u_incomplete_line_at_s);
jpayne@69 4864 Py_VISIT(traverse_module_state->__pyx_n_s_index);
jpayne@69 4865 Py_VISIT(traverse_module_state->__pyx_n_s_indices);
jpayne@69 4866 Py_VISIT(traverse_module_state->__pyx_n_u_info);
jpayne@69 4867 Py_VISIT(traverse_module_state->__pyx_n_s_initializing);
jpayne@69 4868 Py_VISIT(traverse_module_state->__pyx_n_s_invert);
jpayne@69 4869 Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine);
jpayne@69 4870 Py_VISIT(traverse_module_state->__pyx_kp_u_isenabled);
jpayne@69 4871 Py_VISIT(traverse_module_state->__pyx_n_u_itemRGB);
jpayne@69 4872 Py_VISIT(traverse_module_state->__pyx_n_s_items);
jpayne@69 4873 Py_VISIT(traverse_module_state->__pyx_n_s_join);
jpayne@69 4874 Py_VISIT(traverse_module_state->__pyx_n_s_k);
jpayne@69 4875 Py_VISIT(traverse_module_state->__pyx_n_s_key);
jpayne@69 4876 Py_VISIT(traverse_module_state->__pyx_n_s_keys);
jpayne@69 4877 Py_VISIT(traverse_module_state->__pyx_n_s_kwargs);
jpayne@69 4878 Py_VISIT(traverse_module_state->__pyx_n_s_lcontig);
jpayne@69 4879 Py_VISIT(traverse_module_state->__pyx_kp_u_length_of_buffer_i_number_of_byt);
jpayne@69 4880 Py_VISIT(traverse_module_state->__pyx_kp_u_list_index_out_of_range);
jpayne@69 4881 Py_VISIT(traverse_module_state->__pyx_kp_u_list_index_out_of_range_i_i);
jpayne@69 4882 Py_VISIT(traverse_module_state->__pyx_n_s_main);
jpayne@69 4883 Py_VISIT(traverse_module_state->__pyx_n_s_map_key2field);
jpayne@69 4884 Py_VISIT(traverse_module_state->__pyx_n_s_n);
jpayne@69 4885 Py_VISIT(traverse_module_state->__pyx_n_s_name);
jpayne@69 4886 Py_VISIT(traverse_module_state->__pyx_n_u_name);
jpayne@69 4887 Py_VISIT(traverse_module_state->__pyx_n_s_name_2);
jpayne@69 4888 Py_VISIT(traverse_module_state->__pyx_n_s_new);
jpayne@69 4889 Py_VISIT(traverse_module_state->__pyx_kp_s_no_default___reduce___due_to_non);
jpayne@69 4890 Py_VISIT(traverse_module_state->__pyx_kp_u_op_0_isn_t_implemented_yet);
jpayne@69 4891 Py_VISIT(traverse_module_state->__pyx_n_s_other);
jpayne@69 4892 Py_VISIT(traverse_module_state->__pyx_kp_u_out_of_memory);
jpayne@69 4893 Py_VISIT(traverse_module_state->__pyx_kp_u_out_of_memory_in_TupleProxy_copy);
jpayne@69 4894 Py_VISIT(traverse_module_state->__pyx_kp_u_out_of_memory_in_TupleProxy_upda);
jpayne@69 4895 Py_VISIT(traverse_module_state->__pyx_kp_u_parsing_error_fewer_than_i_field);
jpayne@69 4896 Py_VISIT(traverse_module_state->__pyx_kp_u_parsing_error_more_than_i_fields);
jpayne@69 4897 Py_VISIT(traverse_module_state->__pyx_n_s_pickle);
jpayne@69 4898 Py_VISIT(traverse_module_state->__pyx_n_u_pos);
jpayne@69 4899 Py_VISIT(traverse_module_state->__pyx_n_s_proxy);
jpayne@69 4900 Py_VISIT(traverse_module_state->__pyx_n_s_pysam_libctabixproxies);
jpayne@69 4901 Py_VISIT(traverse_module_state->__pyx_kp_s_pysam_libctabixproxies_pyx);
jpayne@69 4902 Py_VISIT(traverse_module_state->__pyx_n_s_pyx_PickleError);
jpayne@69 4903 Py_VISIT(traverse_module_state->__pyx_n_s_pyx_checksum);
jpayne@69 4904 Py_VISIT(traverse_module_state->__pyx_n_s_pyx_result);
jpayne@69 4905 Py_VISIT(traverse_module_state->__pyx_n_s_pyx_state);
jpayne@69 4906 Py_VISIT(traverse_module_state->__pyx_n_s_pyx_type);
jpayne@69 4907 Py_VISIT(traverse_module_state->__pyx_n_s_pyx_unpickle_TupleProxyIterato);
jpayne@69 4908 Py_VISIT(traverse_module_state->__pyx_n_s_pyx_vtable);
jpayne@69 4909 Py_VISIT(traverse_module_state->__pyx_n_u_qual);
jpayne@69 4910 Py_VISIT(traverse_module_state->__pyx_n_s_quote);
jpayne@69 4911 Py_VISIT(traverse_module_state->__pyx_n_s_range);
jpayne@69 4912 Py_VISIT(traverse_module_state->__pyx_n_s_reduce);
jpayne@69 4913 Py_VISIT(traverse_module_state->__pyx_n_s_reduce_cython);
jpayne@69 4914 Py_VISIT(traverse_module_state->__pyx_n_s_reduce_ex);
jpayne@69 4915 Py_VISIT(traverse_module_state->__pyx_n_u_ref);
jpayne@69 4916 Py_VISIT(traverse_module_state->__pyx_kp_u_s);
jpayne@69 4917 Py_VISIT(traverse_module_state->__pyx_n_s_s_2);
jpayne@69 4918 Py_VISIT(traverse_module_state->__pyx_n_s_score);
jpayne@69 4919 Py_VISIT(traverse_module_state->__pyx_n_u_score);
jpayne@69 4920 Py_VISIT(traverse_module_state->__pyx_n_s_self);
jpayne@69 4921 Py_VISIT(traverse_module_state->__pyx_n_s_send);
jpayne@69 4922 Py_VISIT(traverse_module_state->__pyx_n_s_separator);
jpayne@69 4923 Py_VISIT(traverse_module_state->__pyx_n_s_setAttribute);
jpayne@69 4924 Py_VISIT(traverse_module_state->__pyx_n_s_setindex);
jpayne@69 4925 Py_VISIT(traverse_module_state->__pyx_n_s_setitem);
jpayne@69 4926 Py_VISIT(traverse_module_state->__pyx_n_s_setstate);
jpayne@69 4927 Py_VISIT(traverse_module_state->__pyx_n_s_setstate_cython);
jpayne@69 4928 Py_VISIT(traverse_module_state->__pyx_n_s_source);
jpayne@69 4929 Py_VISIT(traverse_module_state->__pyx_n_u_source);
jpayne@69 4930 Py_VISIT(traverse_module_state->__pyx_n_s_spec);
jpayne@69 4931 Py_VISIT(traverse_module_state->__pyx_n_s_split);
jpayne@69 4932 Py_VISIT(traverse_module_state->__pyx_n_s_start);
jpayne@69 4933 Py_VISIT(traverse_module_state->__pyx_n_u_start);
jpayne@69 4934 Py_VISIT(traverse_module_state->__pyx_n_s_state);
jpayne@69 4935 Py_VISIT(traverse_module_state->__pyx_n_s_str);
jpayne@69 4936 Py_VISIT(traverse_module_state->__pyx_n_s_strand);
jpayne@69 4937 Py_VISIT(traverse_module_state->__pyx_n_u_strand);
jpayne@69 4938 Py_VISIT(traverse_module_state->__pyx_kp_s_stringsource);
jpayne@69 4939 Py_VISIT(traverse_module_state->__pyx_n_s_strip);
jpayne@69 4940 Py_VISIT(traverse_module_state->__pyx_n_s_super);
jpayne@69 4941 Py_VISIT(traverse_module_state->__pyx_n_s_test);
jpayne@69 4942 Py_VISIT(traverse_module_state->__pyx_n_u_thickEnd);
jpayne@69 4943 Py_VISIT(traverse_module_state->__pyx_n_u_thickStart);
jpayne@69 4944 Py_VISIT(traverse_module_state->__pyx_n_s_throw);
jpayne@69 4945 Py_VISIT(traverse_module_state->__pyx_n_s_tmp);
jpayne@69 4946 Py_VISIT(traverse_module_state->__pyx_n_s_toDot);
jpayne@69 4947 Py_VISIT(traverse_module_state->__pyx_n_s_to_dict);
jpayne@69 4948 Py_VISIT(traverse_module_state->__pyx_n_s_update);
jpayne@69 4949 Py_VISIT(traverse_module_state->__pyx_n_s_use_setstate);
jpayne@69 4950 Py_VISIT(traverse_module_state->__pyx_n_s_v);
jpayne@69 4951 Py_VISIT(traverse_module_state->__pyx_n_s_value);
jpayne@69 4952 Py_VISIT(traverse_module_state->__pyx_n_s_wrap);
jpayne@69 4953 Py_VISIT(traverse_module_state->__pyx_n_s_x);
jpayne@69 4954 Py_VISIT(traverse_module_state->__pyx_n_s_xrange);
jpayne@69 4955 Py_VISIT(traverse_module_state->__pyx_int_0);
jpayne@69 4956 Py_VISIT(traverse_module_state->__pyx_int_1);
jpayne@69 4957 Py_VISIT(traverse_module_state->__pyx_int_2);
jpayne@69 4958 Py_VISIT(traverse_module_state->__pyx_int_3);
jpayne@69 4959 Py_VISIT(traverse_module_state->__pyx_int_4);
jpayne@69 4960 Py_VISIT(traverse_module_state->__pyx_int_5);
jpayne@69 4961 Py_VISIT(traverse_module_state->__pyx_int_6);
jpayne@69 4962 Py_VISIT(traverse_module_state->__pyx_int_7);
jpayne@69 4963 Py_VISIT(traverse_module_state->__pyx_int_8);
jpayne@69 4964 Py_VISIT(traverse_module_state->__pyx_int_9);
jpayne@69 4965 Py_VISIT(traverse_module_state->__pyx_int_10);
jpayne@69 4966 Py_VISIT(traverse_module_state->__pyx_int_11);
jpayne@69 4967 Py_VISIT(traverse_module_state->__pyx_int_15441160);
jpayne@69 4968 Py_VISIT(traverse_module_state->__pyx_int_101682796);
jpayne@69 4969 Py_VISIT(traverse_module_state->__pyx_int_219412876);
jpayne@69 4970 Py_VISIT(traverse_module_state->__pyx_int_neg_1);
jpayne@69 4971 Py_VISIT(traverse_module_state->__pyx_tuple_);
jpayne@69 4972 Py_VISIT(traverse_module_state->__pyx_tuple__5);
jpayne@69 4973 Py_VISIT(traverse_module_state->__pyx_tuple__6);
jpayne@69 4974 Py_VISIT(traverse_module_state->__pyx_tuple__7);
jpayne@69 4975 Py_VISIT(traverse_module_state->__pyx_tuple__8);
jpayne@69 4976 Py_VISIT(traverse_module_state->__pyx_tuple__9);
jpayne@69 4977 Py_VISIT(traverse_module_state->__pyx_slice__20);
jpayne@69 4978 Py_VISIT(traverse_module_state->__pyx_slice__24);
jpayne@69 4979 Py_VISIT(traverse_module_state->__pyx_tuple__10);
jpayne@69 4980 Py_VISIT(traverse_module_state->__pyx_tuple__22);
jpayne@69 4981 Py_VISIT(traverse_module_state->__pyx_tuple__25);
jpayne@69 4982 Py_VISIT(traverse_module_state->__pyx_tuple__29);
jpayne@69 4983 Py_VISIT(traverse_module_state->__pyx_tuple__30);
jpayne@69 4984 Py_VISIT(traverse_module_state->__pyx_tuple__31);
jpayne@69 4985 Py_VISIT(traverse_module_state->__pyx_tuple__33);
jpayne@69 4986 Py_VISIT(traverse_module_state->__pyx_tuple__35);
jpayne@69 4987 Py_VISIT(traverse_module_state->__pyx_tuple__37);
jpayne@69 4988 Py_VISIT(traverse_module_state->__pyx_tuple__40);
jpayne@69 4989 Py_VISIT(traverse_module_state->__pyx_tuple__42);
jpayne@69 4990 Py_VISIT(traverse_module_state->__pyx_tuple__45);
jpayne@69 4991 Py_VISIT(traverse_module_state->__pyx_tuple__47);
jpayne@69 4992 Py_VISIT(traverse_module_state->__pyx_tuple__58);
jpayne@69 4993 Py_VISIT(traverse_module_state->__pyx_tuple__60);
jpayne@69 4994 Py_VISIT(traverse_module_state->__pyx_tuple__63);
jpayne@69 4995 Py_VISIT(traverse_module_state->__pyx_tuple__65);
jpayne@69 4996 Py_VISIT(traverse_module_state->__pyx_tuple__67);
jpayne@69 4997 Py_VISIT(traverse_module_state->__pyx_tuple__69);
jpayne@69 4998 Py_VISIT(traverse_module_state->__pyx_tuple__70);
jpayne@69 4999 Py_VISIT(traverse_module_state->__pyx_tuple__75);
jpayne@69 5000 Py_VISIT(traverse_module_state->__pyx_tuple__77);
jpayne@69 5001 Py_VISIT(traverse_module_state->__pyx_tuple__86);
jpayne@69 5002 Py_VISIT(traverse_module_state->__pyx_codeobj__2);
jpayne@69 5003 Py_VISIT(traverse_module_state->__pyx_codeobj__3);
jpayne@69 5004 Py_VISIT(traverse_module_state->__pyx_codeobj__4);
jpayne@69 5005 Py_VISIT(traverse_module_state->__pyx_codeobj__18);
jpayne@69 5006 Py_VISIT(traverse_module_state->__pyx_codeobj__27);
jpayne@69 5007 Py_VISIT(traverse_module_state->__pyx_codeobj__34);
jpayne@69 5008 Py_VISIT(traverse_module_state->__pyx_codeobj__36);
jpayne@69 5009 Py_VISIT(traverse_module_state->__pyx_codeobj__38);
jpayne@69 5010 Py_VISIT(traverse_module_state->__pyx_codeobj__39);
jpayne@69 5011 Py_VISIT(traverse_module_state->__pyx_codeobj__41);
jpayne@69 5012 Py_VISIT(traverse_module_state->__pyx_codeobj__43);
jpayne@69 5013 Py_VISIT(traverse_module_state->__pyx_codeobj__44);
jpayne@69 5014 Py_VISIT(traverse_module_state->__pyx_codeobj__46);
jpayne@69 5015 Py_VISIT(traverse_module_state->__pyx_codeobj__48);
jpayne@69 5016 Py_VISIT(traverse_module_state->__pyx_codeobj__49);
jpayne@69 5017 Py_VISIT(traverse_module_state->__pyx_codeobj__50);
jpayne@69 5018 Py_VISIT(traverse_module_state->__pyx_codeobj__51);
jpayne@69 5019 Py_VISIT(traverse_module_state->__pyx_codeobj__52);
jpayne@69 5020 Py_VISIT(traverse_module_state->__pyx_codeobj__53);
jpayne@69 5021 Py_VISIT(traverse_module_state->__pyx_codeobj__54);
jpayne@69 5022 Py_VISIT(traverse_module_state->__pyx_codeobj__55);
jpayne@69 5023 Py_VISIT(traverse_module_state->__pyx_codeobj__56);
jpayne@69 5024 Py_VISIT(traverse_module_state->__pyx_codeobj__57);
jpayne@69 5025 Py_VISIT(traverse_module_state->__pyx_codeobj__59);
jpayne@69 5026 Py_VISIT(traverse_module_state->__pyx_codeobj__61);
jpayne@69 5027 Py_VISIT(traverse_module_state->__pyx_codeobj__62);
jpayne@69 5028 Py_VISIT(traverse_module_state->__pyx_codeobj__64);
jpayne@69 5029 Py_VISIT(traverse_module_state->__pyx_codeobj__66);
jpayne@69 5030 Py_VISIT(traverse_module_state->__pyx_codeobj__68);
jpayne@69 5031 Py_VISIT(traverse_module_state->__pyx_codeobj__71);
jpayne@69 5032 Py_VISIT(traverse_module_state->__pyx_codeobj__72);
jpayne@69 5033 Py_VISIT(traverse_module_state->__pyx_codeobj__73);
jpayne@69 5034 Py_VISIT(traverse_module_state->__pyx_codeobj__74);
jpayne@69 5035 Py_VISIT(traverse_module_state->__pyx_codeobj__76);
jpayne@69 5036 Py_VISIT(traverse_module_state->__pyx_codeobj__78);
jpayne@69 5037 Py_VISIT(traverse_module_state->__pyx_codeobj__79);
jpayne@69 5038 Py_VISIT(traverse_module_state->__pyx_codeobj__80);
jpayne@69 5039 Py_VISIT(traverse_module_state->__pyx_codeobj__81);
jpayne@69 5040 Py_VISIT(traverse_module_state->__pyx_codeobj__82);
jpayne@69 5041 Py_VISIT(traverse_module_state->__pyx_codeobj__83);
jpayne@69 5042 Py_VISIT(traverse_module_state->__pyx_codeobj__84);
jpayne@69 5043 Py_VISIT(traverse_module_state->__pyx_codeobj__85);
jpayne@69 5044 Py_VISIT(traverse_module_state->__pyx_codeobj__87);
jpayne@69 5045 return 0;
jpayne@69 5046 }
jpayne@69 5047 #endif
jpayne@69 5048 /* #### Code section: module_state_defines ### */
jpayne@69 5049 #define __pyx_d __pyx_mstate_global->__pyx_d
jpayne@69 5050 #define __pyx_b __pyx_mstate_global->__pyx_b
jpayne@69 5051 #define __pyx_cython_runtime __pyx_mstate_global->__pyx_cython_runtime
jpayne@69 5052 #define __pyx_empty_tuple __pyx_mstate_global->__pyx_empty_tuple
jpayne@69 5053 #define __pyx_empty_bytes __pyx_mstate_global->__pyx_empty_bytes
jpayne@69 5054 #define __pyx_empty_unicode __pyx_mstate_global->__pyx_empty_unicode
jpayne@69 5055 #ifdef __Pyx_CyFunction_USED
jpayne@69 5056 #define __pyx_CyFunctionType __pyx_mstate_global->__pyx_CyFunctionType
jpayne@69 5057 #endif
jpayne@69 5058 #ifdef __Pyx_FusedFunction_USED
jpayne@69 5059 #define __pyx_FusedFunctionType __pyx_mstate_global->__pyx_FusedFunctionType
jpayne@69 5060 #endif
jpayne@69 5061 #ifdef __Pyx_Generator_USED
jpayne@69 5062 #define __pyx_GeneratorType __pyx_mstate_global->__pyx_GeneratorType
jpayne@69 5063 #endif
jpayne@69 5064 #ifdef __Pyx_IterableCoroutine_USED
jpayne@69 5065 #define __pyx_IterableCoroutineType __pyx_mstate_global->__pyx_IterableCoroutineType
jpayne@69 5066 #endif
jpayne@69 5067 #ifdef __Pyx_Coroutine_USED
jpayne@69 5068 #define __pyx_CoroutineAwaitType __pyx_mstate_global->__pyx_CoroutineAwaitType
jpayne@69 5069 #endif
jpayne@69 5070 #ifdef __Pyx_Coroutine_USED
jpayne@69 5071 #define __pyx_CoroutineType __pyx_mstate_global->__pyx_CoroutineType
jpayne@69 5072 #endif
jpayne@69 5073 #if CYTHON_USE_MODULE_STATE
jpayne@69 5074 #endif
jpayne@69 5075 #if CYTHON_USE_MODULE_STATE
jpayne@69 5076 #endif
jpayne@69 5077 #if CYTHON_USE_MODULE_STATE
jpayne@69 5078 #endif
jpayne@69 5079 #if CYTHON_USE_MODULE_STATE
jpayne@69 5080 #endif
jpayne@69 5081 #define __pyx_ptype_7cpython_4type_type __pyx_mstate_global->__pyx_ptype_7cpython_4type_type
jpayne@69 5082 #if CYTHON_USE_MODULE_STATE
jpayne@69 5083 #endif
jpayne@69 5084 #if CYTHON_USE_MODULE_STATE
jpayne@69 5085 #endif
jpayne@69 5086 #if CYTHON_USE_MODULE_STATE
jpayne@69 5087 #endif
jpayne@69 5088 #if CYTHON_USE_MODULE_STATE
jpayne@69 5089 #endif
jpayne@69 5090 #if CYTHON_USE_MODULE_STATE
jpayne@69 5091 #endif
jpayne@69 5092 #if CYTHON_USE_MODULE_STATE
jpayne@69 5093 #endif
jpayne@69 5094 #if CYTHON_USE_MODULE_STATE
jpayne@69 5095 #endif
jpayne@69 5096 #if CYTHON_USE_MODULE_STATE
jpayne@69 5097 #endif
jpayne@69 5098 #if CYTHON_USE_MODULE_STATE
jpayne@69 5099 #endif
jpayne@69 5100 #if CYTHON_USE_MODULE_STATE
jpayne@69 5101 #endif
jpayne@69 5102 #if CYTHON_USE_MODULE_STATE
jpayne@69 5103 #endif
jpayne@69 5104 #if CYTHON_USE_MODULE_STATE
jpayne@69 5105 #endif
jpayne@69 5106 #if CYTHON_USE_MODULE_STATE
jpayne@69 5107 #endif
jpayne@69 5108 #if CYTHON_USE_MODULE_STATE
jpayne@69 5109 #endif
jpayne@69 5110 #if CYTHON_USE_MODULE_STATE
jpayne@69 5111 #endif
jpayne@69 5112 #if CYTHON_USE_MODULE_STATE
jpayne@69 5113 #endif
jpayne@69 5114 #define __pyx_ptype_7cpython_4bool_bool __pyx_mstate_global->__pyx_ptype_7cpython_4bool_bool
jpayne@69 5115 #if CYTHON_USE_MODULE_STATE
jpayne@69 5116 #endif
jpayne@69 5117 #if CYTHON_USE_MODULE_STATE
jpayne@69 5118 #endif
jpayne@69 5119 #if CYTHON_USE_MODULE_STATE
jpayne@69 5120 #endif
jpayne@69 5121 #if CYTHON_USE_MODULE_STATE
jpayne@69 5122 #endif
jpayne@69 5123 #define __pyx_ptype_7cpython_7complex_complex __pyx_mstate_global->__pyx_ptype_7cpython_7complex_complex
jpayne@69 5124 #if CYTHON_USE_MODULE_STATE
jpayne@69 5125 #endif
jpayne@69 5126 #if CYTHON_USE_MODULE_STATE
jpayne@69 5127 #endif
jpayne@69 5128 #if CYTHON_USE_MODULE_STATE
jpayne@69 5129 #endif
jpayne@69 5130 #if CYTHON_USE_MODULE_STATE
jpayne@69 5131 #endif
jpayne@69 5132 #if CYTHON_USE_MODULE_STATE
jpayne@69 5133 #endif
jpayne@69 5134 #if CYTHON_USE_MODULE_STATE
jpayne@69 5135 #endif
jpayne@69 5136 #if CYTHON_USE_MODULE_STATE
jpayne@69 5137 #endif
jpayne@69 5138 #if CYTHON_USE_MODULE_STATE
jpayne@69 5139 #endif
jpayne@69 5140 #if CYTHON_USE_MODULE_STATE
jpayne@69 5141 #endif
jpayne@69 5142 #if CYTHON_USE_MODULE_STATE
jpayne@69 5143 #endif
jpayne@69 5144 #if CYTHON_USE_MODULE_STATE
jpayne@69 5145 #endif
jpayne@69 5146 #if CYTHON_USE_MODULE_STATE
jpayne@69 5147 #endif
jpayne@69 5148 #if CYTHON_USE_MODULE_STATE
jpayne@69 5149 #endif
jpayne@69 5150 #if CYTHON_USE_MODULE_STATE
jpayne@69 5151 #endif
jpayne@69 5152 #if CYTHON_USE_MODULE_STATE
jpayne@69 5153 #endif
jpayne@69 5154 #if CYTHON_USE_MODULE_STATE
jpayne@69 5155 #endif
jpayne@69 5156 #if CYTHON_USE_MODULE_STATE
jpayne@69 5157 #endif
jpayne@69 5158 #if CYTHON_USE_MODULE_STATE
jpayne@69 5159 #endif
jpayne@69 5160 #if CYTHON_USE_MODULE_STATE
jpayne@69 5161 #endif
jpayne@69 5162 #if CYTHON_USE_MODULE_STATE
jpayne@69 5163 #endif
jpayne@69 5164 #if CYTHON_USE_MODULE_STATE
jpayne@69 5165 #endif
jpayne@69 5166 #if CYTHON_USE_MODULE_STATE
jpayne@69 5167 #endif
jpayne@69 5168 #if CYTHON_USE_MODULE_STATE
jpayne@69 5169 #endif
jpayne@69 5170 #if CYTHON_USE_MODULE_STATE
jpayne@69 5171 #endif
jpayne@69 5172 #define __pyx_ptype_7cpython_5array_array __pyx_mstate_global->__pyx_ptype_7cpython_5array_array
jpayne@69 5173 #if CYTHON_USE_MODULE_STATE
jpayne@69 5174 #endif
jpayne@69 5175 #if CYTHON_USE_MODULE_STATE
jpayne@69 5176 #define __pyx_type_5pysam_16libctabixproxies_TupleProxy __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies_TupleProxy
jpayne@69 5177 #define __pyx_type_5pysam_16libctabixproxies_TupleProxyIterator __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies_TupleProxyIterator
jpayne@69 5178 #define __pyx_type_5pysam_16libctabixproxies_NamedTupleProxy __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies_NamedTupleProxy
jpayne@69 5179 #define __pyx_type_5pysam_16libctabixproxies_GTFProxy __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies_GTFProxy
jpayne@69 5180 #define __pyx_type_5pysam_16libctabixproxies_GFF3Proxy __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies_GFF3Proxy
jpayne@69 5181 #define __pyx_type_5pysam_16libctabixproxies_BedProxy __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies_BedProxy
jpayne@69 5182 #define __pyx_type_5pysam_16libctabixproxies_VCFProxy __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies_VCFProxy
jpayne@69 5183 #define __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator
jpayne@69 5184 #define __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator
jpayne@69 5185 #define __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr __pyx_mstate_global->__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr
jpayne@69 5186 #define __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v __pyx_mstate_global->__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v
jpayne@69 5187 #define __pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v __pyx_mstate_global->__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v
jpayne@69 5188 #define __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v __pyx_mstate_global->__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v
jpayne@69 5189 #endif
jpayne@69 5190 #define __pyx_ptype_5pysam_16libctabixproxies_TupleProxy __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies_TupleProxy
jpayne@69 5191 #define __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator
jpayne@69 5192 #define __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy
jpayne@69 5193 #define __pyx_ptype_5pysam_16libctabixproxies_GTFProxy __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies_GTFProxy
jpayne@69 5194 #define __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy
jpayne@69 5195 #define __pyx_ptype_5pysam_16libctabixproxies_BedProxy __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies_BedProxy
jpayne@69 5196 #define __pyx_ptype_5pysam_16libctabixproxies_VCFProxy __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies_VCFProxy
jpayne@69 5197 #define __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator
jpayne@69 5198 #define __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator
jpayne@69 5199 #define __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr __pyx_mstate_global->__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr
jpayne@69 5200 #define __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v __pyx_mstate_global->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v
jpayne@69 5201 #define __pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v __pyx_mstate_global->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v
jpayne@69 5202 #define __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v __pyx_mstate_global->__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v
jpayne@69 5203 #define __pyx_n_s_AssertionError __pyx_mstate_global->__pyx_n_s_AssertionError
jpayne@69 5204 #define __pyx_n_s_BedProxy __pyx_mstate_global->__pyx_n_s_BedProxy
jpayne@69 5205 #define __pyx_n_u_BedProxy __pyx_mstate_global->__pyx_n_u_BedProxy
jpayne@69 5206 #define __pyx_n_s_BedProxy___reduce_cython __pyx_mstate_global->__pyx_n_s_BedProxy___reduce_cython
jpayne@69 5207 #define __pyx_n_s_BedProxy___setstate_cython __pyx_mstate_global->__pyx_n_s_BedProxy___setstate_cython
jpayne@69 5208 #define __pyx_n_s_BedProxy_getMaxFields __pyx_mstate_global->__pyx_n_s_BedProxy_getMaxFields
jpayne@69 5209 #define __pyx_n_s_BedProxy_getMinFields __pyx_mstate_global->__pyx_n_s_BedProxy_getMinFields
jpayne@69 5210 #define __pyx_n_s_GFF3Proxy __pyx_mstate_global->__pyx_n_s_GFF3Proxy
jpayne@69 5211 #define __pyx_n_u_GFF3Proxy __pyx_mstate_global->__pyx_n_u_GFF3Proxy
jpayne@69 5212 #define __pyx_n_s_GFF3Proxy___reduce_cython __pyx_mstate_global->__pyx_n_s_GFF3Proxy___reduce_cython
jpayne@69 5213 #define __pyx_n_s_GFF3Proxy___setstate_cython __pyx_mstate_global->__pyx_n_s_GFF3Proxy___setstate_cython
jpayne@69 5214 #define __pyx_n_s_GFF3Proxy_attribute_string2itera __pyx_mstate_global->__pyx_n_s_GFF3Proxy_attribute_string2itera
jpayne@69 5215 #define __pyx_n_s_GFF3Proxy_dict2attribute_string __pyx_mstate_global->__pyx_n_s_GFF3Proxy_dict2attribute_string
jpayne@69 5216 #define __pyx_n_s_GTFProxy __pyx_mstate_global->__pyx_n_s_GTFProxy
jpayne@69 5217 #define __pyx_n_u_GTFProxy __pyx_mstate_global->__pyx_n_u_GTFProxy
jpayne@69 5218 #define __pyx_n_s_GTFProxy___reduce_cython __pyx_mstate_global->__pyx_n_s_GTFProxy___reduce_cython
jpayne@69 5219 #define __pyx_n_s_GTFProxy___setstate_cython __pyx_mstate_global->__pyx_n_s_GTFProxy___setstate_cython
jpayne@69 5220 #define __pyx_n_s_GTFProxy_asDict __pyx_mstate_global->__pyx_n_s_GTFProxy_asDict
jpayne@69 5221 #define __pyx_n_s_GTFProxy_as_dict __pyx_mstate_global->__pyx_n_s_GTFProxy_as_dict
jpayne@69 5222 #define __pyx_n_s_GTFProxy_attribute_string2dict __pyx_mstate_global->__pyx_n_s_GTFProxy_attribute_string2dict
jpayne@69 5223 #define __pyx_n_s_GTFProxy_attribute_string2iterat __pyx_mstate_global->__pyx_n_s_GTFProxy_attribute_string2iterat
jpayne@69 5224 #define __pyx_n_s_GTFProxy_dict2attribute_string __pyx_mstate_global->__pyx_n_s_GTFProxy_dict2attribute_string
jpayne@69 5225 #define __pyx_n_s_GTFProxy_fromDict __pyx_mstate_global->__pyx_n_s_GTFProxy_fromDict
jpayne@69 5226 #define __pyx_n_s_GTFProxy_from_dict __pyx_mstate_global->__pyx_n_s_GTFProxy_from_dict
jpayne@69 5227 #define __pyx_n_s_GTFProxy_getMaxFields __pyx_mstate_global->__pyx_n_s_GTFProxy_getMaxFields
jpayne@69 5228 #define __pyx_n_s_GTFProxy_getMinFields __pyx_mstate_global->__pyx_n_s_GTFProxy_getMinFields
jpayne@69 5229 #define __pyx_n_s_GTFProxy_invert __pyx_mstate_global->__pyx_n_s_GTFProxy_invert
jpayne@69 5230 #define __pyx_n_s_GTFProxy_keys __pyx_mstate_global->__pyx_n_s_GTFProxy_keys
jpayne@69 5231 #define __pyx_n_s_GTFProxy_setAttribute __pyx_mstate_global->__pyx_n_s_GTFProxy_setAttribute
jpayne@69 5232 #define __pyx_n_s_GTFProxy_to_dict __pyx_mstate_global->__pyx_n_s_GTFProxy_to_dict
jpayne@69 5233 #define __pyx_kp_s_Incompatible_checksums_0x_x_vs_0 __pyx_mstate_global->__pyx_kp_s_Incompatible_checksums_0x_x_vs_0
jpayne@69 5234 #define __pyx_n_s_IndexError __pyx_mstate_global->__pyx_n_s_IndexError
jpayne@69 5235 #define __pyx_n_s_KeyError __pyx_mstate_global->__pyx_n_s_KeyError
jpayne@69 5236 #define __pyx_n_s_MemoryError __pyx_mstate_global->__pyx_n_s_MemoryError
jpayne@69 5237 #define __pyx_n_s_NamedTupleProxy __pyx_mstate_global->__pyx_n_s_NamedTupleProxy
jpayne@69 5238 #define __pyx_n_u_NamedTupleProxy __pyx_mstate_global->__pyx_n_u_NamedTupleProxy
jpayne@69 5239 #define __pyx_n_s_NamedTupleProxy___reduce_cython __pyx_mstate_global->__pyx_n_s_NamedTupleProxy___reduce_cython
jpayne@69 5240 #define __pyx_n_s_NamedTupleProxy___setstate_cytho __pyx_mstate_global->__pyx_n_s_NamedTupleProxy___setstate_cytho
jpayne@69 5241 #define __pyx_n_s_NotImplementedError __pyx_mstate_global->__pyx_n_s_NotImplementedError
jpayne@69 5242 #define __pyx_n_s_OrderedDict __pyx_mstate_global->__pyx_n_s_OrderedDict
jpayne@69 5243 #define __pyx_n_s_PickleError __pyx_mstate_global->__pyx_n_s_PickleError
jpayne@69 5244 #define __pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr __pyx_mstate_global->__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr
jpayne@69 5245 #define __pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr_2 __pyx_mstate_global->__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr_2
jpayne@69 5246 #define __pyx_n_s_Pyx_CFunc_e2acea__5pysam_16lib __pyx_mstate_global->__pyx_n_s_Pyx_CFunc_e2acea__5pysam_16lib
jpayne@69 5247 #define __pyx_n_s_StopIteration __pyx_mstate_global->__pyx_n_s_StopIteration
jpayne@69 5248 #define __pyx_n_s_TupleProxy __pyx_mstate_global->__pyx_n_s_TupleProxy
jpayne@69 5249 #define __pyx_n_u_TupleProxy __pyx_mstate_global->__pyx_n_u_TupleProxy
jpayne@69 5250 #define __pyx_n_s_TupleProxyIterator __pyx_mstate_global->__pyx_n_s_TupleProxyIterator
jpayne@69 5251 #define __pyx_n_s_TupleProxyIterator___reduce_cyth __pyx_mstate_global->__pyx_n_s_TupleProxyIterator___reduce_cyth
jpayne@69 5252 #define __pyx_n_s_TupleProxyIterator___setstate_cy __pyx_mstate_global->__pyx_n_s_TupleProxyIterator___setstate_cy
jpayne@69 5253 #define __pyx_n_s_TupleProxy___copy __pyx_mstate_global->__pyx_n_s_TupleProxy___copy
jpayne@69 5254 #define __pyx_n_s_TupleProxy___reduce_cython __pyx_mstate_global->__pyx_n_s_TupleProxy___reduce_cython
jpayne@69 5255 #define __pyx_n_s_TupleProxy___setstate_cython __pyx_mstate_global->__pyx_n_s_TupleProxy___setstate_cython
jpayne@69 5256 #define __pyx_n_s_TupleProxy__getindex __pyx_mstate_global->__pyx_n_s_TupleProxy__getindex
jpayne@69 5257 #define __pyx_n_s_TupleProxy__setindex __pyx_mstate_global->__pyx_n_s_TupleProxy__setindex
jpayne@69 5258 #define __pyx_n_s_TupleProxy_compare __pyx_mstate_global->__pyx_n_s_TupleProxy_compare
jpayne@69 5259 #define __pyx_n_s_TupleProxy_getMaxFields __pyx_mstate_global->__pyx_n_s_TupleProxy_getMaxFields
jpayne@69 5260 #define __pyx_n_s_TupleProxy_getMinFields __pyx_mstate_global->__pyx_n_s_TupleProxy_getMinFields
jpayne@69 5261 #define __pyx_n_s_TypeError __pyx_mstate_global->__pyx_n_s_TypeError
jpayne@69 5262 #define __pyx_n_s_VCFProxy __pyx_mstate_global->__pyx_n_s_VCFProxy
jpayne@69 5263 #define __pyx_n_u_VCFProxy __pyx_mstate_global->__pyx_n_u_VCFProxy
jpayne@69 5264 #define __pyx_n_s_VCFProxy___reduce_cython __pyx_mstate_global->__pyx_n_s_VCFProxy___reduce_cython
jpayne@69 5265 #define __pyx_n_s_VCFProxy___setstate_cython __pyx_mstate_global->__pyx_n_s_VCFProxy___setstate_cython
jpayne@69 5266 #define __pyx_n_s_ValueError __pyx_mstate_global->__pyx_n_s_ValueError
jpayne@69 5267 #define __pyx_kp_u__11 __pyx_mstate_global->__pyx_kp_u__11
jpayne@69 5268 #define __pyx_kp_b__12 __pyx_mstate_global->__pyx_kp_b__12
jpayne@69 5269 #define __pyx_kp_u__12 __pyx_mstate_global->__pyx_kp_u__12
jpayne@69 5270 #define __pyx_kp_u__13 __pyx_mstate_global->__pyx_kp_u__13
jpayne@69 5271 #define __pyx_kp_u__14 __pyx_mstate_global->__pyx_kp_u__14
jpayne@69 5272 #define __pyx_kp_u__15 __pyx_mstate_global->__pyx_kp_u__15
jpayne@69 5273 #define __pyx_kp_u__16 __pyx_mstate_global->__pyx_kp_u__16
jpayne@69 5274 #define __pyx_kp_u__17 __pyx_mstate_global->__pyx_kp_u__17
jpayne@69 5275 #define __pyx_kp_u__19 __pyx_mstate_global->__pyx_kp_u__19
jpayne@69 5276 #define __pyx_kp_u__21 __pyx_mstate_global->__pyx_kp_u__21
jpayne@69 5277 #define __pyx_kp_u__23 __pyx_mstate_global->__pyx_kp_u__23
jpayne@69 5278 #define __pyx_kp_u__26 __pyx_mstate_global->__pyx_kp_u__26
jpayne@69 5279 #define __pyx_kp_u__28 __pyx_mstate_global->__pyx_kp_u__28
jpayne@69 5280 #define __pyx_n_s__32 __pyx_mstate_global->__pyx_n_s__32
jpayne@69 5281 #define __pyx_n_s__88 __pyx_mstate_global->__pyx_n_s__88
jpayne@69 5282 #define __pyx_n_s_aa __pyx_mstate_global->__pyx_n_s_aa
jpayne@69 5283 #define __pyx_n_s_all __pyx_mstate_global->__pyx_n_s_all
jpayne@69 5284 #define __pyx_n_u_alt __pyx_mstate_global->__pyx_n_u_alt
jpayne@69 5285 #define __pyx_n_s_append __pyx_mstate_global->__pyx_n_s_append
jpayne@69 5286 #define __pyx_n_s_args __pyx_mstate_global->__pyx_n_s_args
jpayne@69 5287 #define __pyx_n_s_asDict __pyx_mstate_global->__pyx_n_s_asDict
jpayne@69 5288 #define __pyx_n_s_as_dict __pyx_mstate_global->__pyx_n_s_as_dict
jpayne@69 5289 #define __pyx_n_u_ascii __pyx_mstate_global->__pyx_n_u_ascii
jpayne@69 5290 #define __pyx_n_s_asyncio_coroutines __pyx_mstate_global->__pyx_n_s_asyncio_coroutines
jpayne@69 5291 #define __pyx_n_s_attribute_dict2string __pyx_mstate_global->__pyx_n_s_attribute_dict2string
jpayne@69 5292 #define __pyx_n_s_attribute_string __pyx_mstate_global->__pyx_n_s_attribute_string
jpayne@69 5293 #define __pyx_n_s_attribute_string2dict __pyx_mstate_global->__pyx_n_s_attribute_string2dict
jpayne@69 5294 #define __pyx_n_s_attribute_string2iterator __pyx_mstate_global->__pyx_n_s_attribute_string2iterator
jpayne@69 5295 #define __pyx_n_s_attribute_string2iterator_locals __pyx_mstate_global->__pyx_n_s_attribute_string2iterator_locals
jpayne@69 5296 #define __pyx_n_s_attributes __pyx_mstate_global->__pyx_n_s_attributes
jpayne@69 5297 #define __pyx_n_u_attributes __pyx_mstate_global->__pyx_n_u_attributes
jpayne@69 5298 #define __pyx_kp_u_bed_format_requires_at_least_thr __pyx_mstate_global->__pyx_kp_u_bed_format_requires_at_least_thr
jpayne@69 5299 #define __pyx_n_u_blockCount __pyx_mstate_global->__pyx_n_u_blockCount
jpayne@69 5300 #define __pyx_n_u_blockSizes __pyx_mstate_global->__pyx_n_u_blockSizes
jpayne@69 5301 #define __pyx_n_u_blockStarts __pyx_mstate_global->__pyx_n_u_blockStarts
jpayne@69 5302 #define __pyx_n_s_cfunc_to_py __pyx_mstate_global->__pyx_n_s_cfunc_to_py
jpayne@69 5303 #define __pyx_n_s_class_getitem __pyx_mstate_global->__pyx_n_s_class_getitem
jpayne@69 5304 #define __pyx_n_s_cline_in_traceback __pyx_mstate_global->__pyx_n_s_cline_in_traceback
jpayne@69 5305 #define __pyx_n_s_close __pyx_mstate_global->__pyx_n_s_close
jpayne@69 5306 #define __pyx_n_s_collections __pyx_mstate_global->__pyx_n_s_collections
jpayne@69 5307 #define __pyx_n_s_compare __pyx_mstate_global->__pyx_n_s_compare
jpayne@69 5308 #define __pyx_kp_u_comparison_of_modified_TupleProx __pyx_mstate_global->__pyx_kp_u_comparison_of_modified_TupleProx
jpayne@69 5309 #define __pyx_n_s_contig __pyx_mstate_global->__pyx_n_s_contig
jpayne@69 5310 #define __pyx_n_u_contig __pyx_mstate_global->__pyx_n_u_contig
jpayne@69 5311 #define __pyx_n_s_copy __pyx_mstate_global->__pyx_n_s_copy
jpayne@69 5312 #define __pyx_n_s_copy_2 __pyx_mstate_global->__pyx_n_s_copy_2
jpayne@69 5313 #define __pyx_kp_u_copying_modified_tuples_is_not_i __pyx_mstate_global->__pyx_kp_u_copying_modified_tuples_is_not_i
jpayne@69 5314 #define __pyx_n_s_d __pyx_mstate_global->__pyx_n_s_d
jpayne@69 5315 #define __pyx_n_s_decode __pyx_mstate_global->__pyx_n_s_decode
jpayne@69 5316 #define __pyx_n_s_dict __pyx_mstate_global->__pyx_n_s_dict
jpayne@69 5317 #define __pyx_n_s_dict2attribute_string __pyx_mstate_global->__pyx_n_s_dict2attribute_string
jpayne@69 5318 #define __pyx_n_s_dict_2 __pyx_mstate_global->__pyx_n_s_dict_2
jpayne@69 5319 #define __pyx_kp_u_disable __pyx_mstate_global->__pyx_kp_u_disable
jpayne@69 5320 #define __pyx_kp_u_enable __pyx_mstate_global->__pyx_kp_u_enable
jpayne@69 5321 #define __pyx_n_s_encoding __pyx_mstate_global->__pyx_n_s_encoding
jpayne@69 5322 #define __pyx_n_s_end __pyx_mstate_global->__pyx_n_s_end
jpayne@69 5323 #define __pyx_n_u_end __pyx_mstate_global->__pyx_n_u_end
jpayne@69 5324 #define __pyx_n_s_endswith __pyx_mstate_global->__pyx_n_s_endswith
jpayne@69 5325 #define __pyx_n_s_f __pyx_mstate_global->__pyx_n_s_f
jpayne@69 5326 #define __pyx_n_s_feature __pyx_mstate_global->__pyx_n_s_feature
jpayne@69 5327 #define __pyx_n_u_feature __pyx_mstate_global->__pyx_n_u_feature
jpayne@69 5328 #define __pyx_kp_u_field_s_not_set __pyx_mstate_global->__pyx_kp_u_field_s_not_set
jpayne@69 5329 #define __pyx_n_s_fields __pyx_mstate_global->__pyx_n_s_fields
jpayne@69 5330 #define __pyx_n_u_filter __pyx_mstate_global->__pyx_n_u_filter
jpayne@69 5331 #define __pyx_n_s_format __pyx_mstate_global->__pyx_n_s_format
jpayne@69 5332 #define __pyx_n_u_format __pyx_mstate_global->__pyx_n_u_format
jpayne@69 5333 #define __pyx_n_s_frame __pyx_mstate_global->__pyx_n_s_frame
jpayne@69 5334 #define __pyx_n_u_frame __pyx_mstate_global->__pyx_n_u_frame
jpayne@69 5335 #define __pyx_n_s_fromDict __pyx_mstate_global->__pyx_n_s_fromDict
jpayne@69 5336 #define __pyx_n_s_from_dict __pyx_mstate_global->__pyx_n_s_from_dict
jpayne@69 5337 #define __pyx_kp_u_gc __pyx_mstate_global->__pyx_kp_u_gc
jpayne@69 5338 #define __pyx_n_s_genexpr __pyx_mstate_global->__pyx_n_s_genexpr
jpayne@69 5339 #define __pyx_n_s_get __pyx_mstate_global->__pyx_n_s_get
jpayne@69 5340 #define __pyx_n_s_getMaxFields __pyx_mstate_global->__pyx_n_s_getMaxFields
jpayne@69 5341 #define __pyx_n_s_getMinFields __pyx_mstate_global->__pyx_n_s_getMinFields
jpayne@69 5342 #define __pyx_n_s_getattr __pyx_mstate_global->__pyx_n_s_getattr
jpayne@69 5343 #define __pyx_n_s_getindex __pyx_mstate_global->__pyx_n_s_getindex
jpayne@69 5344 #define __pyx_n_s_getstate __pyx_mstate_global->__pyx_n_s_getstate
jpayne@69 5345 #define __pyx_n_s_i __pyx_mstate_global->__pyx_n_s_i
jpayne@69 5346 #define __pyx_n_u_id __pyx_mstate_global->__pyx_n_u_id
jpayne@69 5347 #define __pyx_n_s_idx __pyx_mstate_global->__pyx_n_s_idx
jpayne@69 5348 #define __pyx_n_s_import __pyx_mstate_global->__pyx_n_s_import
jpayne@69 5349 #define __pyx_kp_u_incomplete_line_at_s __pyx_mstate_global->__pyx_kp_u_incomplete_line_at_s
jpayne@69 5350 #define __pyx_n_s_index __pyx_mstate_global->__pyx_n_s_index
jpayne@69 5351 #define __pyx_n_s_indices __pyx_mstate_global->__pyx_n_s_indices
jpayne@69 5352 #define __pyx_n_u_info __pyx_mstate_global->__pyx_n_u_info
jpayne@69 5353 #define __pyx_n_s_initializing __pyx_mstate_global->__pyx_n_s_initializing
jpayne@69 5354 #define __pyx_n_s_invert __pyx_mstate_global->__pyx_n_s_invert
jpayne@69 5355 #define __pyx_n_s_is_coroutine __pyx_mstate_global->__pyx_n_s_is_coroutine
jpayne@69 5356 #define __pyx_kp_u_isenabled __pyx_mstate_global->__pyx_kp_u_isenabled
jpayne@69 5357 #define __pyx_n_u_itemRGB __pyx_mstate_global->__pyx_n_u_itemRGB
jpayne@69 5358 #define __pyx_n_s_items __pyx_mstate_global->__pyx_n_s_items
jpayne@69 5359 #define __pyx_n_s_join __pyx_mstate_global->__pyx_n_s_join
jpayne@69 5360 #define __pyx_n_s_k __pyx_mstate_global->__pyx_n_s_k
jpayne@69 5361 #define __pyx_n_s_key __pyx_mstate_global->__pyx_n_s_key
jpayne@69 5362 #define __pyx_n_s_keys __pyx_mstate_global->__pyx_n_s_keys
jpayne@69 5363 #define __pyx_n_s_kwargs __pyx_mstate_global->__pyx_n_s_kwargs
jpayne@69 5364 #define __pyx_n_s_lcontig __pyx_mstate_global->__pyx_n_s_lcontig
jpayne@69 5365 #define __pyx_kp_u_length_of_buffer_i_number_of_byt __pyx_mstate_global->__pyx_kp_u_length_of_buffer_i_number_of_byt
jpayne@69 5366 #define __pyx_kp_u_list_index_out_of_range __pyx_mstate_global->__pyx_kp_u_list_index_out_of_range
jpayne@69 5367 #define __pyx_kp_u_list_index_out_of_range_i_i __pyx_mstate_global->__pyx_kp_u_list_index_out_of_range_i_i
jpayne@69 5368 #define __pyx_n_s_main __pyx_mstate_global->__pyx_n_s_main
jpayne@69 5369 #define __pyx_n_s_map_key2field __pyx_mstate_global->__pyx_n_s_map_key2field
jpayne@69 5370 #define __pyx_n_s_n __pyx_mstate_global->__pyx_n_s_n
jpayne@69 5371 #define __pyx_n_s_name __pyx_mstate_global->__pyx_n_s_name
jpayne@69 5372 #define __pyx_n_u_name __pyx_mstate_global->__pyx_n_u_name
jpayne@69 5373 #define __pyx_n_s_name_2 __pyx_mstate_global->__pyx_n_s_name_2
jpayne@69 5374 #define __pyx_n_s_new __pyx_mstate_global->__pyx_n_s_new
jpayne@69 5375 #define __pyx_kp_s_no_default___reduce___due_to_non __pyx_mstate_global->__pyx_kp_s_no_default___reduce___due_to_non
jpayne@69 5376 #define __pyx_kp_u_op_0_isn_t_implemented_yet __pyx_mstate_global->__pyx_kp_u_op_0_isn_t_implemented_yet
jpayne@69 5377 #define __pyx_n_s_other __pyx_mstate_global->__pyx_n_s_other
jpayne@69 5378 #define __pyx_kp_u_out_of_memory __pyx_mstate_global->__pyx_kp_u_out_of_memory
jpayne@69 5379 #define __pyx_kp_u_out_of_memory_in_TupleProxy_copy __pyx_mstate_global->__pyx_kp_u_out_of_memory_in_TupleProxy_copy
jpayne@69 5380 #define __pyx_kp_u_out_of_memory_in_TupleProxy_upda __pyx_mstate_global->__pyx_kp_u_out_of_memory_in_TupleProxy_upda
jpayne@69 5381 #define __pyx_kp_u_parsing_error_fewer_than_i_field __pyx_mstate_global->__pyx_kp_u_parsing_error_fewer_than_i_field
jpayne@69 5382 #define __pyx_kp_u_parsing_error_more_than_i_fields __pyx_mstate_global->__pyx_kp_u_parsing_error_more_than_i_fields
jpayne@69 5383 #define __pyx_n_s_pickle __pyx_mstate_global->__pyx_n_s_pickle
jpayne@69 5384 #define __pyx_n_u_pos __pyx_mstate_global->__pyx_n_u_pos
jpayne@69 5385 #define __pyx_n_s_proxy __pyx_mstate_global->__pyx_n_s_proxy
jpayne@69 5386 #define __pyx_n_s_pysam_libctabixproxies __pyx_mstate_global->__pyx_n_s_pysam_libctabixproxies
jpayne@69 5387 #define __pyx_kp_s_pysam_libctabixproxies_pyx __pyx_mstate_global->__pyx_kp_s_pysam_libctabixproxies_pyx
jpayne@69 5388 #define __pyx_n_s_pyx_PickleError __pyx_mstate_global->__pyx_n_s_pyx_PickleError
jpayne@69 5389 #define __pyx_n_s_pyx_checksum __pyx_mstate_global->__pyx_n_s_pyx_checksum
jpayne@69 5390 #define __pyx_n_s_pyx_result __pyx_mstate_global->__pyx_n_s_pyx_result
jpayne@69 5391 #define __pyx_n_s_pyx_state __pyx_mstate_global->__pyx_n_s_pyx_state
jpayne@69 5392 #define __pyx_n_s_pyx_type __pyx_mstate_global->__pyx_n_s_pyx_type
jpayne@69 5393 #define __pyx_n_s_pyx_unpickle_TupleProxyIterato __pyx_mstate_global->__pyx_n_s_pyx_unpickle_TupleProxyIterato
jpayne@69 5394 #define __pyx_n_s_pyx_vtable __pyx_mstate_global->__pyx_n_s_pyx_vtable
jpayne@69 5395 #define __pyx_n_u_qual __pyx_mstate_global->__pyx_n_u_qual
jpayne@69 5396 #define __pyx_n_s_quote __pyx_mstate_global->__pyx_n_s_quote
jpayne@69 5397 #define __pyx_n_s_range __pyx_mstate_global->__pyx_n_s_range
jpayne@69 5398 #define __pyx_n_s_reduce __pyx_mstate_global->__pyx_n_s_reduce
jpayne@69 5399 #define __pyx_n_s_reduce_cython __pyx_mstate_global->__pyx_n_s_reduce_cython
jpayne@69 5400 #define __pyx_n_s_reduce_ex __pyx_mstate_global->__pyx_n_s_reduce_ex
jpayne@69 5401 #define __pyx_n_u_ref __pyx_mstate_global->__pyx_n_u_ref
jpayne@69 5402 #define __pyx_kp_u_s __pyx_mstate_global->__pyx_kp_u_s
jpayne@69 5403 #define __pyx_n_s_s_2 __pyx_mstate_global->__pyx_n_s_s_2
jpayne@69 5404 #define __pyx_n_s_score __pyx_mstate_global->__pyx_n_s_score
jpayne@69 5405 #define __pyx_n_u_score __pyx_mstate_global->__pyx_n_u_score
jpayne@69 5406 #define __pyx_n_s_self __pyx_mstate_global->__pyx_n_s_self
jpayne@69 5407 #define __pyx_n_s_send __pyx_mstate_global->__pyx_n_s_send
jpayne@69 5408 #define __pyx_n_s_separator __pyx_mstate_global->__pyx_n_s_separator
jpayne@69 5409 #define __pyx_n_s_setAttribute __pyx_mstate_global->__pyx_n_s_setAttribute
jpayne@69 5410 #define __pyx_n_s_setindex __pyx_mstate_global->__pyx_n_s_setindex
jpayne@69 5411 #define __pyx_n_s_setitem __pyx_mstate_global->__pyx_n_s_setitem
jpayne@69 5412 #define __pyx_n_s_setstate __pyx_mstate_global->__pyx_n_s_setstate
jpayne@69 5413 #define __pyx_n_s_setstate_cython __pyx_mstate_global->__pyx_n_s_setstate_cython
jpayne@69 5414 #define __pyx_n_s_source __pyx_mstate_global->__pyx_n_s_source
jpayne@69 5415 #define __pyx_n_u_source __pyx_mstate_global->__pyx_n_u_source
jpayne@69 5416 #define __pyx_n_s_spec __pyx_mstate_global->__pyx_n_s_spec
jpayne@69 5417 #define __pyx_n_s_split __pyx_mstate_global->__pyx_n_s_split
jpayne@69 5418 #define __pyx_n_s_start __pyx_mstate_global->__pyx_n_s_start
jpayne@69 5419 #define __pyx_n_u_start __pyx_mstate_global->__pyx_n_u_start
jpayne@69 5420 #define __pyx_n_s_state __pyx_mstate_global->__pyx_n_s_state
jpayne@69 5421 #define __pyx_n_s_str __pyx_mstate_global->__pyx_n_s_str
jpayne@69 5422 #define __pyx_n_s_strand __pyx_mstate_global->__pyx_n_s_strand
jpayne@69 5423 #define __pyx_n_u_strand __pyx_mstate_global->__pyx_n_u_strand
jpayne@69 5424 #define __pyx_kp_s_stringsource __pyx_mstate_global->__pyx_kp_s_stringsource
jpayne@69 5425 #define __pyx_n_s_strip __pyx_mstate_global->__pyx_n_s_strip
jpayne@69 5426 #define __pyx_n_s_super __pyx_mstate_global->__pyx_n_s_super
jpayne@69 5427 #define __pyx_n_s_test __pyx_mstate_global->__pyx_n_s_test
jpayne@69 5428 #define __pyx_n_u_thickEnd __pyx_mstate_global->__pyx_n_u_thickEnd
jpayne@69 5429 #define __pyx_n_u_thickStart __pyx_mstate_global->__pyx_n_u_thickStart
jpayne@69 5430 #define __pyx_n_s_throw __pyx_mstate_global->__pyx_n_s_throw
jpayne@69 5431 #define __pyx_n_s_tmp __pyx_mstate_global->__pyx_n_s_tmp
jpayne@69 5432 #define __pyx_n_s_toDot __pyx_mstate_global->__pyx_n_s_toDot
jpayne@69 5433 #define __pyx_n_s_to_dict __pyx_mstate_global->__pyx_n_s_to_dict
jpayne@69 5434 #define __pyx_n_s_update __pyx_mstate_global->__pyx_n_s_update
jpayne@69 5435 #define __pyx_n_s_use_setstate __pyx_mstate_global->__pyx_n_s_use_setstate
jpayne@69 5436 #define __pyx_n_s_v __pyx_mstate_global->__pyx_n_s_v
jpayne@69 5437 #define __pyx_n_s_value __pyx_mstate_global->__pyx_n_s_value
jpayne@69 5438 #define __pyx_n_s_wrap __pyx_mstate_global->__pyx_n_s_wrap
jpayne@69 5439 #define __pyx_n_s_x __pyx_mstate_global->__pyx_n_s_x
jpayne@69 5440 #define __pyx_n_s_xrange __pyx_mstate_global->__pyx_n_s_xrange
jpayne@69 5441 #define __pyx_int_0 __pyx_mstate_global->__pyx_int_0
jpayne@69 5442 #define __pyx_int_1 __pyx_mstate_global->__pyx_int_1
jpayne@69 5443 #define __pyx_int_2 __pyx_mstate_global->__pyx_int_2
jpayne@69 5444 #define __pyx_int_3 __pyx_mstate_global->__pyx_int_3
jpayne@69 5445 #define __pyx_int_4 __pyx_mstate_global->__pyx_int_4
jpayne@69 5446 #define __pyx_int_5 __pyx_mstate_global->__pyx_int_5
jpayne@69 5447 #define __pyx_int_6 __pyx_mstate_global->__pyx_int_6
jpayne@69 5448 #define __pyx_int_7 __pyx_mstate_global->__pyx_int_7
jpayne@69 5449 #define __pyx_int_8 __pyx_mstate_global->__pyx_int_8
jpayne@69 5450 #define __pyx_int_9 __pyx_mstate_global->__pyx_int_9
jpayne@69 5451 #define __pyx_int_10 __pyx_mstate_global->__pyx_int_10
jpayne@69 5452 #define __pyx_int_11 __pyx_mstate_global->__pyx_int_11
jpayne@69 5453 #define __pyx_int_15441160 __pyx_mstate_global->__pyx_int_15441160
jpayne@69 5454 #define __pyx_int_101682796 __pyx_mstate_global->__pyx_int_101682796
jpayne@69 5455 #define __pyx_int_219412876 __pyx_mstate_global->__pyx_int_219412876
jpayne@69 5456 #define __pyx_int_neg_1 __pyx_mstate_global->__pyx_int_neg_1
jpayne@69 5457 #define __pyx_tuple_ __pyx_mstate_global->__pyx_tuple_
jpayne@69 5458 #define __pyx_tuple__5 __pyx_mstate_global->__pyx_tuple__5
jpayne@69 5459 #define __pyx_tuple__6 __pyx_mstate_global->__pyx_tuple__6
jpayne@69 5460 #define __pyx_tuple__7 __pyx_mstate_global->__pyx_tuple__7
jpayne@69 5461 #define __pyx_tuple__8 __pyx_mstate_global->__pyx_tuple__8
jpayne@69 5462 #define __pyx_tuple__9 __pyx_mstate_global->__pyx_tuple__9
jpayne@69 5463 #define __pyx_slice__20 __pyx_mstate_global->__pyx_slice__20
jpayne@69 5464 #define __pyx_slice__24 __pyx_mstate_global->__pyx_slice__24
jpayne@69 5465 #define __pyx_tuple__10 __pyx_mstate_global->__pyx_tuple__10
jpayne@69 5466 #define __pyx_tuple__22 __pyx_mstate_global->__pyx_tuple__22
jpayne@69 5467 #define __pyx_tuple__25 __pyx_mstate_global->__pyx_tuple__25
jpayne@69 5468 #define __pyx_tuple__29 __pyx_mstate_global->__pyx_tuple__29
jpayne@69 5469 #define __pyx_tuple__30 __pyx_mstate_global->__pyx_tuple__30
jpayne@69 5470 #define __pyx_tuple__31 __pyx_mstate_global->__pyx_tuple__31
jpayne@69 5471 #define __pyx_tuple__33 __pyx_mstate_global->__pyx_tuple__33
jpayne@69 5472 #define __pyx_tuple__35 __pyx_mstate_global->__pyx_tuple__35
jpayne@69 5473 #define __pyx_tuple__37 __pyx_mstate_global->__pyx_tuple__37
jpayne@69 5474 #define __pyx_tuple__40 __pyx_mstate_global->__pyx_tuple__40
jpayne@69 5475 #define __pyx_tuple__42 __pyx_mstate_global->__pyx_tuple__42
jpayne@69 5476 #define __pyx_tuple__45 __pyx_mstate_global->__pyx_tuple__45
jpayne@69 5477 #define __pyx_tuple__47 __pyx_mstate_global->__pyx_tuple__47
jpayne@69 5478 #define __pyx_tuple__58 __pyx_mstate_global->__pyx_tuple__58
jpayne@69 5479 #define __pyx_tuple__60 __pyx_mstate_global->__pyx_tuple__60
jpayne@69 5480 #define __pyx_tuple__63 __pyx_mstate_global->__pyx_tuple__63
jpayne@69 5481 #define __pyx_tuple__65 __pyx_mstate_global->__pyx_tuple__65
jpayne@69 5482 #define __pyx_tuple__67 __pyx_mstate_global->__pyx_tuple__67
jpayne@69 5483 #define __pyx_tuple__69 __pyx_mstate_global->__pyx_tuple__69
jpayne@69 5484 #define __pyx_tuple__70 __pyx_mstate_global->__pyx_tuple__70
jpayne@69 5485 #define __pyx_tuple__75 __pyx_mstate_global->__pyx_tuple__75
jpayne@69 5486 #define __pyx_tuple__77 __pyx_mstate_global->__pyx_tuple__77
jpayne@69 5487 #define __pyx_tuple__86 __pyx_mstate_global->__pyx_tuple__86
jpayne@69 5488 #define __pyx_codeobj__2 __pyx_mstate_global->__pyx_codeobj__2
jpayne@69 5489 #define __pyx_codeobj__3 __pyx_mstate_global->__pyx_codeobj__3
jpayne@69 5490 #define __pyx_codeobj__4 __pyx_mstate_global->__pyx_codeobj__4
jpayne@69 5491 #define __pyx_codeobj__18 __pyx_mstate_global->__pyx_codeobj__18
jpayne@69 5492 #define __pyx_codeobj__27 __pyx_mstate_global->__pyx_codeobj__27
jpayne@69 5493 #define __pyx_codeobj__34 __pyx_mstate_global->__pyx_codeobj__34
jpayne@69 5494 #define __pyx_codeobj__36 __pyx_mstate_global->__pyx_codeobj__36
jpayne@69 5495 #define __pyx_codeobj__38 __pyx_mstate_global->__pyx_codeobj__38
jpayne@69 5496 #define __pyx_codeobj__39 __pyx_mstate_global->__pyx_codeobj__39
jpayne@69 5497 #define __pyx_codeobj__41 __pyx_mstate_global->__pyx_codeobj__41
jpayne@69 5498 #define __pyx_codeobj__43 __pyx_mstate_global->__pyx_codeobj__43
jpayne@69 5499 #define __pyx_codeobj__44 __pyx_mstate_global->__pyx_codeobj__44
jpayne@69 5500 #define __pyx_codeobj__46 __pyx_mstate_global->__pyx_codeobj__46
jpayne@69 5501 #define __pyx_codeobj__48 __pyx_mstate_global->__pyx_codeobj__48
jpayne@69 5502 #define __pyx_codeobj__49 __pyx_mstate_global->__pyx_codeobj__49
jpayne@69 5503 #define __pyx_codeobj__50 __pyx_mstate_global->__pyx_codeobj__50
jpayne@69 5504 #define __pyx_codeobj__51 __pyx_mstate_global->__pyx_codeobj__51
jpayne@69 5505 #define __pyx_codeobj__52 __pyx_mstate_global->__pyx_codeobj__52
jpayne@69 5506 #define __pyx_codeobj__53 __pyx_mstate_global->__pyx_codeobj__53
jpayne@69 5507 #define __pyx_codeobj__54 __pyx_mstate_global->__pyx_codeobj__54
jpayne@69 5508 #define __pyx_codeobj__55 __pyx_mstate_global->__pyx_codeobj__55
jpayne@69 5509 #define __pyx_codeobj__56 __pyx_mstate_global->__pyx_codeobj__56
jpayne@69 5510 #define __pyx_codeobj__57 __pyx_mstate_global->__pyx_codeobj__57
jpayne@69 5511 #define __pyx_codeobj__59 __pyx_mstate_global->__pyx_codeobj__59
jpayne@69 5512 #define __pyx_codeobj__61 __pyx_mstate_global->__pyx_codeobj__61
jpayne@69 5513 #define __pyx_codeobj__62 __pyx_mstate_global->__pyx_codeobj__62
jpayne@69 5514 #define __pyx_codeobj__64 __pyx_mstate_global->__pyx_codeobj__64
jpayne@69 5515 #define __pyx_codeobj__66 __pyx_mstate_global->__pyx_codeobj__66
jpayne@69 5516 #define __pyx_codeobj__68 __pyx_mstate_global->__pyx_codeobj__68
jpayne@69 5517 #define __pyx_codeobj__71 __pyx_mstate_global->__pyx_codeobj__71
jpayne@69 5518 #define __pyx_codeobj__72 __pyx_mstate_global->__pyx_codeobj__72
jpayne@69 5519 #define __pyx_codeobj__73 __pyx_mstate_global->__pyx_codeobj__73
jpayne@69 5520 #define __pyx_codeobj__74 __pyx_mstate_global->__pyx_codeobj__74
jpayne@69 5521 #define __pyx_codeobj__76 __pyx_mstate_global->__pyx_codeobj__76
jpayne@69 5522 #define __pyx_codeobj__78 __pyx_mstate_global->__pyx_codeobj__78
jpayne@69 5523 #define __pyx_codeobj__79 __pyx_mstate_global->__pyx_codeobj__79
jpayne@69 5524 #define __pyx_codeobj__80 __pyx_mstate_global->__pyx_codeobj__80
jpayne@69 5525 #define __pyx_codeobj__81 __pyx_mstate_global->__pyx_codeobj__81
jpayne@69 5526 #define __pyx_codeobj__82 __pyx_mstate_global->__pyx_codeobj__82
jpayne@69 5527 #define __pyx_codeobj__83 __pyx_mstate_global->__pyx_codeobj__83
jpayne@69 5528 #define __pyx_codeobj__84 __pyx_mstate_global->__pyx_codeobj__84
jpayne@69 5529 #define __pyx_codeobj__85 __pyx_mstate_global->__pyx_codeobj__85
jpayne@69 5530 #define __pyx_codeobj__87 __pyx_mstate_global->__pyx_codeobj__87
jpayne@69 5531 /* #### Code section: module_code ### */
jpayne@69 5532
jpayne@69 5533 /* "cfunc.to_py":67
jpayne@69 5534 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v")
jpayne@69 5535 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(object (*f)(object) ):
jpayne@69 5536 * def wrap(object v): # <<<<<<<<<<<<<<
jpayne@69 5537 * """wrap(v)"""
jpayne@69 5538 * return f(v)
jpayne@69 5539 */
jpayne@69 5540
jpayne@69 5541 /* Python wrapper */
jpayne@69 5542 static PyObject *__pyx_pw_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_1wrap(PyObject *__pyx_self,
jpayne@69 5543 #if CYTHON_METH_FASTCALL
jpayne@69 5544 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 5545 #else
jpayne@69 5546 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 5547 #endif
jpayne@69 5548 ); /*proto*/
jpayne@69 5549 PyDoc_STRVAR(__pyx_doc_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_wrap, "wrap(v)");
jpayne@69 5550 static PyMethodDef __pyx_mdef_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_1wrap = {"wrap", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_1wrap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_wrap};
jpayne@69 5551 static PyObject *__pyx_pw_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_1wrap(PyObject *__pyx_self,
jpayne@69 5552 #if CYTHON_METH_FASTCALL
jpayne@69 5553 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 5554 #else
jpayne@69 5555 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 5556 #endif
jpayne@69 5557 ) {
jpayne@69 5558 PyObject *__pyx_v_v = 0;
jpayne@69 5559 #if !CYTHON_METH_FASTCALL
jpayne@69 5560 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 5561 #endif
jpayne@69 5562 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 5563 PyObject* values[1] = {0};
jpayne@69 5564 int __pyx_lineno = 0;
jpayne@69 5565 const char *__pyx_filename = NULL;
jpayne@69 5566 int __pyx_clineno = 0;
jpayne@69 5567 PyObject *__pyx_r = 0;
jpayne@69 5568 __Pyx_RefNannyDeclarations
jpayne@69 5569 __Pyx_RefNannySetupContext("wrap (wrapper)", 0);
jpayne@69 5570 #if !CYTHON_METH_FASTCALL
jpayne@69 5571 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 5572 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 5573 #else
jpayne@69 5574 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 5575 #endif
jpayne@69 5576 #endif
jpayne@69 5577 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 5578 {
jpayne@69 5579 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_v,0};
jpayne@69 5580 if (__pyx_kwds) {
jpayne@69 5581 Py_ssize_t kw_args;
jpayne@69 5582 switch (__pyx_nargs) {
jpayne@69 5583 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 5584 CYTHON_FALLTHROUGH;
jpayne@69 5585 case 0: break;
jpayne@69 5586 default: goto __pyx_L5_argtuple_error;
jpayne@69 5587 }
jpayne@69 5588 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 5589 switch (__pyx_nargs) {
jpayne@69 5590 case 0:
jpayne@69 5591 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_v)) != 0)) {
jpayne@69 5592 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 5593 kw_args--;
jpayne@69 5594 }
jpayne@69 5595 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 5596 else goto __pyx_L5_argtuple_error;
jpayne@69 5597 }
jpayne@69 5598 if (unlikely(kw_args > 0)) {
jpayne@69 5599 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 5600 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "wrap") < 0)) __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 5601 }
jpayne@69 5602 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 5603 goto __pyx_L5_argtuple_error;
jpayne@69 5604 } else {
jpayne@69 5605 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 5606 }
jpayne@69 5607 __pyx_v_v = values[0];
jpayne@69 5608 }
jpayne@69 5609 goto __pyx_L6_skip;
jpayne@69 5610 __pyx_L5_argtuple_error:;
jpayne@69 5611 __Pyx_RaiseArgtupleInvalid("wrap", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 5612 __pyx_L6_skip:;
jpayne@69 5613 goto __pyx_L4_argument_unpacking_done;
jpayne@69 5614 __pyx_L3_error:;
jpayne@69 5615 {
jpayne@69 5616 Py_ssize_t __pyx_temp;
jpayne@69 5617 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 5618 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 5619 }
jpayne@69 5620 }
jpayne@69 5621 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 5622 __Pyx_RefNannyFinishContext();
jpayne@69 5623 return NULL;
jpayne@69 5624 __pyx_L4_argument_unpacking_done:;
jpayne@69 5625 __pyx_r = __pyx_pf_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_wrap(__pyx_self, __pyx_v_v);
jpayne@69 5626
jpayne@69 5627 /* function exit code */
jpayne@69 5628 {
jpayne@69 5629 Py_ssize_t __pyx_temp;
jpayne@69 5630 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 5631 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 5632 }
jpayne@69 5633 }
jpayne@69 5634 __Pyx_RefNannyFinishContext();
jpayne@69 5635 return __pyx_r;
jpayne@69 5636 }
jpayne@69 5637
jpayne@69 5638 static PyObject *__pyx_pf_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_wrap(PyObject *__pyx_self, PyObject *__pyx_v_v) {
jpayne@69 5639 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v *__pyx_cur_scope;
jpayne@69 5640 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v *__pyx_outer_scope;
jpayne@69 5641 PyObject *__pyx_r = NULL;
jpayne@69 5642 __Pyx_RefNannyDeclarations
jpayne@69 5643 PyObject *__pyx_t_1 = NULL;
jpayne@69 5644 int __pyx_lineno = 0;
jpayne@69 5645 const char *__pyx_filename = NULL;
jpayne@69 5646 int __pyx_clineno = 0;
jpayne@69 5647 __Pyx_RefNannySetupContext("wrap", 1);
jpayne@69 5648 __pyx_outer_scope = (struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v *) __Pyx_CyFunction_GetClosure(__pyx_self);
jpayne@69 5649 __pyx_cur_scope = __pyx_outer_scope;
jpayne@69 5650
jpayne@69 5651 /* "cfunc.to_py":69
jpayne@69 5652 * def wrap(object v):
jpayne@69 5653 * """wrap(v)"""
jpayne@69 5654 * return f(v) # <<<<<<<<<<<<<<
jpayne@69 5655 * return wrap
jpayne@69 5656 *
jpayne@69 5657 */
jpayne@69 5658 __Pyx_XDECREF(__pyx_r);
jpayne@69 5659 __pyx_t_1 = __pyx_cur_scope->__pyx_v_f(__pyx_v_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 69, __pyx_L1_error)
jpayne@69 5660 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 5661 __pyx_r = __pyx_t_1;
jpayne@69 5662 __pyx_t_1 = 0;
jpayne@69 5663 goto __pyx_L0;
jpayne@69 5664
jpayne@69 5665 /* "cfunc.to_py":67
jpayne@69 5666 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v")
jpayne@69 5667 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(object (*f)(object) ):
jpayne@69 5668 * def wrap(object v): # <<<<<<<<<<<<<<
jpayne@69 5669 * """wrap(v)"""
jpayne@69 5670 * return f(v)
jpayne@69 5671 */
jpayne@69 5672
jpayne@69 5673 /* function exit code */
jpayne@69 5674 __pyx_L1_error:;
jpayne@69 5675 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 5676 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 5677 __pyx_r = NULL;
jpayne@69 5678 __pyx_L0:;
jpayne@69 5679 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 5680 __Pyx_RefNannyFinishContext();
jpayne@69 5681 return __pyx_r;
jpayne@69 5682 }
jpayne@69 5683
jpayne@69 5684 /* "cfunc.to_py":66
jpayne@69 5685 *
jpayne@69 5686 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v")
jpayne@69 5687 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(object (*f)(object) ): # <<<<<<<<<<<<<<
jpayne@69 5688 * def wrap(object v):
jpayne@69 5689 * """wrap(v)"""
jpayne@69 5690 */
jpayne@69 5691
jpayne@69 5692 static PyObject *__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(PyObject *(*__pyx_v_f)(PyObject *)) {
jpayne@69 5693 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v *__pyx_cur_scope;
jpayne@69 5694 PyObject *__pyx_v_wrap = 0;
jpayne@69 5695 PyObject *__pyx_r = NULL;
jpayne@69 5696 __Pyx_RefNannyDeclarations
jpayne@69 5697 PyObject *__pyx_t_1 = NULL;
jpayne@69 5698 int __pyx_lineno = 0;
jpayne@69 5699 const char *__pyx_filename = NULL;
jpayne@69 5700 int __pyx_clineno = 0;
jpayne@69 5701 __Pyx_RefNannySetupContext("__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v", 0);
jpayne@69 5702 __pyx_cur_scope = (struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v *)__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v, __pyx_empty_tuple, NULL);
jpayne@69 5703 if (unlikely(!__pyx_cur_scope)) {
jpayne@69 5704 __pyx_cur_scope = ((struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v *)Py_None);
jpayne@69 5705 __Pyx_INCREF(Py_None);
jpayne@69 5706 __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 5707 } else {
jpayne@69 5708 __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
jpayne@69 5709 }
jpayne@69 5710 __pyx_cur_scope->__pyx_v_f = __pyx_v_f;
jpayne@69 5711
jpayne@69 5712 /* "cfunc.to_py":67
jpayne@69 5713 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v")
jpayne@69 5714 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(object (*f)(object) ):
jpayne@69 5715 * def wrap(object v): # <<<<<<<<<<<<<<
jpayne@69 5716 * """wrap(v)"""
jpayne@69 5717 * return f(v)
jpayne@69 5718 */
jpayne@69 5719 __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_75__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_1wrap, 0, __pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 67, __pyx_L1_error)
jpayne@69 5720 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 5721 __pyx_v_wrap = __pyx_t_1;
jpayne@69 5722 __pyx_t_1 = 0;
jpayne@69 5723
jpayne@69 5724 /* "cfunc.to_py":70
jpayne@69 5725 * """wrap(v)"""
jpayne@69 5726 * return f(v)
jpayne@69 5727 * return wrap # <<<<<<<<<<<<<<
jpayne@69 5728 *
jpayne@69 5729 *
jpayne@69 5730 */
jpayne@69 5731 __Pyx_XDECREF(__pyx_r);
jpayne@69 5732 __Pyx_INCREF(__pyx_v_wrap);
jpayne@69 5733 __pyx_r = __pyx_v_wrap;
jpayne@69 5734 goto __pyx_L0;
jpayne@69 5735
jpayne@69 5736 /* "cfunc.to_py":66
jpayne@69 5737 *
jpayne@69 5738 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v")
jpayne@69 5739 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(object (*f)(object) ): # <<<<<<<<<<<<<<
jpayne@69 5740 * def wrap(object v):
jpayne@69 5741 * """wrap(v)"""
jpayne@69 5742 */
jpayne@69 5743
jpayne@69 5744 /* function exit code */
jpayne@69 5745 __pyx_L1_error:;
jpayne@69 5746 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 5747 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 5748 __pyx_r = 0;
jpayne@69 5749 __pyx_L0:;
jpayne@69 5750 __Pyx_XDECREF(__pyx_v_wrap);
jpayne@69 5751 __Pyx_DECREF((PyObject *)__pyx_cur_scope);
jpayne@69 5752 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 5753 __Pyx_RefNannyFinishContext();
jpayne@69 5754 return __pyx_r;
jpayne@69 5755 }
jpayne@69 5756
jpayne@69 5757 /* "cfunc.to_py":67
jpayne@69 5758 * @cname("__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v")
jpayne@69 5759 * cdef object __Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(int (*f)(object) except? -1):
jpayne@69 5760 * def wrap(object v): # <<<<<<<<<<<<<<
jpayne@69 5761 * """wrap(v) -> 'int'"""
jpayne@69 5762 * return f(v)
jpayne@69 5763 */
jpayne@69 5764
jpayne@69 5765 /* Python wrapper */
jpayne@69 5766 static PyObject *__pyx_pw_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_1wrap(PyObject *__pyx_self,
jpayne@69 5767 #if CYTHON_METH_FASTCALL
jpayne@69 5768 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 5769 #else
jpayne@69 5770 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 5771 #endif
jpayne@69 5772 ); /*proto*/
jpayne@69 5773 PyDoc_STRVAR(__pyx_doc_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_wrap, "wrap(v) -> 'int'");
jpayne@69 5774 static PyMethodDef __pyx_mdef_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_1wrap = {"wrap", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_1wrap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_wrap};
jpayne@69 5775 static PyObject *__pyx_pw_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_1wrap(PyObject *__pyx_self,
jpayne@69 5776 #if CYTHON_METH_FASTCALL
jpayne@69 5777 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 5778 #else
jpayne@69 5779 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 5780 #endif
jpayne@69 5781 ) {
jpayne@69 5782 PyObject *__pyx_v_v = 0;
jpayne@69 5783 #if !CYTHON_METH_FASTCALL
jpayne@69 5784 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 5785 #endif
jpayne@69 5786 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 5787 PyObject* values[1] = {0};
jpayne@69 5788 int __pyx_lineno = 0;
jpayne@69 5789 const char *__pyx_filename = NULL;
jpayne@69 5790 int __pyx_clineno = 0;
jpayne@69 5791 PyObject *__pyx_r = 0;
jpayne@69 5792 __Pyx_RefNannyDeclarations
jpayne@69 5793 __Pyx_RefNannySetupContext("wrap (wrapper)", 0);
jpayne@69 5794 #if !CYTHON_METH_FASTCALL
jpayne@69 5795 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 5796 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 5797 #else
jpayne@69 5798 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 5799 #endif
jpayne@69 5800 #endif
jpayne@69 5801 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 5802 {
jpayne@69 5803 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_v,0};
jpayne@69 5804 if (__pyx_kwds) {
jpayne@69 5805 Py_ssize_t kw_args;
jpayne@69 5806 switch (__pyx_nargs) {
jpayne@69 5807 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 5808 CYTHON_FALLTHROUGH;
jpayne@69 5809 case 0: break;
jpayne@69 5810 default: goto __pyx_L5_argtuple_error;
jpayne@69 5811 }
jpayne@69 5812 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 5813 switch (__pyx_nargs) {
jpayne@69 5814 case 0:
jpayne@69 5815 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_v)) != 0)) {
jpayne@69 5816 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 5817 kw_args--;
jpayne@69 5818 }
jpayne@69 5819 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 5820 else goto __pyx_L5_argtuple_error;
jpayne@69 5821 }
jpayne@69 5822 if (unlikely(kw_args > 0)) {
jpayne@69 5823 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 5824 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "wrap") < 0)) __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 5825 }
jpayne@69 5826 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 5827 goto __pyx_L5_argtuple_error;
jpayne@69 5828 } else {
jpayne@69 5829 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 5830 }
jpayne@69 5831 __pyx_v_v = values[0];
jpayne@69 5832 }
jpayne@69 5833 goto __pyx_L6_skip;
jpayne@69 5834 __pyx_L5_argtuple_error:;
jpayne@69 5835 __Pyx_RaiseArgtupleInvalid("wrap", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 5836 __pyx_L6_skip:;
jpayne@69 5837 goto __pyx_L4_argument_unpacking_done;
jpayne@69 5838 __pyx_L3_error:;
jpayne@69 5839 {
jpayne@69 5840 Py_ssize_t __pyx_temp;
jpayne@69 5841 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 5842 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 5843 }
jpayne@69 5844 }
jpayne@69 5845 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 5846 __Pyx_RefNannyFinishContext();
jpayne@69 5847 return NULL;
jpayne@69 5848 __pyx_L4_argument_unpacking_done:;
jpayne@69 5849 __pyx_r = __pyx_pf_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_wrap(__pyx_self, __pyx_v_v);
jpayne@69 5850
jpayne@69 5851 /* function exit code */
jpayne@69 5852 {
jpayne@69 5853 Py_ssize_t __pyx_temp;
jpayne@69 5854 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 5855 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 5856 }
jpayne@69 5857 }
jpayne@69 5858 __Pyx_RefNannyFinishContext();
jpayne@69 5859 return __pyx_r;
jpayne@69 5860 }
jpayne@69 5861
jpayne@69 5862 static PyObject *__pyx_pf_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_wrap(PyObject *__pyx_self, PyObject *__pyx_v_v) {
jpayne@69 5863 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v *__pyx_cur_scope;
jpayne@69 5864 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v *__pyx_outer_scope;
jpayne@69 5865 PyObject *__pyx_r = NULL;
jpayne@69 5866 __Pyx_RefNannyDeclarations
jpayne@69 5867 int __pyx_t_1;
jpayne@69 5868 PyObject *__pyx_t_2 = NULL;
jpayne@69 5869 int __pyx_lineno = 0;
jpayne@69 5870 const char *__pyx_filename = NULL;
jpayne@69 5871 int __pyx_clineno = 0;
jpayne@69 5872 __Pyx_RefNannySetupContext("wrap", 1);
jpayne@69 5873 __pyx_outer_scope = (struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v *) __Pyx_CyFunction_GetClosure(__pyx_self);
jpayne@69 5874 __pyx_cur_scope = __pyx_outer_scope;
jpayne@69 5875
jpayne@69 5876 /* "cfunc.to_py":69
jpayne@69 5877 * def wrap(object v):
jpayne@69 5878 * """wrap(v) -> 'int'"""
jpayne@69 5879 * return f(v) # <<<<<<<<<<<<<<
jpayne@69 5880 * return wrap
jpayne@69 5881 *
jpayne@69 5882 */
jpayne@69 5883 __Pyx_XDECREF(__pyx_r);
jpayne@69 5884 __pyx_t_1 = __pyx_cur_scope->__pyx_v_f(__pyx_v_v); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(1, 69, __pyx_L1_error)
jpayne@69 5885 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 69, __pyx_L1_error)
jpayne@69 5886 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 5887 __pyx_r = __pyx_t_2;
jpayne@69 5888 __pyx_t_2 = 0;
jpayne@69 5889 goto __pyx_L0;
jpayne@69 5890
jpayne@69 5891 /* "cfunc.to_py":67
jpayne@69 5892 * @cname("__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v")
jpayne@69 5893 * cdef object __Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(int (*f)(object) except? -1):
jpayne@69 5894 * def wrap(object v): # <<<<<<<<<<<<<<
jpayne@69 5895 * """wrap(v) -> 'int'"""
jpayne@69 5896 * return f(v)
jpayne@69 5897 */
jpayne@69 5898
jpayne@69 5899 /* function exit code */
jpayne@69 5900 __pyx_L1_error:;
jpayne@69 5901 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 5902 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 5903 __pyx_r = NULL;
jpayne@69 5904 __pyx_L0:;
jpayne@69 5905 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 5906 __Pyx_RefNannyFinishContext();
jpayne@69 5907 return __pyx_r;
jpayne@69 5908 }
jpayne@69 5909
jpayne@69 5910 /* "cfunc.to_py":66
jpayne@69 5911 *
jpayne@69 5912 * @cname("__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v")
jpayne@69 5913 * cdef object __Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(int (*f)(object) except? -1): # <<<<<<<<<<<<<<
jpayne@69 5914 * def wrap(object v):
jpayne@69 5915 * """wrap(v) -> 'int'"""
jpayne@69 5916 */
jpayne@69 5917
jpayne@69 5918 static PyObject *__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(int (*__pyx_v_f)(PyObject *)) {
jpayne@69 5919 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v *__pyx_cur_scope;
jpayne@69 5920 PyObject *__pyx_v_wrap = 0;
jpayne@69 5921 PyObject *__pyx_r = NULL;
jpayne@69 5922 __Pyx_RefNannyDeclarations
jpayne@69 5923 PyObject *__pyx_t_1 = NULL;
jpayne@69 5924 int __pyx_lineno = 0;
jpayne@69 5925 const char *__pyx_filename = NULL;
jpayne@69 5926 int __pyx_clineno = 0;
jpayne@69 5927 __Pyx_RefNannySetupContext("__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v", 0);
jpayne@69 5928 __pyx_cur_scope = (struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v *)__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(__pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v, __pyx_empty_tuple, NULL);
jpayne@69 5929 if (unlikely(!__pyx_cur_scope)) {
jpayne@69 5930 __pyx_cur_scope = ((struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v *)Py_None);
jpayne@69 5931 __Pyx_INCREF(Py_None);
jpayne@69 5932 __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 5933 } else {
jpayne@69 5934 __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
jpayne@69 5935 }
jpayne@69 5936 __pyx_cur_scope->__pyx_v_f = __pyx_v_f;
jpayne@69 5937
jpayne@69 5938 /* "cfunc.to_py":67
jpayne@69 5939 * @cname("__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v")
jpayne@69 5940 * cdef object __Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(int (*f)(object) except? -1):
jpayne@69 5941 * def wrap(object v): # <<<<<<<<<<<<<<
jpayne@69 5942 * """wrap(v) -> 'int'"""
jpayne@69 5943 * return f(v)
jpayne@69 5944 */
jpayne@69 5945 __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_80__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_1wrap, 0, __pyx_n_s_Pyx_CFunc_e2acea__5pysam_16lib, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 67, __pyx_L1_error)
jpayne@69 5946 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 5947 __pyx_v_wrap = __pyx_t_1;
jpayne@69 5948 __pyx_t_1 = 0;
jpayne@69 5949
jpayne@69 5950 /* "cfunc.to_py":70
jpayne@69 5951 * """wrap(v) -> 'int'"""
jpayne@69 5952 * return f(v)
jpayne@69 5953 * return wrap # <<<<<<<<<<<<<<
jpayne@69 5954 *
jpayne@69 5955 *
jpayne@69 5956 */
jpayne@69 5957 __Pyx_XDECREF(__pyx_r);
jpayne@69 5958 __Pyx_INCREF(__pyx_v_wrap);
jpayne@69 5959 __pyx_r = __pyx_v_wrap;
jpayne@69 5960 goto __pyx_L0;
jpayne@69 5961
jpayne@69 5962 /* "cfunc.to_py":66
jpayne@69 5963 *
jpayne@69 5964 * @cname("__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v")
jpayne@69 5965 * cdef object __Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(int (*f)(object) except? -1): # <<<<<<<<<<<<<<
jpayne@69 5966 * def wrap(object v):
jpayne@69 5967 * """wrap(v) -> 'int'"""
jpayne@69 5968 */
jpayne@69 5969
jpayne@69 5970 /* function exit code */
jpayne@69 5971 __pyx_L1_error:;
jpayne@69 5972 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 5973 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 5974 __pyx_r = 0;
jpayne@69 5975 __pyx_L0:;
jpayne@69 5976 __Pyx_XDECREF(__pyx_v_wrap);
jpayne@69 5977 __Pyx_DECREF((PyObject *)__pyx_cur_scope);
jpayne@69 5978 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 5979 __Pyx_RefNannyFinishContext();
jpayne@69 5980 return __pyx_r;
jpayne@69 5981 }
jpayne@69 5982
jpayne@69 5983 /* "cfunc.to_py":67
jpayne@69 5984 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v")
jpayne@69 5985 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(unicode (*f)(int) ):
jpayne@69 5986 * def wrap(int v): # <<<<<<<<<<<<<<
jpayne@69 5987 * """wrap(v: 'int') -> unicode"""
jpayne@69 5988 * return f(v)
jpayne@69 5989 */
jpayne@69 5990
jpayne@69 5991 /* Python wrapper */
jpayne@69 5992 static PyObject *__pyx_pw_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_1wrap(PyObject *__pyx_self,
jpayne@69 5993 #if CYTHON_METH_FASTCALL
jpayne@69 5994 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 5995 #else
jpayne@69 5996 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 5997 #endif
jpayne@69 5998 ); /*proto*/
jpayne@69 5999 PyDoc_STRVAR(__pyx_doc_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_wrap, "wrap(v: 'int') -> unicode");
jpayne@69 6000 static PyMethodDef __pyx_mdef_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_1wrap = {"wrap", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_1wrap, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_wrap};
jpayne@69 6001 static PyObject *__pyx_pw_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_1wrap(PyObject *__pyx_self,
jpayne@69 6002 #if CYTHON_METH_FASTCALL
jpayne@69 6003 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 6004 #else
jpayne@69 6005 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 6006 #endif
jpayne@69 6007 ) {
jpayne@69 6008 int __pyx_v_v;
jpayne@69 6009 #if !CYTHON_METH_FASTCALL
jpayne@69 6010 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 6011 #endif
jpayne@69 6012 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 6013 PyObject* values[1] = {0};
jpayne@69 6014 int __pyx_lineno = 0;
jpayne@69 6015 const char *__pyx_filename = NULL;
jpayne@69 6016 int __pyx_clineno = 0;
jpayne@69 6017 PyObject *__pyx_r = 0;
jpayne@69 6018 __Pyx_RefNannyDeclarations
jpayne@69 6019 __Pyx_RefNannySetupContext("wrap (wrapper)", 0);
jpayne@69 6020 #if !CYTHON_METH_FASTCALL
jpayne@69 6021 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 6022 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 6023 #else
jpayne@69 6024 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 6025 #endif
jpayne@69 6026 #endif
jpayne@69 6027 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 6028 {
jpayne@69 6029 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_v,0};
jpayne@69 6030 if (__pyx_kwds) {
jpayne@69 6031 Py_ssize_t kw_args;
jpayne@69 6032 switch (__pyx_nargs) {
jpayne@69 6033 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 6034 CYTHON_FALLTHROUGH;
jpayne@69 6035 case 0: break;
jpayne@69 6036 default: goto __pyx_L5_argtuple_error;
jpayne@69 6037 }
jpayne@69 6038 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 6039 switch (__pyx_nargs) {
jpayne@69 6040 case 0:
jpayne@69 6041 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_v)) != 0)) {
jpayne@69 6042 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 6043 kw_args--;
jpayne@69 6044 }
jpayne@69 6045 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 6046 else goto __pyx_L5_argtuple_error;
jpayne@69 6047 }
jpayne@69 6048 if (unlikely(kw_args > 0)) {
jpayne@69 6049 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 6050 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "wrap") < 0)) __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 6051 }
jpayne@69 6052 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 6053 goto __pyx_L5_argtuple_error;
jpayne@69 6054 } else {
jpayne@69 6055 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 6056 }
jpayne@69 6057 __pyx_v_v = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_v == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 6058 }
jpayne@69 6059 goto __pyx_L6_skip;
jpayne@69 6060 __pyx_L5_argtuple_error:;
jpayne@69 6061 __Pyx_RaiseArgtupleInvalid("wrap", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 67, __pyx_L3_error)
jpayne@69 6062 __pyx_L6_skip:;
jpayne@69 6063 goto __pyx_L4_argument_unpacking_done;
jpayne@69 6064 __pyx_L3_error:;
jpayne@69 6065 {
jpayne@69 6066 Py_ssize_t __pyx_temp;
jpayne@69 6067 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 6068 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 6069 }
jpayne@69 6070 }
jpayne@69 6071 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 6072 __Pyx_RefNannyFinishContext();
jpayne@69 6073 return NULL;
jpayne@69 6074 __pyx_L4_argument_unpacking_done:;
jpayne@69 6075 __pyx_r = __pyx_pf_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_wrap(__pyx_self, __pyx_v_v);
jpayne@69 6076
jpayne@69 6077 /* function exit code */
jpayne@69 6078 {
jpayne@69 6079 Py_ssize_t __pyx_temp;
jpayne@69 6080 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 6081 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 6082 }
jpayne@69 6083 }
jpayne@69 6084 __Pyx_RefNannyFinishContext();
jpayne@69 6085 return __pyx_r;
jpayne@69 6086 }
jpayne@69 6087
jpayne@69 6088 static PyObject *__pyx_pf_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_wrap(PyObject *__pyx_self, int __pyx_v_v) {
jpayne@69 6089 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v *__pyx_cur_scope;
jpayne@69 6090 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v *__pyx_outer_scope;
jpayne@69 6091 PyObject *__pyx_r = NULL;
jpayne@69 6092 __Pyx_RefNannyDeclarations
jpayne@69 6093 PyObject *__pyx_t_1 = NULL;
jpayne@69 6094 int __pyx_lineno = 0;
jpayne@69 6095 const char *__pyx_filename = NULL;
jpayne@69 6096 int __pyx_clineno = 0;
jpayne@69 6097 __Pyx_RefNannySetupContext("wrap", 1);
jpayne@69 6098 __pyx_outer_scope = (struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v *) __Pyx_CyFunction_GetClosure(__pyx_self);
jpayne@69 6099 __pyx_cur_scope = __pyx_outer_scope;
jpayne@69 6100
jpayne@69 6101 /* "cfunc.to_py":69
jpayne@69 6102 * def wrap(int v):
jpayne@69 6103 * """wrap(v: 'int') -> unicode"""
jpayne@69 6104 * return f(v) # <<<<<<<<<<<<<<
jpayne@69 6105 * return wrap
jpayne@69 6106 *
jpayne@69 6107 */
jpayne@69 6108 __Pyx_XDECREF(__pyx_r);
jpayne@69 6109 __pyx_t_1 = __pyx_cur_scope->__pyx_v_f(__pyx_v_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 69, __pyx_L1_error)
jpayne@69 6110 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 6111 __pyx_r = __pyx_t_1;
jpayne@69 6112 __pyx_t_1 = 0;
jpayne@69 6113 goto __pyx_L0;
jpayne@69 6114
jpayne@69 6115 /* "cfunc.to_py":67
jpayne@69 6116 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v")
jpayne@69 6117 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(unicode (*f)(int) ):
jpayne@69 6118 * def wrap(int v): # <<<<<<<<<<<<<<
jpayne@69 6119 * """wrap(v: 'int') -> unicode"""
jpayne@69 6120 * return f(v)
jpayne@69 6121 */
jpayne@69 6122
jpayne@69 6123 /* function exit code */
jpayne@69 6124 __pyx_L1_error:;
jpayne@69 6125 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 6126 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v.wrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 6127 __pyx_r = NULL;
jpayne@69 6128 __pyx_L0:;
jpayne@69 6129 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 6130 __Pyx_RefNannyFinishContext();
jpayne@69 6131 return __pyx_r;
jpayne@69 6132 }
jpayne@69 6133
jpayne@69 6134 /* "cfunc.to_py":66
jpayne@69 6135 *
jpayne@69 6136 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v")
jpayne@69 6137 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(unicode (*f)(int) ): # <<<<<<<<<<<<<<
jpayne@69 6138 * def wrap(int v):
jpayne@69 6139 * """wrap(v: 'int') -> unicode"""
jpayne@69 6140 */
jpayne@69 6141
jpayne@69 6142 static PyObject *__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(PyObject *(*__pyx_v_f)(int)) {
jpayne@69 6143 struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v *__pyx_cur_scope;
jpayne@69 6144 PyObject *__pyx_v_wrap = 0;
jpayne@69 6145 PyObject *__pyx_r = NULL;
jpayne@69 6146 __Pyx_RefNannyDeclarations
jpayne@69 6147 PyObject *__pyx_t_1 = NULL;
jpayne@69 6148 int __pyx_lineno = 0;
jpayne@69 6149 const char *__pyx_filename = NULL;
jpayne@69 6150 int __pyx_clineno = 0;
jpayne@69 6151 __Pyx_RefNannySetupContext("__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v", 0);
jpayne@69 6152 __pyx_cur_scope = (struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v *)__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v, __pyx_empty_tuple, NULL);
jpayne@69 6153 if (unlikely(!__pyx_cur_scope)) {
jpayne@69 6154 __pyx_cur_scope = ((struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v *)Py_None);
jpayne@69 6155 __Pyx_INCREF(Py_None);
jpayne@69 6156 __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 6157 } else {
jpayne@69 6158 __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
jpayne@69 6159 }
jpayne@69 6160 __pyx_cur_scope->__pyx_v_f = __pyx_v_f;
jpayne@69 6161
jpayne@69 6162 /* "cfunc.to_py":67
jpayne@69 6163 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v")
jpayne@69 6164 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(unicode (*f)(int) ):
jpayne@69 6165 * def wrap(int v): # <<<<<<<<<<<<<<
jpayne@69 6166 * """wrap(v: 'int') -> unicode"""
jpayne@69 6167 * return f(v)
jpayne@69 6168 */
jpayne@69 6169 __pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_11cfunc_dot_to_py_73__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_1wrap, 0, __pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr_2, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cfunc_to_py, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 67, __pyx_L1_error)
jpayne@69 6170 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 6171 __pyx_v_wrap = __pyx_t_1;
jpayne@69 6172 __pyx_t_1 = 0;
jpayne@69 6173
jpayne@69 6174 /* "cfunc.to_py":70
jpayne@69 6175 * """wrap(v: 'int') -> unicode"""
jpayne@69 6176 * return f(v)
jpayne@69 6177 * return wrap # <<<<<<<<<<<<<<
jpayne@69 6178 *
jpayne@69 6179 *
jpayne@69 6180 */
jpayne@69 6181 __Pyx_XDECREF(__pyx_r);
jpayne@69 6182 __Pyx_INCREF(__pyx_v_wrap);
jpayne@69 6183 __pyx_r = __pyx_v_wrap;
jpayne@69 6184 goto __pyx_L0;
jpayne@69 6185
jpayne@69 6186 /* "cfunc.to_py":66
jpayne@69 6187 *
jpayne@69 6188 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v")
jpayne@69 6189 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(unicode (*f)(int) ): # <<<<<<<<<<<<<<
jpayne@69 6190 * def wrap(int v):
jpayne@69 6191 * """wrap(v: 'int') -> unicode"""
jpayne@69 6192 */
jpayne@69 6193
jpayne@69 6194 /* function exit code */
jpayne@69 6195 __pyx_L1_error:;
jpayne@69 6196 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 6197 __Pyx_AddTraceback("cfunc.to_py.__Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 6198 __pyx_r = 0;
jpayne@69 6199 __pyx_L0:;
jpayne@69 6200 __Pyx_XDECREF(__pyx_v_wrap);
jpayne@69 6201 __Pyx_DECREF((PyObject *)__pyx_cur_scope);
jpayne@69 6202 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 6203 __Pyx_RefNannyFinishContext();
jpayne@69 6204 return __pyx_r;
jpayne@69 6205 }
jpayne@69 6206
jpayne@69 6207 /* "cpython/complex.pxd":19
jpayne@69 6208 *
jpayne@69 6209 * @property
jpayne@69 6210 * cdef inline double real(self) noexcept: # <<<<<<<<<<<<<<
jpayne@69 6211 * return self.cval.real
jpayne@69 6212 *
jpayne@69 6213 */
jpayne@69 6214
jpayne@69 6215 static CYTHON_INLINE double __pyx_f_7cpython_7complex_7complex_4real_real(PyComplexObject *__pyx_v_self) {
jpayne@69 6216 double __pyx_r;
jpayne@69 6217
jpayne@69 6218 /* "cpython/complex.pxd":20
jpayne@69 6219 * @property
jpayne@69 6220 * cdef inline double real(self) noexcept:
jpayne@69 6221 * return self.cval.real # <<<<<<<<<<<<<<
jpayne@69 6222 *
jpayne@69 6223 * @property
jpayne@69 6224 */
jpayne@69 6225 __pyx_r = __pyx_v_self->cval.real;
jpayne@69 6226 goto __pyx_L0;
jpayne@69 6227
jpayne@69 6228 /* "cpython/complex.pxd":19
jpayne@69 6229 *
jpayne@69 6230 * @property
jpayne@69 6231 * cdef inline double real(self) noexcept: # <<<<<<<<<<<<<<
jpayne@69 6232 * return self.cval.real
jpayne@69 6233 *
jpayne@69 6234 */
jpayne@69 6235
jpayne@69 6236 /* function exit code */
jpayne@69 6237 __pyx_L0:;
jpayne@69 6238 return __pyx_r;
jpayne@69 6239 }
jpayne@69 6240
jpayne@69 6241 /* "cpython/complex.pxd":23
jpayne@69 6242 *
jpayne@69 6243 * @property
jpayne@69 6244 * cdef inline double imag(self) noexcept: # <<<<<<<<<<<<<<
jpayne@69 6245 * return self.cval.imag
jpayne@69 6246 *
jpayne@69 6247 */
jpayne@69 6248
jpayne@69 6249 static CYTHON_INLINE double __pyx_f_7cpython_7complex_7complex_4imag_imag(PyComplexObject *__pyx_v_self) {
jpayne@69 6250 double __pyx_r;
jpayne@69 6251
jpayne@69 6252 /* "cpython/complex.pxd":24
jpayne@69 6253 * @property
jpayne@69 6254 * cdef inline double imag(self) noexcept:
jpayne@69 6255 * return self.cval.imag # <<<<<<<<<<<<<<
jpayne@69 6256 *
jpayne@69 6257 * # PyTypeObject PyComplex_Type
jpayne@69 6258 */
jpayne@69 6259 __pyx_r = __pyx_v_self->cval.imag;
jpayne@69 6260 goto __pyx_L0;
jpayne@69 6261
jpayne@69 6262 /* "cpython/complex.pxd":23
jpayne@69 6263 *
jpayne@69 6264 * @property
jpayne@69 6265 * cdef inline double imag(self) noexcept: # <<<<<<<<<<<<<<
jpayne@69 6266 * return self.cval.imag
jpayne@69 6267 *
jpayne@69 6268 */
jpayne@69 6269
jpayne@69 6270 /* function exit code */
jpayne@69 6271 __pyx_L0:;
jpayne@69 6272 return __pyx_r;
jpayne@69 6273 }
jpayne@69 6274
jpayne@69 6275 /* "cpython/contextvars.pxd":112
jpayne@69 6276 *
jpayne@69 6277 *
jpayne@69 6278 * cdef inline object get_value(var, default_value=None): # <<<<<<<<<<<<<<
jpayne@69 6279 * """Return a new reference to the value of the context variable,
jpayne@69 6280 * or the default value of the context variable,
jpayne@69 6281 */
jpayne@69 6282
jpayne@69 6283 static CYTHON_INLINE PyObject *__pyx_f_7cpython_11contextvars_get_value(PyObject *__pyx_v_var, struct __pyx_opt_args_7cpython_11contextvars_get_value *__pyx_optional_args) {
jpayne@69 6284 PyObject *__pyx_v_default_value = ((PyObject *)Py_None);
jpayne@69 6285 PyObject *__pyx_v_value;
jpayne@69 6286 PyObject *__pyx_v_pyvalue = NULL;
jpayne@69 6287 PyObject *__pyx_r = NULL;
jpayne@69 6288 __Pyx_RefNannyDeclarations
jpayne@69 6289 int __pyx_t_1;
jpayne@69 6290 int __pyx_t_2;
jpayne@69 6291 PyObject *__pyx_t_3 = NULL;
jpayne@69 6292 int __pyx_lineno = 0;
jpayne@69 6293 const char *__pyx_filename = NULL;
jpayne@69 6294 int __pyx_clineno = 0;
jpayne@69 6295 __Pyx_RefNannySetupContext("get_value", 1);
jpayne@69 6296 if (__pyx_optional_args) {
jpayne@69 6297 if (__pyx_optional_args->__pyx_n > 0) {
jpayne@69 6298 __pyx_v_default_value = __pyx_optional_args->default_value;
jpayne@69 6299 }
jpayne@69 6300 }
jpayne@69 6301
jpayne@69 6302 /* "cpython/contextvars.pxd":117
jpayne@69 6303 * or None if no such value or default was found.
jpayne@69 6304 * """
jpayne@69 6305 * cdef PyObject *value = NULL # <<<<<<<<<<<<<<
jpayne@69 6306 * PyContextVar_Get(var, NULL, &value)
jpayne@69 6307 * if value is NULL:
jpayne@69 6308 */
jpayne@69 6309 __pyx_v_value = NULL;
jpayne@69 6310
jpayne@69 6311 /* "cpython/contextvars.pxd":118
jpayne@69 6312 * """
jpayne@69 6313 * cdef PyObject *value = NULL
jpayne@69 6314 * PyContextVar_Get(var, NULL, &value) # <<<<<<<<<<<<<<
jpayne@69 6315 * if value is NULL:
jpayne@69 6316 * # context variable does not have a default
jpayne@69 6317 */
jpayne@69 6318 __pyx_t_1 = PyContextVar_Get(__pyx_v_var, NULL, (&__pyx_v_value)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(2, 118, __pyx_L1_error)
jpayne@69 6319
jpayne@69 6320 /* "cpython/contextvars.pxd":119
jpayne@69 6321 * cdef PyObject *value = NULL
jpayne@69 6322 * PyContextVar_Get(var, NULL, &value)
jpayne@69 6323 * if value is NULL: # <<<<<<<<<<<<<<
jpayne@69 6324 * # context variable does not have a default
jpayne@69 6325 * pyvalue = default_value
jpayne@69 6326 */
jpayne@69 6327 __pyx_t_2 = (__pyx_v_value == NULL);
jpayne@69 6328 if (__pyx_t_2) {
jpayne@69 6329
jpayne@69 6330 /* "cpython/contextvars.pxd":121
jpayne@69 6331 * if value is NULL:
jpayne@69 6332 * # context variable does not have a default
jpayne@69 6333 * pyvalue = default_value # <<<<<<<<<<<<<<
jpayne@69 6334 * else:
jpayne@69 6335 * # value or default value of context variable
jpayne@69 6336 */
jpayne@69 6337 __Pyx_INCREF(__pyx_v_default_value);
jpayne@69 6338 __pyx_v_pyvalue = __pyx_v_default_value;
jpayne@69 6339
jpayne@69 6340 /* "cpython/contextvars.pxd":119
jpayne@69 6341 * cdef PyObject *value = NULL
jpayne@69 6342 * PyContextVar_Get(var, NULL, &value)
jpayne@69 6343 * if value is NULL: # <<<<<<<<<<<<<<
jpayne@69 6344 * # context variable does not have a default
jpayne@69 6345 * pyvalue = default_value
jpayne@69 6346 */
jpayne@69 6347 goto __pyx_L3;
jpayne@69 6348 }
jpayne@69 6349
jpayne@69 6350 /* "cpython/contextvars.pxd":124
jpayne@69 6351 * else:
jpayne@69 6352 * # value or default value of context variable
jpayne@69 6353 * pyvalue = <object>value # <<<<<<<<<<<<<<
jpayne@69 6354 * Py_XDECREF(value) # PyContextVar_Get() returned an owned reference as 'PyObject*'
jpayne@69 6355 * return pyvalue
jpayne@69 6356 */
jpayne@69 6357 /*else*/ {
jpayne@69 6358 __pyx_t_3 = ((PyObject *)__pyx_v_value);
jpayne@69 6359 __Pyx_INCREF(__pyx_t_3);
jpayne@69 6360 __pyx_v_pyvalue = __pyx_t_3;
jpayne@69 6361 __pyx_t_3 = 0;
jpayne@69 6362
jpayne@69 6363 /* "cpython/contextvars.pxd":125
jpayne@69 6364 * # value or default value of context variable
jpayne@69 6365 * pyvalue = <object>value
jpayne@69 6366 * Py_XDECREF(value) # PyContextVar_Get() returned an owned reference as 'PyObject*' # <<<<<<<<<<<<<<
jpayne@69 6367 * return pyvalue
jpayne@69 6368 *
jpayne@69 6369 */
jpayne@69 6370 Py_XDECREF(__pyx_v_value);
jpayne@69 6371 }
jpayne@69 6372 __pyx_L3:;
jpayne@69 6373
jpayne@69 6374 /* "cpython/contextvars.pxd":126
jpayne@69 6375 * pyvalue = <object>value
jpayne@69 6376 * Py_XDECREF(value) # PyContextVar_Get() returned an owned reference as 'PyObject*'
jpayne@69 6377 * return pyvalue # <<<<<<<<<<<<<<
jpayne@69 6378 *
jpayne@69 6379 *
jpayne@69 6380 */
jpayne@69 6381 __Pyx_XDECREF(__pyx_r);
jpayne@69 6382 __Pyx_INCREF(__pyx_v_pyvalue);
jpayne@69 6383 __pyx_r = __pyx_v_pyvalue;
jpayne@69 6384 goto __pyx_L0;
jpayne@69 6385
jpayne@69 6386 /* "cpython/contextvars.pxd":112
jpayne@69 6387 *
jpayne@69 6388 *
jpayne@69 6389 * cdef inline object get_value(var, default_value=None): # <<<<<<<<<<<<<<
jpayne@69 6390 * """Return a new reference to the value of the context variable,
jpayne@69 6391 * or the default value of the context variable,
jpayne@69 6392 */
jpayne@69 6393
jpayne@69 6394 /* function exit code */
jpayne@69 6395 __pyx_L1_error:;
jpayne@69 6396 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 6397 __Pyx_AddTraceback("cpython.contextvars.get_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 6398 __pyx_r = 0;
jpayne@69 6399 __pyx_L0:;
jpayne@69 6400 __Pyx_XDECREF(__pyx_v_pyvalue);
jpayne@69 6401 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 6402 __Pyx_RefNannyFinishContext();
jpayne@69 6403 return __pyx_r;
jpayne@69 6404 }
jpayne@69 6405
jpayne@69 6406 /* "cpython/contextvars.pxd":129
jpayne@69 6407 *
jpayne@69 6408 *
jpayne@69 6409 * cdef inline object get_value_no_default(var, default_value=None): # <<<<<<<<<<<<<<
jpayne@69 6410 * """Return a new reference to the value of the context variable,
jpayne@69 6411 * or the provided default value if no such value was found.
jpayne@69 6412 */
jpayne@69 6413
jpayne@69 6414 static CYTHON_INLINE PyObject *__pyx_f_7cpython_11contextvars_get_value_no_default(PyObject *__pyx_v_var, struct __pyx_opt_args_7cpython_11contextvars_get_value_no_default *__pyx_optional_args) {
jpayne@69 6415 PyObject *__pyx_v_default_value = ((PyObject *)Py_None);
jpayne@69 6416 PyObject *__pyx_v_value;
jpayne@69 6417 PyObject *__pyx_v_pyvalue = NULL;
jpayne@69 6418 PyObject *__pyx_r = NULL;
jpayne@69 6419 __Pyx_RefNannyDeclarations
jpayne@69 6420 int __pyx_t_1;
jpayne@69 6421 PyObject *__pyx_t_2 = NULL;
jpayne@69 6422 int __pyx_lineno = 0;
jpayne@69 6423 const char *__pyx_filename = NULL;
jpayne@69 6424 int __pyx_clineno = 0;
jpayne@69 6425 __Pyx_RefNannySetupContext("get_value_no_default", 1);
jpayne@69 6426 if (__pyx_optional_args) {
jpayne@69 6427 if (__pyx_optional_args->__pyx_n > 0) {
jpayne@69 6428 __pyx_v_default_value = __pyx_optional_args->default_value;
jpayne@69 6429 }
jpayne@69 6430 }
jpayne@69 6431
jpayne@69 6432 /* "cpython/contextvars.pxd":135
jpayne@69 6433 * Ignores the default value of the context variable, if any.
jpayne@69 6434 * """
jpayne@69 6435 * cdef PyObject *value = NULL # <<<<<<<<<<<<<<
jpayne@69 6436 * PyContextVar_Get(var, <PyObject*>default_value, &value)
jpayne@69 6437 * # value of context variable or 'default_value'
jpayne@69 6438 */
jpayne@69 6439 __pyx_v_value = NULL;
jpayne@69 6440
jpayne@69 6441 /* "cpython/contextvars.pxd":136
jpayne@69 6442 * """
jpayne@69 6443 * cdef PyObject *value = NULL
jpayne@69 6444 * PyContextVar_Get(var, <PyObject*>default_value, &value) # <<<<<<<<<<<<<<
jpayne@69 6445 * # value of context variable or 'default_value'
jpayne@69 6446 * pyvalue = <object>value
jpayne@69 6447 */
jpayne@69 6448 __pyx_t_1 = PyContextVar_Get(__pyx_v_var, ((PyObject *)__pyx_v_default_value), (&__pyx_v_value)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(2, 136, __pyx_L1_error)
jpayne@69 6449
jpayne@69 6450 /* "cpython/contextvars.pxd":138
jpayne@69 6451 * PyContextVar_Get(var, <PyObject*>default_value, &value)
jpayne@69 6452 * # value of context variable or 'default_value'
jpayne@69 6453 * pyvalue = <object>value # <<<<<<<<<<<<<<
jpayne@69 6454 * Py_XDECREF(value) # PyContextVar_Get() returned an owned reference as 'PyObject*'
jpayne@69 6455 * return pyvalue
jpayne@69 6456 */
jpayne@69 6457 __pyx_t_2 = ((PyObject *)__pyx_v_value);
jpayne@69 6458 __Pyx_INCREF(__pyx_t_2);
jpayne@69 6459 __pyx_v_pyvalue = __pyx_t_2;
jpayne@69 6460 __pyx_t_2 = 0;
jpayne@69 6461
jpayne@69 6462 /* "cpython/contextvars.pxd":139
jpayne@69 6463 * # value of context variable or 'default_value'
jpayne@69 6464 * pyvalue = <object>value
jpayne@69 6465 * Py_XDECREF(value) # PyContextVar_Get() returned an owned reference as 'PyObject*' # <<<<<<<<<<<<<<
jpayne@69 6466 * return pyvalue
jpayne@69 6467 */
jpayne@69 6468 Py_XDECREF(__pyx_v_value);
jpayne@69 6469
jpayne@69 6470 /* "cpython/contextvars.pxd":140
jpayne@69 6471 * pyvalue = <object>value
jpayne@69 6472 * Py_XDECREF(value) # PyContextVar_Get() returned an owned reference as 'PyObject*'
jpayne@69 6473 * return pyvalue # <<<<<<<<<<<<<<
jpayne@69 6474 */
jpayne@69 6475 __Pyx_XDECREF(__pyx_r);
jpayne@69 6476 __Pyx_INCREF(__pyx_v_pyvalue);
jpayne@69 6477 __pyx_r = __pyx_v_pyvalue;
jpayne@69 6478 goto __pyx_L0;
jpayne@69 6479
jpayne@69 6480 /* "cpython/contextvars.pxd":129
jpayne@69 6481 *
jpayne@69 6482 *
jpayne@69 6483 * cdef inline object get_value_no_default(var, default_value=None): # <<<<<<<<<<<<<<
jpayne@69 6484 * """Return a new reference to the value of the context variable,
jpayne@69 6485 * or the provided default value if no such value was found.
jpayne@69 6486 */
jpayne@69 6487
jpayne@69 6488 /* function exit code */
jpayne@69 6489 __pyx_L1_error:;
jpayne@69 6490 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 6491 __Pyx_AddTraceback("cpython.contextvars.get_value_no_default", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 6492 __pyx_r = 0;
jpayne@69 6493 __pyx_L0:;
jpayne@69 6494 __Pyx_XDECREF(__pyx_v_pyvalue);
jpayne@69 6495 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 6496 __Pyx_RefNannyFinishContext();
jpayne@69 6497 return __pyx_r;
jpayne@69 6498 }
jpayne@69 6499
jpayne@69 6500 /* "array.pxd":104
jpayne@69 6501 * __data_union data
jpayne@69 6502 *
jpayne@69 6503 * def __getbuffer__(self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
jpayne@69 6504 * # This implementation of getbuffer is geared towards Cython
jpayne@69 6505 * # requirements, and does not yet fulfill the PEP.
jpayne@69 6506 */
jpayne@69 6507
jpayne@69 6508 /* Python wrapper */
jpayne@69 6509 CYTHON_UNUSED static int __pyx_pw_7cpython_5array_5array_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
jpayne@69 6510 CYTHON_UNUSED static int __pyx_pw_7cpython_5array_5array_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
jpayne@69 6511 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 6512 int __pyx_r;
jpayne@69 6513 __Pyx_RefNannyDeclarations
jpayne@69 6514 __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
jpayne@69 6515 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 6516 __pyx_r = __pyx_pf_7cpython_5array_5array___getbuffer__(((arrayobject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
jpayne@69 6517
jpayne@69 6518 /* function exit code */
jpayne@69 6519 __Pyx_RefNannyFinishContext();
jpayne@69 6520 return __pyx_r;
jpayne@69 6521 }
jpayne@69 6522
jpayne@69 6523 static int __pyx_pf_7cpython_5array_5array___getbuffer__(arrayobject *__pyx_v_self, Py_buffer *__pyx_v_info, CYTHON_UNUSED int __pyx_v_flags) {
jpayne@69 6524 PyObject *__pyx_v_item_count = NULL;
jpayne@69 6525 int __pyx_r;
jpayne@69 6526 __Pyx_RefNannyDeclarations
jpayne@69 6527 PyObject *__pyx_t_1 = NULL;
jpayne@69 6528 char *__pyx_t_2;
jpayne@69 6529 int __pyx_t_3;
jpayne@69 6530 PyObject *__pyx_t_4 = NULL;
jpayne@69 6531 Py_ssize_t __pyx_t_5;
jpayne@69 6532 int __pyx_t_6;
jpayne@69 6533 char __pyx_t_7;
jpayne@69 6534 int __pyx_lineno = 0;
jpayne@69 6535 const char *__pyx_filename = NULL;
jpayne@69 6536 int __pyx_clineno = 0;
jpayne@69 6537 if (unlikely(__pyx_v_info == NULL)) {
jpayne@69 6538 PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");
jpayne@69 6539 return -1;
jpayne@69 6540 }
jpayne@69 6541 __Pyx_RefNannySetupContext("__getbuffer__", 0);
jpayne@69 6542 __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 6543 __Pyx_GIVEREF(__pyx_v_info->obj);
jpayne@69 6544
jpayne@69 6545 /* "array.pxd":109
jpayne@69 6546 * # In particular strided access is always provided regardless
jpayne@69 6547 * # of flags
jpayne@69 6548 * item_count = Py_SIZE(self) # <<<<<<<<<<<<<<
jpayne@69 6549 *
jpayne@69 6550 * info.suboffsets = NULL
jpayne@69 6551 */
jpayne@69 6552 __pyx_t_1 = PyInt_FromSsize_t(Py_SIZE(((PyObject *)__pyx_v_self))); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 109, __pyx_L1_error)
jpayne@69 6553 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 6554 __pyx_v_item_count = __pyx_t_1;
jpayne@69 6555 __pyx_t_1 = 0;
jpayne@69 6556
jpayne@69 6557 /* "array.pxd":111
jpayne@69 6558 * item_count = Py_SIZE(self)
jpayne@69 6559 *
jpayne@69 6560 * info.suboffsets = NULL # <<<<<<<<<<<<<<
jpayne@69 6561 * info.buf = self.data.as_chars
jpayne@69 6562 * info.readonly = 0
jpayne@69 6563 */
jpayne@69 6564 __pyx_v_info->suboffsets = NULL;
jpayne@69 6565
jpayne@69 6566 /* "array.pxd":112
jpayne@69 6567 *
jpayne@69 6568 * info.suboffsets = NULL
jpayne@69 6569 * info.buf = self.data.as_chars # <<<<<<<<<<<<<<
jpayne@69 6570 * info.readonly = 0
jpayne@69 6571 * info.ndim = 1
jpayne@69 6572 */
jpayne@69 6573 __pyx_t_2 = __pyx_v_self->data.as_chars;
jpayne@69 6574 __pyx_v_info->buf = __pyx_t_2;
jpayne@69 6575
jpayne@69 6576 /* "array.pxd":113
jpayne@69 6577 * info.suboffsets = NULL
jpayne@69 6578 * info.buf = self.data.as_chars
jpayne@69 6579 * info.readonly = 0 # <<<<<<<<<<<<<<
jpayne@69 6580 * info.ndim = 1
jpayne@69 6581 * info.itemsize = self.ob_descr.itemsize # e.g. sizeof(float)
jpayne@69 6582 */
jpayne@69 6583 __pyx_v_info->readonly = 0;
jpayne@69 6584
jpayne@69 6585 /* "array.pxd":114
jpayne@69 6586 * info.buf = self.data.as_chars
jpayne@69 6587 * info.readonly = 0
jpayne@69 6588 * info.ndim = 1 # <<<<<<<<<<<<<<
jpayne@69 6589 * info.itemsize = self.ob_descr.itemsize # e.g. sizeof(float)
jpayne@69 6590 * info.len = info.itemsize * item_count
jpayne@69 6591 */
jpayne@69 6592 __pyx_v_info->ndim = 1;
jpayne@69 6593
jpayne@69 6594 /* "array.pxd":115
jpayne@69 6595 * info.readonly = 0
jpayne@69 6596 * info.ndim = 1
jpayne@69 6597 * info.itemsize = self.ob_descr.itemsize # e.g. sizeof(float) # <<<<<<<<<<<<<<
jpayne@69 6598 * info.len = info.itemsize * item_count
jpayne@69 6599 *
jpayne@69 6600 */
jpayne@69 6601 __pyx_t_3 = __pyx_v_self->ob_descr->itemsize;
jpayne@69 6602 __pyx_v_info->itemsize = __pyx_t_3;
jpayne@69 6603
jpayne@69 6604 /* "array.pxd":116
jpayne@69 6605 * info.ndim = 1
jpayne@69 6606 * info.itemsize = self.ob_descr.itemsize # e.g. sizeof(float)
jpayne@69 6607 * info.len = info.itemsize * item_count # <<<<<<<<<<<<<<
jpayne@69 6608 *
jpayne@69 6609 * info.shape = <Py_ssize_t*> PyObject_Malloc(sizeof(Py_ssize_t) + 2)
jpayne@69 6610 */
jpayne@69 6611 __pyx_t_1 = PyInt_FromSsize_t(__pyx_v_info->itemsize); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 116, __pyx_L1_error)
jpayne@69 6612 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 6613 __pyx_t_4 = PyNumber_Multiply(__pyx_t_1, __pyx_v_item_count); if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 116, __pyx_L1_error)
jpayne@69 6614 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 6615 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 6616 __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(3, 116, __pyx_L1_error)
jpayne@69 6617 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 6618 __pyx_v_info->len = __pyx_t_5;
jpayne@69 6619
jpayne@69 6620 /* "array.pxd":118
jpayne@69 6621 * info.len = info.itemsize * item_count
jpayne@69 6622 *
jpayne@69 6623 * info.shape = <Py_ssize_t*> PyObject_Malloc(sizeof(Py_ssize_t) + 2) # <<<<<<<<<<<<<<
jpayne@69 6624 * if not info.shape:
jpayne@69 6625 * raise MemoryError()
jpayne@69 6626 */
jpayne@69 6627 __pyx_v_info->shape = ((Py_ssize_t *)PyObject_Malloc(((sizeof(Py_ssize_t)) + 2)));
jpayne@69 6628
jpayne@69 6629 /* "array.pxd":119
jpayne@69 6630 *
jpayne@69 6631 * info.shape = <Py_ssize_t*> PyObject_Malloc(sizeof(Py_ssize_t) + 2)
jpayne@69 6632 * if not info.shape: # <<<<<<<<<<<<<<
jpayne@69 6633 * raise MemoryError()
jpayne@69 6634 * info.shape[0] = item_count # constant regardless of resizing
jpayne@69 6635 */
jpayne@69 6636 __pyx_t_6 = (!(__pyx_v_info->shape != 0));
jpayne@69 6637 if (unlikely(__pyx_t_6)) {
jpayne@69 6638
jpayne@69 6639 /* "array.pxd":120
jpayne@69 6640 * info.shape = <Py_ssize_t*> PyObject_Malloc(sizeof(Py_ssize_t) + 2)
jpayne@69 6641 * if not info.shape:
jpayne@69 6642 * raise MemoryError() # <<<<<<<<<<<<<<
jpayne@69 6643 * info.shape[0] = item_count # constant regardless of resizing
jpayne@69 6644 * info.strides = &info.itemsize
jpayne@69 6645 */
jpayne@69 6646 PyErr_NoMemory(); __PYX_ERR(3, 120, __pyx_L1_error)
jpayne@69 6647
jpayne@69 6648 /* "array.pxd":119
jpayne@69 6649 *
jpayne@69 6650 * info.shape = <Py_ssize_t*> PyObject_Malloc(sizeof(Py_ssize_t) + 2)
jpayne@69 6651 * if not info.shape: # <<<<<<<<<<<<<<
jpayne@69 6652 * raise MemoryError()
jpayne@69 6653 * info.shape[0] = item_count # constant regardless of resizing
jpayne@69 6654 */
jpayne@69 6655 }
jpayne@69 6656
jpayne@69 6657 /* "array.pxd":121
jpayne@69 6658 * if not info.shape:
jpayne@69 6659 * raise MemoryError()
jpayne@69 6660 * info.shape[0] = item_count # constant regardless of resizing # <<<<<<<<<<<<<<
jpayne@69 6661 * info.strides = &info.itemsize
jpayne@69 6662 *
jpayne@69 6663 */
jpayne@69 6664 __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_v_item_count); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(3, 121, __pyx_L1_error)
jpayne@69 6665 (__pyx_v_info->shape[0]) = __pyx_t_5;
jpayne@69 6666
jpayne@69 6667 /* "array.pxd":122
jpayne@69 6668 * raise MemoryError()
jpayne@69 6669 * info.shape[0] = item_count # constant regardless of resizing
jpayne@69 6670 * info.strides = &info.itemsize # <<<<<<<<<<<<<<
jpayne@69 6671 *
jpayne@69 6672 * info.format = <char*> (info.shape + 1)
jpayne@69 6673 */
jpayne@69 6674 __pyx_v_info->strides = (&__pyx_v_info->itemsize);
jpayne@69 6675
jpayne@69 6676 /* "array.pxd":124
jpayne@69 6677 * info.strides = &info.itemsize
jpayne@69 6678 *
jpayne@69 6679 * info.format = <char*> (info.shape + 1) # <<<<<<<<<<<<<<
jpayne@69 6680 * info.format[0] = self.ob_descr.typecode
jpayne@69 6681 * info.format[1] = 0
jpayne@69 6682 */
jpayne@69 6683 __pyx_v_info->format = ((char *)(__pyx_v_info->shape + 1));
jpayne@69 6684
jpayne@69 6685 /* "array.pxd":125
jpayne@69 6686 *
jpayne@69 6687 * info.format = <char*> (info.shape + 1)
jpayne@69 6688 * info.format[0] = self.ob_descr.typecode # <<<<<<<<<<<<<<
jpayne@69 6689 * info.format[1] = 0
jpayne@69 6690 * info.obj = self
jpayne@69 6691 */
jpayne@69 6692 __pyx_t_7 = __pyx_v_self->ob_descr->typecode;
jpayne@69 6693 (__pyx_v_info->format[0]) = __pyx_t_7;
jpayne@69 6694
jpayne@69 6695 /* "array.pxd":126
jpayne@69 6696 * info.format = <char*> (info.shape + 1)
jpayne@69 6697 * info.format[0] = self.ob_descr.typecode
jpayne@69 6698 * info.format[1] = 0 # <<<<<<<<<<<<<<
jpayne@69 6699 * info.obj = self
jpayne@69 6700 *
jpayne@69 6701 */
jpayne@69 6702 (__pyx_v_info->format[1]) = 0;
jpayne@69 6703
jpayne@69 6704 /* "array.pxd":127
jpayne@69 6705 * info.format[0] = self.ob_descr.typecode
jpayne@69 6706 * info.format[1] = 0
jpayne@69 6707 * info.obj = self # <<<<<<<<<<<<<<
jpayne@69 6708 *
jpayne@69 6709 * def __releasebuffer__(self, Py_buffer* info):
jpayne@69 6710 */
jpayne@69 6711 __Pyx_INCREF((PyObject *)__pyx_v_self);
jpayne@69 6712 __Pyx_GIVEREF((PyObject *)__pyx_v_self);
jpayne@69 6713 __Pyx_GOTREF(__pyx_v_info->obj);
jpayne@69 6714 __Pyx_DECREF(__pyx_v_info->obj);
jpayne@69 6715 __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
jpayne@69 6716
jpayne@69 6717 /* "array.pxd":104
jpayne@69 6718 * __data_union data
jpayne@69 6719 *
jpayne@69 6720 * def __getbuffer__(self, Py_buffer* info, int flags): # <<<<<<<<<<<<<<
jpayne@69 6721 * # This implementation of getbuffer is geared towards Cython
jpayne@69 6722 * # requirements, and does not yet fulfill the PEP.
jpayne@69 6723 */
jpayne@69 6724
jpayne@69 6725 /* function exit code */
jpayne@69 6726 __pyx_r = 0;
jpayne@69 6727 goto __pyx_L0;
jpayne@69 6728 __pyx_L1_error:;
jpayne@69 6729 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 6730 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 6731 __Pyx_AddTraceback("cpython.array.array.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 6732 __pyx_r = -1;
jpayne@69 6733 if (__pyx_v_info->obj != NULL) {
jpayne@69 6734 __Pyx_GOTREF(__pyx_v_info->obj);
jpayne@69 6735 __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
jpayne@69 6736 }
jpayne@69 6737 goto __pyx_L2;
jpayne@69 6738 __pyx_L0:;
jpayne@69 6739 if (__pyx_v_info->obj == Py_None) {
jpayne@69 6740 __Pyx_GOTREF(__pyx_v_info->obj);
jpayne@69 6741 __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;
jpayne@69 6742 }
jpayne@69 6743 __pyx_L2:;
jpayne@69 6744 __Pyx_XDECREF(__pyx_v_item_count);
jpayne@69 6745 __Pyx_RefNannyFinishContext();
jpayne@69 6746 return __pyx_r;
jpayne@69 6747 }
jpayne@69 6748
jpayne@69 6749 /* "array.pxd":129
jpayne@69 6750 * info.obj = self
jpayne@69 6751 *
jpayne@69 6752 * def __releasebuffer__(self, Py_buffer* info): # <<<<<<<<<<<<<<
jpayne@69 6753 * PyObject_Free(info.shape)
jpayne@69 6754 *
jpayne@69 6755 */
jpayne@69 6756
jpayne@69 6757 /* Python wrapper */
jpayne@69 6758 CYTHON_UNUSED static void __pyx_pw_7cpython_5array_5array_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
jpayne@69 6759 CYTHON_UNUSED static void __pyx_pw_7cpython_5array_5array_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
jpayne@69 6760 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 6761 __Pyx_RefNannyDeclarations
jpayne@69 6762 __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
jpayne@69 6763 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 6764 __pyx_pf_7cpython_5array_5array_2__releasebuffer__(((arrayobject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
jpayne@69 6765
jpayne@69 6766 /* function exit code */
jpayne@69 6767 __Pyx_RefNannyFinishContext();
jpayne@69 6768 }
jpayne@69 6769
jpayne@69 6770 static void __pyx_pf_7cpython_5array_5array_2__releasebuffer__(CYTHON_UNUSED arrayobject *__pyx_v_self, Py_buffer *__pyx_v_info) {
jpayne@69 6771
jpayne@69 6772 /* "array.pxd":130
jpayne@69 6773 *
jpayne@69 6774 * def __releasebuffer__(self, Py_buffer* info):
jpayne@69 6775 * PyObject_Free(info.shape) # <<<<<<<<<<<<<<
jpayne@69 6776 *
jpayne@69 6777 * array newarrayobject(PyTypeObject* type, Py_ssize_t size, arraydescr *descr)
jpayne@69 6778 */
jpayne@69 6779 PyObject_Free(__pyx_v_info->shape);
jpayne@69 6780
jpayne@69 6781 /* "array.pxd":129
jpayne@69 6782 * info.obj = self
jpayne@69 6783 *
jpayne@69 6784 * def __releasebuffer__(self, Py_buffer* info): # <<<<<<<<<<<<<<
jpayne@69 6785 * PyObject_Free(info.shape)
jpayne@69 6786 *
jpayne@69 6787 */
jpayne@69 6788
jpayne@69 6789 /* function exit code */
jpayne@69 6790 }
jpayne@69 6791
jpayne@69 6792 /* "array.pxd":141
jpayne@69 6793 *
jpayne@69 6794 *
jpayne@69 6795 * cdef inline array clone(array template, Py_ssize_t length, bint zero): # <<<<<<<<<<<<<<
jpayne@69 6796 * """ fast creation of a new array, given a template array.
jpayne@69 6797 * type will be same as template.
jpayne@69 6798 */
jpayne@69 6799
jpayne@69 6800 static CYTHON_INLINE arrayobject *__pyx_f_7cpython_5array_clone(arrayobject *__pyx_v_template, Py_ssize_t __pyx_v_length, int __pyx_v_zero) {
jpayne@69 6801 arrayobject *__pyx_v_op = 0;
jpayne@69 6802 arrayobject *__pyx_r = NULL;
jpayne@69 6803 __Pyx_RefNannyDeclarations
jpayne@69 6804 PyObject *__pyx_t_1 = NULL;
jpayne@69 6805 int __pyx_t_2;
jpayne@69 6806 int __pyx_t_3;
jpayne@69 6807 int __pyx_lineno = 0;
jpayne@69 6808 const char *__pyx_filename = NULL;
jpayne@69 6809 int __pyx_clineno = 0;
jpayne@69 6810 __Pyx_RefNannySetupContext("clone", 1);
jpayne@69 6811
jpayne@69 6812 /* "array.pxd":145
jpayne@69 6813 * type will be same as template.
jpayne@69 6814 * if zero is true, new array will be initialized with zeroes."""
jpayne@69 6815 * cdef array op = newarrayobject(Py_TYPE(template), length, template.ob_descr) # <<<<<<<<<<<<<<
jpayne@69 6816 * if zero and op is not None:
jpayne@69 6817 * memset(op.data.as_chars, 0, length * op.ob_descr.itemsize)
jpayne@69 6818 */
jpayne@69 6819 __pyx_t_1 = ((PyObject *)newarrayobject(Py_TYPE(((PyObject *)__pyx_v_template)), __pyx_v_length, __pyx_v_template->ob_descr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 145, __pyx_L1_error)
jpayne@69 6820 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 6821 __pyx_v_op = ((arrayobject *)__pyx_t_1);
jpayne@69 6822 __pyx_t_1 = 0;
jpayne@69 6823
jpayne@69 6824 /* "array.pxd":146
jpayne@69 6825 * if zero is true, new array will be initialized with zeroes."""
jpayne@69 6826 * cdef array op = newarrayobject(Py_TYPE(template), length, template.ob_descr)
jpayne@69 6827 * if zero and op is not None: # <<<<<<<<<<<<<<
jpayne@69 6828 * memset(op.data.as_chars, 0, length * op.ob_descr.itemsize)
jpayne@69 6829 * return op
jpayne@69 6830 */
jpayne@69 6831 if (__pyx_v_zero) {
jpayne@69 6832 } else {
jpayne@69 6833 __pyx_t_2 = __pyx_v_zero;
jpayne@69 6834 goto __pyx_L4_bool_binop_done;
jpayne@69 6835 }
jpayne@69 6836 __pyx_t_3 = (((PyObject *)__pyx_v_op) != Py_None);
jpayne@69 6837 __pyx_t_2 = __pyx_t_3;
jpayne@69 6838 __pyx_L4_bool_binop_done:;
jpayne@69 6839 if (__pyx_t_2) {
jpayne@69 6840
jpayne@69 6841 /* "array.pxd":147
jpayne@69 6842 * cdef array op = newarrayobject(Py_TYPE(template), length, template.ob_descr)
jpayne@69 6843 * if zero and op is not None:
jpayne@69 6844 * memset(op.data.as_chars, 0, length * op.ob_descr.itemsize) # <<<<<<<<<<<<<<
jpayne@69 6845 * return op
jpayne@69 6846 *
jpayne@69 6847 */
jpayne@69 6848 (void)(memset(__pyx_v_op->data.as_chars, 0, (__pyx_v_length * __pyx_v_op->ob_descr->itemsize)));
jpayne@69 6849
jpayne@69 6850 /* "array.pxd":146
jpayne@69 6851 * if zero is true, new array will be initialized with zeroes."""
jpayne@69 6852 * cdef array op = newarrayobject(Py_TYPE(template), length, template.ob_descr)
jpayne@69 6853 * if zero and op is not None: # <<<<<<<<<<<<<<
jpayne@69 6854 * memset(op.data.as_chars, 0, length * op.ob_descr.itemsize)
jpayne@69 6855 * return op
jpayne@69 6856 */
jpayne@69 6857 }
jpayne@69 6858
jpayne@69 6859 /* "array.pxd":148
jpayne@69 6860 * if zero and op is not None:
jpayne@69 6861 * memset(op.data.as_chars, 0, length * op.ob_descr.itemsize)
jpayne@69 6862 * return op # <<<<<<<<<<<<<<
jpayne@69 6863 *
jpayne@69 6864 * cdef inline array copy(array self):
jpayne@69 6865 */
jpayne@69 6866 __Pyx_XDECREF((PyObject *)__pyx_r);
jpayne@69 6867 __Pyx_INCREF((PyObject *)__pyx_v_op);
jpayne@69 6868 __pyx_r = __pyx_v_op;
jpayne@69 6869 goto __pyx_L0;
jpayne@69 6870
jpayne@69 6871 /* "array.pxd":141
jpayne@69 6872 *
jpayne@69 6873 *
jpayne@69 6874 * cdef inline array clone(array template, Py_ssize_t length, bint zero): # <<<<<<<<<<<<<<
jpayne@69 6875 * """ fast creation of a new array, given a template array.
jpayne@69 6876 * type will be same as template.
jpayne@69 6877 */
jpayne@69 6878
jpayne@69 6879 /* function exit code */
jpayne@69 6880 __pyx_L1_error:;
jpayne@69 6881 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 6882 __Pyx_AddTraceback("cpython.array.clone", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 6883 __pyx_r = 0;
jpayne@69 6884 __pyx_L0:;
jpayne@69 6885 __Pyx_XDECREF((PyObject *)__pyx_v_op);
jpayne@69 6886 __Pyx_XGIVEREF((PyObject *)__pyx_r);
jpayne@69 6887 __Pyx_RefNannyFinishContext();
jpayne@69 6888 return __pyx_r;
jpayne@69 6889 }
jpayne@69 6890
jpayne@69 6891 /* "array.pxd":150
jpayne@69 6892 * return op
jpayne@69 6893 *
jpayne@69 6894 * cdef inline array copy(array self): # <<<<<<<<<<<<<<
jpayne@69 6895 * """ make a copy of an array. """
jpayne@69 6896 * cdef array op = newarrayobject(Py_TYPE(self), Py_SIZE(self), self.ob_descr)
jpayne@69 6897 */
jpayne@69 6898
jpayne@69 6899 static CYTHON_INLINE arrayobject *__pyx_f_7cpython_5array_copy(arrayobject *__pyx_v_self) {
jpayne@69 6900 arrayobject *__pyx_v_op = 0;
jpayne@69 6901 arrayobject *__pyx_r = NULL;
jpayne@69 6902 __Pyx_RefNannyDeclarations
jpayne@69 6903 PyObject *__pyx_t_1 = NULL;
jpayne@69 6904 int __pyx_lineno = 0;
jpayne@69 6905 const char *__pyx_filename = NULL;
jpayne@69 6906 int __pyx_clineno = 0;
jpayne@69 6907 __Pyx_RefNannySetupContext("copy", 1);
jpayne@69 6908
jpayne@69 6909 /* "array.pxd":152
jpayne@69 6910 * cdef inline array copy(array self):
jpayne@69 6911 * """ make a copy of an array. """
jpayne@69 6912 * cdef array op = newarrayobject(Py_TYPE(self), Py_SIZE(self), self.ob_descr) # <<<<<<<<<<<<<<
jpayne@69 6913 * memcpy(op.data.as_chars, self.data.as_chars, Py_SIZE(op) * op.ob_descr.itemsize)
jpayne@69 6914 * return op
jpayne@69 6915 */
jpayne@69 6916 __pyx_t_1 = ((PyObject *)newarrayobject(Py_TYPE(((PyObject *)__pyx_v_self)), Py_SIZE(((PyObject *)__pyx_v_self)), __pyx_v_self->ob_descr)); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 152, __pyx_L1_error)
jpayne@69 6917 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 6918 __pyx_v_op = ((arrayobject *)__pyx_t_1);
jpayne@69 6919 __pyx_t_1 = 0;
jpayne@69 6920
jpayne@69 6921 /* "array.pxd":153
jpayne@69 6922 * """ make a copy of an array. """
jpayne@69 6923 * cdef array op = newarrayobject(Py_TYPE(self), Py_SIZE(self), self.ob_descr)
jpayne@69 6924 * memcpy(op.data.as_chars, self.data.as_chars, Py_SIZE(op) * op.ob_descr.itemsize) # <<<<<<<<<<<<<<
jpayne@69 6925 * return op
jpayne@69 6926 *
jpayne@69 6927 */
jpayne@69 6928 (void)(memcpy(__pyx_v_op->data.as_chars, __pyx_v_self->data.as_chars, (Py_SIZE(((PyObject *)__pyx_v_op)) * __pyx_v_op->ob_descr->itemsize)));
jpayne@69 6929
jpayne@69 6930 /* "array.pxd":154
jpayne@69 6931 * cdef array op = newarrayobject(Py_TYPE(self), Py_SIZE(self), self.ob_descr)
jpayne@69 6932 * memcpy(op.data.as_chars, self.data.as_chars, Py_SIZE(op) * op.ob_descr.itemsize)
jpayne@69 6933 * return op # <<<<<<<<<<<<<<
jpayne@69 6934 *
jpayne@69 6935 * cdef inline int extend_buffer(array self, char* stuff, Py_ssize_t n) except -1:
jpayne@69 6936 */
jpayne@69 6937 __Pyx_XDECREF((PyObject *)__pyx_r);
jpayne@69 6938 __Pyx_INCREF((PyObject *)__pyx_v_op);
jpayne@69 6939 __pyx_r = __pyx_v_op;
jpayne@69 6940 goto __pyx_L0;
jpayne@69 6941
jpayne@69 6942 /* "array.pxd":150
jpayne@69 6943 * return op
jpayne@69 6944 *
jpayne@69 6945 * cdef inline array copy(array self): # <<<<<<<<<<<<<<
jpayne@69 6946 * """ make a copy of an array. """
jpayne@69 6947 * cdef array op = newarrayobject(Py_TYPE(self), Py_SIZE(self), self.ob_descr)
jpayne@69 6948 */
jpayne@69 6949
jpayne@69 6950 /* function exit code */
jpayne@69 6951 __pyx_L1_error:;
jpayne@69 6952 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 6953 __Pyx_AddTraceback("cpython.array.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 6954 __pyx_r = 0;
jpayne@69 6955 __pyx_L0:;
jpayne@69 6956 __Pyx_XDECREF((PyObject *)__pyx_v_op);
jpayne@69 6957 __Pyx_XGIVEREF((PyObject *)__pyx_r);
jpayne@69 6958 __Pyx_RefNannyFinishContext();
jpayne@69 6959 return __pyx_r;
jpayne@69 6960 }
jpayne@69 6961
jpayne@69 6962 /* "array.pxd":156
jpayne@69 6963 * return op
jpayne@69 6964 *
jpayne@69 6965 * cdef inline int extend_buffer(array self, char* stuff, Py_ssize_t n) except -1: # <<<<<<<<<<<<<<
jpayne@69 6966 * """ efficient appending of new stuff of same type
jpayne@69 6967 * (e.g. of same array type)
jpayne@69 6968 */
jpayne@69 6969
jpayne@69 6970 static CYTHON_INLINE int __pyx_f_7cpython_5array_extend_buffer(arrayobject *__pyx_v_self, char *__pyx_v_stuff, Py_ssize_t __pyx_v_n) {
jpayne@69 6971 Py_ssize_t __pyx_v_itemsize;
jpayne@69 6972 Py_ssize_t __pyx_v_origsize;
jpayne@69 6973 int __pyx_r;
jpayne@69 6974 int __pyx_t_1;
jpayne@69 6975 int __pyx_lineno = 0;
jpayne@69 6976 const char *__pyx_filename = NULL;
jpayne@69 6977 int __pyx_clineno = 0;
jpayne@69 6978
jpayne@69 6979 /* "array.pxd":160
jpayne@69 6980 * (e.g. of same array type)
jpayne@69 6981 * n: number of elements (not number of bytes!) """
jpayne@69 6982 * cdef Py_ssize_t itemsize = self.ob_descr.itemsize # <<<<<<<<<<<<<<
jpayne@69 6983 * cdef Py_ssize_t origsize = Py_SIZE(self)
jpayne@69 6984 * resize_smart(self, origsize + n)
jpayne@69 6985 */
jpayne@69 6986 __pyx_t_1 = __pyx_v_self->ob_descr->itemsize;
jpayne@69 6987 __pyx_v_itemsize = __pyx_t_1;
jpayne@69 6988
jpayne@69 6989 /* "array.pxd":161
jpayne@69 6990 * n: number of elements (not number of bytes!) """
jpayne@69 6991 * cdef Py_ssize_t itemsize = self.ob_descr.itemsize
jpayne@69 6992 * cdef Py_ssize_t origsize = Py_SIZE(self) # <<<<<<<<<<<<<<
jpayne@69 6993 * resize_smart(self, origsize + n)
jpayne@69 6994 * memcpy(self.data.as_chars + origsize * itemsize, stuff, n * itemsize)
jpayne@69 6995 */
jpayne@69 6996 __pyx_v_origsize = Py_SIZE(((PyObject *)__pyx_v_self));
jpayne@69 6997
jpayne@69 6998 /* "array.pxd":162
jpayne@69 6999 * cdef Py_ssize_t itemsize = self.ob_descr.itemsize
jpayne@69 7000 * cdef Py_ssize_t origsize = Py_SIZE(self)
jpayne@69 7001 * resize_smart(self, origsize + n) # <<<<<<<<<<<<<<
jpayne@69 7002 * memcpy(self.data.as_chars + origsize * itemsize, stuff, n * itemsize)
jpayne@69 7003 * return 0
jpayne@69 7004 */
jpayne@69 7005 __pyx_t_1 = resize_smart(__pyx_v_self, (__pyx_v_origsize + __pyx_v_n)); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(3, 162, __pyx_L1_error)
jpayne@69 7006
jpayne@69 7007 /* "array.pxd":163
jpayne@69 7008 * cdef Py_ssize_t origsize = Py_SIZE(self)
jpayne@69 7009 * resize_smart(self, origsize + n)
jpayne@69 7010 * memcpy(self.data.as_chars + origsize * itemsize, stuff, n * itemsize) # <<<<<<<<<<<<<<
jpayne@69 7011 * return 0
jpayne@69 7012 *
jpayne@69 7013 */
jpayne@69 7014 (void)(memcpy((__pyx_v_self->data.as_chars + (__pyx_v_origsize * __pyx_v_itemsize)), __pyx_v_stuff, (__pyx_v_n * __pyx_v_itemsize)));
jpayne@69 7015
jpayne@69 7016 /* "array.pxd":164
jpayne@69 7017 * resize_smart(self, origsize + n)
jpayne@69 7018 * memcpy(self.data.as_chars + origsize * itemsize, stuff, n * itemsize)
jpayne@69 7019 * return 0 # <<<<<<<<<<<<<<
jpayne@69 7020 *
jpayne@69 7021 * cdef inline int extend(array self, array other) except -1:
jpayne@69 7022 */
jpayne@69 7023 __pyx_r = 0;
jpayne@69 7024 goto __pyx_L0;
jpayne@69 7025
jpayne@69 7026 /* "array.pxd":156
jpayne@69 7027 * return op
jpayne@69 7028 *
jpayne@69 7029 * cdef inline int extend_buffer(array self, char* stuff, Py_ssize_t n) except -1: # <<<<<<<<<<<<<<
jpayne@69 7030 * """ efficient appending of new stuff of same type
jpayne@69 7031 * (e.g. of same array type)
jpayne@69 7032 */
jpayne@69 7033
jpayne@69 7034 /* function exit code */
jpayne@69 7035 __pyx_L1_error:;
jpayne@69 7036 __Pyx_AddTraceback("cpython.array.extend_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 7037 __pyx_r = -1;
jpayne@69 7038 __pyx_L0:;
jpayne@69 7039 return __pyx_r;
jpayne@69 7040 }
jpayne@69 7041
jpayne@69 7042 /* "array.pxd":166
jpayne@69 7043 * return 0
jpayne@69 7044 *
jpayne@69 7045 * cdef inline int extend(array self, array other) except -1: # <<<<<<<<<<<<<<
jpayne@69 7046 * """ extend array with data from another array; types must match. """
jpayne@69 7047 * if self.ob_descr.typecode != other.ob_descr.typecode:
jpayne@69 7048 */
jpayne@69 7049
jpayne@69 7050 static CYTHON_INLINE int __pyx_f_7cpython_5array_extend(arrayobject *__pyx_v_self, arrayobject *__pyx_v_other) {
jpayne@69 7051 int __pyx_r;
jpayne@69 7052 int __pyx_t_1;
jpayne@69 7053 int __pyx_t_2;
jpayne@69 7054 int __pyx_lineno = 0;
jpayne@69 7055 const char *__pyx_filename = NULL;
jpayne@69 7056 int __pyx_clineno = 0;
jpayne@69 7057
jpayne@69 7058 /* "array.pxd":168
jpayne@69 7059 * cdef inline int extend(array self, array other) except -1:
jpayne@69 7060 * """ extend array with data from another array; types must match. """
jpayne@69 7061 * if self.ob_descr.typecode != other.ob_descr.typecode: # <<<<<<<<<<<<<<
jpayne@69 7062 * PyErr_BadArgument()
jpayne@69 7063 * return extend_buffer(self, other.data.as_chars, Py_SIZE(other))
jpayne@69 7064 */
jpayne@69 7065 __pyx_t_1 = (__pyx_v_self->ob_descr->typecode != __pyx_v_other->ob_descr->typecode);
jpayne@69 7066 if (__pyx_t_1) {
jpayne@69 7067
jpayne@69 7068 /* "array.pxd":169
jpayne@69 7069 * """ extend array with data from another array; types must match. """
jpayne@69 7070 * if self.ob_descr.typecode != other.ob_descr.typecode:
jpayne@69 7071 * PyErr_BadArgument() # <<<<<<<<<<<<<<
jpayne@69 7072 * return extend_buffer(self, other.data.as_chars, Py_SIZE(other))
jpayne@69 7073 *
jpayne@69 7074 */
jpayne@69 7075 __pyx_t_2 = PyErr_BadArgument(); if (unlikely(__pyx_t_2 == ((int)0))) __PYX_ERR(3, 169, __pyx_L1_error)
jpayne@69 7076
jpayne@69 7077 /* "array.pxd":168
jpayne@69 7078 * cdef inline int extend(array self, array other) except -1:
jpayne@69 7079 * """ extend array with data from another array; types must match. """
jpayne@69 7080 * if self.ob_descr.typecode != other.ob_descr.typecode: # <<<<<<<<<<<<<<
jpayne@69 7081 * PyErr_BadArgument()
jpayne@69 7082 * return extend_buffer(self, other.data.as_chars, Py_SIZE(other))
jpayne@69 7083 */
jpayne@69 7084 }
jpayne@69 7085
jpayne@69 7086 /* "array.pxd":170
jpayne@69 7087 * if self.ob_descr.typecode != other.ob_descr.typecode:
jpayne@69 7088 * PyErr_BadArgument()
jpayne@69 7089 * return extend_buffer(self, other.data.as_chars, Py_SIZE(other)) # <<<<<<<<<<<<<<
jpayne@69 7090 *
jpayne@69 7091 * cdef inline void zero(array self) noexcept:
jpayne@69 7092 */
jpayne@69 7093 __pyx_t_2 = __pyx_f_7cpython_5array_extend_buffer(__pyx_v_self, __pyx_v_other->data.as_chars, Py_SIZE(((PyObject *)__pyx_v_other))); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(3, 170, __pyx_L1_error)
jpayne@69 7094 __pyx_r = __pyx_t_2;
jpayne@69 7095 goto __pyx_L0;
jpayne@69 7096
jpayne@69 7097 /* "array.pxd":166
jpayne@69 7098 * return 0
jpayne@69 7099 *
jpayne@69 7100 * cdef inline int extend(array self, array other) except -1: # <<<<<<<<<<<<<<
jpayne@69 7101 * """ extend array with data from another array; types must match. """
jpayne@69 7102 * if self.ob_descr.typecode != other.ob_descr.typecode:
jpayne@69 7103 */
jpayne@69 7104
jpayne@69 7105 /* function exit code */
jpayne@69 7106 __pyx_L1_error:;
jpayne@69 7107 __Pyx_AddTraceback("cpython.array.extend", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 7108 __pyx_r = -1;
jpayne@69 7109 __pyx_L0:;
jpayne@69 7110 return __pyx_r;
jpayne@69 7111 }
jpayne@69 7112
jpayne@69 7113 /* "array.pxd":172
jpayne@69 7114 * return extend_buffer(self, other.data.as_chars, Py_SIZE(other))
jpayne@69 7115 *
jpayne@69 7116 * cdef inline void zero(array self) noexcept: # <<<<<<<<<<<<<<
jpayne@69 7117 * """ set all elements of array to zero. """
jpayne@69 7118 * memset(self.data.as_chars, 0, Py_SIZE(self) * self.ob_descr.itemsize)
jpayne@69 7119 */
jpayne@69 7120
jpayne@69 7121 static CYTHON_INLINE void __pyx_f_7cpython_5array_zero(arrayobject *__pyx_v_self) {
jpayne@69 7122
jpayne@69 7123 /* "array.pxd":174
jpayne@69 7124 * cdef inline void zero(array self) noexcept:
jpayne@69 7125 * """ set all elements of array to zero. """
jpayne@69 7126 * memset(self.data.as_chars, 0, Py_SIZE(self) * self.ob_descr.itemsize) # <<<<<<<<<<<<<<
jpayne@69 7127 */
jpayne@69 7128 (void)(memset(__pyx_v_self->data.as_chars, 0, (Py_SIZE(((PyObject *)__pyx_v_self)) * __pyx_v_self->ob_descr->itemsize)));
jpayne@69 7129
jpayne@69 7130 /* "array.pxd":172
jpayne@69 7131 * return extend_buffer(self, other.data.as_chars, Py_SIZE(other))
jpayne@69 7132 *
jpayne@69 7133 * cdef inline void zero(array self) noexcept: # <<<<<<<<<<<<<<
jpayne@69 7134 * """ set all elements of array to zero. """
jpayne@69 7135 * memset(self.data.as_chars, 0, Py_SIZE(self) * self.ob_descr.itemsize)
jpayne@69 7136 */
jpayne@69 7137
jpayne@69 7138 /* function exit code */
jpayne@69 7139 }
jpayne@69 7140
jpayne@69 7141 /* "pysam/libctabixproxies.pyx":15
jpayne@69 7142 *
jpayne@69 7143 *
jpayne@69 7144 * cdef char *StrOrEmpty(char * buffer): # <<<<<<<<<<<<<<
jpayne@69 7145 * if buffer == NULL:
jpayne@69 7146 * return ""
jpayne@69 7147 */
jpayne@69 7148
jpayne@69 7149 static char *__pyx_f_5pysam_16libctabixproxies_StrOrEmpty(char *__pyx_v_buffer) {
jpayne@69 7150 char *__pyx_r;
jpayne@69 7151 int __pyx_t_1;
jpayne@69 7152
jpayne@69 7153 /* "pysam/libctabixproxies.pyx":16
jpayne@69 7154 *
jpayne@69 7155 * cdef char *StrOrEmpty(char * buffer):
jpayne@69 7156 * if buffer == NULL: # <<<<<<<<<<<<<<
jpayne@69 7157 * return ""
jpayne@69 7158 * else: return buffer
jpayne@69 7159 */
jpayne@69 7160 __pyx_t_1 = (__pyx_v_buffer == NULL);
jpayne@69 7161 if (__pyx_t_1) {
jpayne@69 7162
jpayne@69 7163 /* "pysam/libctabixproxies.pyx":17
jpayne@69 7164 * cdef char *StrOrEmpty(char * buffer):
jpayne@69 7165 * if buffer == NULL:
jpayne@69 7166 * return "" # <<<<<<<<<<<<<<
jpayne@69 7167 * else: return buffer
jpayne@69 7168 *
jpayne@69 7169 */
jpayne@69 7170 __pyx_r = ((char *)"");
jpayne@69 7171 goto __pyx_L0;
jpayne@69 7172
jpayne@69 7173 /* "pysam/libctabixproxies.pyx":16
jpayne@69 7174 *
jpayne@69 7175 * cdef char *StrOrEmpty(char * buffer):
jpayne@69 7176 * if buffer == NULL: # <<<<<<<<<<<<<<
jpayne@69 7177 * return ""
jpayne@69 7178 * else: return buffer
jpayne@69 7179 */
jpayne@69 7180 }
jpayne@69 7181
jpayne@69 7182 /* "pysam/libctabixproxies.pyx":18
jpayne@69 7183 * if buffer == NULL:
jpayne@69 7184 * return ""
jpayne@69 7185 * else: return buffer # <<<<<<<<<<<<<<
jpayne@69 7186 *
jpayne@69 7187 *
jpayne@69 7188 */
jpayne@69 7189 /*else*/ {
jpayne@69 7190 __pyx_r = __pyx_v_buffer;
jpayne@69 7191 goto __pyx_L0;
jpayne@69 7192 }
jpayne@69 7193
jpayne@69 7194 /* "pysam/libctabixproxies.pyx":15
jpayne@69 7195 *
jpayne@69 7196 *
jpayne@69 7197 * cdef char *StrOrEmpty(char * buffer): # <<<<<<<<<<<<<<
jpayne@69 7198 * if buffer == NULL:
jpayne@69 7199 * return ""
jpayne@69 7200 */
jpayne@69 7201
jpayne@69 7202 /* function exit code */
jpayne@69 7203 __pyx_L0:;
jpayne@69 7204 return __pyx_r;
jpayne@69 7205 }
jpayne@69 7206
jpayne@69 7207 /* "pysam/libctabixproxies.pyx":21
jpayne@69 7208 *
jpayne@69 7209 *
jpayne@69 7210 * cdef int isNew(char * p, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 7211 * """return True if `p` is located within `buffer` of size
jpayne@69 7212 * `nbytes`
jpayne@69 7213 */
jpayne@69 7214
jpayne@69 7215 static int __pyx_f_5pysam_16libctabixproxies_isNew(char *__pyx_v_p, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
jpayne@69 7216 int __pyx_r;
jpayne@69 7217 int __pyx_t_1;
jpayne@69 7218
jpayne@69 7219 /* "pysam/libctabixproxies.pyx":25
jpayne@69 7220 * `nbytes`
jpayne@69 7221 * """
jpayne@69 7222 * if p == NULL: # <<<<<<<<<<<<<<
jpayne@69 7223 * return 0
jpayne@69 7224 *
jpayne@69 7225 */
jpayne@69 7226 __pyx_t_1 = (__pyx_v_p == NULL);
jpayne@69 7227 if (__pyx_t_1) {
jpayne@69 7228
jpayne@69 7229 /* "pysam/libctabixproxies.pyx":26
jpayne@69 7230 * """
jpayne@69 7231 * if p == NULL:
jpayne@69 7232 * return 0 # <<<<<<<<<<<<<<
jpayne@69 7233 *
jpayne@69 7234 * return not (buffer <= p <= buffer + nbytes)
jpayne@69 7235 */
jpayne@69 7236 __pyx_r = 0;
jpayne@69 7237 goto __pyx_L0;
jpayne@69 7238
jpayne@69 7239 /* "pysam/libctabixproxies.pyx":25
jpayne@69 7240 * `nbytes`
jpayne@69 7241 * """
jpayne@69 7242 * if p == NULL: # <<<<<<<<<<<<<<
jpayne@69 7243 * return 0
jpayne@69 7244 *
jpayne@69 7245 */
jpayne@69 7246 }
jpayne@69 7247
jpayne@69 7248 /* "pysam/libctabixproxies.pyx":28
jpayne@69 7249 * return 0
jpayne@69 7250 *
jpayne@69 7251 * return not (buffer <= p <= buffer + nbytes) # <<<<<<<<<<<<<<
jpayne@69 7252 *
jpayne@69 7253 *
jpayne@69 7254 */
jpayne@69 7255 __pyx_t_1 = (__pyx_v_buffer <= __pyx_v_p);
jpayne@69 7256 if (__pyx_t_1) {
jpayne@69 7257 __pyx_t_1 = (__pyx_v_p <= (__pyx_v_buffer + __pyx_v_nbytes));
jpayne@69 7258 }
jpayne@69 7259 __pyx_r = (!__pyx_t_1);
jpayne@69 7260 goto __pyx_L0;
jpayne@69 7261
jpayne@69 7262 /* "pysam/libctabixproxies.pyx":21
jpayne@69 7263 *
jpayne@69 7264 *
jpayne@69 7265 * cdef int isNew(char * p, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 7266 * """return True if `p` is located within `buffer` of size
jpayne@69 7267 * `nbytes`
jpayne@69 7268 */
jpayne@69 7269
jpayne@69 7270 /* function exit code */
jpayne@69 7271 __pyx_L0:;
jpayne@69 7272 return __pyx_r;
jpayne@69 7273 }
jpayne@69 7274
jpayne@69 7275 /* "pysam/libctabixproxies.pyx":42
jpayne@69 7276 * '''
jpayne@69 7277 *
jpayne@69 7278 * def __cinit__(self, encoding="ascii"): # <<<<<<<<<<<<<<
jpayne@69 7279 * self.data = NULL
jpayne@69 7280 * self.fields = NULL
jpayne@69 7281 */
jpayne@69 7282
jpayne@69 7283 /* Python wrapper */
jpayne@69 7284 static int __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
jpayne@69 7285 static int __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
jpayne@69 7286 PyObject *__pyx_v_encoding = 0;
jpayne@69 7287 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 7288 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 7289 PyObject* values[1] = {0};
jpayne@69 7290 int __pyx_lineno = 0;
jpayne@69 7291 const char *__pyx_filename = NULL;
jpayne@69 7292 int __pyx_clineno = 0;
jpayne@69 7293 int __pyx_r;
jpayne@69 7294 __Pyx_RefNannyDeclarations
jpayne@69 7295 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
jpayne@69 7296 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 7297 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 7298 #else
jpayne@69 7299 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
jpayne@69 7300 #endif
jpayne@69 7301 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 7302 {
jpayne@69 7303 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_encoding,0};
jpayne@69 7304 values[0] = __Pyx_Arg_NewRef_VARARGS(((PyObject *)__pyx_n_u_ascii));
jpayne@69 7305 if (__pyx_kwds) {
jpayne@69 7306 Py_ssize_t kw_args;
jpayne@69 7307 switch (__pyx_nargs) {
jpayne@69 7308 case 1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
jpayne@69 7309 CYTHON_FALLTHROUGH;
jpayne@69 7310 case 0: break;
jpayne@69 7311 default: goto __pyx_L5_argtuple_error;
jpayne@69 7312 }
jpayne@69 7313 kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
jpayne@69 7314 switch (__pyx_nargs) {
jpayne@69 7315 case 0:
jpayne@69 7316 if (kw_args > 0) {
jpayne@69 7317 PyObject* value = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding);
jpayne@69 7318 if (value) { values[0] = __Pyx_Arg_NewRef_VARARGS(value); kw_args--; }
jpayne@69 7319 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 42, __pyx_L3_error)
jpayne@69 7320 }
jpayne@69 7321 }
jpayne@69 7322 if (unlikely(kw_args > 0)) {
jpayne@69 7323 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 7324 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__cinit__") < 0)) __PYX_ERR(0, 42, __pyx_L3_error)
jpayne@69 7325 }
jpayne@69 7326 } else {
jpayne@69 7327 switch (__pyx_nargs) {
jpayne@69 7328 case 1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
jpayne@69 7329 CYTHON_FALLTHROUGH;
jpayne@69 7330 case 0: break;
jpayne@69 7331 default: goto __pyx_L5_argtuple_error;
jpayne@69 7332 }
jpayne@69 7333 }
jpayne@69 7334 __pyx_v_encoding = values[0];
jpayne@69 7335 }
jpayne@69 7336 goto __pyx_L6_skip;
jpayne@69 7337 __pyx_L5_argtuple_error:;
jpayne@69 7338 __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 0, 1, __pyx_nargs); __PYX_ERR(0, 42, __pyx_L3_error)
jpayne@69 7339 __pyx_L6_skip:;
jpayne@69 7340 goto __pyx_L4_argument_unpacking_done;
jpayne@69 7341 __pyx_L3_error:;
jpayne@69 7342 {
jpayne@69 7343 Py_ssize_t __pyx_temp;
jpayne@69 7344 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 7345 __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
jpayne@69 7346 }
jpayne@69 7347 }
jpayne@69 7348 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 7349 __Pyx_RefNannyFinishContext();
jpayne@69 7350 return -1;
jpayne@69 7351 __pyx_L4_argument_unpacking_done:;
jpayne@69 7352 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy___cinit__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), __pyx_v_encoding);
jpayne@69 7353
jpayne@69 7354 /* function exit code */
jpayne@69 7355 {
jpayne@69 7356 Py_ssize_t __pyx_temp;
jpayne@69 7357 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 7358 __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
jpayne@69 7359 }
jpayne@69 7360 }
jpayne@69 7361 __Pyx_RefNannyFinishContext();
jpayne@69 7362 return __pyx_r;
jpayne@69 7363 }
jpayne@69 7364
jpayne@69 7365 static int __pyx_pf_5pysam_16libctabixproxies_10TupleProxy___cinit__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_encoding) {
jpayne@69 7366 int __pyx_r;
jpayne@69 7367 __Pyx_RefNannyDeclarations
jpayne@69 7368 __Pyx_RefNannySetupContext("__cinit__", 1);
jpayne@69 7369
jpayne@69 7370 /* "pysam/libctabixproxies.pyx":43
jpayne@69 7371 *
jpayne@69 7372 * def __cinit__(self, encoding="ascii"):
jpayne@69 7373 * self.data = NULL # <<<<<<<<<<<<<<
jpayne@69 7374 * self.fields = NULL
jpayne@69 7375 * self.nbytes = 0
jpayne@69 7376 */
jpayne@69 7377 __pyx_v_self->data = NULL;
jpayne@69 7378
jpayne@69 7379 /* "pysam/libctabixproxies.pyx":44
jpayne@69 7380 * def __cinit__(self, encoding="ascii"):
jpayne@69 7381 * self.data = NULL
jpayne@69 7382 * self.fields = NULL # <<<<<<<<<<<<<<
jpayne@69 7383 * self.nbytes = 0
jpayne@69 7384 * self.is_modified = 0
jpayne@69 7385 */
jpayne@69 7386 __pyx_v_self->fields = NULL;
jpayne@69 7387
jpayne@69 7388 /* "pysam/libctabixproxies.pyx":45
jpayne@69 7389 * self.data = NULL
jpayne@69 7390 * self.fields = NULL
jpayne@69 7391 * self.nbytes = 0 # <<<<<<<<<<<<<<
jpayne@69 7392 * self.is_modified = 0
jpayne@69 7393 * self.nfields = 0
jpayne@69 7394 */
jpayne@69 7395 __pyx_v_self->nbytes = 0;
jpayne@69 7396
jpayne@69 7397 /* "pysam/libctabixproxies.pyx":46
jpayne@69 7398 * self.fields = NULL
jpayne@69 7399 * self.nbytes = 0
jpayne@69 7400 * self.is_modified = 0 # <<<<<<<<<<<<<<
jpayne@69 7401 * self.nfields = 0
jpayne@69 7402 * # start counting at field offset
jpayne@69 7403 */
jpayne@69 7404 __pyx_v_self->is_modified = 0;
jpayne@69 7405
jpayne@69 7406 /* "pysam/libctabixproxies.pyx":47
jpayne@69 7407 * self.nbytes = 0
jpayne@69 7408 * self.is_modified = 0
jpayne@69 7409 * self.nfields = 0 # <<<<<<<<<<<<<<
jpayne@69 7410 * # start counting at field offset
jpayne@69 7411 * self.offset = 0
jpayne@69 7412 */
jpayne@69 7413 __pyx_v_self->nfields = 0;
jpayne@69 7414
jpayne@69 7415 /* "pysam/libctabixproxies.pyx":49
jpayne@69 7416 * self.nfields = 0
jpayne@69 7417 * # start counting at field offset
jpayne@69 7418 * self.offset = 0 # <<<<<<<<<<<<<<
jpayne@69 7419 * self.encoding = encoding
jpayne@69 7420 *
jpayne@69 7421 */
jpayne@69 7422 __pyx_v_self->offset = 0;
jpayne@69 7423
jpayne@69 7424 /* "pysam/libctabixproxies.pyx":50
jpayne@69 7425 * # start counting at field offset
jpayne@69 7426 * self.offset = 0
jpayne@69 7427 * self.encoding = encoding # <<<<<<<<<<<<<<
jpayne@69 7428 *
jpayne@69 7429 * def __dealloc__(self):
jpayne@69 7430 */
jpayne@69 7431 __Pyx_INCREF(__pyx_v_encoding);
jpayne@69 7432 __Pyx_GIVEREF(__pyx_v_encoding);
jpayne@69 7433 __Pyx_GOTREF(__pyx_v_self->encoding);
jpayne@69 7434 __Pyx_DECREF(__pyx_v_self->encoding);
jpayne@69 7435 __pyx_v_self->encoding = __pyx_v_encoding;
jpayne@69 7436
jpayne@69 7437 /* "pysam/libctabixproxies.pyx":42
jpayne@69 7438 * '''
jpayne@69 7439 *
jpayne@69 7440 * def __cinit__(self, encoding="ascii"): # <<<<<<<<<<<<<<
jpayne@69 7441 * self.data = NULL
jpayne@69 7442 * self.fields = NULL
jpayne@69 7443 */
jpayne@69 7444
jpayne@69 7445 /* function exit code */
jpayne@69 7446 __pyx_r = 0;
jpayne@69 7447 __Pyx_RefNannyFinishContext();
jpayne@69 7448 return __pyx_r;
jpayne@69 7449 }
jpayne@69 7450
jpayne@69 7451 /* "pysam/libctabixproxies.pyx":52
jpayne@69 7452 * self.encoding = encoding
jpayne@69 7453 *
jpayne@69 7454 * def __dealloc__(self): # <<<<<<<<<<<<<<
jpayne@69 7455 * cdef int x
jpayne@69 7456 * if self.is_modified:
jpayne@69 7457 */
jpayne@69 7458
jpayne@69 7459 /* Python wrapper */
jpayne@69 7460 static void __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 7461 static void __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_3__dealloc__(PyObject *__pyx_v_self) {
jpayne@69 7462 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 7463 __Pyx_RefNannyDeclarations
jpayne@69 7464 __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
jpayne@69 7465 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 7466 __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_2__dealloc__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self));
jpayne@69 7467
jpayne@69 7468 /* function exit code */
jpayne@69 7469 __Pyx_RefNannyFinishContext();
jpayne@69 7470 }
jpayne@69 7471
jpayne@69 7472 static void __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_2__dealloc__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self) {
jpayne@69 7473 int __pyx_v_x;
jpayne@69 7474 int __pyx_t_1;
jpayne@69 7475 int __pyx_t_2;
jpayne@69 7476 int __pyx_t_3;
jpayne@69 7477 int __pyx_lineno = 0;
jpayne@69 7478 const char *__pyx_filename = NULL;
jpayne@69 7479 int __pyx_clineno = 0;
jpayne@69 7480
jpayne@69 7481 /* "pysam/libctabixproxies.pyx":54
jpayne@69 7482 * def __dealloc__(self):
jpayne@69 7483 * cdef int x
jpayne@69 7484 * if self.is_modified: # <<<<<<<<<<<<<<
jpayne@69 7485 * for x from 0 <= x < self.nfields:
jpayne@69 7486 * if isNew(self.fields[x], self.data, self.nbytes):
jpayne@69 7487 */
jpayne@69 7488 if (__pyx_v_self->is_modified) {
jpayne@69 7489
jpayne@69 7490 /* "pysam/libctabixproxies.pyx":55
jpayne@69 7491 * cdef int x
jpayne@69 7492 * if self.is_modified:
jpayne@69 7493 * for x from 0 <= x < self.nfields: # <<<<<<<<<<<<<<
jpayne@69 7494 * if isNew(self.fields[x], self.data, self.nbytes):
jpayne@69 7495 * free(self.fields[x])
jpayne@69 7496 */
jpayne@69 7497 __pyx_t_1 = __pyx_v_self->nfields;
jpayne@69 7498 for (__pyx_v_x = 0; __pyx_v_x < __pyx_t_1; __pyx_v_x++) {
jpayne@69 7499
jpayne@69 7500 /* "pysam/libctabixproxies.pyx":56
jpayne@69 7501 * if self.is_modified:
jpayne@69 7502 * for x from 0 <= x < self.nfields:
jpayne@69 7503 * if isNew(self.fields[x], self.data, self.nbytes): # <<<<<<<<<<<<<<
jpayne@69 7504 * free(self.fields[x])
jpayne@69 7505 * self.fields[x] = NULL
jpayne@69 7506 */
jpayne@69 7507 __pyx_t_2 = __pyx_f_5pysam_16libctabixproxies_isNew((__pyx_v_self->fields[__pyx_v_x]), __pyx_v_self->data, __pyx_v_self->nbytes); if (unlikely(__pyx_t_2 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 56, __pyx_L1_error)
jpayne@69 7508 __pyx_t_3 = (__pyx_t_2 != 0);
jpayne@69 7509 if (__pyx_t_3) {
jpayne@69 7510
jpayne@69 7511 /* "pysam/libctabixproxies.pyx":57
jpayne@69 7512 * for x from 0 <= x < self.nfields:
jpayne@69 7513 * if isNew(self.fields[x], self.data, self.nbytes):
jpayne@69 7514 * free(self.fields[x]) # <<<<<<<<<<<<<<
jpayne@69 7515 * self.fields[x] = NULL
jpayne@69 7516 *
jpayne@69 7517 */
jpayne@69 7518 free((__pyx_v_self->fields[__pyx_v_x]));
jpayne@69 7519
jpayne@69 7520 /* "pysam/libctabixproxies.pyx":58
jpayne@69 7521 * if isNew(self.fields[x], self.data, self.nbytes):
jpayne@69 7522 * free(self.fields[x])
jpayne@69 7523 * self.fields[x] = NULL # <<<<<<<<<<<<<<
jpayne@69 7524 *
jpayne@69 7525 * if self.data != NULL:
jpayne@69 7526 */
jpayne@69 7527 (__pyx_v_self->fields[__pyx_v_x]) = NULL;
jpayne@69 7528
jpayne@69 7529 /* "pysam/libctabixproxies.pyx":56
jpayne@69 7530 * if self.is_modified:
jpayne@69 7531 * for x from 0 <= x < self.nfields:
jpayne@69 7532 * if isNew(self.fields[x], self.data, self.nbytes): # <<<<<<<<<<<<<<
jpayne@69 7533 * free(self.fields[x])
jpayne@69 7534 * self.fields[x] = NULL
jpayne@69 7535 */
jpayne@69 7536 }
jpayne@69 7537 }
jpayne@69 7538
jpayne@69 7539 /* "pysam/libctabixproxies.pyx":54
jpayne@69 7540 * def __dealloc__(self):
jpayne@69 7541 * cdef int x
jpayne@69 7542 * if self.is_modified: # <<<<<<<<<<<<<<
jpayne@69 7543 * for x from 0 <= x < self.nfields:
jpayne@69 7544 * if isNew(self.fields[x], self.data, self.nbytes):
jpayne@69 7545 */
jpayne@69 7546 }
jpayne@69 7547
jpayne@69 7548 /* "pysam/libctabixproxies.pyx":60
jpayne@69 7549 * self.fields[x] = NULL
jpayne@69 7550 *
jpayne@69 7551 * if self.data != NULL: # <<<<<<<<<<<<<<
jpayne@69 7552 * free(self.data)
jpayne@69 7553 * if self.fields != NULL:
jpayne@69 7554 */
jpayne@69 7555 __pyx_t_3 = (__pyx_v_self->data != NULL);
jpayne@69 7556 if (__pyx_t_3) {
jpayne@69 7557
jpayne@69 7558 /* "pysam/libctabixproxies.pyx":61
jpayne@69 7559 *
jpayne@69 7560 * if self.data != NULL:
jpayne@69 7561 * free(self.data) # <<<<<<<<<<<<<<
jpayne@69 7562 * if self.fields != NULL:
jpayne@69 7563 * free(self.fields)
jpayne@69 7564 */
jpayne@69 7565 free(__pyx_v_self->data);
jpayne@69 7566
jpayne@69 7567 /* "pysam/libctabixproxies.pyx":60
jpayne@69 7568 * self.fields[x] = NULL
jpayne@69 7569 *
jpayne@69 7570 * if self.data != NULL: # <<<<<<<<<<<<<<
jpayne@69 7571 * free(self.data)
jpayne@69 7572 * if self.fields != NULL:
jpayne@69 7573 */
jpayne@69 7574 }
jpayne@69 7575
jpayne@69 7576 /* "pysam/libctabixproxies.pyx":62
jpayne@69 7577 * if self.data != NULL:
jpayne@69 7578 * free(self.data)
jpayne@69 7579 * if self.fields != NULL: # <<<<<<<<<<<<<<
jpayne@69 7580 * free(self.fields)
jpayne@69 7581 *
jpayne@69 7582 */
jpayne@69 7583 __pyx_t_3 = (__pyx_v_self->fields != NULL);
jpayne@69 7584 if (__pyx_t_3) {
jpayne@69 7585
jpayne@69 7586 /* "pysam/libctabixproxies.pyx":63
jpayne@69 7587 * free(self.data)
jpayne@69 7588 * if self.fields != NULL:
jpayne@69 7589 * free(self.fields) # <<<<<<<<<<<<<<
jpayne@69 7590 *
jpayne@69 7591 * def __copy__(self):
jpayne@69 7592 */
jpayne@69 7593 free(__pyx_v_self->fields);
jpayne@69 7594
jpayne@69 7595 /* "pysam/libctabixproxies.pyx":62
jpayne@69 7596 * if self.data != NULL:
jpayne@69 7597 * free(self.data)
jpayne@69 7598 * if self.fields != NULL: # <<<<<<<<<<<<<<
jpayne@69 7599 * free(self.fields)
jpayne@69 7600 *
jpayne@69 7601 */
jpayne@69 7602 }
jpayne@69 7603
jpayne@69 7604 /* "pysam/libctabixproxies.pyx":52
jpayne@69 7605 * self.encoding = encoding
jpayne@69 7606 *
jpayne@69 7607 * def __dealloc__(self): # <<<<<<<<<<<<<<
jpayne@69 7608 * cdef int x
jpayne@69 7609 * if self.is_modified:
jpayne@69 7610 */
jpayne@69 7611
jpayne@69 7612 /* function exit code */
jpayne@69 7613 goto __pyx_L0;
jpayne@69 7614 __pyx_L1_error:;
jpayne@69 7615 __Pyx_WriteUnraisable("pysam.libctabixproxies.TupleProxy.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
jpayne@69 7616 __pyx_L0:;
jpayne@69 7617 }
jpayne@69 7618
jpayne@69 7619 /* "pysam/libctabixproxies.pyx":65
jpayne@69 7620 * free(self.fields)
jpayne@69 7621 *
jpayne@69 7622 * def __copy__(self): # <<<<<<<<<<<<<<
jpayne@69 7623 * if self.is_modified:
jpayne@69 7624 * raise NotImplementedError(
jpayne@69 7625 */
jpayne@69 7626
jpayne@69 7627 /* Python wrapper */
jpayne@69 7628 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_5__copy__(PyObject *__pyx_v_self,
jpayne@69 7629 #if CYTHON_METH_FASTCALL
jpayne@69 7630 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 7631 #else
jpayne@69 7632 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 7633 #endif
jpayne@69 7634 ); /*proto*/
jpayne@69 7635 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_5__copy__ = {"__copy__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_5__copy__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 7636 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_5__copy__(PyObject *__pyx_v_self,
jpayne@69 7637 #if CYTHON_METH_FASTCALL
jpayne@69 7638 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 7639 #else
jpayne@69 7640 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 7641 #endif
jpayne@69 7642 ) {
jpayne@69 7643 #if !CYTHON_METH_FASTCALL
jpayne@69 7644 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 7645 #endif
jpayne@69 7646 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 7647 PyObject *__pyx_r = 0;
jpayne@69 7648 __Pyx_RefNannyDeclarations
jpayne@69 7649 __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
jpayne@69 7650 #if !CYTHON_METH_FASTCALL
jpayne@69 7651 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 7652 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 7653 #else
jpayne@69 7654 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 7655 #endif
jpayne@69 7656 #endif
jpayne@69 7657 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 7658 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 7659 __Pyx_RaiseArgtupleInvalid("__copy__", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 7660 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__copy__", 0))) return NULL;
jpayne@69 7661 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_4__copy__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self));
jpayne@69 7662
jpayne@69 7663 /* function exit code */
jpayne@69 7664 __Pyx_RefNannyFinishContext();
jpayne@69 7665 return __pyx_r;
jpayne@69 7666 }
jpayne@69 7667
jpayne@69 7668 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_4__copy__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self) {
jpayne@69 7669 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_n = 0;
jpayne@69 7670 PyObject *__pyx_r = NULL;
jpayne@69 7671 __Pyx_RefNannyDeclarations
jpayne@69 7672 PyObject *__pyx_t_1 = NULL;
jpayne@69 7673 PyObject *__pyx_t_2 = NULL;
jpayne@69 7674 PyObject *__pyx_t_3 = NULL;
jpayne@69 7675 unsigned int __pyx_t_4;
jpayne@69 7676 struct __pyx_opt_args_5pysam_16libctabixproxies_10TupleProxy_copy __pyx_t_5;
jpayne@69 7677 int __pyx_lineno = 0;
jpayne@69 7678 const char *__pyx_filename = NULL;
jpayne@69 7679 int __pyx_clineno = 0;
jpayne@69 7680 __Pyx_RefNannySetupContext("__copy__", 1);
jpayne@69 7681
jpayne@69 7682 /* "pysam/libctabixproxies.pyx":66
jpayne@69 7683 *
jpayne@69 7684 * def __copy__(self):
jpayne@69 7685 * if self.is_modified: # <<<<<<<<<<<<<<
jpayne@69 7686 * raise NotImplementedError(
jpayne@69 7687 * "copying modified tuples is not implemented")
jpayne@69 7688 */
jpayne@69 7689 if (unlikely(__pyx_v_self->is_modified)) {
jpayne@69 7690
jpayne@69 7691 /* "pysam/libctabixproxies.pyx":67
jpayne@69 7692 * def __copy__(self):
jpayne@69 7693 * if self.is_modified:
jpayne@69 7694 * raise NotImplementedError( # <<<<<<<<<<<<<<
jpayne@69 7695 * "copying modified tuples is not implemented")
jpayne@69 7696 * cdef TupleProxy n = type(self)()
jpayne@69 7697 */
jpayne@69 7698 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error)
jpayne@69 7699 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 7700 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
jpayne@69 7701 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 7702 __PYX_ERR(0, 67, __pyx_L1_error)
jpayne@69 7703
jpayne@69 7704 /* "pysam/libctabixproxies.pyx":66
jpayne@69 7705 *
jpayne@69 7706 * def __copy__(self):
jpayne@69 7707 * if self.is_modified: # <<<<<<<<<<<<<<
jpayne@69 7708 * raise NotImplementedError(
jpayne@69 7709 * "copying modified tuples is not implemented")
jpayne@69 7710 */
jpayne@69 7711 }
jpayne@69 7712
jpayne@69 7713 /* "pysam/libctabixproxies.pyx":69
jpayne@69 7714 * raise NotImplementedError(
jpayne@69 7715 * "copying modified tuples is not implemented")
jpayne@69 7716 * cdef TupleProxy n = type(self)() # <<<<<<<<<<<<<<
jpayne@69 7717 * n.copy(self.data, self.nbytes, reset=True)
jpayne@69 7718 * return n
jpayne@69 7719 */
jpayne@69 7720 __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
jpayne@69 7721 __pyx_t_2 = ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))); __pyx_t_3 = NULL;
jpayne@69 7722 __pyx_t_4 = 0;
jpayne@69 7723 #if CYTHON_UNPACK_METHODS
jpayne@69 7724 if (unlikely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 7725 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 7726 if (likely(__pyx_t_3)) {
jpayne@69 7727 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 7728 __Pyx_INCREF(__pyx_t_3);
jpayne@69 7729 __Pyx_INCREF(function);
jpayne@69 7730 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 7731 __pyx_t_4 = 1;
jpayne@69 7732 }
jpayne@69 7733 }
jpayne@69 7734 #endif
jpayne@69 7735 {
jpayne@69 7736 PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
jpayne@69 7737 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
jpayne@69 7738 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 7739 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
jpayne@69 7740 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 7741 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 7742 }
jpayne@69 7743 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5pysam_16libctabixproxies_TupleProxy))))) __PYX_ERR(0, 69, __pyx_L1_error)
jpayne@69 7744 __pyx_v_n = ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_t_1);
jpayne@69 7745 __pyx_t_1 = 0;
jpayne@69 7746
jpayne@69 7747 /* "pysam/libctabixproxies.pyx":70
jpayne@69 7748 * "copying modified tuples is not implemented")
jpayne@69 7749 * cdef TupleProxy n = type(self)()
jpayne@69 7750 * n.copy(self.data, self.nbytes, reset=True) # <<<<<<<<<<<<<<
jpayne@69 7751 * return n
jpayne@69 7752 *
jpayne@69 7753 */
jpayne@69 7754 __pyx_t_5.__pyx_n = 1;
jpayne@69 7755 __pyx_t_5.reset = 1;
jpayne@69 7756 __pyx_t_1 = ((struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_n->__pyx_vtab)->copy(__pyx_v_n, __pyx_v_self->data, __pyx_v_self->nbytes, &__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L1_error)
jpayne@69 7757 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 7758 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 7759
jpayne@69 7760 /* "pysam/libctabixproxies.pyx":71
jpayne@69 7761 * cdef TupleProxy n = type(self)()
jpayne@69 7762 * n.copy(self.data, self.nbytes, reset=True)
jpayne@69 7763 * return n # <<<<<<<<<<<<<<
jpayne@69 7764 *
jpayne@69 7765 * def compare(self, TupleProxy other):
jpayne@69 7766 */
jpayne@69 7767 __Pyx_XDECREF(__pyx_r);
jpayne@69 7768 __Pyx_INCREF((PyObject *)__pyx_v_n);
jpayne@69 7769 __pyx_r = ((PyObject *)__pyx_v_n);
jpayne@69 7770 goto __pyx_L0;
jpayne@69 7771
jpayne@69 7772 /* "pysam/libctabixproxies.pyx":65
jpayne@69 7773 * free(self.fields)
jpayne@69 7774 *
jpayne@69 7775 * def __copy__(self): # <<<<<<<<<<<<<<
jpayne@69 7776 * if self.is_modified:
jpayne@69 7777 * raise NotImplementedError(
jpayne@69 7778 */
jpayne@69 7779
jpayne@69 7780 /* function exit code */
jpayne@69 7781 __pyx_L1_error:;
jpayne@69 7782 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 7783 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 7784 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 7785 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 7786 __pyx_r = NULL;
jpayne@69 7787 __pyx_L0:;
jpayne@69 7788 __Pyx_XDECREF((PyObject *)__pyx_v_n);
jpayne@69 7789 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 7790 __Pyx_RefNannyFinishContext();
jpayne@69 7791 return __pyx_r;
jpayne@69 7792 }
jpayne@69 7793
jpayne@69 7794 /* "pysam/libctabixproxies.pyx":73
jpayne@69 7795 * return n
jpayne@69 7796 *
jpayne@69 7797 * def compare(self, TupleProxy other): # <<<<<<<<<<<<<<
jpayne@69 7798 * '''return -1,0,1, if contents in this are binary
jpayne@69 7799 * <,=,> to *other*
jpayne@69 7800 */
jpayne@69 7801
jpayne@69 7802 /* Python wrapper */
jpayne@69 7803 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_7compare(PyObject *__pyx_v_self,
jpayne@69 7804 #if CYTHON_METH_FASTCALL
jpayne@69 7805 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 7806 #else
jpayne@69 7807 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 7808 #endif
jpayne@69 7809 ); /*proto*/
jpayne@69 7810 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_10TupleProxy_6compare, "return -1,0,1, if contents in this are binary\n <,=,> to *other*\n\n ");
jpayne@69 7811 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_7compare = {"compare", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_7compare, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_6compare};
jpayne@69 7812 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_7compare(PyObject *__pyx_v_self,
jpayne@69 7813 #if CYTHON_METH_FASTCALL
jpayne@69 7814 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 7815 #else
jpayne@69 7816 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 7817 #endif
jpayne@69 7818 ) {
jpayne@69 7819 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_other = 0;
jpayne@69 7820 #if !CYTHON_METH_FASTCALL
jpayne@69 7821 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 7822 #endif
jpayne@69 7823 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 7824 PyObject* values[1] = {0};
jpayne@69 7825 int __pyx_lineno = 0;
jpayne@69 7826 const char *__pyx_filename = NULL;
jpayne@69 7827 int __pyx_clineno = 0;
jpayne@69 7828 PyObject *__pyx_r = 0;
jpayne@69 7829 __Pyx_RefNannyDeclarations
jpayne@69 7830 __Pyx_RefNannySetupContext("compare (wrapper)", 0);
jpayne@69 7831 #if !CYTHON_METH_FASTCALL
jpayne@69 7832 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 7833 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 7834 #else
jpayne@69 7835 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 7836 #endif
jpayne@69 7837 #endif
jpayne@69 7838 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 7839 {
jpayne@69 7840 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_other,0};
jpayne@69 7841 if (__pyx_kwds) {
jpayne@69 7842 Py_ssize_t kw_args;
jpayne@69 7843 switch (__pyx_nargs) {
jpayne@69 7844 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 7845 CYTHON_FALLTHROUGH;
jpayne@69 7846 case 0: break;
jpayne@69 7847 default: goto __pyx_L5_argtuple_error;
jpayne@69 7848 }
jpayne@69 7849 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 7850 switch (__pyx_nargs) {
jpayne@69 7851 case 0:
jpayne@69 7852 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_other)) != 0)) {
jpayne@69 7853 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 7854 kw_args--;
jpayne@69 7855 }
jpayne@69 7856 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 73, __pyx_L3_error)
jpayne@69 7857 else goto __pyx_L5_argtuple_error;
jpayne@69 7858 }
jpayne@69 7859 if (unlikely(kw_args > 0)) {
jpayne@69 7860 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 7861 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "compare") < 0)) __PYX_ERR(0, 73, __pyx_L3_error)
jpayne@69 7862 }
jpayne@69 7863 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 7864 goto __pyx_L5_argtuple_error;
jpayne@69 7865 } else {
jpayne@69 7866 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 7867 }
jpayne@69 7868 __pyx_v_other = ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)values[0]);
jpayne@69 7869 }
jpayne@69 7870 goto __pyx_L6_skip;
jpayne@69 7871 __pyx_L5_argtuple_error:;
jpayne@69 7872 __Pyx_RaiseArgtupleInvalid("compare", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 73, __pyx_L3_error)
jpayne@69 7873 __pyx_L6_skip:;
jpayne@69 7874 goto __pyx_L4_argument_unpacking_done;
jpayne@69 7875 __pyx_L3_error:;
jpayne@69 7876 {
jpayne@69 7877 Py_ssize_t __pyx_temp;
jpayne@69 7878 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 7879 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 7880 }
jpayne@69 7881 }
jpayne@69 7882 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.compare", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 7883 __Pyx_RefNannyFinishContext();
jpayne@69 7884 return NULL;
jpayne@69 7885 __pyx_L4_argument_unpacking_done:;
jpayne@69 7886 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_5pysam_16libctabixproxies_TupleProxy, 1, "other", 0))) __PYX_ERR(0, 73, __pyx_L1_error)
jpayne@69 7887 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_6compare(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), __pyx_v_other);
jpayne@69 7888
jpayne@69 7889 /* function exit code */
jpayne@69 7890 goto __pyx_L0;
jpayne@69 7891 __pyx_L1_error:;
jpayne@69 7892 __pyx_r = NULL;
jpayne@69 7893 __pyx_L0:;
jpayne@69 7894 {
jpayne@69 7895 Py_ssize_t __pyx_temp;
jpayne@69 7896 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 7897 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 7898 }
jpayne@69 7899 }
jpayne@69 7900 __Pyx_RefNannyFinishContext();
jpayne@69 7901 return __pyx_r;
jpayne@69 7902 }
jpayne@69 7903
jpayne@69 7904 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_6compare(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_other) {
jpayne@69 7905 PyObject *__pyx_r = NULL;
jpayne@69 7906 __Pyx_RefNannyDeclarations
jpayne@69 7907 int __pyx_t_1;
jpayne@69 7908 PyObject *__pyx_t_2 = NULL;
jpayne@69 7909 int __pyx_lineno = 0;
jpayne@69 7910 const char *__pyx_filename = NULL;
jpayne@69 7911 int __pyx_clineno = 0;
jpayne@69 7912 __Pyx_RefNannySetupContext("compare", 1);
jpayne@69 7913
jpayne@69 7914 /* "pysam/libctabixproxies.pyx":78
jpayne@69 7915 *
jpayne@69 7916 * '''
jpayne@69 7917 * if self.is_modified or other.is_modified: # <<<<<<<<<<<<<<
jpayne@69 7918 * raise NotImplementedError(
jpayne@69 7919 * 'comparison of modified TupleProxies is not implemented')
jpayne@69 7920 */
jpayne@69 7921 if (!__pyx_v_self->is_modified) {
jpayne@69 7922 } else {
jpayne@69 7923 __pyx_t_1 = __pyx_v_self->is_modified;
jpayne@69 7924 goto __pyx_L4_bool_binop_done;
jpayne@69 7925 }
jpayne@69 7926 __pyx_t_1 = __pyx_v_other->is_modified;
jpayne@69 7927 __pyx_L4_bool_binop_done:;
jpayne@69 7928 if (unlikely(__pyx_t_1)) {
jpayne@69 7929
jpayne@69 7930 /* "pysam/libctabixproxies.pyx":79
jpayne@69 7931 * '''
jpayne@69 7932 * if self.is_modified or other.is_modified:
jpayne@69 7933 * raise NotImplementedError( # <<<<<<<<<<<<<<
jpayne@69 7934 * 'comparison of modified TupleProxies is not implemented')
jpayne@69 7935 * if self.data == other.data:
jpayne@69 7936 */
jpayne@69 7937 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_NotImplementedError, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error)
jpayne@69 7938 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 7939 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
jpayne@69 7940 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 7941 __PYX_ERR(0, 79, __pyx_L1_error)
jpayne@69 7942
jpayne@69 7943 /* "pysam/libctabixproxies.pyx":78
jpayne@69 7944 *
jpayne@69 7945 * '''
jpayne@69 7946 * if self.is_modified or other.is_modified: # <<<<<<<<<<<<<<
jpayne@69 7947 * raise NotImplementedError(
jpayne@69 7948 * 'comparison of modified TupleProxies is not implemented')
jpayne@69 7949 */
jpayne@69 7950 }
jpayne@69 7951
jpayne@69 7952 /* "pysam/libctabixproxies.pyx":81
jpayne@69 7953 * raise NotImplementedError(
jpayne@69 7954 * 'comparison of modified TupleProxies is not implemented')
jpayne@69 7955 * if self.data == other.data: # <<<<<<<<<<<<<<
jpayne@69 7956 * return 0
jpayne@69 7957 *
jpayne@69 7958 */
jpayne@69 7959 __pyx_t_1 = (__pyx_v_self->data == __pyx_v_other->data);
jpayne@69 7960 if (__pyx_t_1) {
jpayne@69 7961
jpayne@69 7962 /* "pysam/libctabixproxies.pyx":82
jpayne@69 7963 * 'comparison of modified TupleProxies is not implemented')
jpayne@69 7964 * if self.data == other.data:
jpayne@69 7965 * return 0 # <<<<<<<<<<<<<<
jpayne@69 7966 *
jpayne@69 7967 * if self.nbytes < other.nbytes:
jpayne@69 7968 */
jpayne@69 7969 __Pyx_XDECREF(__pyx_r);
jpayne@69 7970 __Pyx_INCREF(__pyx_int_0);
jpayne@69 7971 __pyx_r = __pyx_int_0;
jpayne@69 7972 goto __pyx_L0;
jpayne@69 7973
jpayne@69 7974 /* "pysam/libctabixproxies.pyx":81
jpayne@69 7975 * raise NotImplementedError(
jpayne@69 7976 * 'comparison of modified TupleProxies is not implemented')
jpayne@69 7977 * if self.data == other.data: # <<<<<<<<<<<<<<
jpayne@69 7978 * return 0
jpayne@69 7979 *
jpayne@69 7980 */
jpayne@69 7981 }
jpayne@69 7982
jpayne@69 7983 /* "pysam/libctabixproxies.pyx":84
jpayne@69 7984 * return 0
jpayne@69 7985 *
jpayne@69 7986 * if self.nbytes < other.nbytes: # <<<<<<<<<<<<<<
jpayne@69 7987 * return -1
jpayne@69 7988 * elif self.nbytes > other.nbytes:
jpayne@69 7989 */
jpayne@69 7990 __pyx_t_1 = (__pyx_v_self->nbytes < __pyx_v_other->nbytes);
jpayne@69 7991 if (__pyx_t_1) {
jpayne@69 7992
jpayne@69 7993 /* "pysam/libctabixproxies.pyx":85
jpayne@69 7994 *
jpayne@69 7995 * if self.nbytes < other.nbytes:
jpayne@69 7996 * return -1 # <<<<<<<<<<<<<<
jpayne@69 7997 * elif self.nbytes > other.nbytes:
jpayne@69 7998 * return 1
jpayne@69 7999 */
jpayne@69 8000 __Pyx_XDECREF(__pyx_r);
jpayne@69 8001 __Pyx_INCREF(__pyx_int_neg_1);
jpayne@69 8002 __pyx_r = __pyx_int_neg_1;
jpayne@69 8003 goto __pyx_L0;
jpayne@69 8004
jpayne@69 8005 /* "pysam/libctabixproxies.pyx":84
jpayne@69 8006 * return 0
jpayne@69 8007 *
jpayne@69 8008 * if self.nbytes < other.nbytes: # <<<<<<<<<<<<<<
jpayne@69 8009 * return -1
jpayne@69 8010 * elif self.nbytes > other.nbytes:
jpayne@69 8011 */
jpayne@69 8012 }
jpayne@69 8013
jpayne@69 8014 /* "pysam/libctabixproxies.pyx":86
jpayne@69 8015 * if self.nbytes < other.nbytes:
jpayne@69 8016 * return -1
jpayne@69 8017 * elif self.nbytes > other.nbytes: # <<<<<<<<<<<<<<
jpayne@69 8018 * return 1
jpayne@69 8019 * return memcmp(self.data, other.data, self.nbytes)
jpayne@69 8020 */
jpayne@69 8021 __pyx_t_1 = (__pyx_v_self->nbytes > __pyx_v_other->nbytes);
jpayne@69 8022 if (__pyx_t_1) {
jpayne@69 8023
jpayne@69 8024 /* "pysam/libctabixproxies.pyx":87
jpayne@69 8025 * return -1
jpayne@69 8026 * elif self.nbytes > other.nbytes:
jpayne@69 8027 * return 1 # <<<<<<<<<<<<<<
jpayne@69 8028 * return memcmp(self.data, other.data, self.nbytes)
jpayne@69 8029 *
jpayne@69 8030 */
jpayne@69 8031 __Pyx_XDECREF(__pyx_r);
jpayne@69 8032 __Pyx_INCREF(__pyx_int_1);
jpayne@69 8033 __pyx_r = __pyx_int_1;
jpayne@69 8034 goto __pyx_L0;
jpayne@69 8035
jpayne@69 8036 /* "pysam/libctabixproxies.pyx":86
jpayne@69 8037 * if self.nbytes < other.nbytes:
jpayne@69 8038 * return -1
jpayne@69 8039 * elif self.nbytes > other.nbytes: # <<<<<<<<<<<<<<
jpayne@69 8040 * return 1
jpayne@69 8041 * return memcmp(self.data, other.data, self.nbytes)
jpayne@69 8042 */
jpayne@69 8043 }
jpayne@69 8044
jpayne@69 8045 /* "pysam/libctabixproxies.pyx":88
jpayne@69 8046 * elif self.nbytes > other.nbytes:
jpayne@69 8047 * return 1
jpayne@69 8048 * return memcmp(self.data, other.data, self.nbytes) # <<<<<<<<<<<<<<
jpayne@69 8049 *
jpayne@69 8050 * def __richcmp__(self, TupleProxy other, int op):
jpayne@69 8051 */
jpayne@69 8052 __Pyx_XDECREF(__pyx_r);
jpayne@69 8053 __pyx_t_2 = __Pyx_PyInt_From_int(memcmp(__pyx_v_self->data, __pyx_v_other->data, __pyx_v_self->nbytes)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 88, __pyx_L1_error)
jpayne@69 8054 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8055 __pyx_r = __pyx_t_2;
jpayne@69 8056 __pyx_t_2 = 0;
jpayne@69 8057 goto __pyx_L0;
jpayne@69 8058
jpayne@69 8059 /* "pysam/libctabixproxies.pyx":73
jpayne@69 8060 * return n
jpayne@69 8061 *
jpayne@69 8062 * def compare(self, TupleProxy other): # <<<<<<<<<<<<<<
jpayne@69 8063 * '''return -1,0,1, if contents in this are binary
jpayne@69 8064 * <,=,> to *other*
jpayne@69 8065 */
jpayne@69 8066
jpayne@69 8067 /* function exit code */
jpayne@69 8068 __pyx_L1_error:;
jpayne@69 8069 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 8070 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.compare", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8071 __pyx_r = NULL;
jpayne@69 8072 __pyx_L0:;
jpayne@69 8073 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 8074 __Pyx_RefNannyFinishContext();
jpayne@69 8075 return __pyx_r;
jpayne@69 8076 }
jpayne@69 8077
jpayne@69 8078 /* "pysam/libctabixproxies.pyx":90
jpayne@69 8079 * return memcmp(self.data, other.data, self.nbytes)
jpayne@69 8080 *
jpayne@69 8081 * def __richcmp__(self, TupleProxy other, int op): # <<<<<<<<<<<<<<
jpayne@69 8082 * if op == 2: # == operator
jpayne@69 8083 * return self.compare(other) == 0
jpayne@69 8084 */
jpayne@69 8085
jpayne@69 8086 /* Python wrapper */
jpayne@69 8087 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_9__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/
jpayne@69 8088 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_9__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) {
jpayne@69 8089 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 8090 int __pyx_lineno = 0;
jpayne@69 8091 const char *__pyx_filename = NULL;
jpayne@69 8092 int __pyx_clineno = 0;
jpayne@69 8093 PyObject *__pyx_r = 0;
jpayne@69 8094 __Pyx_RefNannyDeclarations
jpayne@69 8095 __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
jpayne@69 8096 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 8097 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_5pysam_16libctabixproxies_TupleProxy, 1, "other", 0))) __PYX_ERR(0, 90, __pyx_L1_error)
jpayne@69 8098 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_8__richcmp__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_other), ((int)__pyx_v_op));
jpayne@69 8099
jpayne@69 8100 /* function exit code */
jpayne@69 8101 goto __pyx_L0;
jpayne@69 8102 __pyx_L1_error:;
jpayne@69 8103 __pyx_r = NULL;
jpayne@69 8104 __pyx_L0:;
jpayne@69 8105 __Pyx_RefNannyFinishContext();
jpayne@69 8106 return __pyx_r;
jpayne@69 8107 }
jpayne@69 8108
jpayne@69 8109 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_8__richcmp__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_other, int __pyx_v_op) {
jpayne@69 8110 PyObject *__pyx_v_err_msg = NULL;
jpayne@69 8111 PyObject *__pyx_r = NULL;
jpayne@69 8112 __Pyx_RefNannyDeclarations
jpayne@69 8113 PyObject *__pyx_t_1 = NULL;
jpayne@69 8114 PyObject *__pyx_t_2 = NULL;
jpayne@69 8115 PyObject *__pyx_t_3 = NULL;
jpayne@69 8116 unsigned int __pyx_t_4;
jpayne@69 8117 PyObject *__pyx_t_5 = NULL;
jpayne@69 8118 int __pyx_lineno = 0;
jpayne@69 8119 const char *__pyx_filename = NULL;
jpayne@69 8120 int __pyx_clineno = 0;
jpayne@69 8121 __Pyx_RefNannySetupContext("__richcmp__", 1);
jpayne@69 8122
jpayne@69 8123 /* "pysam/libctabixproxies.pyx":91
jpayne@69 8124 *
jpayne@69 8125 * def __richcmp__(self, TupleProxy other, int op):
jpayne@69 8126 * if op == 2: # == operator # <<<<<<<<<<<<<<
jpayne@69 8127 * return self.compare(other) == 0
jpayne@69 8128 * elif op == 3: # != operator
jpayne@69 8129 */
jpayne@69 8130 switch (__pyx_v_op) {
jpayne@69 8131 case 2:
jpayne@69 8132
jpayne@69 8133 /* "pysam/libctabixproxies.pyx":92
jpayne@69 8134 * def __richcmp__(self, TupleProxy other, int op):
jpayne@69 8135 * if op == 2: # == operator
jpayne@69 8136 * return self.compare(other) == 0 # <<<<<<<<<<<<<<
jpayne@69 8137 * elif op == 3: # != operator
jpayne@69 8138 * return self.compare(other) != 0
jpayne@69 8139 */
jpayne@69 8140 __Pyx_XDECREF(__pyx_r);
jpayne@69 8141 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_compare); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 92, __pyx_L1_error)
jpayne@69 8142 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8143 __pyx_t_3 = NULL;
jpayne@69 8144 __pyx_t_4 = 0;
jpayne@69 8145 #if CYTHON_UNPACK_METHODS
jpayne@69 8146 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 8147 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 8148 if (likely(__pyx_t_3)) {
jpayne@69 8149 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 8150 __Pyx_INCREF(__pyx_t_3);
jpayne@69 8151 __Pyx_INCREF(function);
jpayne@69 8152 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 8153 __pyx_t_4 = 1;
jpayne@69 8154 }
jpayne@69 8155 }
jpayne@69 8156 #endif
jpayne@69 8157 {
jpayne@69 8158 PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_other)};
jpayne@69 8159 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 8160 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 8161 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 92, __pyx_L1_error)
jpayne@69 8162 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8163 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 8164 }
jpayne@69 8165 __pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 92, __pyx_L1_error)
jpayne@69 8166 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8167 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8168 __pyx_r = __pyx_t_2;
jpayne@69 8169 __pyx_t_2 = 0;
jpayne@69 8170 goto __pyx_L0;
jpayne@69 8171
jpayne@69 8172 /* "pysam/libctabixproxies.pyx":91
jpayne@69 8173 *
jpayne@69 8174 * def __richcmp__(self, TupleProxy other, int op):
jpayne@69 8175 * if op == 2: # == operator # <<<<<<<<<<<<<<
jpayne@69 8176 * return self.compare(other) == 0
jpayne@69 8177 * elif op == 3: # != operator
jpayne@69 8178 */
jpayne@69 8179 break;
jpayne@69 8180 case 3:
jpayne@69 8181
jpayne@69 8182 /* "pysam/libctabixproxies.pyx":94
jpayne@69 8183 * return self.compare(other) == 0
jpayne@69 8184 * elif op == 3: # != operator
jpayne@69 8185 * return self.compare(other) != 0 # <<<<<<<<<<<<<<
jpayne@69 8186 * else:
jpayne@69 8187 * err_msg = "op {0} isn't implemented yet".format(op)
jpayne@69 8188 */
jpayne@69 8189 __Pyx_XDECREF(__pyx_r);
jpayne@69 8190 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_compare); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
jpayne@69 8191 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8192 __pyx_t_3 = NULL;
jpayne@69 8193 __pyx_t_4 = 0;
jpayne@69 8194 #if CYTHON_UNPACK_METHODS
jpayne@69 8195 if (likely(PyMethod_Check(__pyx_t_1))) {
jpayne@69 8196 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
jpayne@69 8197 if (likely(__pyx_t_3)) {
jpayne@69 8198 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
jpayne@69 8199 __Pyx_INCREF(__pyx_t_3);
jpayne@69 8200 __Pyx_INCREF(function);
jpayne@69 8201 __Pyx_DECREF_SET(__pyx_t_1, function);
jpayne@69 8202 __pyx_t_4 = 1;
jpayne@69 8203 }
jpayne@69 8204 }
jpayne@69 8205 #endif
jpayne@69 8206 {
jpayne@69 8207 PyObject *__pyx_callargs[2] = {__pyx_t_3, ((PyObject *)__pyx_v_other)};
jpayne@69 8208 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 8209 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 8210 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 94, __pyx_L1_error)
jpayne@69 8211 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8212 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8213 }
jpayne@69 8214 __pyx_t_1 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
jpayne@69 8215 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8216 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 8217 __pyx_r = __pyx_t_1;
jpayne@69 8218 __pyx_t_1 = 0;
jpayne@69 8219 goto __pyx_L0;
jpayne@69 8220
jpayne@69 8221 /* "pysam/libctabixproxies.pyx":93
jpayne@69 8222 * if op == 2: # == operator
jpayne@69 8223 * return self.compare(other) == 0
jpayne@69 8224 * elif op == 3: # != operator # <<<<<<<<<<<<<<
jpayne@69 8225 * return self.compare(other) != 0
jpayne@69 8226 * else:
jpayne@69 8227 */
jpayne@69 8228 break;
jpayne@69 8229 default:
jpayne@69 8230
jpayne@69 8231 /* "pysam/libctabixproxies.pyx":96
jpayne@69 8232 * return self.compare(other) != 0
jpayne@69 8233 * else:
jpayne@69 8234 * err_msg = "op {0} isn't implemented yet".format(op) # <<<<<<<<<<<<<<
jpayne@69 8235 * raise NotImplementedError(err_msg)
jpayne@69 8236 *
jpayne@69 8237 */
jpayne@69 8238 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_op_0_isn_t_implemented_yet, __pyx_n_s_format); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 96, __pyx_L1_error)
jpayne@69 8239 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8240 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_op); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 96, __pyx_L1_error)
jpayne@69 8241 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 8242 __pyx_t_5 = NULL;
jpayne@69 8243 __pyx_t_4 = 0;
jpayne@69 8244 #if CYTHON_UNPACK_METHODS
jpayne@69 8245 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 8246 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 8247 if (likely(__pyx_t_5)) {
jpayne@69 8248 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 8249 __Pyx_INCREF(__pyx_t_5);
jpayne@69 8250 __Pyx_INCREF(function);
jpayne@69 8251 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 8252 __pyx_t_4 = 1;
jpayne@69 8253 }
jpayne@69 8254 }
jpayne@69 8255 #endif
jpayne@69 8256 {
jpayne@69 8257 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
jpayne@69 8258 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 8259 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 8260 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 8261 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error)
jpayne@69 8262 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8263 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 8264 }
jpayne@69 8265 __pyx_v_err_msg = __pyx_t_1;
jpayne@69 8266 __pyx_t_1 = 0;
jpayne@69 8267
jpayne@69 8268 /* "pysam/libctabixproxies.pyx":97
jpayne@69 8269 * else:
jpayne@69 8270 * err_msg = "op {0} isn't implemented yet".format(op)
jpayne@69 8271 * raise NotImplementedError(err_msg) # <<<<<<<<<<<<<<
jpayne@69 8272 *
jpayne@69 8273 * cdef take(self, char * buffer, size_t nbytes):
jpayne@69 8274 */
jpayne@69 8275 __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_NotImplementedError, __pyx_v_err_msg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 97, __pyx_L1_error)
jpayne@69 8276 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8277 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
jpayne@69 8278 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8279 __PYX_ERR(0, 97, __pyx_L1_error)
jpayne@69 8280 break;
jpayne@69 8281 }
jpayne@69 8282
jpayne@69 8283 /* "pysam/libctabixproxies.pyx":90
jpayne@69 8284 * return memcmp(self.data, other.data, self.nbytes)
jpayne@69 8285 *
jpayne@69 8286 * def __richcmp__(self, TupleProxy other, int op): # <<<<<<<<<<<<<<
jpayne@69 8287 * if op == 2: # == operator
jpayne@69 8288 * return self.compare(other) == 0
jpayne@69 8289 */
jpayne@69 8290
jpayne@69 8291 /* function exit code */
jpayne@69 8292 __pyx_L1_error:;
jpayne@69 8293 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 8294 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 8295 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 8296 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 8297 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8298 __pyx_r = NULL;
jpayne@69 8299 __pyx_L0:;
jpayne@69 8300 __Pyx_XDECREF(__pyx_v_err_msg);
jpayne@69 8301 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 8302 __Pyx_RefNannyFinishContext();
jpayne@69 8303 return __pyx_r;
jpayne@69 8304 }
jpayne@69 8305
jpayne@69 8306 /* "pysam/libctabixproxies.pyx":99
jpayne@69 8307 * raise NotImplementedError(err_msg)
jpayne@69 8308 *
jpayne@69 8309 * cdef take(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 8310 * '''start presenting buffer.
jpayne@69 8311 *
jpayne@69 8312 */
jpayne@69 8313
jpayne@69 8314 static PyObject *__pyx_f_5pysam_16libctabixproxies_10TupleProxy_take(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
jpayne@69 8315 PyObject *__pyx_r = NULL;
jpayne@69 8316 __Pyx_RefNannyDeclarations
jpayne@69 8317 PyObject *__pyx_t_1 = NULL;
jpayne@69 8318 int __pyx_lineno = 0;
jpayne@69 8319 const char *__pyx_filename = NULL;
jpayne@69 8320 int __pyx_clineno = 0;
jpayne@69 8321 __Pyx_RefNannySetupContext("take", 1);
jpayne@69 8322
jpayne@69 8323 /* "pysam/libctabixproxies.pyx":104
jpayne@69 8324 * Take ownership of the pointer.
jpayne@69 8325 * '''
jpayne@69 8326 * self.data = buffer # <<<<<<<<<<<<<<
jpayne@69 8327 * self.nbytes = nbytes
jpayne@69 8328 * self.update(buffer, nbytes)
jpayne@69 8329 */
jpayne@69 8330 __pyx_v_self->data = __pyx_v_buffer;
jpayne@69 8331
jpayne@69 8332 /* "pysam/libctabixproxies.pyx":105
jpayne@69 8333 * '''
jpayne@69 8334 * self.data = buffer
jpayne@69 8335 * self.nbytes = nbytes # <<<<<<<<<<<<<<
jpayne@69 8336 * self.update(buffer, nbytes)
jpayne@69 8337 *
jpayne@69 8338 */
jpayne@69 8339 __pyx_v_self->nbytes = __pyx_v_nbytes;
jpayne@69 8340
jpayne@69 8341 /* "pysam/libctabixproxies.pyx":106
jpayne@69 8342 * self.data = buffer
jpayne@69 8343 * self.nbytes = nbytes
jpayne@69 8344 * self.update(buffer, nbytes) # <<<<<<<<<<<<<<
jpayne@69 8345 *
jpayne@69 8346 * cdef present(self, char * buffer, size_t nbytes):
jpayne@69 8347 */
jpayne@69 8348 __pyx_t_1 = ((struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
jpayne@69 8349 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8350 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8351
jpayne@69 8352 /* "pysam/libctabixproxies.pyx":99
jpayne@69 8353 * raise NotImplementedError(err_msg)
jpayne@69 8354 *
jpayne@69 8355 * cdef take(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 8356 * '''start presenting buffer.
jpayne@69 8357 *
jpayne@69 8358 */
jpayne@69 8359
jpayne@69 8360 /* function exit code */
jpayne@69 8361 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 8362 goto __pyx_L0;
jpayne@69 8363 __pyx_L1_error:;
jpayne@69 8364 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 8365 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.take", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8366 __pyx_r = 0;
jpayne@69 8367 __pyx_L0:;
jpayne@69 8368 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 8369 __Pyx_RefNannyFinishContext();
jpayne@69 8370 return __pyx_r;
jpayne@69 8371 }
jpayne@69 8372
jpayne@69 8373 /* "pysam/libctabixproxies.pyx":108
jpayne@69 8374 * self.update(buffer, nbytes)
jpayne@69 8375 *
jpayne@69 8376 * cdef present(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 8377 * '''start presenting buffer.
jpayne@69 8378 *
jpayne@69 8379 */
jpayne@69 8380
jpayne@69 8381 static PyObject *__pyx_f_5pysam_16libctabixproxies_10TupleProxy_present(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
jpayne@69 8382 PyObject *__pyx_r = NULL;
jpayne@69 8383 __Pyx_RefNannyDeclarations
jpayne@69 8384 PyObject *__pyx_t_1 = NULL;
jpayne@69 8385 int __pyx_lineno = 0;
jpayne@69 8386 const char *__pyx_filename = NULL;
jpayne@69 8387 int __pyx_clineno = 0;
jpayne@69 8388 __Pyx_RefNannySetupContext("present", 1);
jpayne@69 8389
jpayne@69 8390 /* "pysam/libctabixproxies.pyx":113
jpayne@69 8391 * Do not take ownership of the pointer.
jpayne@69 8392 * '''
jpayne@69 8393 * self.update(buffer, nbytes) # <<<<<<<<<<<<<<
jpayne@69 8394 *
jpayne@69 8395 * cdef copy(self, char * buffer, size_t nbytes, bint reset=False):
jpayne@69 8396 */
jpayne@69 8397 __pyx_t_1 = ((struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
jpayne@69 8398 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8399 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8400
jpayne@69 8401 /* "pysam/libctabixproxies.pyx":108
jpayne@69 8402 * self.update(buffer, nbytes)
jpayne@69 8403 *
jpayne@69 8404 * cdef present(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 8405 * '''start presenting buffer.
jpayne@69 8406 *
jpayne@69 8407 */
jpayne@69 8408
jpayne@69 8409 /* function exit code */
jpayne@69 8410 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 8411 goto __pyx_L0;
jpayne@69 8412 __pyx_L1_error:;
jpayne@69 8413 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 8414 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.present", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8415 __pyx_r = 0;
jpayne@69 8416 __pyx_L0:;
jpayne@69 8417 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 8418 __Pyx_RefNannyFinishContext();
jpayne@69 8419 return __pyx_r;
jpayne@69 8420 }
jpayne@69 8421
jpayne@69 8422 /* "pysam/libctabixproxies.pyx":115
jpayne@69 8423 * self.update(buffer, nbytes)
jpayne@69 8424 *
jpayne@69 8425 * cdef copy(self, char * buffer, size_t nbytes, bint reset=False): # <<<<<<<<<<<<<<
jpayne@69 8426 * '''start presenting buffer of size *nbytes*.
jpayne@69 8427 *
jpayne@69 8428 */
jpayne@69 8429
jpayne@69 8430 static PyObject *__pyx_f_5pysam_16libctabixproxies_10TupleProxy_copy(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes, struct __pyx_opt_args_5pysam_16libctabixproxies_10TupleProxy_copy *__pyx_optional_args) {
jpayne@69 8431 int __pyx_v_reset = ((int)0);
jpayne@69 8432 int __pyx_v_s;
jpayne@69 8433 long __pyx_v_x;
jpayne@69 8434 PyObject *__pyx_r = NULL;
jpayne@69 8435 __Pyx_RefNannyDeclarations
jpayne@69 8436 int __pyx_t_1;
jpayne@69 8437 PyObject *__pyx_t_2 = NULL;
jpayne@69 8438 size_t __pyx_t_3;
jpayne@69 8439 int __pyx_lineno = 0;
jpayne@69 8440 const char *__pyx_filename = NULL;
jpayne@69 8441 int __pyx_clineno = 0;
jpayne@69 8442 __Pyx_RefNannySetupContext("copy", 1);
jpayne@69 8443 if (__pyx_optional_args) {
jpayne@69 8444 if (__pyx_optional_args->__pyx_n > 0) {
jpayne@69 8445 __pyx_v_reset = __pyx_optional_args->reset;
jpayne@69 8446 }
jpayne@69 8447 }
jpayne@69 8448
jpayne@69 8449 /* "pysam/libctabixproxies.pyx":123
jpayne@69 8450 * '''
jpayne@69 8451 * # +1 for '\0'
jpayne@69 8452 * cdef int s = sizeof(char) * (nbytes + 1) # <<<<<<<<<<<<<<
jpayne@69 8453 * self.data = <char*>malloc(s)
jpayne@69 8454 * if self.data == NULL:
jpayne@69 8455 */
jpayne@69 8456 __pyx_v_s = ((sizeof(char)) * (__pyx_v_nbytes + 1));
jpayne@69 8457
jpayne@69 8458 /* "pysam/libctabixproxies.pyx":124
jpayne@69 8459 * # +1 for '\0'
jpayne@69 8460 * cdef int s = sizeof(char) * (nbytes + 1)
jpayne@69 8461 * self.data = <char*>malloc(s) # <<<<<<<<<<<<<<
jpayne@69 8462 * if self.data == NULL:
jpayne@69 8463 * raise ValueError("out of memory in TupleProxy.copy()")
jpayne@69 8464 */
jpayne@69 8465 __pyx_v_self->data = ((char *)malloc(__pyx_v_s));
jpayne@69 8466
jpayne@69 8467 /* "pysam/libctabixproxies.pyx":125
jpayne@69 8468 * cdef int s = sizeof(char) * (nbytes + 1)
jpayne@69 8469 * self.data = <char*>malloc(s)
jpayne@69 8470 * if self.data == NULL: # <<<<<<<<<<<<<<
jpayne@69 8471 * raise ValueError("out of memory in TupleProxy.copy()")
jpayne@69 8472 * memcpy(<char*>self.data, buffer, s)
jpayne@69 8473 */
jpayne@69 8474 __pyx_t_1 = (__pyx_v_self->data == NULL);
jpayne@69 8475 if (unlikely(__pyx_t_1)) {
jpayne@69 8476
jpayne@69 8477 /* "pysam/libctabixproxies.pyx":126
jpayne@69 8478 * self.data = <char*>malloc(s)
jpayne@69 8479 * if self.data == NULL:
jpayne@69 8480 * raise ValueError("out of memory in TupleProxy.copy()") # <<<<<<<<<<<<<<
jpayne@69 8481 * memcpy(<char*>self.data, buffer, s)
jpayne@69 8482 *
jpayne@69 8483 */
jpayne@69 8484 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error)
jpayne@69 8485 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8486 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
jpayne@69 8487 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 8488 __PYX_ERR(0, 126, __pyx_L1_error)
jpayne@69 8489
jpayne@69 8490 /* "pysam/libctabixproxies.pyx":125
jpayne@69 8491 * cdef int s = sizeof(char) * (nbytes + 1)
jpayne@69 8492 * self.data = <char*>malloc(s)
jpayne@69 8493 * if self.data == NULL: # <<<<<<<<<<<<<<
jpayne@69 8494 * raise ValueError("out of memory in TupleProxy.copy()")
jpayne@69 8495 * memcpy(<char*>self.data, buffer, s)
jpayne@69 8496 */
jpayne@69 8497 }
jpayne@69 8498
jpayne@69 8499 /* "pysam/libctabixproxies.pyx":127
jpayne@69 8500 * if self.data == NULL:
jpayne@69 8501 * raise ValueError("out of memory in TupleProxy.copy()")
jpayne@69 8502 * memcpy(<char*>self.data, buffer, s) # <<<<<<<<<<<<<<
jpayne@69 8503 *
jpayne@69 8504 * if reset:
jpayne@69 8505 */
jpayne@69 8506 (void)(memcpy(((char *)__pyx_v_self->data), __pyx_v_buffer, __pyx_v_s));
jpayne@69 8507
jpayne@69 8508 /* "pysam/libctabixproxies.pyx":129
jpayne@69 8509 * memcpy(<char*>self.data, buffer, s)
jpayne@69 8510 *
jpayne@69 8511 * if reset: # <<<<<<<<<<<<<<
jpayne@69 8512 * for x from 0 <= x < nbytes:
jpayne@69 8513 * if self.data[x] == b'\0':
jpayne@69 8514 */
jpayne@69 8515 if (__pyx_v_reset) {
jpayne@69 8516
jpayne@69 8517 /* "pysam/libctabixproxies.pyx":130
jpayne@69 8518 *
jpayne@69 8519 * if reset:
jpayne@69 8520 * for x from 0 <= x < nbytes: # <<<<<<<<<<<<<<
jpayne@69 8521 * if self.data[x] == b'\0':
jpayne@69 8522 * self.data[x] = b'\t'
jpayne@69 8523 */
jpayne@69 8524 __pyx_t_3 = __pyx_v_nbytes;
jpayne@69 8525 for (__pyx_v_x = 0; __pyx_v_x < __pyx_t_3; __pyx_v_x++) {
jpayne@69 8526
jpayne@69 8527 /* "pysam/libctabixproxies.pyx":131
jpayne@69 8528 * if reset:
jpayne@69 8529 * for x from 0 <= x < nbytes:
jpayne@69 8530 * if self.data[x] == b'\0': # <<<<<<<<<<<<<<
jpayne@69 8531 * self.data[x] = b'\t'
jpayne@69 8532 *
jpayne@69 8533 */
jpayne@69 8534 __pyx_t_1 = ((__pyx_v_self->data[__pyx_v_x]) == '\x00');
jpayne@69 8535 if (__pyx_t_1) {
jpayne@69 8536
jpayne@69 8537 /* "pysam/libctabixproxies.pyx":132
jpayne@69 8538 * for x from 0 <= x < nbytes:
jpayne@69 8539 * if self.data[x] == b'\0':
jpayne@69 8540 * self.data[x] = b'\t' # <<<<<<<<<<<<<<
jpayne@69 8541 *
jpayne@69 8542 * self.update(self.data, nbytes)
jpayne@69 8543 */
jpayne@69 8544 (__pyx_v_self->data[__pyx_v_x]) = '\t';
jpayne@69 8545
jpayne@69 8546 /* "pysam/libctabixproxies.pyx":131
jpayne@69 8547 * if reset:
jpayne@69 8548 * for x from 0 <= x < nbytes:
jpayne@69 8549 * if self.data[x] == b'\0': # <<<<<<<<<<<<<<
jpayne@69 8550 * self.data[x] = b'\t'
jpayne@69 8551 *
jpayne@69 8552 */
jpayne@69 8553 }
jpayne@69 8554 }
jpayne@69 8555
jpayne@69 8556 /* "pysam/libctabixproxies.pyx":129
jpayne@69 8557 * memcpy(<char*>self.data, buffer, s)
jpayne@69 8558 *
jpayne@69 8559 * if reset: # <<<<<<<<<<<<<<
jpayne@69 8560 * for x from 0 <= x < nbytes:
jpayne@69 8561 * if self.data[x] == b'\0':
jpayne@69 8562 */
jpayne@69 8563 }
jpayne@69 8564
jpayne@69 8565 /* "pysam/libctabixproxies.pyx":134
jpayne@69 8566 * self.data[x] = b'\t'
jpayne@69 8567 *
jpayne@69 8568 * self.update(self.data, nbytes) # <<<<<<<<<<<<<<
jpayne@69 8569 *
jpayne@69 8570 * cpdef int getMinFields(self):
jpayne@69 8571 */
jpayne@69 8572 __pyx_t_2 = ((struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->update(__pyx_v_self, __pyx_v_self->data, __pyx_v_nbytes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 134, __pyx_L1_error)
jpayne@69 8573 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8574 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 8575
jpayne@69 8576 /* "pysam/libctabixproxies.pyx":115
jpayne@69 8577 * self.update(buffer, nbytes)
jpayne@69 8578 *
jpayne@69 8579 * cdef copy(self, char * buffer, size_t nbytes, bint reset=False): # <<<<<<<<<<<<<<
jpayne@69 8580 * '''start presenting buffer of size *nbytes*.
jpayne@69 8581 *
jpayne@69 8582 */
jpayne@69 8583
jpayne@69 8584 /* function exit code */
jpayne@69 8585 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 8586 goto __pyx_L0;
jpayne@69 8587 __pyx_L1_error:;
jpayne@69 8588 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 8589 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8590 __pyx_r = 0;
jpayne@69 8591 __pyx_L0:;
jpayne@69 8592 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 8593 __Pyx_RefNannyFinishContext();
jpayne@69 8594 return __pyx_r;
jpayne@69 8595 }
jpayne@69 8596
jpayne@69 8597 /* "pysam/libctabixproxies.pyx":136
jpayne@69 8598 * self.update(self.data, nbytes)
jpayne@69 8599 *
jpayne@69 8600 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 8601 * '''return minimum number of fields.'''
jpayne@69 8602 * # 1 is not a valid tabix entry, but TupleProxy
jpayne@69 8603 */
jpayne@69 8604
jpayne@69 8605 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_11getMinFields(PyObject *__pyx_v_self,
jpayne@69 8606 #if CYTHON_METH_FASTCALL
jpayne@69 8607 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 8608 #else
jpayne@69 8609 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 8610 #endif
jpayne@69 8611 ); /*proto*/
jpayne@69 8612 static int __pyx_f_5pysam_16libctabixproxies_10TupleProxy_getMinFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, int __pyx_skip_dispatch) {
jpayne@69 8613 int __pyx_r;
jpayne@69 8614 __Pyx_RefNannyDeclarations
jpayne@69 8615 PyObject *__pyx_t_1 = NULL;
jpayne@69 8616 PyObject *__pyx_t_2 = NULL;
jpayne@69 8617 PyObject *__pyx_t_3 = NULL;
jpayne@69 8618 PyObject *__pyx_t_4 = NULL;
jpayne@69 8619 unsigned int __pyx_t_5;
jpayne@69 8620 int __pyx_t_6;
jpayne@69 8621 int __pyx_lineno = 0;
jpayne@69 8622 const char *__pyx_filename = NULL;
jpayne@69 8623 int __pyx_clineno = 0;
jpayne@69 8624 __Pyx_RefNannySetupContext("getMinFields", 1);
jpayne@69 8625 /* Check if called by wrapper */
jpayne@69 8626 if (unlikely(__pyx_skip_dispatch)) ;
jpayne@69 8627 /* Check if overridden in Python */
jpayne@69 8628 else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
jpayne@69 8629 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 8630 static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 8631 if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
jpayne@69 8632 PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 8633 #endif
jpayne@69 8634 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getMinFields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 8635 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8636 if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_11getMinFields)) {
jpayne@69 8637 __Pyx_INCREF(__pyx_t_1);
jpayne@69 8638 __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
jpayne@69 8639 __pyx_t_5 = 0;
jpayne@69 8640 #if CYTHON_UNPACK_METHODS
jpayne@69 8641 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 8642 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 8643 if (likely(__pyx_t_4)) {
jpayne@69 8644 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 8645 __Pyx_INCREF(__pyx_t_4);
jpayne@69 8646 __Pyx_INCREF(function);
jpayne@69 8647 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 8648 __pyx_t_5 = 1;
jpayne@69 8649 }
jpayne@69 8650 }
jpayne@69 8651 #endif
jpayne@69 8652 {
jpayne@69 8653 PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
jpayne@69 8654 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
jpayne@69 8655 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 8656 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 8657 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8658 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 8659 }
jpayne@69 8660 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 8661 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 8662 __pyx_r = __pyx_t_6;
jpayne@69 8663 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8664 goto __pyx_L0;
jpayne@69 8665 }
jpayne@69 8666 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 8667 __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 8668 __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 8669 if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
jpayne@69 8670 __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 8671 }
jpayne@69 8672 #endif
jpayne@69 8673 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8674 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 8675 }
jpayne@69 8676 #endif
jpayne@69 8677 }
jpayne@69 8678
jpayne@69 8679 /* "pysam/libctabixproxies.pyx":140
jpayne@69 8680 * # 1 is not a valid tabix entry, but TupleProxy
jpayne@69 8681 * # could be more generic.
jpayne@69 8682 * return 1 # <<<<<<<<<<<<<<
jpayne@69 8683 *
jpayne@69 8684 * cpdef int getMaxFields(self):
jpayne@69 8685 */
jpayne@69 8686 __pyx_r = 1;
jpayne@69 8687 goto __pyx_L0;
jpayne@69 8688
jpayne@69 8689 /* "pysam/libctabixproxies.pyx":136
jpayne@69 8690 * self.update(self.data, nbytes)
jpayne@69 8691 *
jpayne@69 8692 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 8693 * '''return minimum number of fields.'''
jpayne@69 8694 * # 1 is not a valid tabix entry, but TupleProxy
jpayne@69 8695 */
jpayne@69 8696
jpayne@69 8697 /* function exit code */
jpayne@69 8698 __pyx_L1_error:;
jpayne@69 8699 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 8700 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 8701 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 8702 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 8703 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.getMinFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8704 __pyx_r = 0;
jpayne@69 8705 __pyx_L0:;
jpayne@69 8706 __Pyx_RefNannyFinishContext();
jpayne@69 8707 return __pyx_r;
jpayne@69 8708 }
jpayne@69 8709
jpayne@69 8710 /* Python wrapper */
jpayne@69 8711 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_11getMinFields(PyObject *__pyx_v_self,
jpayne@69 8712 #if CYTHON_METH_FASTCALL
jpayne@69 8713 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 8714 #else
jpayne@69 8715 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 8716 #endif
jpayne@69 8717 ); /*proto*/
jpayne@69 8718 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_10TupleProxy_10getMinFields, "return minimum number of fields.");
jpayne@69 8719 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_11getMinFields = {"getMinFields", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_11getMinFields, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_10getMinFields};
jpayne@69 8720 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_11getMinFields(PyObject *__pyx_v_self,
jpayne@69 8721 #if CYTHON_METH_FASTCALL
jpayne@69 8722 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 8723 #else
jpayne@69 8724 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 8725 #endif
jpayne@69 8726 ) {
jpayne@69 8727 #if !CYTHON_METH_FASTCALL
jpayne@69 8728 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 8729 #endif
jpayne@69 8730 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 8731 PyObject *__pyx_r = 0;
jpayne@69 8732 __Pyx_RefNannyDeclarations
jpayne@69 8733 __Pyx_RefNannySetupContext("getMinFields (wrapper)", 0);
jpayne@69 8734 #if !CYTHON_METH_FASTCALL
jpayne@69 8735 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 8736 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 8737 #else
jpayne@69 8738 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 8739 #endif
jpayne@69 8740 #endif
jpayne@69 8741 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 8742 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 8743 __Pyx_RaiseArgtupleInvalid("getMinFields", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 8744 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getMinFields", 0))) return NULL;
jpayne@69 8745 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_10getMinFields(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self));
jpayne@69 8746
jpayne@69 8747 /* function exit code */
jpayne@69 8748 __Pyx_RefNannyFinishContext();
jpayne@69 8749 return __pyx_r;
jpayne@69 8750 }
jpayne@69 8751
jpayne@69 8752 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_10getMinFields(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self) {
jpayne@69 8753 PyObject *__pyx_r = NULL;
jpayne@69 8754 __Pyx_RefNannyDeclarations
jpayne@69 8755 int __pyx_t_1;
jpayne@69 8756 PyObject *__pyx_t_2 = NULL;
jpayne@69 8757 int __pyx_lineno = 0;
jpayne@69 8758 const char *__pyx_filename = NULL;
jpayne@69 8759 int __pyx_clineno = 0;
jpayne@69 8760 __Pyx_RefNannySetupContext("getMinFields", 1);
jpayne@69 8761 __Pyx_XDECREF(__pyx_r);
jpayne@69 8762 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies_10TupleProxy_getMinFields(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 8763 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 8764 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8765 __pyx_r = __pyx_t_2;
jpayne@69 8766 __pyx_t_2 = 0;
jpayne@69 8767 goto __pyx_L0;
jpayne@69 8768
jpayne@69 8769 /* function exit code */
jpayne@69 8770 __pyx_L1_error:;
jpayne@69 8771 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 8772 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.getMinFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8773 __pyx_r = NULL;
jpayne@69 8774 __pyx_L0:;
jpayne@69 8775 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 8776 __Pyx_RefNannyFinishContext();
jpayne@69 8777 return __pyx_r;
jpayne@69 8778 }
jpayne@69 8779
jpayne@69 8780 /* "pysam/libctabixproxies.pyx":142
jpayne@69 8781 * return 1
jpayne@69 8782 *
jpayne@69 8783 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 8784 * '''return maximum number of fields. Return
jpayne@69 8785 * 0 for unknown length.'''
jpayne@69 8786 */
jpayne@69 8787
jpayne@69 8788 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_13getMaxFields(PyObject *__pyx_v_self,
jpayne@69 8789 #if CYTHON_METH_FASTCALL
jpayne@69 8790 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 8791 #else
jpayne@69 8792 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 8793 #endif
jpayne@69 8794 ); /*proto*/
jpayne@69 8795 static int __pyx_f_5pysam_16libctabixproxies_10TupleProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, int __pyx_skip_dispatch) {
jpayne@69 8796 int __pyx_r;
jpayne@69 8797 __Pyx_RefNannyDeclarations
jpayne@69 8798 PyObject *__pyx_t_1 = NULL;
jpayne@69 8799 PyObject *__pyx_t_2 = NULL;
jpayne@69 8800 PyObject *__pyx_t_3 = NULL;
jpayne@69 8801 PyObject *__pyx_t_4 = NULL;
jpayne@69 8802 unsigned int __pyx_t_5;
jpayne@69 8803 int __pyx_t_6;
jpayne@69 8804 int __pyx_lineno = 0;
jpayne@69 8805 const char *__pyx_filename = NULL;
jpayne@69 8806 int __pyx_clineno = 0;
jpayne@69 8807 __Pyx_RefNannySetupContext("getMaxFields", 1);
jpayne@69 8808 /* Check if called by wrapper */
jpayne@69 8809 if (unlikely(__pyx_skip_dispatch)) ;
jpayne@69 8810 /* Check if overridden in Python */
jpayne@69 8811 else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
jpayne@69 8812 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 8813 static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 8814 if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
jpayne@69 8815 PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 8816 #endif
jpayne@69 8817 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getMaxFields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error)
jpayne@69 8818 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 8819 if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_13getMaxFields)) {
jpayne@69 8820 __Pyx_INCREF(__pyx_t_1);
jpayne@69 8821 __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
jpayne@69 8822 __pyx_t_5 = 0;
jpayne@69 8823 #if CYTHON_UNPACK_METHODS
jpayne@69 8824 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 8825 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 8826 if (likely(__pyx_t_4)) {
jpayne@69 8827 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 8828 __Pyx_INCREF(__pyx_t_4);
jpayne@69 8829 __Pyx_INCREF(function);
jpayne@69 8830 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 8831 __pyx_t_5 = 1;
jpayne@69 8832 }
jpayne@69 8833 }
jpayne@69 8834 #endif
jpayne@69 8835 {
jpayne@69 8836 PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
jpayne@69 8837 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
jpayne@69 8838 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 8839 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
jpayne@69 8840 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8841 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 8842 }
jpayne@69 8843 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 142, __pyx_L1_error)
jpayne@69 8844 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 8845 __pyx_r = __pyx_t_6;
jpayne@69 8846 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8847 goto __pyx_L0;
jpayne@69 8848 }
jpayne@69 8849 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 8850 __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 8851 __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 8852 if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
jpayne@69 8853 __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 8854 }
jpayne@69 8855 #endif
jpayne@69 8856 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 8857 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 8858 }
jpayne@69 8859 #endif
jpayne@69 8860 }
jpayne@69 8861
jpayne@69 8862 /* "pysam/libctabixproxies.pyx":145
jpayne@69 8863 * '''return maximum number of fields. Return
jpayne@69 8864 * 0 for unknown length.'''
jpayne@69 8865 * return 0 # <<<<<<<<<<<<<<
jpayne@69 8866 *
jpayne@69 8867 * cdef update(self, char * buffer, size_t nbytes):
jpayne@69 8868 */
jpayne@69 8869 __pyx_r = 0;
jpayne@69 8870 goto __pyx_L0;
jpayne@69 8871
jpayne@69 8872 /* "pysam/libctabixproxies.pyx":142
jpayne@69 8873 * return 1
jpayne@69 8874 *
jpayne@69 8875 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 8876 * '''return maximum number of fields. Return
jpayne@69 8877 * 0 for unknown length.'''
jpayne@69 8878 */
jpayne@69 8879
jpayne@69 8880 /* function exit code */
jpayne@69 8881 __pyx_L1_error:;
jpayne@69 8882 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 8883 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 8884 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 8885 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 8886 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.getMaxFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8887 __pyx_r = 0;
jpayne@69 8888 __pyx_L0:;
jpayne@69 8889 __Pyx_RefNannyFinishContext();
jpayne@69 8890 return __pyx_r;
jpayne@69 8891 }
jpayne@69 8892
jpayne@69 8893 /* Python wrapper */
jpayne@69 8894 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_13getMaxFields(PyObject *__pyx_v_self,
jpayne@69 8895 #if CYTHON_METH_FASTCALL
jpayne@69 8896 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 8897 #else
jpayne@69 8898 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 8899 #endif
jpayne@69 8900 ); /*proto*/
jpayne@69 8901 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_10TupleProxy_12getMaxFields, "return maximum number of fields. Return \n 0 for unknown length.");
jpayne@69 8902 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_13getMaxFields = {"getMaxFields", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_13getMaxFields, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_12getMaxFields};
jpayne@69 8903 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_13getMaxFields(PyObject *__pyx_v_self,
jpayne@69 8904 #if CYTHON_METH_FASTCALL
jpayne@69 8905 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 8906 #else
jpayne@69 8907 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 8908 #endif
jpayne@69 8909 ) {
jpayne@69 8910 #if !CYTHON_METH_FASTCALL
jpayne@69 8911 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 8912 #endif
jpayne@69 8913 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 8914 PyObject *__pyx_r = 0;
jpayne@69 8915 __Pyx_RefNannyDeclarations
jpayne@69 8916 __Pyx_RefNannySetupContext("getMaxFields (wrapper)", 0);
jpayne@69 8917 #if !CYTHON_METH_FASTCALL
jpayne@69 8918 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 8919 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 8920 #else
jpayne@69 8921 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 8922 #endif
jpayne@69 8923 #endif
jpayne@69 8924 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 8925 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 8926 __Pyx_RaiseArgtupleInvalid("getMaxFields", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 8927 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getMaxFields", 0))) return NULL;
jpayne@69 8928 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_12getMaxFields(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self));
jpayne@69 8929
jpayne@69 8930 /* function exit code */
jpayne@69 8931 __Pyx_RefNannyFinishContext();
jpayne@69 8932 return __pyx_r;
jpayne@69 8933 }
jpayne@69 8934
jpayne@69 8935 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_12getMaxFields(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self) {
jpayne@69 8936 PyObject *__pyx_r = NULL;
jpayne@69 8937 __Pyx_RefNannyDeclarations
jpayne@69 8938 int __pyx_t_1;
jpayne@69 8939 PyObject *__pyx_t_2 = NULL;
jpayne@69 8940 int __pyx_lineno = 0;
jpayne@69 8941 const char *__pyx_filename = NULL;
jpayne@69 8942 int __pyx_clineno = 0;
jpayne@69 8943 __Pyx_RefNannySetupContext("getMaxFields", 1);
jpayne@69 8944 __Pyx_XDECREF(__pyx_r);
jpayne@69 8945 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies_10TupleProxy_getMaxFields(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 142, __pyx_L1_error)
jpayne@69 8946 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
jpayne@69 8947 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 8948 __pyx_r = __pyx_t_2;
jpayne@69 8949 __pyx_t_2 = 0;
jpayne@69 8950 goto __pyx_L0;
jpayne@69 8951
jpayne@69 8952 /* function exit code */
jpayne@69 8953 __pyx_L1_error:;
jpayne@69 8954 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 8955 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.getMaxFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 8956 __pyx_r = NULL;
jpayne@69 8957 __pyx_L0:;
jpayne@69 8958 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 8959 __Pyx_RefNannyFinishContext();
jpayne@69 8960 return __pyx_r;
jpayne@69 8961 }
jpayne@69 8962
jpayne@69 8963 /* "pysam/libctabixproxies.pyx":147
jpayne@69 8964 * return 0
jpayne@69 8965 *
jpayne@69 8966 * cdef update(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 8967 * '''update internal data.
jpayne@69 8968 *
jpayne@69 8969 */
jpayne@69 8970
jpayne@69 8971 static PyObject *__pyx_f_5pysam_16libctabixproxies_10TupleProxy_update(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
jpayne@69 8972 char *__pyx_v_pos;
jpayne@69 8973 char *__pyx_v_old_pos;
jpayne@69 8974 int __pyx_v_field;
jpayne@69 8975 int __pyx_v_max_fields;
jpayne@69 8976 int __pyx_v_x;
jpayne@69 8977 PyObject *__pyx_r = NULL;
jpayne@69 8978 __Pyx_RefNannyDeclarations
jpayne@69 8979 int __pyx_t_1;
jpayne@69 8980 PyObject *__pyx_t_2 = NULL;
jpayne@69 8981 PyObject *__pyx_t_3 = NULL;
jpayne@69 8982 PyObject *__pyx_t_4 = NULL;
jpayne@69 8983 int __pyx_t_5;
jpayne@69 8984 int __pyx_t_6;
jpayne@69 8985 int __pyx_t_7;
jpayne@69 8986 size_t __pyx_t_8;
jpayne@69 8987 int __pyx_lineno = 0;
jpayne@69 8988 const char *__pyx_filename = NULL;
jpayne@69 8989 int __pyx_clineno = 0;
jpayne@69 8990 __Pyx_RefNannySetupContext("update", 1);
jpayne@69 8991
jpayne@69 8992 /* "pysam/libctabixproxies.pyx":168
jpayne@69 8993 * cdef int max_fields, min_fields, x
jpayne@69 8994 *
jpayne@69 8995 * assert strlen(buffer) == nbytes, \ # <<<<<<<<<<<<<<
jpayne@69 8996 * "length of buffer (%i) != number of bytes (%i)" % (
jpayne@69 8997 * strlen(buffer), nbytes)
jpayne@69 8998 */
jpayne@69 8999 #ifndef CYTHON_WITHOUT_ASSERTIONS
jpayne@69 9000 if (unlikely(__pyx_assertions_enabled())) {
jpayne@69 9001 __pyx_t_1 = (strlen(__pyx_v_buffer) == __pyx_v_nbytes);
jpayne@69 9002 if (unlikely(!__pyx_t_1)) {
jpayne@69 9003
jpayne@69 9004 /* "pysam/libctabixproxies.pyx":170
jpayne@69 9005 * assert strlen(buffer) == nbytes, \
jpayne@69 9006 * "length of buffer (%i) != number of bytes (%i)" % (
jpayne@69 9007 * strlen(buffer), nbytes) # <<<<<<<<<<<<<<
jpayne@69 9008 *
jpayne@69 9009 * if buffer[nbytes] != 0:
jpayne@69 9010 */
jpayne@69 9011 __pyx_t_2 = __Pyx_PyInt_FromSize_t(strlen(__pyx_v_buffer)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 170, __pyx_L1_error)
jpayne@69 9012 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 9013 __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_nbytes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 170, __pyx_L1_error)
jpayne@69 9014 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9015 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 170, __pyx_L1_error)
jpayne@69 9016 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9017 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 9018 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(0, 170, __pyx_L1_error);
jpayne@69 9019 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 9020 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 170, __pyx_L1_error);
jpayne@69 9021 __pyx_t_2 = 0;
jpayne@69 9022 __pyx_t_3 = 0;
jpayne@69 9023
jpayne@69 9024 /* "pysam/libctabixproxies.pyx":169
jpayne@69 9025 *
jpayne@69 9026 * assert strlen(buffer) == nbytes, \
jpayne@69 9027 * "length of buffer (%i) != number of bytes (%i)" % ( # <<<<<<<<<<<<<<
jpayne@69 9028 * strlen(buffer), nbytes)
jpayne@69 9029 *
jpayne@69 9030 */
jpayne@69 9031 __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_length_of_buffer_i_number_of_byt, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error)
jpayne@69 9032 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9033 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 9034 __Pyx_Raise(__pyx_builtin_AssertionError, __pyx_t_3, 0, 0);
jpayne@69 9035 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 9036 __PYX_ERR(0, 168, __pyx_L1_error)
jpayne@69 9037 }
jpayne@69 9038 }
jpayne@69 9039 #else
jpayne@69 9040 if ((1)); else __PYX_ERR(0, 168, __pyx_L1_error)
jpayne@69 9041 #endif
jpayne@69 9042
jpayne@69 9043 /* "pysam/libctabixproxies.pyx":172
jpayne@69 9044 * strlen(buffer), nbytes)
jpayne@69 9045 *
jpayne@69 9046 * if buffer[nbytes] != 0: # <<<<<<<<<<<<<<
jpayne@69 9047 * raise ValueError("incomplete line at %s" % buffer)
jpayne@69 9048 *
jpayne@69 9049 */
jpayne@69 9050 __pyx_t_1 = ((__pyx_v_buffer[__pyx_v_nbytes]) != 0);
jpayne@69 9051 if (unlikely(__pyx_t_1)) {
jpayne@69 9052
jpayne@69 9053 /* "pysam/libctabixproxies.pyx":173
jpayne@69 9054 *
jpayne@69 9055 * if buffer[nbytes] != 0:
jpayne@69 9056 * raise ValueError("incomplete line at %s" % buffer) # <<<<<<<<<<<<<<
jpayne@69 9057 *
jpayne@69 9058 * #################################
jpayne@69 9059 */
jpayne@69 9060 __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_buffer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error)
jpayne@69 9061 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9062 __pyx_t_4 = PyUnicode_Format(__pyx_kp_u_incomplete_line_at_s, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L1_error)
jpayne@69 9063 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9064 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 9065 __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L1_error)
jpayne@69 9066 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9067 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 9068 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
jpayne@69 9069 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 9070 __PYX_ERR(0, 173, __pyx_L1_error)
jpayne@69 9071
jpayne@69 9072 /* "pysam/libctabixproxies.pyx":172
jpayne@69 9073 * strlen(buffer), nbytes)
jpayne@69 9074 *
jpayne@69 9075 * if buffer[nbytes] != 0: # <<<<<<<<<<<<<<
jpayne@69 9076 * raise ValueError("incomplete line at %s" % buffer)
jpayne@69 9077 *
jpayne@69 9078 */
jpayne@69 9079 }
jpayne@69 9080
jpayne@69 9081 /* "pysam/libctabixproxies.pyx":177
jpayne@69 9082 * #################################
jpayne@69 9083 * # remove line breaks and feeds and update number of bytes
jpayne@69 9084 * x = nbytes - 1 # <<<<<<<<<<<<<<
jpayne@69 9085 * while x > 0 and (buffer[x] == b'\n' or buffer[x] == b'\r'):
jpayne@69 9086 * buffer[x] = b'\0'
jpayne@69 9087 */
jpayne@69 9088 __pyx_v_x = (__pyx_v_nbytes - 1);
jpayne@69 9089
jpayne@69 9090 /* "pysam/libctabixproxies.pyx":178
jpayne@69 9091 * # remove line breaks and feeds and update number of bytes
jpayne@69 9092 * x = nbytes - 1
jpayne@69 9093 * while x > 0 and (buffer[x] == b'\n' or buffer[x] == b'\r'): # <<<<<<<<<<<<<<
jpayne@69 9094 * buffer[x] = b'\0'
jpayne@69 9095 * x -= 1
jpayne@69 9096 */
jpayne@69 9097 while (1) {
jpayne@69 9098 __pyx_t_5 = (__pyx_v_x > 0);
jpayne@69 9099 if (__pyx_t_5) {
jpayne@69 9100 } else {
jpayne@69 9101 __pyx_t_1 = __pyx_t_5;
jpayne@69 9102 goto __pyx_L6_bool_binop_done;
jpayne@69 9103 }
jpayne@69 9104 __pyx_t_5 = ((__pyx_v_buffer[__pyx_v_x]) == '\n');
jpayne@69 9105 if (!__pyx_t_5) {
jpayne@69 9106 } else {
jpayne@69 9107 __pyx_t_1 = __pyx_t_5;
jpayne@69 9108 goto __pyx_L6_bool_binop_done;
jpayne@69 9109 }
jpayne@69 9110 __pyx_t_5 = ((__pyx_v_buffer[__pyx_v_x]) == '\r');
jpayne@69 9111 __pyx_t_1 = __pyx_t_5;
jpayne@69 9112 __pyx_L6_bool_binop_done:;
jpayne@69 9113 if (!__pyx_t_1) break;
jpayne@69 9114
jpayne@69 9115 /* "pysam/libctabixproxies.pyx":179
jpayne@69 9116 * x = nbytes - 1
jpayne@69 9117 * while x > 0 and (buffer[x] == b'\n' or buffer[x] == b'\r'):
jpayne@69 9118 * buffer[x] = b'\0' # <<<<<<<<<<<<<<
jpayne@69 9119 * x -= 1
jpayne@69 9120 * self.nbytes = x + 1
jpayne@69 9121 */
jpayne@69 9122 (__pyx_v_buffer[__pyx_v_x]) = '\x00';
jpayne@69 9123
jpayne@69 9124 /* "pysam/libctabixproxies.pyx":180
jpayne@69 9125 * while x > 0 and (buffer[x] == b'\n' or buffer[x] == b'\r'):
jpayne@69 9126 * buffer[x] = b'\0'
jpayne@69 9127 * x -= 1 # <<<<<<<<<<<<<<
jpayne@69 9128 * self.nbytes = x + 1
jpayne@69 9129 *
jpayne@69 9130 */
jpayne@69 9131 __pyx_v_x = (__pyx_v_x - 1);
jpayne@69 9132 }
jpayne@69 9133
jpayne@69 9134 /* "pysam/libctabixproxies.pyx":181
jpayne@69 9135 * buffer[x] = b'\0'
jpayne@69 9136 * x -= 1
jpayne@69 9137 * self.nbytes = x + 1 # <<<<<<<<<<<<<<
jpayne@69 9138 *
jpayne@69 9139 * #################################
jpayne@69 9140 */
jpayne@69 9141 __pyx_v_self->nbytes = (__pyx_v_x + 1);
jpayne@69 9142
jpayne@69 9143 /* "pysam/libctabixproxies.pyx":185
jpayne@69 9144 * #################################
jpayne@69 9145 * # clear data
jpayne@69 9146 * if self.fields != NULL: # <<<<<<<<<<<<<<
jpayne@69 9147 * free(self.fields)
jpayne@69 9148 *
jpayne@69 9149 */
jpayne@69 9150 __pyx_t_1 = (__pyx_v_self->fields != NULL);
jpayne@69 9151 if (__pyx_t_1) {
jpayne@69 9152
jpayne@69 9153 /* "pysam/libctabixproxies.pyx":186
jpayne@69 9154 * # clear data
jpayne@69 9155 * if self.fields != NULL:
jpayne@69 9156 * free(self.fields) # <<<<<<<<<<<<<<
jpayne@69 9157 *
jpayne@69 9158 * for field from 0 <= field < self.nfields:
jpayne@69 9159 */
jpayne@69 9160 free(__pyx_v_self->fields);
jpayne@69 9161
jpayne@69 9162 /* "pysam/libctabixproxies.pyx":185
jpayne@69 9163 * #################################
jpayne@69 9164 * # clear data
jpayne@69 9165 * if self.fields != NULL: # <<<<<<<<<<<<<<
jpayne@69 9166 * free(self.fields)
jpayne@69 9167 *
jpayne@69 9168 */
jpayne@69 9169 }
jpayne@69 9170
jpayne@69 9171 /* "pysam/libctabixproxies.pyx":188
jpayne@69 9172 * free(self.fields)
jpayne@69 9173 *
jpayne@69 9174 * for field from 0 <= field < self.nfields: # <<<<<<<<<<<<<<
jpayne@69 9175 * if isNew(self.fields[field], self.data, self.nbytes):
jpayne@69 9176 * free(self.fields[field])
jpayne@69 9177 */
jpayne@69 9178 __pyx_t_6 = __pyx_v_self->nfields;
jpayne@69 9179 for (__pyx_v_field = 0; __pyx_v_field < __pyx_t_6; __pyx_v_field++) {
jpayne@69 9180
jpayne@69 9181 /* "pysam/libctabixproxies.pyx":189
jpayne@69 9182 *
jpayne@69 9183 * for field from 0 <= field < self.nfields:
jpayne@69 9184 * if isNew(self.fields[field], self.data, self.nbytes): # <<<<<<<<<<<<<<
jpayne@69 9185 * free(self.fields[field])
jpayne@69 9186 *
jpayne@69 9187 */
jpayne@69 9188 __pyx_t_7 = __pyx_f_5pysam_16libctabixproxies_isNew((__pyx_v_self->fields[__pyx_v_field]), __pyx_v_self->data, __pyx_v_self->nbytes); if (unlikely(__pyx_t_7 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 189, __pyx_L1_error)
jpayne@69 9189 __pyx_t_1 = (__pyx_t_7 != 0);
jpayne@69 9190 if (__pyx_t_1) {
jpayne@69 9191
jpayne@69 9192 /* "pysam/libctabixproxies.pyx":190
jpayne@69 9193 * for field from 0 <= field < self.nfields:
jpayne@69 9194 * if isNew(self.fields[field], self.data, self.nbytes):
jpayne@69 9195 * free(self.fields[field]) # <<<<<<<<<<<<<<
jpayne@69 9196 *
jpayne@69 9197 * self.is_modified = self.nfields = 0
jpayne@69 9198 */
jpayne@69 9199 free((__pyx_v_self->fields[__pyx_v_field]));
jpayne@69 9200
jpayne@69 9201 /* "pysam/libctabixproxies.pyx":189
jpayne@69 9202 *
jpayne@69 9203 * for field from 0 <= field < self.nfields:
jpayne@69 9204 * if isNew(self.fields[field], self.data, self.nbytes): # <<<<<<<<<<<<<<
jpayne@69 9205 * free(self.fields[field])
jpayne@69 9206 *
jpayne@69 9207 */
jpayne@69 9208 }
jpayne@69 9209 }
jpayne@69 9210
jpayne@69 9211 /* "pysam/libctabixproxies.pyx":192
jpayne@69 9212 * free(self.fields[field])
jpayne@69 9213 *
jpayne@69 9214 * self.is_modified = self.nfields = 0 # <<<<<<<<<<<<<<
jpayne@69 9215 *
jpayne@69 9216 * #################################
jpayne@69 9217 */
jpayne@69 9218 __pyx_v_self->is_modified = 0;
jpayne@69 9219 __pyx_v_self->nfields = 0;
jpayne@69 9220
jpayne@69 9221 /* "pysam/libctabixproxies.pyx":196
jpayne@69 9222 * #################################
jpayne@69 9223 * # allocate new
jpayne@69 9224 * max_fields = self.getMaxFields() # <<<<<<<<<<<<<<
jpayne@69 9225 * # pre-count fields - better would be
jpayne@69 9226 * # to guess or dynamically grow
jpayne@69 9227 */
jpayne@69 9228 __pyx_t_6 = ((struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->getMaxFields(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 196, __pyx_L1_error)
jpayne@69 9229 __pyx_v_max_fields = __pyx_t_6;
jpayne@69 9230
jpayne@69 9231 /* "pysam/libctabixproxies.pyx":199
jpayne@69 9232 * # pre-count fields - better would be
jpayne@69 9233 * # to guess or dynamically grow
jpayne@69 9234 * if max_fields == 0: # <<<<<<<<<<<<<<
jpayne@69 9235 * for x from 0 <= x < nbytes:
jpayne@69 9236 * if buffer[x] == b'\t':
jpayne@69 9237 */
jpayne@69 9238 __pyx_t_1 = (__pyx_v_max_fields == 0);
jpayne@69 9239 if (__pyx_t_1) {
jpayne@69 9240
jpayne@69 9241 /* "pysam/libctabixproxies.pyx":200
jpayne@69 9242 * # to guess or dynamically grow
jpayne@69 9243 * if max_fields == 0:
jpayne@69 9244 * for x from 0 <= x < nbytes: # <<<<<<<<<<<<<<
jpayne@69 9245 * if buffer[x] == b'\t':
jpayne@69 9246 * max_fields += 1
jpayne@69 9247 */
jpayne@69 9248 __pyx_t_8 = __pyx_v_nbytes;
jpayne@69 9249 for (__pyx_v_x = 0; __pyx_v_x < __pyx_t_8; __pyx_v_x++) {
jpayne@69 9250
jpayne@69 9251 /* "pysam/libctabixproxies.pyx":201
jpayne@69 9252 * if max_fields == 0:
jpayne@69 9253 * for x from 0 <= x < nbytes:
jpayne@69 9254 * if buffer[x] == b'\t': # <<<<<<<<<<<<<<
jpayne@69 9255 * max_fields += 1
jpayne@69 9256 * max_fields += 1
jpayne@69 9257 */
jpayne@69 9258 __pyx_t_1 = ((__pyx_v_buffer[__pyx_v_x]) == '\t');
jpayne@69 9259 if (__pyx_t_1) {
jpayne@69 9260
jpayne@69 9261 /* "pysam/libctabixproxies.pyx":202
jpayne@69 9262 * for x from 0 <= x < nbytes:
jpayne@69 9263 * if buffer[x] == b'\t':
jpayne@69 9264 * max_fields += 1 # <<<<<<<<<<<<<<
jpayne@69 9265 * max_fields += 1
jpayne@69 9266 *
jpayne@69 9267 */
jpayne@69 9268 __pyx_v_max_fields = (__pyx_v_max_fields + 1);
jpayne@69 9269
jpayne@69 9270 /* "pysam/libctabixproxies.pyx":201
jpayne@69 9271 * if max_fields == 0:
jpayne@69 9272 * for x from 0 <= x < nbytes:
jpayne@69 9273 * if buffer[x] == b'\t': # <<<<<<<<<<<<<<
jpayne@69 9274 * max_fields += 1
jpayne@69 9275 * max_fields += 1
jpayne@69 9276 */
jpayne@69 9277 }
jpayne@69 9278 }
jpayne@69 9279
jpayne@69 9280 /* "pysam/libctabixproxies.pyx":203
jpayne@69 9281 * if buffer[x] == b'\t':
jpayne@69 9282 * max_fields += 1
jpayne@69 9283 * max_fields += 1 # <<<<<<<<<<<<<<
jpayne@69 9284 *
jpayne@69 9285 * self.fields = <char **>calloc(max_fields, sizeof(char *))
jpayne@69 9286 */
jpayne@69 9287 __pyx_v_max_fields = (__pyx_v_max_fields + 1);
jpayne@69 9288
jpayne@69 9289 /* "pysam/libctabixproxies.pyx":199
jpayne@69 9290 * # pre-count fields - better would be
jpayne@69 9291 * # to guess or dynamically grow
jpayne@69 9292 * if max_fields == 0: # <<<<<<<<<<<<<<
jpayne@69 9293 * for x from 0 <= x < nbytes:
jpayne@69 9294 * if buffer[x] == b'\t':
jpayne@69 9295 */
jpayne@69 9296 }
jpayne@69 9297
jpayne@69 9298 /* "pysam/libctabixproxies.pyx":205
jpayne@69 9299 * max_fields += 1
jpayne@69 9300 *
jpayne@69 9301 * self.fields = <char **>calloc(max_fields, sizeof(char *)) # <<<<<<<<<<<<<<
jpayne@69 9302 * if self.fields == NULL:
jpayne@69 9303 * raise ValueError("out of memory in TupleProxy.update()")
jpayne@69 9304 */
jpayne@69 9305 __pyx_v_self->fields = ((char **)calloc(__pyx_v_max_fields, (sizeof(char *))));
jpayne@69 9306
jpayne@69 9307 /* "pysam/libctabixproxies.pyx":206
jpayne@69 9308 *
jpayne@69 9309 * self.fields = <char **>calloc(max_fields, sizeof(char *))
jpayne@69 9310 * if self.fields == NULL: # <<<<<<<<<<<<<<
jpayne@69 9311 * raise ValueError("out of memory in TupleProxy.update()")
jpayne@69 9312 *
jpayne@69 9313 */
jpayne@69 9314 __pyx_t_1 = (__pyx_v_self->fields == NULL);
jpayne@69 9315 if (unlikely(__pyx_t_1)) {
jpayne@69 9316
jpayne@69 9317 /* "pysam/libctabixproxies.pyx":207
jpayne@69 9318 * self.fields = <char **>calloc(max_fields, sizeof(char *))
jpayne@69 9319 * if self.fields == NULL:
jpayne@69 9320 * raise ValueError("out of memory in TupleProxy.update()") # <<<<<<<<<<<<<<
jpayne@69 9321 *
jpayne@69 9322 * #################################
jpayne@69 9323 */
jpayne@69 9324 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L1_error)
jpayne@69 9325 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9326 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
jpayne@69 9327 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 9328 __PYX_ERR(0, 207, __pyx_L1_error)
jpayne@69 9329
jpayne@69 9330 /* "pysam/libctabixproxies.pyx":206
jpayne@69 9331 *
jpayne@69 9332 * self.fields = <char **>calloc(max_fields, sizeof(char *))
jpayne@69 9333 * if self.fields == NULL: # <<<<<<<<<<<<<<
jpayne@69 9334 * raise ValueError("out of memory in TupleProxy.update()")
jpayne@69 9335 *
jpayne@69 9336 */
jpayne@69 9337 }
jpayne@69 9338
jpayne@69 9339 /* "pysam/libctabixproxies.pyx":211
jpayne@69 9340 * #################################
jpayne@69 9341 * # start filling
jpayne@69 9342 * field = 0 # <<<<<<<<<<<<<<
jpayne@69 9343 * self.fields[field] = pos = buffer
jpayne@69 9344 * field += 1
jpayne@69 9345 */
jpayne@69 9346 __pyx_v_field = 0;
jpayne@69 9347
jpayne@69 9348 /* "pysam/libctabixproxies.pyx":212
jpayne@69 9349 * # start filling
jpayne@69 9350 * field = 0
jpayne@69 9351 * self.fields[field] = pos = buffer # <<<<<<<<<<<<<<
jpayne@69 9352 * field += 1
jpayne@69 9353 * old_pos = pos
jpayne@69 9354 */
jpayne@69 9355 (__pyx_v_self->fields[__pyx_v_field]) = __pyx_v_buffer;
jpayne@69 9356 __pyx_v_pos = __pyx_v_buffer;
jpayne@69 9357
jpayne@69 9358 /* "pysam/libctabixproxies.pyx":213
jpayne@69 9359 * field = 0
jpayne@69 9360 * self.fields[field] = pos = buffer
jpayne@69 9361 * field += 1 # <<<<<<<<<<<<<<
jpayne@69 9362 * old_pos = pos
jpayne@69 9363 * while 1:
jpayne@69 9364 */
jpayne@69 9365 __pyx_v_field = (__pyx_v_field + 1);
jpayne@69 9366
jpayne@69 9367 /* "pysam/libctabixproxies.pyx":214
jpayne@69 9368 * self.fields[field] = pos = buffer
jpayne@69 9369 * field += 1
jpayne@69 9370 * old_pos = pos # <<<<<<<<<<<<<<
jpayne@69 9371 * while 1:
jpayne@69 9372 *
jpayne@69 9373 */
jpayne@69 9374 __pyx_v_old_pos = __pyx_v_pos;
jpayne@69 9375
jpayne@69 9376 /* "pysam/libctabixproxies.pyx":215
jpayne@69 9377 * field += 1
jpayne@69 9378 * old_pos = pos
jpayne@69 9379 * while 1: # <<<<<<<<<<<<<<
jpayne@69 9380 *
jpayne@69 9381 * pos = <char*>memchr(pos, b'\t', nbytes)
jpayne@69 9382 */
jpayne@69 9383 while (1) {
jpayne@69 9384
jpayne@69 9385 /* "pysam/libctabixproxies.pyx":217
jpayne@69 9386 * while 1:
jpayne@69 9387 *
jpayne@69 9388 * pos = <char*>memchr(pos, b'\t', nbytes) # <<<<<<<<<<<<<<
jpayne@69 9389 * if pos == NULL:
jpayne@69 9390 * break
jpayne@69 9391 */
jpayne@69 9392 __pyx_v_pos = ((char *)memchr(__pyx_v_pos, '\t', __pyx_v_nbytes));
jpayne@69 9393
jpayne@69 9394 /* "pysam/libctabixproxies.pyx":218
jpayne@69 9395 *
jpayne@69 9396 * pos = <char*>memchr(pos, b'\t', nbytes)
jpayne@69 9397 * if pos == NULL: # <<<<<<<<<<<<<<
jpayne@69 9398 * break
jpayne@69 9399 * if field >= max_fields:
jpayne@69 9400 */
jpayne@69 9401 __pyx_t_1 = (__pyx_v_pos == NULL);
jpayne@69 9402 if (__pyx_t_1) {
jpayne@69 9403
jpayne@69 9404 /* "pysam/libctabixproxies.pyx":219
jpayne@69 9405 * pos = <char*>memchr(pos, b'\t', nbytes)
jpayne@69 9406 * if pos == NULL:
jpayne@69 9407 * break # <<<<<<<<<<<<<<
jpayne@69 9408 * if field >= max_fields:
jpayne@69 9409 * raise ValueError(
jpayne@69 9410 */
jpayne@69 9411 goto __pyx_L19_break;
jpayne@69 9412
jpayne@69 9413 /* "pysam/libctabixproxies.pyx":218
jpayne@69 9414 *
jpayne@69 9415 * pos = <char*>memchr(pos, b'\t', nbytes)
jpayne@69 9416 * if pos == NULL: # <<<<<<<<<<<<<<
jpayne@69 9417 * break
jpayne@69 9418 * if field >= max_fields:
jpayne@69 9419 */
jpayne@69 9420 }
jpayne@69 9421
jpayne@69 9422 /* "pysam/libctabixproxies.pyx":220
jpayne@69 9423 * if pos == NULL:
jpayne@69 9424 * break
jpayne@69 9425 * if field >= max_fields: # <<<<<<<<<<<<<<
jpayne@69 9426 * raise ValueError(
jpayne@69 9427 * "parsing error: more than %i fields in line: %s" %
jpayne@69 9428 */
jpayne@69 9429 __pyx_t_1 = (__pyx_v_field >= __pyx_v_max_fields);
jpayne@69 9430 if (unlikely(__pyx_t_1)) {
jpayne@69 9431
jpayne@69 9432 /* "pysam/libctabixproxies.pyx":223
jpayne@69 9433 * raise ValueError(
jpayne@69 9434 * "parsing error: more than %i fields in line: %s" %
jpayne@69 9435 * (max_fields, buffer)) # <<<<<<<<<<<<<<
jpayne@69 9436 *
jpayne@69 9437 * pos[0] = b'\0'
jpayne@69 9438 */
jpayne@69 9439 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_max_fields); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error)
jpayne@69 9440 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9441 __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_buffer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 223, __pyx_L1_error)
jpayne@69 9442 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9443 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 223, __pyx_L1_error)
jpayne@69 9444 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 9445 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 9446 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error);
jpayne@69 9447 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 9448 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_4)) __PYX_ERR(0, 223, __pyx_L1_error);
jpayne@69 9449 __pyx_t_3 = 0;
jpayne@69 9450 __pyx_t_4 = 0;
jpayne@69 9451
jpayne@69 9452 /* "pysam/libctabixproxies.pyx":222
jpayne@69 9453 * if field >= max_fields:
jpayne@69 9454 * raise ValueError(
jpayne@69 9455 * "parsing error: more than %i fields in line: %s" % # <<<<<<<<<<<<<<
jpayne@69 9456 * (max_fields, buffer))
jpayne@69 9457 *
jpayne@69 9458 */
jpayne@69 9459 __pyx_t_4 = PyUnicode_Format(__pyx_kp_u_parsing_error_more_than_i_fields, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 222, __pyx_L1_error)
jpayne@69 9460 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9461 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 9462
jpayne@69 9463 /* "pysam/libctabixproxies.pyx":221
jpayne@69 9464 * break
jpayne@69 9465 * if field >= max_fields:
jpayne@69 9466 * raise ValueError( # <<<<<<<<<<<<<<
jpayne@69 9467 * "parsing error: more than %i fields in line: %s" %
jpayne@69 9468 * (max_fields, buffer))
jpayne@69 9469 */
jpayne@69 9470 __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
jpayne@69 9471 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 9472 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 9473 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
jpayne@69 9474 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 9475 __PYX_ERR(0, 221, __pyx_L1_error)
jpayne@69 9476
jpayne@69 9477 /* "pysam/libctabixproxies.pyx":220
jpayne@69 9478 * if pos == NULL:
jpayne@69 9479 * break
jpayne@69 9480 * if field >= max_fields: # <<<<<<<<<<<<<<
jpayne@69 9481 * raise ValueError(
jpayne@69 9482 * "parsing error: more than %i fields in line: %s" %
jpayne@69 9483 */
jpayne@69 9484 }
jpayne@69 9485
jpayne@69 9486 /* "pysam/libctabixproxies.pyx":225
jpayne@69 9487 * (max_fields, buffer))
jpayne@69 9488 *
jpayne@69 9489 * pos[0] = b'\0' # <<<<<<<<<<<<<<
jpayne@69 9490 * pos += 1
jpayne@69 9491 * self.fields[field] = pos
jpayne@69 9492 */
jpayne@69 9493 (__pyx_v_pos[0]) = '\x00';
jpayne@69 9494
jpayne@69 9495 /* "pysam/libctabixproxies.pyx":226
jpayne@69 9496 *
jpayne@69 9497 * pos[0] = b'\0'
jpayne@69 9498 * pos += 1 # <<<<<<<<<<<<<<
jpayne@69 9499 * self.fields[field] = pos
jpayne@69 9500 * field += 1
jpayne@69 9501 */
jpayne@69 9502 __pyx_v_pos = (__pyx_v_pos + 1);
jpayne@69 9503
jpayne@69 9504 /* "pysam/libctabixproxies.pyx":227
jpayne@69 9505 * pos[0] = b'\0'
jpayne@69 9506 * pos += 1
jpayne@69 9507 * self.fields[field] = pos # <<<<<<<<<<<<<<
jpayne@69 9508 * field += 1
jpayne@69 9509 * nbytes -= pos - old_pos
jpayne@69 9510 */
jpayne@69 9511 (__pyx_v_self->fields[__pyx_v_field]) = __pyx_v_pos;
jpayne@69 9512
jpayne@69 9513 /* "pysam/libctabixproxies.pyx":228
jpayne@69 9514 * pos += 1
jpayne@69 9515 * self.fields[field] = pos
jpayne@69 9516 * field += 1 # <<<<<<<<<<<<<<
jpayne@69 9517 * nbytes -= pos - old_pos
jpayne@69 9518 * if nbytes < 0:
jpayne@69 9519 */
jpayne@69 9520 __pyx_v_field = (__pyx_v_field + 1);
jpayne@69 9521
jpayne@69 9522 /* "pysam/libctabixproxies.pyx":229
jpayne@69 9523 * self.fields[field] = pos
jpayne@69 9524 * field += 1
jpayne@69 9525 * nbytes -= pos - old_pos # <<<<<<<<<<<<<<
jpayne@69 9526 * if nbytes < 0:
jpayne@69 9527 * break
jpayne@69 9528 */
jpayne@69 9529 __pyx_v_nbytes = (__pyx_v_nbytes - (__pyx_v_pos - __pyx_v_old_pos));
jpayne@69 9530
jpayne@69 9531 /* "pysam/libctabixproxies.pyx":230
jpayne@69 9532 * field += 1
jpayne@69 9533 * nbytes -= pos - old_pos
jpayne@69 9534 * if nbytes < 0: # <<<<<<<<<<<<<<
jpayne@69 9535 * break
jpayne@69 9536 * old_pos = pos
jpayne@69 9537 */
jpayne@69 9538 __pyx_t_1 = (__pyx_v_nbytes < 0);
jpayne@69 9539 if (__pyx_t_1) {
jpayne@69 9540
jpayne@69 9541 /* "pysam/libctabixproxies.pyx":231
jpayne@69 9542 * nbytes -= pos - old_pos
jpayne@69 9543 * if nbytes < 0:
jpayne@69 9544 * break # <<<<<<<<<<<<<<
jpayne@69 9545 * old_pos = pos
jpayne@69 9546 * self.nfields = field
jpayne@69 9547 */
jpayne@69 9548 goto __pyx_L19_break;
jpayne@69 9549
jpayne@69 9550 /* "pysam/libctabixproxies.pyx":230
jpayne@69 9551 * field += 1
jpayne@69 9552 * nbytes -= pos - old_pos
jpayne@69 9553 * if nbytes < 0: # <<<<<<<<<<<<<<
jpayne@69 9554 * break
jpayne@69 9555 * old_pos = pos
jpayne@69 9556 */
jpayne@69 9557 }
jpayne@69 9558
jpayne@69 9559 /* "pysam/libctabixproxies.pyx":232
jpayne@69 9560 * if nbytes < 0:
jpayne@69 9561 * break
jpayne@69 9562 * old_pos = pos # <<<<<<<<<<<<<<
jpayne@69 9563 * self.nfields = field
jpayne@69 9564 * if self.nfields < self.getMinFields():
jpayne@69 9565 */
jpayne@69 9566 __pyx_v_old_pos = __pyx_v_pos;
jpayne@69 9567 }
jpayne@69 9568 __pyx_L19_break:;
jpayne@69 9569
jpayne@69 9570 /* "pysam/libctabixproxies.pyx":233
jpayne@69 9571 * break
jpayne@69 9572 * old_pos = pos
jpayne@69 9573 * self.nfields = field # <<<<<<<<<<<<<<
jpayne@69 9574 * if self.nfields < self.getMinFields():
jpayne@69 9575 * raise ValueError(
jpayne@69 9576 */
jpayne@69 9577 __pyx_v_self->nfields = __pyx_v_field;
jpayne@69 9578
jpayne@69 9579 /* "pysam/libctabixproxies.pyx":234
jpayne@69 9580 * old_pos = pos
jpayne@69 9581 * self.nfields = field
jpayne@69 9582 * if self.nfields < self.getMinFields(): # <<<<<<<<<<<<<<
jpayne@69 9583 * raise ValueError(
jpayne@69 9584 * "parsing error: fewer than %i fields in line: %s" %
jpayne@69 9585 */
jpayne@69 9586 __pyx_t_6 = ((struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->getMinFields(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 234, __pyx_L1_error)
jpayne@69 9587 __pyx_t_1 = (__pyx_v_self->nfields < __pyx_t_6);
jpayne@69 9588 if (unlikely(__pyx_t_1)) {
jpayne@69 9589
jpayne@69 9590 /* "pysam/libctabixproxies.pyx":237
jpayne@69 9591 * raise ValueError(
jpayne@69 9592 * "parsing error: fewer than %i fields in line: %s" %
jpayne@69 9593 * (self.getMinFields(), buffer)) # <<<<<<<<<<<<<<
jpayne@69 9594 *
jpayne@69 9595 * def _getindex(self, int index):
jpayne@69 9596 */
jpayne@69 9597 __pyx_t_6 = ((struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self->__pyx_vtab)->getMinFields(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 237, __pyx_L1_error)
jpayne@69 9598 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error)
jpayne@69 9599 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 9600 __pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_buffer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __pyx_L1_error)
jpayne@69 9601 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9602 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error)
jpayne@69 9603 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9604 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 9605 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error);
jpayne@69 9606 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 9607 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4)) __PYX_ERR(0, 237, __pyx_L1_error);
jpayne@69 9608 __pyx_t_2 = 0;
jpayne@69 9609 __pyx_t_4 = 0;
jpayne@69 9610
jpayne@69 9611 /* "pysam/libctabixproxies.pyx":236
jpayne@69 9612 * if self.nfields < self.getMinFields():
jpayne@69 9613 * raise ValueError(
jpayne@69 9614 * "parsing error: fewer than %i fields in line: %s" % # <<<<<<<<<<<<<<
jpayne@69 9615 * (self.getMinFields(), buffer))
jpayne@69 9616 *
jpayne@69 9617 */
jpayne@69 9618 __pyx_t_4 = PyUnicode_Format(__pyx_kp_u_parsing_error_fewer_than_i_field, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L1_error)
jpayne@69 9619 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9620 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 9621
jpayne@69 9622 /* "pysam/libctabixproxies.pyx":235
jpayne@69 9623 * self.nfields = field
jpayne@69 9624 * if self.nfields < self.getMinFields():
jpayne@69 9625 * raise ValueError( # <<<<<<<<<<<<<<
jpayne@69 9626 * "parsing error: fewer than %i fields in line: %s" %
jpayne@69 9627 * (self.getMinFields(), buffer))
jpayne@69 9628 */
jpayne@69 9629 __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L1_error)
jpayne@69 9630 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9631 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 9632 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
jpayne@69 9633 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 9634 __PYX_ERR(0, 235, __pyx_L1_error)
jpayne@69 9635
jpayne@69 9636 /* "pysam/libctabixproxies.pyx":234
jpayne@69 9637 * old_pos = pos
jpayne@69 9638 * self.nfields = field
jpayne@69 9639 * if self.nfields < self.getMinFields(): # <<<<<<<<<<<<<<
jpayne@69 9640 * raise ValueError(
jpayne@69 9641 * "parsing error: fewer than %i fields in line: %s" %
jpayne@69 9642 */
jpayne@69 9643 }
jpayne@69 9644
jpayne@69 9645 /* "pysam/libctabixproxies.pyx":147
jpayne@69 9646 * return 0
jpayne@69 9647 *
jpayne@69 9648 * cdef update(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 9649 * '''update internal data.
jpayne@69 9650 *
jpayne@69 9651 */
jpayne@69 9652
jpayne@69 9653 /* function exit code */
jpayne@69 9654 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 9655 goto __pyx_L0;
jpayne@69 9656 __pyx_L1_error:;
jpayne@69 9657 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 9658 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 9659 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 9660 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 9661 __pyx_r = 0;
jpayne@69 9662 __pyx_L0:;
jpayne@69 9663 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 9664 __Pyx_RefNannyFinishContext();
jpayne@69 9665 return __pyx_r;
jpayne@69 9666 }
jpayne@69 9667
jpayne@69 9668 /* "pysam/libctabixproxies.pyx":239
jpayne@69 9669 * (self.getMinFields(), buffer))
jpayne@69 9670 *
jpayne@69 9671 * def _getindex(self, int index): # <<<<<<<<<<<<<<
jpayne@69 9672 * '''return item at idx index'''
jpayne@69 9673 * cdef int i = index
jpayne@69 9674 */
jpayne@69 9675
jpayne@69 9676 /* Python wrapper */
jpayne@69 9677 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_15_getindex(PyObject *__pyx_v_self,
jpayne@69 9678 #if CYTHON_METH_FASTCALL
jpayne@69 9679 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 9680 #else
jpayne@69 9681 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 9682 #endif
jpayne@69 9683 ); /*proto*/
jpayne@69 9684 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_10TupleProxy_14_getindex, "return item at idx index");
jpayne@69 9685 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_15_getindex = {"_getindex", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_15_getindex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_14_getindex};
jpayne@69 9686 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_15_getindex(PyObject *__pyx_v_self,
jpayne@69 9687 #if CYTHON_METH_FASTCALL
jpayne@69 9688 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 9689 #else
jpayne@69 9690 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 9691 #endif
jpayne@69 9692 ) {
jpayne@69 9693 int __pyx_v_index;
jpayne@69 9694 #if !CYTHON_METH_FASTCALL
jpayne@69 9695 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 9696 #endif
jpayne@69 9697 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 9698 PyObject* values[1] = {0};
jpayne@69 9699 int __pyx_lineno = 0;
jpayne@69 9700 const char *__pyx_filename = NULL;
jpayne@69 9701 int __pyx_clineno = 0;
jpayne@69 9702 PyObject *__pyx_r = 0;
jpayne@69 9703 __Pyx_RefNannyDeclarations
jpayne@69 9704 __Pyx_RefNannySetupContext("_getindex (wrapper)", 0);
jpayne@69 9705 #if !CYTHON_METH_FASTCALL
jpayne@69 9706 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 9707 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 9708 #else
jpayne@69 9709 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 9710 #endif
jpayne@69 9711 #endif
jpayne@69 9712 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 9713 {
jpayne@69 9714 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,0};
jpayne@69 9715 if (__pyx_kwds) {
jpayne@69 9716 Py_ssize_t kw_args;
jpayne@69 9717 switch (__pyx_nargs) {
jpayne@69 9718 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 9719 CYTHON_FALLTHROUGH;
jpayne@69 9720 case 0: break;
jpayne@69 9721 default: goto __pyx_L5_argtuple_error;
jpayne@69 9722 }
jpayne@69 9723 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 9724 switch (__pyx_nargs) {
jpayne@69 9725 case 0:
jpayne@69 9726 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_index)) != 0)) {
jpayne@69 9727 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 9728 kw_args--;
jpayne@69 9729 }
jpayne@69 9730 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 239, __pyx_L3_error)
jpayne@69 9731 else goto __pyx_L5_argtuple_error;
jpayne@69 9732 }
jpayne@69 9733 if (unlikely(kw_args > 0)) {
jpayne@69 9734 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 9735 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_getindex") < 0)) __PYX_ERR(0, 239, __pyx_L3_error)
jpayne@69 9736 }
jpayne@69 9737 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 9738 goto __pyx_L5_argtuple_error;
jpayne@69 9739 } else {
jpayne@69 9740 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 9741 }
jpayne@69 9742 __pyx_v_index = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 239, __pyx_L3_error)
jpayne@69 9743 }
jpayne@69 9744 goto __pyx_L6_skip;
jpayne@69 9745 __pyx_L5_argtuple_error:;
jpayne@69 9746 __Pyx_RaiseArgtupleInvalid("_getindex", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 239, __pyx_L3_error)
jpayne@69 9747 __pyx_L6_skip:;
jpayne@69 9748 goto __pyx_L4_argument_unpacking_done;
jpayne@69 9749 __pyx_L3_error:;
jpayne@69 9750 {
jpayne@69 9751 Py_ssize_t __pyx_temp;
jpayne@69 9752 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 9753 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 9754 }
jpayne@69 9755 }
jpayne@69 9756 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy._getindex", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 9757 __Pyx_RefNannyFinishContext();
jpayne@69 9758 return NULL;
jpayne@69 9759 __pyx_L4_argument_unpacking_done:;
jpayne@69 9760 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_14_getindex(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), __pyx_v_index);
jpayne@69 9761
jpayne@69 9762 /* function exit code */
jpayne@69 9763 {
jpayne@69 9764 Py_ssize_t __pyx_temp;
jpayne@69 9765 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 9766 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 9767 }
jpayne@69 9768 }
jpayne@69 9769 __Pyx_RefNannyFinishContext();
jpayne@69 9770 return __pyx_r;
jpayne@69 9771 }
jpayne@69 9772
jpayne@69 9773 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_14_getindex(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, int __pyx_v_index) {
jpayne@69 9774 int __pyx_v_i;
jpayne@69 9775 PyObject *__pyx_r = NULL;
jpayne@69 9776 __Pyx_RefNannyDeclarations
jpayne@69 9777 int __pyx_t_1;
jpayne@69 9778 PyObject *__pyx_t_2 = NULL;
jpayne@69 9779 PyObject *__pyx_t_3 = NULL;
jpayne@69 9780 PyObject *__pyx_t_4 = NULL;
jpayne@69 9781 struct __pyx_opt_args_5pysam_9libcutils_force_str __pyx_t_5;
jpayne@69 9782 int __pyx_lineno = 0;
jpayne@69 9783 const char *__pyx_filename = NULL;
jpayne@69 9784 int __pyx_clineno = 0;
jpayne@69 9785 __Pyx_RefNannySetupContext("_getindex", 1);
jpayne@69 9786
jpayne@69 9787 /* "pysam/libctabixproxies.pyx":241
jpayne@69 9788 * def _getindex(self, int index):
jpayne@69 9789 * '''return item at idx index'''
jpayne@69 9790 * cdef int i = index # <<<<<<<<<<<<<<
jpayne@69 9791 * if i < 0:
jpayne@69 9792 * i += self.nfields
jpayne@69 9793 */
jpayne@69 9794 __pyx_v_i = __pyx_v_index;
jpayne@69 9795
jpayne@69 9796 /* "pysam/libctabixproxies.pyx":242
jpayne@69 9797 * '''return item at idx index'''
jpayne@69 9798 * cdef int i = index
jpayne@69 9799 * if i < 0: # <<<<<<<<<<<<<<
jpayne@69 9800 * i += self.nfields
jpayne@69 9801 * if i < 0:
jpayne@69 9802 */
jpayne@69 9803 __pyx_t_1 = (__pyx_v_i < 0);
jpayne@69 9804 if (__pyx_t_1) {
jpayne@69 9805
jpayne@69 9806 /* "pysam/libctabixproxies.pyx":243
jpayne@69 9807 * cdef int i = index
jpayne@69 9808 * if i < 0:
jpayne@69 9809 * i += self.nfields # <<<<<<<<<<<<<<
jpayne@69 9810 * if i < 0:
jpayne@69 9811 * raise IndexError("list index out of range")
jpayne@69 9812 */
jpayne@69 9813 __pyx_v_i = (__pyx_v_i + __pyx_v_self->nfields);
jpayne@69 9814
jpayne@69 9815 /* "pysam/libctabixproxies.pyx":242
jpayne@69 9816 * '''return item at idx index'''
jpayne@69 9817 * cdef int i = index
jpayne@69 9818 * if i < 0: # <<<<<<<<<<<<<<
jpayne@69 9819 * i += self.nfields
jpayne@69 9820 * if i < 0:
jpayne@69 9821 */
jpayne@69 9822 }
jpayne@69 9823
jpayne@69 9824 /* "pysam/libctabixproxies.pyx":244
jpayne@69 9825 * if i < 0:
jpayne@69 9826 * i += self.nfields
jpayne@69 9827 * if i < 0: # <<<<<<<<<<<<<<
jpayne@69 9828 * raise IndexError("list index out of range")
jpayne@69 9829 * # apply offset - separating a fixed number
jpayne@69 9830 */
jpayne@69 9831 __pyx_t_1 = (__pyx_v_i < 0);
jpayne@69 9832 if (unlikely(__pyx_t_1)) {
jpayne@69 9833
jpayne@69 9834 /* "pysam/libctabixproxies.pyx":245
jpayne@69 9835 * i += self.nfields
jpayne@69 9836 * if i < 0:
jpayne@69 9837 * raise IndexError("list index out of range") # <<<<<<<<<<<<<<
jpayne@69 9838 * # apply offset - separating a fixed number
jpayne@69 9839 * # of fields from a variable number such as in VCF
jpayne@69 9840 */
jpayne@69 9841 __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __pyx_L1_error)
jpayne@69 9842 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 9843 __Pyx_Raise(__pyx_t_2, 0, 0, 0);
jpayne@69 9844 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 9845 __PYX_ERR(0, 245, __pyx_L1_error)
jpayne@69 9846
jpayne@69 9847 /* "pysam/libctabixproxies.pyx":244
jpayne@69 9848 * if i < 0:
jpayne@69 9849 * i += self.nfields
jpayne@69 9850 * if i < 0: # <<<<<<<<<<<<<<
jpayne@69 9851 * raise IndexError("list index out of range")
jpayne@69 9852 * # apply offset - separating a fixed number
jpayne@69 9853 */
jpayne@69 9854 }
jpayne@69 9855
jpayne@69 9856 /* "pysam/libctabixproxies.pyx":248
jpayne@69 9857 * # apply offset - separating a fixed number
jpayne@69 9858 * # of fields from a variable number such as in VCF
jpayne@69 9859 * i += self.offset # <<<<<<<<<<<<<<
jpayne@69 9860 * if i >= self.nfields:
jpayne@69 9861 * raise IndexError(
jpayne@69 9862 */
jpayne@69 9863 __pyx_v_i = (__pyx_v_i + __pyx_v_self->offset);
jpayne@69 9864
jpayne@69 9865 /* "pysam/libctabixproxies.pyx":249
jpayne@69 9866 * # of fields from a variable number such as in VCF
jpayne@69 9867 * i += self.offset
jpayne@69 9868 * if i >= self.nfields: # <<<<<<<<<<<<<<
jpayne@69 9869 * raise IndexError(
jpayne@69 9870 * "list index out of range %i >= %i" %
jpayne@69 9871 */
jpayne@69 9872 __pyx_t_1 = (__pyx_v_i >= __pyx_v_self->nfields);
jpayne@69 9873 if (unlikely(__pyx_t_1)) {
jpayne@69 9874
jpayne@69 9875 /* "pysam/libctabixproxies.pyx":252
jpayne@69 9876 * raise IndexError(
jpayne@69 9877 * "list index out of range %i >= %i" %
jpayne@69 9878 * (i, self.nfields)) # <<<<<<<<<<<<<<
jpayne@69 9879 * return force_str(self.fields[i], self.encoding)
jpayne@69 9880 *
jpayne@69 9881 */
jpayne@69 9882 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 252, __pyx_L1_error)
jpayne@69 9883 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 9884 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_self->nfields); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error)
jpayne@69 9885 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9886 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 252, __pyx_L1_error)
jpayne@69 9887 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9888 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 9889 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2)) __PYX_ERR(0, 252, __pyx_L1_error);
jpayne@69 9890 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 9891 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 252, __pyx_L1_error);
jpayne@69 9892 __pyx_t_2 = 0;
jpayne@69 9893 __pyx_t_3 = 0;
jpayne@69 9894
jpayne@69 9895 /* "pysam/libctabixproxies.pyx":251
jpayne@69 9896 * if i >= self.nfields:
jpayne@69 9897 * raise IndexError(
jpayne@69 9898 * "list index out of range %i >= %i" % # <<<<<<<<<<<<<<
jpayne@69 9899 * (i, self.nfields))
jpayne@69 9900 * return force_str(self.fields[i], self.encoding)
jpayne@69 9901 */
jpayne@69 9902 __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_list_index_out_of_range_i_i, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 251, __pyx_L1_error)
jpayne@69 9903 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 9904 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 9905
jpayne@69 9906 /* "pysam/libctabixproxies.pyx":250
jpayne@69 9907 * i += self.offset
jpayne@69 9908 * if i >= self.nfields:
jpayne@69 9909 * raise IndexError( # <<<<<<<<<<<<<<
jpayne@69 9910 * "list index out of range %i >= %i" %
jpayne@69 9911 * (i, self.nfields))
jpayne@69 9912 */
jpayne@69 9913 __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IndexError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 250, __pyx_L1_error)
jpayne@69 9914 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9915 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 9916 __Pyx_Raise(__pyx_t_4, 0, 0, 0);
jpayne@69 9917 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 9918 __PYX_ERR(0, 250, __pyx_L1_error)
jpayne@69 9919
jpayne@69 9920 /* "pysam/libctabixproxies.pyx":249
jpayne@69 9921 * # of fields from a variable number such as in VCF
jpayne@69 9922 * i += self.offset
jpayne@69 9923 * if i >= self.nfields: # <<<<<<<<<<<<<<
jpayne@69 9924 * raise IndexError(
jpayne@69 9925 * "list index out of range %i >= %i" %
jpayne@69 9926 */
jpayne@69 9927 }
jpayne@69 9928
jpayne@69 9929 /* "pysam/libctabixproxies.pyx":253
jpayne@69 9930 * "list index out of range %i >= %i" %
jpayne@69 9931 * (i, self.nfields))
jpayne@69 9932 * return force_str(self.fields[i], self.encoding) # <<<<<<<<<<<<<<
jpayne@69 9933 *
jpayne@69 9934 * def __getitem__(self, key):
jpayne@69 9935 */
jpayne@69 9936 __Pyx_XDECREF(__pyx_r);
jpayne@69 9937 __pyx_t_4 = __Pyx_PyBytes_FromString((__pyx_v_self->fields[__pyx_v_i])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 253, __pyx_L1_error)
jpayne@69 9938 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 9939 __pyx_t_3 = __pyx_v_self->encoding;
jpayne@69 9940 __Pyx_INCREF(__pyx_t_3);
jpayne@69 9941 __pyx_t_5.__pyx_n = 1;
jpayne@69 9942 __pyx_t_5.encoding = __pyx_t_3;
jpayne@69 9943 __pyx_t_2 = __pyx_f_5pysam_9libcutils_force_str(__pyx_t_4, &__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L1_error)
jpayne@69 9944 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 9945 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 9946 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 9947 __pyx_r = __pyx_t_2;
jpayne@69 9948 __pyx_t_2 = 0;
jpayne@69 9949 goto __pyx_L0;
jpayne@69 9950
jpayne@69 9951 /* "pysam/libctabixproxies.pyx":239
jpayne@69 9952 * (self.getMinFields(), buffer))
jpayne@69 9953 *
jpayne@69 9954 * def _getindex(self, int index): # <<<<<<<<<<<<<<
jpayne@69 9955 * '''return item at idx index'''
jpayne@69 9956 * cdef int i = index
jpayne@69 9957 */
jpayne@69 9958
jpayne@69 9959 /* function exit code */
jpayne@69 9960 __pyx_L1_error:;
jpayne@69 9961 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 9962 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 9963 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 9964 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy._getindex", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 9965 __pyx_r = NULL;
jpayne@69 9966 __pyx_L0:;
jpayne@69 9967 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 9968 __Pyx_RefNannyFinishContext();
jpayne@69 9969 return __pyx_r;
jpayne@69 9970 }
jpayne@69 9971
jpayne@69 9972 /* "pysam/libctabixproxies.pyx":255
jpayne@69 9973 * return force_str(self.fields[i], self.encoding)
jpayne@69 9974 *
jpayne@69 9975 * def __getitem__(self, key): # <<<<<<<<<<<<<<
jpayne@69 9976 * if type(key) == int:
jpayne@69 9977 * return self._getindex(key)
jpayne@69 9978 */
jpayne@69 9979
jpayne@69 9980 /* Python wrapper */
jpayne@69 9981 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_17__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
jpayne@69 9982 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_17__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
jpayne@69 9983 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 9984 PyObject *__pyx_r = 0;
jpayne@69 9985 __Pyx_RefNannyDeclarations
jpayne@69 9986 __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
jpayne@69 9987 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 9988 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_16__getitem__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key));
jpayne@69 9989
jpayne@69 9990 /* function exit code */
jpayne@69 9991 __Pyx_RefNannyFinishContext();
jpayne@69 9992 return __pyx_r;
jpayne@69 9993 }
jpayne@69 9994
jpayne@69 9995 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_16__getitem__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_key) {
jpayne@69 9996 PyObject *__pyx_v_start = NULL;
jpayne@69 9997 PyObject *__pyx_v_end = NULL;
jpayne@69 9998 PyObject *__pyx_v_step = NULL;
jpayne@69 9999 PyObject *__pyx_v_result = NULL;
jpayne@69 10000 PyObject *__pyx_v_index = NULL;
jpayne@69 10001 PyObject *__pyx_r = NULL;
jpayne@69 10002 __Pyx_RefNannyDeclarations
jpayne@69 10003 PyObject *__pyx_t_1 = NULL;
jpayne@69 10004 int __pyx_t_2;
jpayne@69 10005 PyObject *__pyx_t_3 = NULL;
jpayne@69 10006 PyObject *__pyx_t_4 = NULL;
jpayne@69 10007 unsigned int __pyx_t_5;
jpayne@69 10008 PyObject *__pyx_t_6 = NULL;
jpayne@69 10009 PyObject *__pyx_t_7 = NULL;
jpayne@69 10010 PyObject *(*__pyx_t_8)(PyObject *);
jpayne@69 10011 Py_ssize_t __pyx_t_9;
jpayne@69 10012 PyObject *(*__pyx_t_10)(PyObject *);
jpayne@69 10013 int __pyx_t_11;
jpayne@69 10014 int __pyx_lineno = 0;
jpayne@69 10015 const char *__pyx_filename = NULL;
jpayne@69 10016 int __pyx_clineno = 0;
jpayne@69 10017 __Pyx_RefNannySetupContext("__getitem__", 1);
jpayne@69 10018
jpayne@69 10019 /* "pysam/libctabixproxies.pyx":256
jpayne@69 10020 *
jpayne@69 10021 * def __getitem__(self, key):
jpayne@69 10022 * if type(key) == int: # <<<<<<<<<<<<<<
jpayne@69 10023 * return self._getindex(key)
jpayne@69 10024 * # slice object
jpayne@69 10025 */
jpayne@69 10026 __pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_key)), ((PyObject *)(&PyInt_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error)
jpayne@69 10027 __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 256, __pyx_L1_error)
jpayne@69 10028 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 10029 if (__pyx_t_2) {
jpayne@69 10030
jpayne@69 10031 /* "pysam/libctabixproxies.pyx":257
jpayne@69 10032 * def __getitem__(self, key):
jpayne@69 10033 * if type(key) == int:
jpayne@69 10034 * return self._getindex(key) # <<<<<<<<<<<<<<
jpayne@69 10035 * # slice object
jpayne@69 10036 * start, end, step = key.indices(self.nfields)
jpayne@69 10037 */
jpayne@69 10038 __Pyx_XDECREF(__pyx_r);
jpayne@69 10039 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getindex); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 257, __pyx_L1_error)
jpayne@69 10040 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10041 __pyx_t_4 = NULL;
jpayne@69 10042 __pyx_t_5 = 0;
jpayne@69 10043 #if CYTHON_UNPACK_METHODS
jpayne@69 10044 if (likely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 10045 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 10046 if (likely(__pyx_t_4)) {
jpayne@69 10047 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 10048 __Pyx_INCREF(__pyx_t_4);
jpayne@69 10049 __Pyx_INCREF(function);
jpayne@69 10050 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 10051 __pyx_t_5 = 1;
jpayne@69 10052 }
jpayne@69 10053 }
jpayne@69 10054 #endif
jpayne@69 10055 {
jpayne@69 10056 PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_key};
jpayne@69 10057 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
jpayne@69 10058 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 10059 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 257, __pyx_L1_error)
jpayne@69 10060 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 10061 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 10062 }
jpayne@69 10063 __pyx_r = __pyx_t_1;
jpayne@69 10064 __pyx_t_1 = 0;
jpayne@69 10065 goto __pyx_L0;
jpayne@69 10066
jpayne@69 10067 /* "pysam/libctabixproxies.pyx":256
jpayne@69 10068 *
jpayne@69 10069 * def __getitem__(self, key):
jpayne@69 10070 * if type(key) == int: # <<<<<<<<<<<<<<
jpayne@69 10071 * return self._getindex(key)
jpayne@69 10072 * # slice object
jpayne@69 10073 */
jpayne@69 10074 }
jpayne@69 10075
jpayne@69 10076 /* "pysam/libctabixproxies.pyx":259
jpayne@69 10077 * return self._getindex(key)
jpayne@69 10078 * # slice object
jpayne@69 10079 * start, end, step = key.indices(self.nfields) # <<<<<<<<<<<<<<
jpayne@69 10080 * result = []
jpayne@69 10081 * for index in range(start, end, step):
jpayne@69 10082 */
jpayne@69 10083 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_indices); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10084 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10085 __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_self->nfields); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10086 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 10087 __pyx_t_6 = NULL;
jpayne@69 10088 __pyx_t_5 = 0;
jpayne@69 10089 #if CYTHON_UNPACK_METHODS
jpayne@69 10090 if (likely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 10091 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 10092 if (likely(__pyx_t_6)) {
jpayne@69 10093 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 10094 __Pyx_INCREF(__pyx_t_6);
jpayne@69 10095 __Pyx_INCREF(function);
jpayne@69 10096 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 10097 __pyx_t_5 = 1;
jpayne@69 10098 }
jpayne@69 10099 }
jpayne@69 10100 #endif
jpayne@69 10101 {
jpayne@69 10102 PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_4};
jpayne@69 10103 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
jpayne@69 10104 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 10105 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 10106 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10107 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 10108 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 10109 }
jpayne@69 10110 if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
jpayne@69 10111 PyObject* sequence = __pyx_t_1;
jpayne@69 10112 Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
jpayne@69 10113 if (unlikely(size != 3)) {
jpayne@69 10114 if (size > 3) __Pyx_RaiseTooManyValuesError(3);
jpayne@69 10115 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
jpayne@69 10116 __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10117 }
jpayne@69 10118 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 10119 if (likely(PyTuple_CheckExact(sequence))) {
jpayne@69 10120 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
jpayne@69 10121 __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);
jpayne@69 10122 __pyx_t_6 = PyTuple_GET_ITEM(sequence, 2);
jpayne@69 10123 } else {
jpayne@69 10124 __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
jpayne@69 10125 __pyx_t_4 = PyList_GET_ITEM(sequence, 1);
jpayne@69 10126 __pyx_t_6 = PyList_GET_ITEM(sequence, 2);
jpayne@69 10127 }
jpayne@69 10128 __Pyx_INCREF(__pyx_t_3);
jpayne@69 10129 __Pyx_INCREF(__pyx_t_4);
jpayne@69 10130 __Pyx_INCREF(__pyx_t_6);
jpayne@69 10131 #else
jpayne@69 10132 __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10133 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10134 __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10135 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 10136 __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10137 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 10138 #endif
jpayne@69 10139 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 10140 } else {
jpayne@69 10141 Py_ssize_t index = -1;
jpayne@69 10142 __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10143 __Pyx_GOTREF(__pyx_t_7);
jpayne@69 10144 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 10145 __pyx_t_8 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_7);
jpayne@69 10146 index = 0; __pyx_t_3 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
jpayne@69 10147 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10148 index = 1; __pyx_t_4 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_4)) goto __pyx_L4_unpacking_failed;
jpayne@69 10149 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 10150 index = 2; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L4_unpacking_failed;
jpayne@69 10151 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 10152 if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 3) < 0) __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10153 __pyx_t_8 = NULL;
jpayne@69 10154 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
jpayne@69 10155 goto __pyx_L5_unpacking_done;
jpayne@69 10156 __pyx_L4_unpacking_failed:;
jpayne@69 10157 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
jpayne@69 10158 __pyx_t_8 = NULL;
jpayne@69 10159 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 10160 __PYX_ERR(0, 259, __pyx_L1_error)
jpayne@69 10161 __pyx_L5_unpacking_done:;
jpayne@69 10162 }
jpayne@69 10163 __pyx_v_start = __pyx_t_3;
jpayne@69 10164 __pyx_t_3 = 0;
jpayne@69 10165 __pyx_v_end = __pyx_t_4;
jpayne@69 10166 __pyx_t_4 = 0;
jpayne@69 10167 __pyx_v_step = __pyx_t_6;
jpayne@69 10168 __pyx_t_6 = 0;
jpayne@69 10169
jpayne@69 10170 /* "pysam/libctabixproxies.pyx":260
jpayne@69 10171 * # slice object
jpayne@69 10172 * start, end, step = key.indices(self.nfields)
jpayne@69 10173 * result = [] # <<<<<<<<<<<<<<
jpayne@69 10174 * for index in range(start, end, step):
jpayne@69 10175 * result.append(self._getindex(index))
jpayne@69 10176 */
jpayne@69 10177 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 260, __pyx_L1_error)
jpayne@69 10178 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 10179 __pyx_v_result = ((PyObject*)__pyx_t_1);
jpayne@69 10180 __pyx_t_1 = 0;
jpayne@69 10181
jpayne@69 10182 /* "pysam/libctabixproxies.pyx":261
jpayne@69 10183 * start, end, step = key.indices(self.nfields)
jpayne@69 10184 * result = []
jpayne@69 10185 * for index in range(start, end, step): # <<<<<<<<<<<<<<
jpayne@69 10186 * result.append(self._getindex(index))
jpayne@69 10187 * return result
jpayne@69 10188 */
jpayne@69 10189 __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10190 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 10191 __Pyx_INCREF(__pyx_v_start);
jpayne@69 10192 __Pyx_GIVEREF(__pyx_v_start);
jpayne@69 10193 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_start)) __PYX_ERR(0, 261, __pyx_L1_error);
jpayne@69 10194 __Pyx_INCREF(__pyx_v_end);
jpayne@69 10195 __Pyx_GIVEREF(__pyx_v_end);
jpayne@69 10196 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_end)) __PYX_ERR(0, 261, __pyx_L1_error);
jpayne@69 10197 __Pyx_INCREF(__pyx_v_step);
jpayne@69 10198 __Pyx_GIVEREF(__pyx_v_step);
jpayne@69 10199 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_step)) __PYX_ERR(0, 261, __pyx_L1_error);
jpayne@69 10200 __pyx_t_6 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10201 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 10202 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 10203 if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
jpayne@69 10204 __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1);
jpayne@69 10205 __pyx_t_9 = 0;
jpayne@69 10206 __pyx_t_10 = NULL;
jpayne@69 10207 } else {
jpayne@69 10208 __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10209 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 10210 __pyx_t_10 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10211 }
jpayne@69 10212 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 10213 for (;;) {
jpayne@69 10214 if (likely(!__pyx_t_10)) {
jpayne@69 10215 if (likely(PyList_CheckExact(__pyx_t_1))) {
jpayne@69 10216 {
jpayne@69 10217 Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
jpayne@69 10218 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 10219 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10220 #endif
jpayne@69 10221 if (__pyx_t_9 >= __pyx_temp) break;
jpayne@69 10222 }
jpayne@69 10223 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 10224 __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_6); __pyx_t_9++; if (unlikely((0 < 0))) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10225 #else
jpayne@69 10226 __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10227 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 10228 #endif
jpayne@69 10229 } else {
jpayne@69 10230 {
jpayne@69 10231 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
jpayne@69 10232 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 10233 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10234 #endif
jpayne@69 10235 if (__pyx_t_9 >= __pyx_temp) break;
jpayne@69 10236 }
jpayne@69 10237 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 10238 __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_6); __pyx_t_9++; if (unlikely((0 < 0))) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10239 #else
jpayne@69 10240 __pyx_t_6 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10241 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 10242 #endif
jpayne@69 10243 }
jpayne@69 10244 } else {
jpayne@69 10245 __pyx_t_6 = __pyx_t_10(__pyx_t_1);
jpayne@69 10246 if (unlikely(!__pyx_t_6)) {
jpayne@69 10247 PyObject* exc_type = PyErr_Occurred();
jpayne@69 10248 if (exc_type) {
jpayne@69 10249 if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
jpayne@69 10250 else __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 10251 }
jpayne@69 10252 break;
jpayne@69 10253 }
jpayne@69 10254 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 10255 }
jpayne@69 10256 __Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_6);
jpayne@69 10257 __pyx_t_6 = 0;
jpayne@69 10258
jpayne@69 10259 /* "pysam/libctabixproxies.pyx":262
jpayne@69 10260 * result = []
jpayne@69 10261 * for index in range(start, end, step):
jpayne@69 10262 * result.append(self._getindex(index)) # <<<<<<<<<<<<<<
jpayne@69 10263 * return result
jpayne@69 10264 *
jpayne@69 10265 */
jpayne@69 10266 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 262, __pyx_L1_error)
jpayne@69 10267 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 10268 __pyx_t_3 = NULL;
jpayne@69 10269 __pyx_t_5 = 0;
jpayne@69 10270 #if CYTHON_UNPACK_METHODS
jpayne@69 10271 if (likely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 10272 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 10273 if (likely(__pyx_t_3)) {
jpayne@69 10274 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 10275 __Pyx_INCREF(__pyx_t_3);
jpayne@69 10276 __Pyx_INCREF(function);
jpayne@69 10277 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 10278 __pyx_t_5 = 1;
jpayne@69 10279 }
jpayne@69 10280 }
jpayne@69 10281 #endif
jpayne@69 10282 {
jpayne@69 10283 PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_index};
jpayne@69 10284 __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
jpayne@69 10285 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 10286 if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 262, __pyx_L1_error)
jpayne@69 10287 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 10288 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 10289 }
jpayne@69 10290 __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_result, __pyx_t_6); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 262, __pyx_L1_error)
jpayne@69 10291 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 10292
jpayne@69 10293 /* "pysam/libctabixproxies.pyx":261
jpayne@69 10294 * start, end, step = key.indices(self.nfields)
jpayne@69 10295 * result = []
jpayne@69 10296 * for index in range(start, end, step): # <<<<<<<<<<<<<<
jpayne@69 10297 * result.append(self._getindex(index))
jpayne@69 10298 * return result
jpayne@69 10299 */
jpayne@69 10300 }
jpayne@69 10301 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 10302
jpayne@69 10303 /* "pysam/libctabixproxies.pyx":263
jpayne@69 10304 * for index in range(start, end, step):
jpayne@69 10305 * result.append(self._getindex(index))
jpayne@69 10306 * return result # <<<<<<<<<<<<<<
jpayne@69 10307 *
jpayne@69 10308 * def _setindex(self, index, value):
jpayne@69 10309 */
jpayne@69 10310 __Pyx_XDECREF(__pyx_r);
jpayne@69 10311 __Pyx_INCREF(__pyx_v_result);
jpayne@69 10312 __pyx_r = __pyx_v_result;
jpayne@69 10313 goto __pyx_L0;
jpayne@69 10314
jpayne@69 10315 /* "pysam/libctabixproxies.pyx":255
jpayne@69 10316 * return force_str(self.fields[i], self.encoding)
jpayne@69 10317 *
jpayne@69 10318 * def __getitem__(self, key): # <<<<<<<<<<<<<<
jpayne@69 10319 * if type(key) == int:
jpayne@69 10320 * return self._getindex(key)
jpayne@69 10321 */
jpayne@69 10322
jpayne@69 10323 /* function exit code */
jpayne@69 10324 __pyx_L1_error:;
jpayne@69 10325 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 10326 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 10327 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 10328 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 10329 __Pyx_XDECREF(__pyx_t_7);
jpayne@69 10330 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 10331 __pyx_r = NULL;
jpayne@69 10332 __pyx_L0:;
jpayne@69 10333 __Pyx_XDECREF(__pyx_v_start);
jpayne@69 10334 __Pyx_XDECREF(__pyx_v_end);
jpayne@69 10335 __Pyx_XDECREF(__pyx_v_step);
jpayne@69 10336 __Pyx_XDECREF(__pyx_v_result);
jpayne@69 10337 __Pyx_XDECREF(__pyx_v_index);
jpayne@69 10338 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 10339 __Pyx_RefNannyFinishContext();
jpayne@69 10340 return __pyx_r;
jpayne@69 10341 }
jpayne@69 10342
jpayne@69 10343 /* "pysam/libctabixproxies.pyx":265
jpayne@69 10344 * return result
jpayne@69 10345 *
jpayne@69 10346 * def _setindex(self, index, value): # <<<<<<<<<<<<<<
jpayne@69 10347 * '''set item at idx index.'''
jpayne@69 10348 * cdef int idx = index
jpayne@69 10349 */
jpayne@69 10350
jpayne@69 10351 /* Python wrapper */
jpayne@69 10352 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_19_setindex(PyObject *__pyx_v_self,
jpayne@69 10353 #if CYTHON_METH_FASTCALL
jpayne@69 10354 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 10355 #else
jpayne@69 10356 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 10357 #endif
jpayne@69 10358 ); /*proto*/
jpayne@69 10359 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_10TupleProxy_18_setindex, "set item at idx index.");
jpayne@69 10360 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_19_setindex = {"_setindex", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_19_setindex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_18_setindex};
jpayne@69 10361 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_19_setindex(PyObject *__pyx_v_self,
jpayne@69 10362 #if CYTHON_METH_FASTCALL
jpayne@69 10363 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 10364 #else
jpayne@69 10365 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 10366 #endif
jpayne@69 10367 ) {
jpayne@69 10368 PyObject *__pyx_v_index = 0;
jpayne@69 10369 PyObject *__pyx_v_value = 0;
jpayne@69 10370 #if !CYTHON_METH_FASTCALL
jpayne@69 10371 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 10372 #endif
jpayne@69 10373 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 10374 PyObject* values[2] = {0,0};
jpayne@69 10375 int __pyx_lineno = 0;
jpayne@69 10376 const char *__pyx_filename = NULL;
jpayne@69 10377 int __pyx_clineno = 0;
jpayne@69 10378 PyObject *__pyx_r = 0;
jpayne@69 10379 __Pyx_RefNannyDeclarations
jpayne@69 10380 __Pyx_RefNannySetupContext("_setindex (wrapper)", 0);
jpayne@69 10381 #if !CYTHON_METH_FASTCALL
jpayne@69 10382 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 10383 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 10384 #else
jpayne@69 10385 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 10386 #endif
jpayne@69 10387 #endif
jpayne@69 10388 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 10389 {
jpayne@69 10390 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_index,&__pyx_n_s_value,0};
jpayne@69 10391 if (__pyx_kwds) {
jpayne@69 10392 Py_ssize_t kw_args;
jpayne@69 10393 switch (__pyx_nargs) {
jpayne@69 10394 case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
jpayne@69 10395 CYTHON_FALLTHROUGH;
jpayne@69 10396 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 10397 CYTHON_FALLTHROUGH;
jpayne@69 10398 case 0: break;
jpayne@69 10399 default: goto __pyx_L5_argtuple_error;
jpayne@69 10400 }
jpayne@69 10401 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 10402 switch (__pyx_nargs) {
jpayne@69 10403 case 0:
jpayne@69 10404 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_index)) != 0)) {
jpayne@69 10405 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 10406 kw_args--;
jpayne@69 10407 }
jpayne@69 10408 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 265, __pyx_L3_error)
jpayne@69 10409 else goto __pyx_L5_argtuple_error;
jpayne@69 10410 CYTHON_FALLTHROUGH;
jpayne@69 10411 case 1:
jpayne@69 10412 if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
jpayne@69 10413 (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
jpayne@69 10414 kw_args--;
jpayne@69 10415 }
jpayne@69 10416 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 265, __pyx_L3_error)
jpayne@69 10417 else {
jpayne@69 10418 __Pyx_RaiseArgtupleInvalid("_setindex", 1, 2, 2, 1); __PYX_ERR(0, 265, __pyx_L3_error)
jpayne@69 10419 }
jpayne@69 10420 }
jpayne@69 10421 if (unlikely(kw_args > 0)) {
jpayne@69 10422 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 10423 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "_setindex") < 0)) __PYX_ERR(0, 265, __pyx_L3_error)
jpayne@69 10424 }
jpayne@69 10425 } else if (unlikely(__pyx_nargs != 2)) {
jpayne@69 10426 goto __pyx_L5_argtuple_error;
jpayne@69 10427 } else {
jpayne@69 10428 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 10429 values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
jpayne@69 10430 }
jpayne@69 10431 __pyx_v_index = values[0];
jpayne@69 10432 __pyx_v_value = values[1];
jpayne@69 10433 }
jpayne@69 10434 goto __pyx_L6_skip;
jpayne@69 10435 __pyx_L5_argtuple_error:;
jpayne@69 10436 __Pyx_RaiseArgtupleInvalid("_setindex", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 265, __pyx_L3_error)
jpayne@69 10437 __pyx_L6_skip:;
jpayne@69 10438 goto __pyx_L4_argument_unpacking_done;
jpayne@69 10439 __pyx_L3_error:;
jpayne@69 10440 {
jpayne@69 10441 Py_ssize_t __pyx_temp;
jpayne@69 10442 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 10443 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 10444 }
jpayne@69 10445 }
jpayne@69 10446 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy._setindex", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 10447 __Pyx_RefNannyFinishContext();
jpayne@69 10448 return NULL;
jpayne@69 10449 __pyx_L4_argument_unpacking_done:;
jpayne@69 10450 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_18_setindex(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), __pyx_v_index, __pyx_v_value);
jpayne@69 10451
jpayne@69 10452 /* function exit code */
jpayne@69 10453 {
jpayne@69 10454 Py_ssize_t __pyx_temp;
jpayne@69 10455 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 10456 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 10457 }
jpayne@69 10458 }
jpayne@69 10459 __Pyx_RefNannyFinishContext();
jpayne@69 10460 return __pyx_r;
jpayne@69 10461 }
jpayne@69 10462
jpayne@69 10463 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_18_setindex(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
jpayne@69 10464 int __pyx_v_idx;
jpayne@69 10465 char *__pyx_v_tmp;
jpayne@69 10466 PyObject *__pyx_r = NULL;
jpayne@69 10467 __Pyx_RefNannyDeclarations
jpayne@69 10468 int __pyx_t_1;
jpayne@69 10469 int __pyx_t_2;
jpayne@69 10470 PyObject *__pyx_t_3 = NULL;
jpayne@69 10471 char *__pyx_t_4;
jpayne@69 10472 int __pyx_lineno = 0;
jpayne@69 10473 const char *__pyx_filename = NULL;
jpayne@69 10474 int __pyx_clineno = 0;
jpayne@69 10475 __Pyx_RefNannySetupContext("_setindex", 0);
jpayne@69 10476 __Pyx_INCREF(__pyx_v_value);
jpayne@69 10477
jpayne@69 10478 /* "pysam/libctabixproxies.pyx":267
jpayne@69 10479 * def _setindex(self, index, value):
jpayne@69 10480 * '''set item at idx index.'''
jpayne@69 10481 * cdef int idx = index # <<<<<<<<<<<<<<
jpayne@69 10482 * if idx < 0:
jpayne@69 10483 * raise IndexError("list index out of range")
jpayne@69 10484 */
jpayne@69 10485 __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_index); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 267, __pyx_L1_error)
jpayne@69 10486 __pyx_v_idx = __pyx_t_1;
jpayne@69 10487
jpayne@69 10488 /* "pysam/libctabixproxies.pyx":268
jpayne@69 10489 * '''set item at idx index.'''
jpayne@69 10490 * cdef int idx = index
jpayne@69 10491 * if idx < 0: # <<<<<<<<<<<<<<
jpayne@69 10492 * raise IndexError("list index out of range")
jpayne@69 10493 * if idx >= self.nfields:
jpayne@69 10494 */
jpayne@69 10495 __pyx_t_2 = (__pyx_v_idx < 0);
jpayne@69 10496 if (unlikely(__pyx_t_2)) {
jpayne@69 10497
jpayne@69 10498 /* "pysam/libctabixproxies.pyx":269
jpayne@69 10499 * cdef int idx = index
jpayne@69 10500 * if idx < 0:
jpayne@69 10501 * raise IndexError("list index out of range") # <<<<<<<<<<<<<<
jpayne@69 10502 * if idx >= self.nfields:
jpayne@69 10503 * raise IndexError("list index out of range")
jpayne@69 10504 */
jpayne@69 10505 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 269, __pyx_L1_error)
jpayne@69 10506 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10507 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
jpayne@69 10508 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 10509 __PYX_ERR(0, 269, __pyx_L1_error)
jpayne@69 10510
jpayne@69 10511 /* "pysam/libctabixproxies.pyx":268
jpayne@69 10512 * '''set item at idx index.'''
jpayne@69 10513 * cdef int idx = index
jpayne@69 10514 * if idx < 0: # <<<<<<<<<<<<<<
jpayne@69 10515 * raise IndexError("list index out of range")
jpayne@69 10516 * if idx >= self.nfields:
jpayne@69 10517 */
jpayne@69 10518 }
jpayne@69 10519
jpayne@69 10520 /* "pysam/libctabixproxies.pyx":270
jpayne@69 10521 * if idx < 0:
jpayne@69 10522 * raise IndexError("list index out of range")
jpayne@69 10523 * if idx >= self.nfields: # <<<<<<<<<<<<<<
jpayne@69 10524 * raise IndexError("list index out of range")
jpayne@69 10525 *
jpayne@69 10526 */
jpayne@69 10527 __pyx_t_2 = (__pyx_v_idx >= __pyx_v_self->nfields);
jpayne@69 10528 if (unlikely(__pyx_t_2)) {
jpayne@69 10529
jpayne@69 10530 /* "pysam/libctabixproxies.pyx":271
jpayne@69 10531 * raise IndexError("list index out of range")
jpayne@69 10532 * if idx >= self.nfields:
jpayne@69 10533 * raise IndexError("list index out of range") # <<<<<<<<<<<<<<
jpayne@69 10534 *
jpayne@69 10535 * if isNew(self.fields[idx], self.data, self.nbytes):
jpayne@69 10536 */
jpayne@69 10537 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 271, __pyx_L1_error)
jpayne@69 10538 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10539 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
jpayne@69 10540 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 10541 __PYX_ERR(0, 271, __pyx_L1_error)
jpayne@69 10542
jpayne@69 10543 /* "pysam/libctabixproxies.pyx":270
jpayne@69 10544 * if idx < 0:
jpayne@69 10545 * raise IndexError("list index out of range")
jpayne@69 10546 * if idx >= self.nfields: # <<<<<<<<<<<<<<
jpayne@69 10547 * raise IndexError("list index out of range")
jpayne@69 10548 *
jpayne@69 10549 */
jpayne@69 10550 }
jpayne@69 10551
jpayne@69 10552 /* "pysam/libctabixproxies.pyx":273
jpayne@69 10553 * raise IndexError("list index out of range")
jpayne@69 10554 *
jpayne@69 10555 * if isNew(self.fields[idx], self.data, self.nbytes): # <<<<<<<<<<<<<<
jpayne@69 10556 * free(self.fields[idx])
jpayne@69 10557 *
jpayne@69 10558 */
jpayne@69 10559 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies_isNew((__pyx_v_self->fields[__pyx_v_idx]), __pyx_v_self->data, __pyx_v_self->nbytes); if (unlikely(__pyx_t_1 == ((int)-1) && PyErr_Occurred())) __PYX_ERR(0, 273, __pyx_L1_error)
jpayne@69 10560 __pyx_t_2 = (__pyx_t_1 != 0);
jpayne@69 10561 if (__pyx_t_2) {
jpayne@69 10562
jpayne@69 10563 /* "pysam/libctabixproxies.pyx":274
jpayne@69 10564 *
jpayne@69 10565 * if isNew(self.fields[idx], self.data, self.nbytes):
jpayne@69 10566 * free(self.fields[idx]) # <<<<<<<<<<<<<<
jpayne@69 10567 *
jpayne@69 10568 * self.is_modified = 1
jpayne@69 10569 */
jpayne@69 10570 free((__pyx_v_self->fields[__pyx_v_idx]));
jpayne@69 10571
jpayne@69 10572 /* "pysam/libctabixproxies.pyx":273
jpayne@69 10573 * raise IndexError("list index out of range")
jpayne@69 10574 *
jpayne@69 10575 * if isNew(self.fields[idx], self.data, self.nbytes): # <<<<<<<<<<<<<<
jpayne@69 10576 * free(self.fields[idx])
jpayne@69 10577 *
jpayne@69 10578 */
jpayne@69 10579 }
jpayne@69 10580
jpayne@69 10581 /* "pysam/libctabixproxies.pyx":276
jpayne@69 10582 * free(self.fields[idx])
jpayne@69 10583 *
jpayne@69 10584 * self.is_modified = 1 # <<<<<<<<<<<<<<
jpayne@69 10585 *
jpayne@69 10586 * if value is None:
jpayne@69 10587 */
jpayne@69 10588 __pyx_v_self->is_modified = 1;
jpayne@69 10589
jpayne@69 10590 /* "pysam/libctabixproxies.pyx":278
jpayne@69 10591 * self.is_modified = 1
jpayne@69 10592 *
jpayne@69 10593 * if value is None: # <<<<<<<<<<<<<<
jpayne@69 10594 * self.fields[idx] = NULL
jpayne@69 10595 * return
jpayne@69 10596 */
jpayne@69 10597 __pyx_t_2 = (__pyx_v_value == Py_None);
jpayne@69 10598 if (__pyx_t_2) {
jpayne@69 10599
jpayne@69 10600 /* "pysam/libctabixproxies.pyx":279
jpayne@69 10601 *
jpayne@69 10602 * if value is None:
jpayne@69 10603 * self.fields[idx] = NULL # <<<<<<<<<<<<<<
jpayne@69 10604 * return
jpayne@69 10605 *
jpayne@69 10606 */
jpayne@69 10607 (__pyx_v_self->fields[__pyx_v_idx]) = NULL;
jpayne@69 10608
jpayne@69 10609 /* "pysam/libctabixproxies.pyx":280
jpayne@69 10610 * if value is None:
jpayne@69 10611 * self.fields[idx] = NULL
jpayne@69 10612 * return # <<<<<<<<<<<<<<
jpayne@69 10613 *
jpayne@69 10614 * # conversion with error checking
jpayne@69 10615 */
jpayne@69 10616 __Pyx_XDECREF(__pyx_r);
jpayne@69 10617 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 10618 goto __pyx_L0;
jpayne@69 10619
jpayne@69 10620 /* "pysam/libctabixproxies.pyx":278
jpayne@69 10621 * self.is_modified = 1
jpayne@69 10622 *
jpayne@69 10623 * if value is None: # <<<<<<<<<<<<<<
jpayne@69 10624 * self.fields[idx] = NULL
jpayne@69 10625 * return
jpayne@69 10626 */
jpayne@69 10627 }
jpayne@69 10628
jpayne@69 10629 /* "pysam/libctabixproxies.pyx":283
jpayne@69 10630 *
jpayne@69 10631 * # conversion with error checking
jpayne@69 10632 * value = force_bytes(value) # <<<<<<<<<<<<<<
jpayne@69 10633 * cdef char * tmp = <char*>value
jpayne@69 10634 * self.fields[idx] = <char*>malloc((strlen( tmp ) + 1) * sizeof(char))
jpayne@69 10635 */
jpayne@69 10636 __pyx_t_3 = __pyx_f_5pysam_9libcutils_force_bytes(__pyx_v_value, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 283, __pyx_L1_error)
jpayne@69 10637 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10638 __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_3);
jpayne@69 10639 __pyx_t_3 = 0;
jpayne@69 10640
jpayne@69 10641 /* "pysam/libctabixproxies.pyx":284
jpayne@69 10642 * # conversion with error checking
jpayne@69 10643 * value = force_bytes(value)
jpayne@69 10644 * cdef char * tmp = <char*>value # <<<<<<<<<<<<<<
jpayne@69 10645 * self.fields[idx] = <char*>malloc((strlen( tmp ) + 1) * sizeof(char))
jpayne@69 10646 * if self.fields[idx] == NULL:
jpayne@69 10647 */
jpayne@69 10648 __pyx_t_4 = __Pyx_PyObject_AsWritableString(__pyx_v_value); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) __PYX_ERR(0, 284, __pyx_L1_error)
jpayne@69 10649 __pyx_v_tmp = ((char *)__pyx_t_4);
jpayne@69 10650
jpayne@69 10651 /* "pysam/libctabixproxies.pyx":285
jpayne@69 10652 * value = force_bytes(value)
jpayne@69 10653 * cdef char * tmp = <char*>value
jpayne@69 10654 * self.fields[idx] = <char*>malloc((strlen( tmp ) + 1) * sizeof(char)) # <<<<<<<<<<<<<<
jpayne@69 10655 * if self.fields[idx] == NULL:
jpayne@69 10656 * raise ValueError("out of memory" )
jpayne@69 10657 */
jpayne@69 10658 (__pyx_v_self->fields[__pyx_v_idx]) = ((char *)malloc(((strlen(__pyx_v_tmp) + 1) * (sizeof(char)))));
jpayne@69 10659
jpayne@69 10660 /* "pysam/libctabixproxies.pyx":286
jpayne@69 10661 * cdef char * tmp = <char*>value
jpayne@69 10662 * self.fields[idx] = <char*>malloc((strlen( tmp ) + 1) * sizeof(char))
jpayne@69 10663 * if self.fields[idx] == NULL: # <<<<<<<<<<<<<<
jpayne@69 10664 * raise ValueError("out of memory" )
jpayne@69 10665 * strcpy(self.fields[idx], tmp)
jpayne@69 10666 */
jpayne@69 10667 __pyx_t_2 = ((__pyx_v_self->fields[__pyx_v_idx]) == NULL);
jpayne@69 10668 if (unlikely(__pyx_t_2)) {
jpayne@69 10669
jpayne@69 10670 /* "pysam/libctabixproxies.pyx":287
jpayne@69 10671 * self.fields[idx] = <char*>malloc((strlen( tmp ) + 1) * sizeof(char))
jpayne@69 10672 * if self.fields[idx] == NULL:
jpayne@69 10673 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
jpayne@69 10674 * strcpy(self.fields[idx], tmp)
jpayne@69 10675 *
jpayne@69 10676 */
jpayne@69 10677 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 287, __pyx_L1_error)
jpayne@69 10678 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10679 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
jpayne@69 10680 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 10681 __PYX_ERR(0, 287, __pyx_L1_error)
jpayne@69 10682
jpayne@69 10683 /* "pysam/libctabixproxies.pyx":286
jpayne@69 10684 * cdef char * tmp = <char*>value
jpayne@69 10685 * self.fields[idx] = <char*>malloc((strlen( tmp ) + 1) * sizeof(char))
jpayne@69 10686 * if self.fields[idx] == NULL: # <<<<<<<<<<<<<<
jpayne@69 10687 * raise ValueError("out of memory" )
jpayne@69 10688 * strcpy(self.fields[idx], tmp)
jpayne@69 10689 */
jpayne@69 10690 }
jpayne@69 10691
jpayne@69 10692 /* "pysam/libctabixproxies.pyx":288
jpayne@69 10693 * if self.fields[idx] == NULL:
jpayne@69 10694 * raise ValueError("out of memory" )
jpayne@69 10695 * strcpy(self.fields[idx], tmp) # <<<<<<<<<<<<<<
jpayne@69 10696 *
jpayne@69 10697 * def __setitem__(self, index, value):
jpayne@69 10698 */
jpayne@69 10699 (void)(strcpy((__pyx_v_self->fields[__pyx_v_idx]), __pyx_v_tmp));
jpayne@69 10700
jpayne@69 10701 /* "pysam/libctabixproxies.pyx":265
jpayne@69 10702 * return result
jpayne@69 10703 *
jpayne@69 10704 * def _setindex(self, index, value): # <<<<<<<<<<<<<<
jpayne@69 10705 * '''set item at idx index.'''
jpayne@69 10706 * cdef int idx = index
jpayne@69 10707 */
jpayne@69 10708
jpayne@69 10709 /* function exit code */
jpayne@69 10710 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 10711 goto __pyx_L0;
jpayne@69 10712 __pyx_L1_error:;
jpayne@69 10713 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 10714 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy._setindex", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 10715 __pyx_r = NULL;
jpayne@69 10716 __pyx_L0:;
jpayne@69 10717 __Pyx_XDECREF(__pyx_v_value);
jpayne@69 10718 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 10719 __Pyx_RefNannyFinishContext();
jpayne@69 10720 return __pyx_r;
jpayne@69 10721 }
jpayne@69 10722
jpayne@69 10723 /* "pysam/libctabixproxies.pyx":290
jpayne@69 10724 * strcpy(self.fields[idx], tmp)
jpayne@69 10725 *
jpayne@69 10726 * def __setitem__(self, index, value): # <<<<<<<<<<<<<<
jpayne@69 10727 * '''set item at *index* to *value*'''
jpayne@69 10728 * cdef int i = index
jpayne@69 10729 */
jpayne@69 10730
jpayne@69 10731 /* Python wrapper */
jpayne@69 10732 static int __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_21__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value); /*proto*/
jpayne@69 10733 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_10TupleProxy_20__setitem__, "set item at *index* to *value*");
jpayne@69 10734 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 10735 struct wrapperbase __pyx_wrapperbase_5pysam_16libctabixproxies_10TupleProxy_20__setitem__;
jpayne@69 10736 #endif
jpayne@69 10737 static int __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_21__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
jpayne@69 10738 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 10739 int __pyx_r;
jpayne@69 10740 __Pyx_RefNannyDeclarations
jpayne@69 10741 __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
jpayne@69 10742 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 10743 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_20__setitem__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), ((PyObject *)__pyx_v_index), ((PyObject *)__pyx_v_value));
jpayne@69 10744
jpayne@69 10745 /* function exit code */
jpayne@69 10746 __Pyx_RefNannyFinishContext();
jpayne@69 10747 return __pyx_r;
jpayne@69 10748 }
jpayne@69 10749
jpayne@69 10750 static int __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_20__setitem__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, PyObject *__pyx_v_index, PyObject *__pyx_v_value) {
jpayne@69 10751 int __pyx_v_i;
jpayne@69 10752 int __pyx_r;
jpayne@69 10753 __Pyx_RefNannyDeclarations
jpayne@69 10754 int __pyx_t_1;
jpayne@69 10755 int __pyx_t_2;
jpayne@69 10756 PyObject *__pyx_t_3 = NULL;
jpayne@69 10757 PyObject *__pyx_t_4 = NULL;
jpayne@69 10758 PyObject *__pyx_t_5 = NULL;
jpayne@69 10759 PyObject *__pyx_t_6 = NULL;
jpayne@69 10760 unsigned int __pyx_t_7;
jpayne@69 10761 int __pyx_lineno = 0;
jpayne@69 10762 const char *__pyx_filename = NULL;
jpayne@69 10763 int __pyx_clineno = 0;
jpayne@69 10764 __Pyx_RefNannySetupContext("__setitem__", 1);
jpayne@69 10765
jpayne@69 10766 /* "pysam/libctabixproxies.pyx":292
jpayne@69 10767 * def __setitem__(self, index, value):
jpayne@69 10768 * '''set item at *index* to *value*'''
jpayne@69 10769 * cdef int i = index # <<<<<<<<<<<<<<
jpayne@69 10770 * if i < 0:
jpayne@69 10771 * i += self.nfields
jpayne@69 10772 */
jpayne@69 10773 __pyx_t_1 = __Pyx_PyInt_As_int(__pyx_v_index); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 292, __pyx_L1_error)
jpayne@69 10774 __pyx_v_i = __pyx_t_1;
jpayne@69 10775
jpayne@69 10776 /* "pysam/libctabixproxies.pyx":293
jpayne@69 10777 * '''set item at *index* to *value*'''
jpayne@69 10778 * cdef int i = index
jpayne@69 10779 * if i < 0: # <<<<<<<<<<<<<<
jpayne@69 10780 * i += self.nfields
jpayne@69 10781 * i += self.offset
jpayne@69 10782 */
jpayne@69 10783 __pyx_t_2 = (__pyx_v_i < 0);
jpayne@69 10784 if (__pyx_t_2) {
jpayne@69 10785
jpayne@69 10786 /* "pysam/libctabixproxies.pyx":294
jpayne@69 10787 * cdef int i = index
jpayne@69 10788 * if i < 0:
jpayne@69 10789 * i += self.nfields # <<<<<<<<<<<<<<
jpayne@69 10790 * i += self.offset
jpayne@69 10791 *
jpayne@69 10792 */
jpayne@69 10793 __pyx_v_i = (__pyx_v_i + __pyx_v_self->nfields);
jpayne@69 10794
jpayne@69 10795 /* "pysam/libctabixproxies.pyx":293
jpayne@69 10796 * '''set item at *index* to *value*'''
jpayne@69 10797 * cdef int i = index
jpayne@69 10798 * if i < 0: # <<<<<<<<<<<<<<
jpayne@69 10799 * i += self.nfields
jpayne@69 10800 * i += self.offset
jpayne@69 10801 */
jpayne@69 10802 }
jpayne@69 10803
jpayne@69 10804 /* "pysam/libctabixproxies.pyx":295
jpayne@69 10805 * if i < 0:
jpayne@69 10806 * i += self.nfields
jpayne@69 10807 * i += self.offset # <<<<<<<<<<<<<<
jpayne@69 10808 *
jpayne@69 10809 * self._setindex(i, value)
jpayne@69 10810 */
jpayne@69 10811 __pyx_v_i = (__pyx_v_i + __pyx_v_self->offset);
jpayne@69 10812
jpayne@69 10813 /* "pysam/libctabixproxies.pyx":297
jpayne@69 10814 * i += self.offset
jpayne@69 10815 *
jpayne@69 10816 * self._setindex(i, value) # <<<<<<<<<<<<<<
jpayne@69 10817 *
jpayne@69 10818 * def __len__(self):
jpayne@69 10819 */
jpayne@69 10820 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_setindex); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 297, __pyx_L1_error)
jpayne@69 10821 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 10822 __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 297, __pyx_L1_error)
jpayne@69 10823 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 10824 __pyx_t_6 = NULL;
jpayne@69 10825 __pyx_t_7 = 0;
jpayne@69 10826 #if CYTHON_UNPACK_METHODS
jpayne@69 10827 if (likely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 10828 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 10829 if (likely(__pyx_t_6)) {
jpayne@69 10830 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 10831 __Pyx_INCREF(__pyx_t_6);
jpayne@69 10832 __Pyx_INCREF(function);
jpayne@69 10833 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 10834 __pyx_t_7 = 1;
jpayne@69 10835 }
jpayne@69 10836 }
jpayne@69 10837 #endif
jpayne@69 10838 {
jpayne@69 10839 PyObject *__pyx_callargs[3] = {__pyx_t_6, __pyx_t_5, __pyx_v_value};
jpayne@69 10840 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
jpayne@69 10841 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 10842 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 10843 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 297, __pyx_L1_error)
jpayne@69 10844 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 10845 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 10846 }
jpayne@69 10847 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 10848
jpayne@69 10849 /* "pysam/libctabixproxies.pyx":290
jpayne@69 10850 * strcpy(self.fields[idx], tmp)
jpayne@69 10851 *
jpayne@69 10852 * def __setitem__(self, index, value): # <<<<<<<<<<<<<<
jpayne@69 10853 * '''set item at *index* to *value*'''
jpayne@69 10854 * cdef int i = index
jpayne@69 10855 */
jpayne@69 10856
jpayne@69 10857 /* function exit code */
jpayne@69 10858 __pyx_r = 0;
jpayne@69 10859 goto __pyx_L0;
jpayne@69 10860 __pyx_L1_error:;
jpayne@69 10861 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 10862 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 10863 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 10864 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 10865 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 10866 __pyx_r = -1;
jpayne@69 10867 __pyx_L0:;
jpayne@69 10868 __Pyx_RefNannyFinishContext();
jpayne@69 10869 return __pyx_r;
jpayne@69 10870 }
jpayne@69 10871
jpayne@69 10872 /* "pysam/libctabixproxies.pyx":299
jpayne@69 10873 * self._setindex(i, value)
jpayne@69 10874 *
jpayne@69 10875 * def __len__(self): # <<<<<<<<<<<<<<
jpayne@69 10876 * return self.nfields
jpayne@69 10877 *
jpayne@69 10878 */
jpayne@69 10879
jpayne@69 10880 /* Python wrapper */
jpayne@69 10881 static Py_ssize_t __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_23__len__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 10882 static Py_ssize_t __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_23__len__(PyObject *__pyx_v_self) {
jpayne@69 10883 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 10884 Py_ssize_t __pyx_r;
jpayne@69 10885 __Pyx_RefNannyDeclarations
jpayne@69 10886 __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
jpayne@69 10887 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 10888 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_22__len__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self));
jpayne@69 10889
jpayne@69 10890 /* function exit code */
jpayne@69 10891 __Pyx_RefNannyFinishContext();
jpayne@69 10892 return __pyx_r;
jpayne@69 10893 }
jpayne@69 10894
jpayne@69 10895 static Py_ssize_t __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_22__len__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self) {
jpayne@69 10896 Py_ssize_t __pyx_r;
jpayne@69 10897
jpayne@69 10898 /* "pysam/libctabixproxies.pyx":300
jpayne@69 10899 *
jpayne@69 10900 * def __len__(self):
jpayne@69 10901 * return self.nfields # <<<<<<<<<<<<<<
jpayne@69 10902 *
jpayne@69 10903 * def __iter__(self):
jpayne@69 10904 */
jpayne@69 10905 __pyx_r = __pyx_v_self->nfields;
jpayne@69 10906 goto __pyx_L0;
jpayne@69 10907
jpayne@69 10908 /* "pysam/libctabixproxies.pyx":299
jpayne@69 10909 * self._setindex(i, value)
jpayne@69 10910 *
jpayne@69 10911 * def __len__(self): # <<<<<<<<<<<<<<
jpayne@69 10912 * return self.nfields
jpayne@69 10913 *
jpayne@69 10914 */
jpayne@69 10915
jpayne@69 10916 /* function exit code */
jpayne@69 10917 __pyx_L0:;
jpayne@69 10918 return __pyx_r;
jpayne@69 10919 }
jpayne@69 10920
jpayne@69 10921 /* "pysam/libctabixproxies.pyx":302
jpayne@69 10922 * return self.nfields
jpayne@69 10923 *
jpayne@69 10924 * def __iter__(self): # <<<<<<<<<<<<<<
jpayne@69 10925 * return TupleProxyIterator(self)
jpayne@69 10926 *
jpayne@69 10927 */
jpayne@69 10928
jpayne@69 10929 /* Python wrapper */
jpayne@69 10930 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 10931 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__(PyObject *__pyx_v_self) {
jpayne@69 10932 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 10933 PyObject *__pyx_r = 0;
jpayne@69 10934 __Pyx_RefNannyDeclarations
jpayne@69 10935 __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0);
jpayne@69 10936 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 10937 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_24__iter__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self));
jpayne@69 10938
jpayne@69 10939 /* function exit code */
jpayne@69 10940 __Pyx_RefNannyFinishContext();
jpayne@69 10941 return __pyx_r;
jpayne@69 10942 }
jpayne@69 10943
jpayne@69 10944 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_24__iter__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self) {
jpayne@69 10945 PyObject *__pyx_r = NULL;
jpayne@69 10946 __Pyx_RefNannyDeclarations
jpayne@69 10947 PyObject *__pyx_t_1 = NULL;
jpayne@69 10948 int __pyx_lineno = 0;
jpayne@69 10949 const char *__pyx_filename = NULL;
jpayne@69 10950 int __pyx_clineno = 0;
jpayne@69 10951 __Pyx_RefNannySetupContext("__iter__", 1);
jpayne@69 10952
jpayne@69 10953 /* "pysam/libctabixproxies.pyx":303
jpayne@69 10954 *
jpayne@69 10955 * def __iter__(self):
jpayne@69 10956 * return TupleProxyIterator(self) # <<<<<<<<<<<<<<
jpayne@69 10957 *
jpayne@69 10958 * def __str__(self):
jpayne@69 10959 */
jpayne@69 10960 __Pyx_XDECREF(__pyx_r);
jpayne@69 10961 __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator), ((PyObject *)__pyx_v_self)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 303, __pyx_L1_error)
jpayne@69 10962 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 10963 __pyx_r = __pyx_t_1;
jpayne@69 10964 __pyx_t_1 = 0;
jpayne@69 10965 goto __pyx_L0;
jpayne@69 10966
jpayne@69 10967 /* "pysam/libctabixproxies.pyx":302
jpayne@69 10968 * return self.nfields
jpayne@69 10969 *
jpayne@69 10970 * def __iter__(self): # <<<<<<<<<<<<<<
jpayne@69 10971 * return TupleProxyIterator(self)
jpayne@69 10972 *
jpayne@69 10973 */
jpayne@69 10974
jpayne@69 10975 /* function exit code */
jpayne@69 10976 __pyx_L1_error:;
jpayne@69 10977 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 10978 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 10979 __pyx_r = NULL;
jpayne@69 10980 __pyx_L0:;
jpayne@69 10981 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 10982 __Pyx_RefNannyFinishContext();
jpayne@69 10983 return __pyx_r;
jpayne@69 10984 }
jpayne@69 10985
jpayne@69 10986 /* "pysam/libctabixproxies.pyx":305
jpayne@69 10987 * return TupleProxyIterator(self)
jpayne@69 10988 *
jpayne@69 10989 * def __str__(self): # <<<<<<<<<<<<<<
jpayne@69 10990 * '''return original data'''
jpayne@69 10991 * # copy and replace \0 bytes with \t characters
jpayne@69 10992 */
jpayne@69 10993
jpayne@69 10994 /* Python wrapper */
jpayne@69 10995 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_27__str__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 10996 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_10TupleProxy_26__str__, "return original data");
jpayne@69 10997 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 10998 struct wrapperbase __pyx_wrapperbase_5pysam_16libctabixproxies_10TupleProxy_26__str__;
jpayne@69 10999 #endif
jpayne@69 11000 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_27__str__(PyObject *__pyx_v_self) {
jpayne@69 11001 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 11002 PyObject *__pyx_r = 0;
jpayne@69 11003 __Pyx_RefNannyDeclarations
jpayne@69 11004 __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
jpayne@69 11005 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 11006 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_26__str__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self));
jpayne@69 11007
jpayne@69 11008 /* function exit code */
jpayne@69 11009 __Pyx_RefNannyFinishContext();
jpayne@69 11010 return __pyx_r;
jpayne@69 11011 }
jpayne@69 11012
jpayne@69 11013 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_26__str__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self) {
jpayne@69 11014 char *__pyx_v_cpy;
jpayne@69 11015 PyObject *__pyx_v_result = NULL;
jpayne@69 11016 long __pyx_v_x;
jpayne@69 11017 PyObject *__pyx_v_r = NULL;
jpayne@69 11018 PyObject *__pyx_r = NULL;
jpayne@69 11019 __Pyx_RefNannyDeclarations
jpayne@69 11020 PyObject *__pyx_t_1 = NULL;
jpayne@69 11021 int __pyx_t_2;
jpayne@69 11022 int __pyx_t_3;
jpayne@69 11023 long __pyx_t_4;
jpayne@69 11024 char *__pyx_t_5;
jpayne@69 11025 PyObject *__pyx_t_6 = NULL;
jpayne@69 11026 PyObject *__pyx_t_7 = NULL;
jpayne@69 11027 unsigned int __pyx_t_8;
jpayne@69 11028 int __pyx_t_9;
jpayne@69 11029 int __pyx_t_10;
jpayne@69 11030 int __pyx_lineno = 0;
jpayne@69 11031 const char *__pyx_filename = NULL;
jpayne@69 11032 int __pyx_clineno = 0;
jpayne@69 11033 __Pyx_RefNannySetupContext("__str__", 1);
jpayne@69 11034
jpayne@69 11035 /* "pysam/libctabixproxies.pyx":309
jpayne@69 11036 * # copy and replace \0 bytes with \t characters
jpayne@69 11037 * cdef char * cpy
jpayne@69 11038 * if self.is_modified: # <<<<<<<<<<<<<<
jpayne@69 11039 * # todo: treat NULL values
jpayne@69 11040 * result = []
jpayne@69 11041 */
jpayne@69 11042 if (__pyx_v_self->is_modified) {
jpayne@69 11043
jpayne@69 11044 /* "pysam/libctabixproxies.pyx":311
jpayne@69 11045 * if self.is_modified:
jpayne@69 11046 * # todo: treat NULL values
jpayne@69 11047 * result = [] # <<<<<<<<<<<<<<
jpayne@69 11048 * for x in xrange(0, self.nfields):
jpayne@69 11049 * result.append(StrOrEmpty(self.fields[x]).decode(self.encoding))
jpayne@69 11050 */
jpayne@69 11051 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 311, __pyx_L1_error)
jpayne@69 11052 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 11053 __pyx_v_result = __pyx_t_1;
jpayne@69 11054 __pyx_t_1 = 0;
jpayne@69 11055
jpayne@69 11056 /* "pysam/libctabixproxies.pyx":312
jpayne@69 11057 * # todo: treat NULL values
jpayne@69 11058 * result = []
jpayne@69 11059 * for x in xrange(0, self.nfields): # <<<<<<<<<<<<<<
jpayne@69 11060 * result.append(StrOrEmpty(self.fields[x]).decode(self.encoding))
jpayne@69 11061 * return "\t".join(result)
jpayne@69 11062 */
jpayne@69 11063 __pyx_t_2 = __pyx_v_self->nfields;
jpayne@69 11064 __pyx_t_3 = __pyx_t_2;
jpayne@69 11065 for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
jpayne@69 11066 __pyx_v_x = __pyx_t_4;
jpayne@69 11067
jpayne@69 11068 /* "pysam/libctabixproxies.pyx":313
jpayne@69 11069 * result = []
jpayne@69 11070 * for x in xrange(0, self.nfields):
jpayne@69 11071 * result.append(StrOrEmpty(self.fields[x]).decode(self.encoding)) # <<<<<<<<<<<<<<
jpayne@69 11072 * return "\t".join(result)
jpayne@69 11073 * else:
jpayne@69 11074 */
jpayne@69 11075 __pyx_t_5 = __pyx_f_5pysam_16libctabixproxies_StrOrEmpty((__pyx_v_self->fields[__pyx_v_x])); if (unlikely(__pyx_t_5 == ((char *)NULL) && PyErr_Occurred())) __PYX_ERR(0, 313, __pyx_L1_error)
jpayne@69 11076 __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 313, __pyx_L1_error)
jpayne@69 11077 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 11078 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_decode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 313, __pyx_L1_error)
jpayne@69 11079 __Pyx_GOTREF(__pyx_t_7);
jpayne@69 11080 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 11081 __pyx_t_6 = NULL;
jpayne@69 11082 __pyx_t_8 = 0;
jpayne@69 11083 #if CYTHON_UNPACK_METHODS
jpayne@69 11084 if (likely(PyMethod_Check(__pyx_t_7))) {
jpayne@69 11085 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
jpayne@69 11086 if (likely(__pyx_t_6)) {
jpayne@69 11087 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
jpayne@69 11088 __Pyx_INCREF(__pyx_t_6);
jpayne@69 11089 __Pyx_INCREF(function);
jpayne@69 11090 __Pyx_DECREF_SET(__pyx_t_7, function);
jpayne@69 11091 __pyx_t_8 = 1;
jpayne@69 11092 }
jpayne@69 11093 }
jpayne@69 11094 #endif
jpayne@69 11095 {
jpayne@69 11096 PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_self->encoding};
jpayne@69 11097 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
jpayne@69 11098 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 11099 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 313, __pyx_L1_error)
jpayne@69 11100 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 11101 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
jpayne@69 11102 }
jpayne@69 11103 __pyx_t_9 = __Pyx_PyObject_Append(__pyx_v_result, __pyx_t_1); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 313, __pyx_L1_error)
jpayne@69 11104 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 11105 }
jpayne@69 11106
jpayne@69 11107 /* "pysam/libctabixproxies.pyx":314
jpayne@69 11108 * for x in xrange(0, self.nfields):
jpayne@69 11109 * result.append(StrOrEmpty(self.fields[x]).decode(self.encoding))
jpayne@69 11110 * return "\t".join(result) # <<<<<<<<<<<<<<
jpayne@69 11111 * else:
jpayne@69 11112 * cpy = <char*>calloc(sizeof(char), self.nbytes+1)
jpayne@69 11113 */
jpayne@69 11114 __Pyx_XDECREF(__pyx_r);
jpayne@69 11115 __pyx_t_1 = PyUnicode_Join(__pyx_kp_u__11, __pyx_v_result); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 314, __pyx_L1_error)
jpayne@69 11116 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 11117 __pyx_r = __pyx_t_1;
jpayne@69 11118 __pyx_t_1 = 0;
jpayne@69 11119 goto __pyx_L0;
jpayne@69 11120
jpayne@69 11121 /* "pysam/libctabixproxies.pyx":309
jpayne@69 11122 * # copy and replace \0 bytes with \t characters
jpayne@69 11123 * cdef char * cpy
jpayne@69 11124 * if self.is_modified: # <<<<<<<<<<<<<<
jpayne@69 11125 * # todo: treat NULL values
jpayne@69 11126 * result = []
jpayne@69 11127 */
jpayne@69 11128 }
jpayne@69 11129
jpayne@69 11130 /* "pysam/libctabixproxies.pyx":316
jpayne@69 11131 * return "\t".join(result)
jpayne@69 11132 * else:
jpayne@69 11133 * cpy = <char*>calloc(sizeof(char), self.nbytes+1) # <<<<<<<<<<<<<<
jpayne@69 11134 * if cpy == NULL:
jpayne@69 11135 * raise ValueError("out of memory")
jpayne@69 11136 */
jpayne@69 11137 /*else*/ {
jpayne@69 11138 __pyx_v_cpy = ((char *)calloc((sizeof(char)), (__pyx_v_self->nbytes + 1)));
jpayne@69 11139
jpayne@69 11140 /* "pysam/libctabixproxies.pyx":317
jpayne@69 11141 * else:
jpayne@69 11142 * cpy = <char*>calloc(sizeof(char), self.nbytes+1)
jpayne@69 11143 * if cpy == NULL: # <<<<<<<<<<<<<<
jpayne@69 11144 * raise ValueError("out of memory")
jpayne@69 11145 * memcpy(cpy, self.data, self.nbytes+1)
jpayne@69 11146 */
jpayne@69 11147 __pyx_t_10 = (__pyx_v_cpy == NULL);
jpayne@69 11148 if (unlikely(__pyx_t_10)) {
jpayne@69 11149
jpayne@69 11150 /* "pysam/libctabixproxies.pyx":318
jpayne@69 11151 * cpy = <char*>calloc(sizeof(char), self.nbytes+1)
jpayne@69 11152 * if cpy == NULL:
jpayne@69 11153 * raise ValueError("out of memory") # <<<<<<<<<<<<<<
jpayne@69 11154 * memcpy(cpy, self.data, self.nbytes+1)
jpayne@69 11155 * for x from 0 <= x < self.nbytes:
jpayne@69 11156 */
jpayne@69 11157 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 318, __pyx_L1_error)
jpayne@69 11158 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 11159 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
jpayne@69 11160 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 11161 __PYX_ERR(0, 318, __pyx_L1_error)
jpayne@69 11162
jpayne@69 11163 /* "pysam/libctabixproxies.pyx":317
jpayne@69 11164 * else:
jpayne@69 11165 * cpy = <char*>calloc(sizeof(char), self.nbytes+1)
jpayne@69 11166 * if cpy == NULL: # <<<<<<<<<<<<<<
jpayne@69 11167 * raise ValueError("out of memory")
jpayne@69 11168 * memcpy(cpy, self.data, self.nbytes+1)
jpayne@69 11169 */
jpayne@69 11170 }
jpayne@69 11171
jpayne@69 11172 /* "pysam/libctabixproxies.pyx":319
jpayne@69 11173 * if cpy == NULL:
jpayne@69 11174 * raise ValueError("out of memory")
jpayne@69 11175 * memcpy(cpy, self.data, self.nbytes+1) # <<<<<<<<<<<<<<
jpayne@69 11176 * for x from 0 <= x < self.nbytes:
jpayne@69 11177 * if cpy[x] == b'\0':
jpayne@69 11178 */
jpayne@69 11179 (void)(memcpy(__pyx_v_cpy, __pyx_v_self->data, (__pyx_v_self->nbytes + 1)));
jpayne@69 11180
jpayne@69 11181 /* "pysam/libctabixproxies.pyx":320
jpayne@69 11182 * raise ValueError("out of memory")
jpayne@69 11183 * memcpy(cpy, self.data, self.nbytes+1)
jpayne@69 11184 * for x from 0 <= x < self.nbytes: # <<<<<<<<<<<<<<
jpayne@69 11185 * if cpy[x] == b'\0':
jpayne@69 11186 * cpy[x] = b'\t'
jpayne@69 11187 */
jpayne@69 11188 __pyx_t_2 = __pyx_v_self->nbytes;
jpayne@69 11189 for (__pyx_v_x = 0; __pyx_v_x < __pyx_t_2; __pyx_v_x++) {
jpayne@69 11190
jpayne@69 11191 /* "pysam/libctabixproxies.pyx":321
jpayne@69 11192 * memcpy(cpy, self.data, self.nbytes+1)
jpayne@69 11193 * for x from 0 <= x < self.nbytes:
jpayne@69 11194 * if cpy[x] == b'\0': # <<<<<<<<<<<<<<
jpayne@69 11195 * cpy[x] = b'\t'
jpayne@69 11196 * result = cpy[:self.nbytes]
jpayne@69 11197 */
jpayne@69 11198 __pyx_t_10 = ((__pyx_v_cpy[__pyx_v_x]) == '\x00');
jpayne@69 11199 if (__pyx_t_10) {
jpayne@69 11200
jpayne@69 11201 /* "pysam/libctabixproxies.pyx":322
jpayne@69 11202 * for x from 0 <= x < self.nbytes:
jpayne@69 11203 * if cpy[x] == b'\0':
jpayne@69 11204 * cpy[x] = b'\t' # <<<<<<<<<<<<<<
jpayne@69 11205 * result = cpy[:self.nbytes]
jpayne@69 11206 * free(cpy)
jpayne@69 11207 */
jpayne@69 11208 (__pyx_v_cpy[__pyx_v_x]) = '\t';
jpayne@69 11209
jpayne@69 11210 /* "pysam/libctabixproxies.pyx":321
jpayne@69 11211 * memcpy(cpy, self.data, self.nbytes+1)
jpayne@69 11212 * for x from 0 <= x < self.nbytes:
jpayne@69 11213 * if cpy[x] == b'\0': # <<<<<<<<<<<<<<
jpayne@69 11214 * cpy[x] = b'\t'
jpayne@69 11215 * result = cpy[:self.nbytes]
jpayne@69 11216 */
jpayne@69 11217 }
jpayne@69 11218 }
jpayne@69 11219
jpayne@69 11220 /* "pysam/libctabixproxies.pyx":323
jpayne@69 11221 * if cpy[x] == b'\0':
jpayne@69 11222 * cpy[x] = b'\t'
jpayne@69 11223 * result = cpy[:self.nbytes] # <<<<<<<<<<<<<<
jpayne@69 11224 * free(cpy)
jpayne@69 11225 * r = result.decode(self.encoding)
jpayne@69 11226 */
jpayne@69 11227 __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_cpy + 0, __pyx_v_self->nbytes - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error)
jpayne@69 11228 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 11229 __pyx_v_result = __pyx_t_1;
jpayne@69 11230 __pyx_t_1 = 0;
jpayne@69 11231
jpayne@69 11232 /* "pysam/libctabixproxies.pyx":324
jpayne@69 11233 * cpy[x] = b'\t'
jpayne@69 11234 * result = cpy[:self.nbytes]
jpayne@69 11235 * free(cpy) # <<<<<<<<<<<<<<
jpayne@69 11236 * r = result.decode(self.encoding)
jpayne@69 11237 * return r
jpayne@69 11238 */
jpayne@69 11239 free(__pyx_v_cpy);
jpayne@69 11240
jpayne@69 11241 /* "pysam/libctabixproxies.pyx":325
jpayne@69 11242 * result = cpy[:self.nbytes]
jpayne@69 11243 * free(cpy)
jpayne@69 11244 * r = result.decode(self.encoding) # <<<<<<<<<<<<<<
jpayne@69 11245 * return r
jpayne@69 11246 *
jpayne@69 11247 */
jpayne@69 11248 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_result, __pyx_n_s_decode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 325, __pyx_L1_error)
jpayne@69 11249 __Pyx_GOTREF(__pyx_t_7);
jpayne@69 11250 __pyx_t_6 = NULL;
jpayne@69 11251 __pyx_t_8 = 0;
jpayne@69 11252 #if CYTHON_UNPACK_METHODS
jpayne@69 11253 if (likely(PyMethod_Check(__pyx_t_7))) {
jpayne@69 11254 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7);
jpayne@69 11255 if (likely(__pyx_t_6)) {
jpayne@69 11256 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
jpayne@69 11257 __Pyx_INCREF(__pyx_t_6);
jpayne@69 11258 __Pyx_INCREF(function);
jpayne@69 11259 __Pyx_DECREF_SET(__pyx_t_7, function);
jpayne@69 11260 __pyx_t_8 = 1;
jpayne@69 11261 }
jpayne@69 11262 }
jpayne@69 11263 #endif
jpayne@69 11264 {
jpayne@69 11265 PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_self->encoding};
jpayne@69 11266 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);
jpayne@69 11267 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 11268 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 325, __pyx_L1_error)
jpayne@69 11269 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 11270 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
jpayne@69 11271 }
jpayne@69 11272 __pyx_v_r = __pyx_t_1;
jpayne@69 11273 __pyx_t_1 = 0;
jpayne@69 11274
jpayne@69 11275 /* "pysam/libctabixproxies.pyx":326
jpayne@69 11276 * free(cpy)
jpayne@69 11277 * r = result.decode(self.encoding)
jpayne@69 11278 * return r # <<<<<<<<<<<<<<
jpayne@69 11279 *
jpayne@69 11280 *
jpayne@69 11281 */
jpayne@69 11282 __Pyx_XDECREF(__pyx_r);
jpayne@69 11283 __Pyx_INCREF(__pyx_v_r);
jpayne@69 11284 __pyx_r = __pyx_v_r;
jpayne@69 11285 goto __pyx_L0;
jpayne@69 11286 }
jpayne@69 11287
jpayne@69 11288 /* "pysam/libctabixproxies.pyx":305
jpayne@69 11289 * return TupleProxyIterator(self)
jpayne@69 11290 *
jpayne@69 11291 * def __str__(self): # <<<<<<<<<<<<<<
jpayne@69 11292 * '''return original data'''
jpayne@69 11293 * # copy and replace \0 bytes with \t characters
jpayne@69 11294 */
jpayne@69 11295
jpayne@69 11296 /* function exit code */
jpayne@69 11297 __pyx_L1_error:;
jpayne@69 11298 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 11299 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 11300 __Pyx_XDECREF(__pyx_t_7);
jpayne@69 11301 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 11302 __pyx_r = NULL;
jpayne@69 11303 __pyx_L0:;
jpayne@69 11304 __Pyx_XDECREF(__pyx_v_result);
jpayne@69 11305 __Pyx_XDECREF(__pyx_v_r);
jpayne@69 11306 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 11307 __Pyx_RefNannyFinishContext();
jpayne@69 11308 return __pyx_r;
jpayne@69 11309 }
jpayne@69 11310
jpayne@69 11311 /* "(tree fragment)":1
jpayne@69 11312 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 11313 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 11314 * def __setstate_cython__(self, __pyx_state):
jpayne@69 11315 */
jpayne@69 11316
jpayne@69 11317 /* Python wrapper */
jpayne@69 11318 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_29__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 11319 #if CYTHON_METH_FASTCALL
jpayne@69 11320 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 11321 #else
jpayne@69 11322 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 11323 #endif
jpayne@69 11324 ); /*proto*/
jpayne@69 11325 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_29__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_29__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 11326 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_29__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 11327 #if CYTHON_METH_FASTCALL
jpayne@69 11328 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 11329 #else
jpayne@69 11330 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 11331 #endif
jpayne@69 11332 ) {
jpayne@69 11333 #if !CYTHON_METH_FASTCALL
jpayne@69 11334 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 11335 #endif
jpayne@69 11336 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 11337 PyObject *__pyx_r = 0;
jpayne@69 11338 __Pyx_RefNannyDeclarations
jpayne@69 11339 __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
jpayne@69 11340 #if !CYTHON_METH_FASTCALL
jpayne@69 11341 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 11342 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 11343 #else
jpayne@69 11344 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 11345 #endif
jpayne@69 11346 #endif
jpayne@69 11347 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 11348 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 11349 __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 11350 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
jpayne@69 11351 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_28__reduce_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self));
jpayne@69 11352
jpayne@69 11353 /* function exit code */
jpayne@69 11354 __Pyx_RefNannyFinishContext();
jpayne@69 11355 return __pyx_r;
jpayne@69 11356 }
jpayne@69 11357
jpayne@69 11358 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_28__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self) {
jpayne@69 11359 PyObject *__pyx_r = NULL;
jpayne@69 11360 __Pyx_RefNannyDeclarations
jpayne@69 11361 int __pyx_lineno = 0;
jpayne@69 11362 const char *__pyx_filename = NULL;
jpayne@69 11363 int __pyx_clineno = 0;
jpayne@69 11364 __Pyx_RefNannySetupContext("__reduce_cython__", 1);
jpayne@69 11365
jpayne@69 11366 /* "(tree fragment)":2
jpayne@69 11367 * def __reduce_cython__(self):
jpayne@69 11368 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 11369 * def __setstate_cython__(self, __pyx_state):
jpayne@69 11370 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 11371 */
jpayne@69 11372 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 11373 __PYX_ERR(1, 2, __pyx_L1_error)
jpayne@69 11374
jpayne@69 11375 /* "(tree fragment)":1
jpayne@69 11376 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 11377 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 11378 * def __setstate_cython__(self, __pyx_state):
jpayne@69 11379 */
jpayne@69 11380
jpayne@69 11381 /* function exit code */
jpayne@69 11382 __pyx_L1_error:;
jpayne@69 11383 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 11384 __pyx_r = NULL;
jpayne@69 11385 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 11386 __Pyx_RefNannyFinishContext();
jpayne@69 11387 return __pyx_r;
jpayne@69 11388 }
jpayne@69 11389
jpayne@69 11390 /* "(tree fragment)":3
jpayne@69 11391 * def __reduce_cython__(self):
jpayne@69 11392 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 11393 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 11394 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 11395 */
jpayne@69 11396
jpayne@69 11397 /* Python wrapper */
jpayne@69 11398 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_31__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 11399 #if CYTHON_METH_FASTCALL
jpayne@69 11400 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 11401 #else
jpayne@69 11402 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 11403 #endif
jpayne@69 11404 ); /*proto*/
jpayne@69 11405 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_31__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_31__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 11406 static PyObject *__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_31__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 11407 #if CYTHON_METH_FASTCALL
jpayne@69 11408 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 11409 #else
jpayne@69 11410 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 11411 #endif
jpayne@69 11412 ) {
jpayne@69 11413 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
jpayne@69 11414 #if !CYTHON_METH_FASTCALL
jpayne@69 11415 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 11416 #endif
jpayne@69 11417 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 11418 PyObject* values[1] = {0};
jpayne@69 11419 int __pyx_lineno = 0;
jpayne@69 11420 const char *__pyx_filename = NULL;
jpayne@69 11421 int __pyx_clineno = 0;
jpayne@69 11422 PyObject *__pyx_r = 0;
jpayne@69 11423 __Pyx_RefNannyDeclarations
jpayne@69 11424 __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
jpayne@69 11425 #if !CYTHON_METH_FASTCALL
jpayne@69 11426 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 11427 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 11428 #else
jpayne@69 11429 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 11430 #endif
jpayne@69 11431 #endif
jpayne@69 11432 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 11433 {
jpayne@69 11434 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
jpayne@69 11435 if (__pyx_kwds) {
jpayne@69 11436 Py_ssize_t kw_args;
jpayne@69 11437 switch (__pyx_nargs) {
jpayne@69 11438 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 11439 CYTHON_FALLTHROUGH;
jpayne@69 11440 case 0: break;
jpayne@69 11441 default: goto __pyx_L5_argtuple_error;
jpayne@69 11442 }
jpayne@69 11443 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 11444 switch (__pyx_nargs) {
jpayne@69 11445 case 0:
jpayne@69 11446 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
jpayne@69 11447 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 11448 kw_args--;
jpayne@69 11449 }
jpayne@69 11450 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 11451 else goto __pyx_L5_argtuple_error;
jpayne@69 11452 }
jpayne@69 11453 if (unlikely(kw_args > 0)) {
jpayne@69 11454 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 11455 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 11456 }
jpayne@69 11457 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 11458 goto __pyx_L5_argtuple_error;
jpayne@69 11459 } else {
jpayne@69 11460 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 11461 }
jpayne@69 11462 __pyx_v___pyx_state = values[0];
jpayne@69 11463 }
jpayne@69 11464 goto __pyx_L6_skip;
jpayne@69 11465 __pyx_L5_argtuple_error:;
jpayne@69 11466 __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 11467 __pyx_L6_skip:;
jpayne@69 11468 goto __pyx_L4_argument_unpacking_done;
jpayne@69 11469 __pyx_L3_error:;
jpayne@69 11470 {
jpayne@69 11471 Py_ssize_t __pyx_temp;
jpayne@69 11472 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 11473 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 11474 }
jpayne@69 11475 }
jpayne@69 11476 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 11477 __Pyx_RefNannyFinishContext();
jpayne@69 11478 return NULL;
jpayne@69 11479 __pyx_L4_argument_unpacking_done:;
jpayne@69 11480 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_10TupleProxy_30__setstate_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), __pyx_v___pyx_state);
jpayne@69 11481
jpayne@69 11482 /* function exit code */
jpayne@69 11483 {
jpayne@69 11484 Py_ssize_t __pyx_temp;
jpayne@69 11485 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 11486 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 11487 }
jpayne@69 11488 }
jpayne@69 11489 __Pyx_RefNannyFinishContext();
jpayne@69 11490 return __pyx_r;
jpayne@69 11491 }
jpayne@69 11492
jpayne@69 11493 static PyObject *__pyx_pf_5pysam_16libctabixproxies_10TupleProxy_30__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
jpayne@69 11494 PyObject *__pyx_r = NULL;
jpayne@69 11495 __Pyx_RefNannyDeclarations
jpayne@69 11496 int __pyx_lineno = 0;
jpayne@69 11497 const char *__pyx_filename = NULL;
jpayne@69 11498 int __pyx_clineno = 0;
jpayne@69 11499 __Pyx_RefNannySetupContext("__setstate_cython__", 1);
jpayne@69 11500
jpayne@69 11501 /* "(tree fragment)":4
jpayne@69 11502 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 11503 * def __setstate_cython__(self, __pyx_state):
jpayne@69 11504 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 11505 */
jpayne@69 11506 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 11507 __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 11508
jpayne@69 11509 /* "(tree fragment)":3
jpayne@69 11510 * def __reduce_cython__(self):
jpayne@69 11511 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 11512 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 11513 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 11514 */
jpayne@69 11515
jpayne@69 11516 /* function exit code */
jpayne@69 11517 __pyx_L1_error:;
jpayne@69 11518 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 11519 __pyx_r = NULL;
jpayne@69 11520 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 11521 __Pyx_RefNannyFinishContext();
jpayne@69 11522 return __pyx_r;
jpayne@69 11523 }
jpayne@69 11524
jpayne@69 11525 /* "pysam/libctabixproxies.pyx":330
jpayne@69 11526 *
jpayne@69 11527 * cdef class TupleProxyIterator:
jpayne@69 11528 * def __init__(self, proxy): # <<<<<<<<<<<<<<
jpayne@69 11529 * self.proxy = proxy
jpayne@69 11530 * self.index = 0
jpayne@69 11531 */
jpayne@69 11532
jpayne@69 11533 /* Python wrapper */
jpayne@69 11534 static int __pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
jpayne@69 11535 static int __pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
jpayne@69 11536 PyObject *__pyx_v_proxy = 0;
jpayne@69 11537 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 11538 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 11539 PyObject* values[1] = {0};
jpayne@69 11540 int __pyx_lineno = 0;
jpayne@69 11541 const char *__pyx_filename = NULL;
jpayne@69 11542 int __pyx_clineno = 0;
jpayne@69 11543 int __pyx_r;
jpayne@69 11544 __Pyx_RefNannyDeclarations
jpayne@69 11545 __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
jpayne@69 11546 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 11547 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 11548 #else
jpayne@69 11549 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
jpayne@69 11550 #endif
jpayne@69 11551 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 11552 {
jpayne@69 11553 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_proxy,0};
jpayne@69 11554 if (__pyx_kwds) {
jpayne@69 11555 Py_ssize_t kw_args;
jpayne@69 11556 switch (__pyx_nargs) {
jpayne@69 11557 case 1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
jpayne@69 11558 CYTHON_FALLTHROUGH;
jpayne@69 11559 case 0: break;
jpayne@69 11560 default: goto __pyx_L5_argtuple_error;
jpayne@69 11561 }
jpayne@69 11562 kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
jpayne@69 11563 switch (__pyx_nargs) {
jpayne@69 11564 case 0:
jpayne@69 11565 if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_proxy)) != 0)) {
jpayne@69 11566 (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
jpayne@69 11567 kw_args--;
jpayne@69 11568 }
jpayne@69 11569 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L3_error)
jpayne@69 11570 else goto __pyx_L5_argtuple_error;
jpayne@69 11571 }
jpayne@69 11572 if (unlikely(kw_args > 0)) {
jpayne@69 11573 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 11574 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 330, __pyx_L3_error)
jpayne@69 11575 }
jpayne@69 11576 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 11577 goto __pyx_L5_argtuple_error;
jpayne@69 11578 } else {
jpayne@69 11579 values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
jpayne@69 11580 }
jpayne@69 11581 __pyx_v_proxy = values[0];
jpayne@69 11582 }
jpayne@69 11583 goto __pyx_L6_skip;
jpayne@69 11584 __pyx_L5_argtuple_error:;
jpayne@69 11585 __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 330, __pyx_L3_error)
jpayne@69 11586 __pyx_L6_skip:;
jpayne@69 11587 goto __pyx_L4_argument_unpacking_done;
jpayne@69 11588 __pyx_L3_error:;
jpayne@69 11589 {
jpayne@69 11590 Py_ssize_t __pyx_temp;
jpayne@69 11591 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 11592 __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
jpayne@69 11593 }
jpayne@69 11594 }
jpayne@69 11595 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxyIterator.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 11596 __Pyx_RefNannyFinishContext();
jpayne@69 11597 return -1;
jpayne@69 11598 __pyx_L4_argument_unpacking_done:;
jpayne@69 11599 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator___init__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)__pyx_v_self), __pyx_v_proxy);
jpayne@69 11600
jpayne@69 11601 /* function exit code */
jpayne@69 11602 {
jpayne@69 11603 Py_ssize_t __pyx_temp;
jpayne@69 11604 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 11605 __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
jpayne@69 11606 }
jpayne@69 11607 }
jpayne@69 11608 __Pyx_RefNannyFinishContext();
jpayne@69 11609 return __pyx_r;
jpayne@69 11610 }
jpayne@69 11611
jpayne@69 11612 static int __pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator___init__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self, PyObject *__pyx_v_proxy) {
jpayne@69 11613 int __pyx_r;
jpayne@69 11614 __Pyx_RefNannyDeclarations
jpayne@69 11615 PyObject *__pyx_t_1 = NULL;
jpayne@69 11616 int __pyx_lineno = 0;
jpayne@69 11617 const char *__pyx_filename = NULL;
jpayne@69 11618 int __pyx_clineno = 0;
jpayne@69 11619 __Pyx_RefNannySetupContext("__init__", 1);
jpayne@69 11620
jpayne@69 11621 /* "pysam/libctabixproxies.pyx":331
jpayne@69 11622 * cdef class TupleProxyIterator:
jpayne@69 11623 * def __init__(self, proxy):
jpayne@69 11624 * self.proxy = proxy # <<<<<<<<<<<<<<
jpayne@69 11625 * self.index = 0
jpayne@69 11626 *
jpayne@69 11627 */
jpayne@69 11628 if (!(likely(((__pyx_v_proxy) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_proxy, __pyx_ptype_5pysam_16libctabixproxies_TupleProxy))))) __PYX_ERR(0, 331, __pyx_L1_error)
jpayne@69 11629 __pyx_t_1 = __pyx_v_proxy;
jpayne@69 11630 __Pyx_INCREF(__pyx_t_1);
jpayne@69 11631 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 11632 __Pyx_GOTREF((PyObject *)__pyx_v_self->proxy);
jpayne@69 11633 __Pyx_DECREF((PyObject *)__pyx_v_self->proxy);
jpayne@69 11634 __pyx_v_self->proxy = ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_t_1);
jpayne@69 11635 __pyx_t_1 = 0;
jpayne@69 11636
jpayne@69 11637 /* "pysam/libctabixproxies.pyx":332
jpayne@69 11638 * def __init__(self, proxy):
jpayne@69 11639 * self.proxy = proxy
jpayne@69 11640 * self.index = 0 # <<<<<<<<<<<<<<
jpayne@69 11641 *
jpayne@69 11642 * def __iter__(self):
jpayne@69 11643 */
jpayne@69 11644 __pyx_v_self->index = 0;
jpayne@69 11645
jpayne@69 11646 /* "pysam/libctabixproxies.pyx":330
jpayne@69 11647 *
jpayne@69 11648 * cdef class TupleProxyIterator:
jpayne@69 11649 * def __init__(self, proxy): # <<<<<<<<<<<<<<
jpayne@69 11650 * self.proxy = proxy
jpayne@69 11651 * self.index = 0
jpayne@69 11652 */
jpayne@69 11653
jpayne@69 11654 /* function exit code */
jpayne@69 11655 __pyx_r = 0;
jpayne@69 11656 goto __pyx_L0;
jpayne@69 11657 __pyx_L1_error:;
jpayne@69 11658 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 11659 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxyIterator.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 11660 __pyx_r = -1;
jpayne@69 11661 __pyx_L0:;
jpayne@69 11662 __Pyx_RefNannyFinishContext();
jpayne@69 11663 return __pyx_r;
jpayne@69 11664 }
jpayne@69 11665
jpayne@69 11666 /* "pysam/libctabixproxies.pyx":334
jpayne@69 11667 * self.index = 0
jpayne@69 11668 *
jpayne@69 11669 * def __iter__(self): # <<<<<<<<<<<<<<
jpayne@69 11670 * return self
jpayne@69 11671 *
jpayne@69 11672 */
jpayne@69 11673
jpayne@69 11674 /* Python wrapper */
jpayne@69 11675 static PyObject *__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_3__iter__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 11676 static PyObject *__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_3__iter__(PyObject *__pyx_v_self) {
jpayne@69 11677 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 11678 PyObject *__pyx_r = 0;
jpayne@69 11679 __Pyx_RefNannyDeclarations
jpayne@69 11680 __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0);
jpayne@69 11681 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 11682 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_2__iter__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)__pyx_v_self));
jpayne@69 11683
jpayne@69 11684 /* function exit code */
jpayne@69 11685 __Pyx_RefNannyFinishContext();
jpayne@69 11686 return __pyx_r;
jpayne@69 11687 }
jpayne@69 11688
jpayne@69 11689 static PyObject *__pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_2__iter__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self) {
jpayne@69 11690 PyObject *__pyx_r = NULL;
jpayne@69 11691 __Pyx_RefNannyDeclarations
jpayne@69 11692 __Pyx_RefNannySetupContext("__iter__", 1);
jpayne@69 11693
jpayne@69 11694 /* "pysam/libctabixproxies.pyx":335
jpayne@69 11695 *
jpayne@69 11696 * def __iter__(self):
jpayne@69 11697 * return self # <<<<<<<<<<<<<<
jpayne@69 11698 *
jpayne@69 11699 * def __next__(self):
jpayne@69 11700 */
jpayne@69 11701 __Pyx_XDECREF(__pyx_r);
jpayne@69 11702 __Pyx_INCREF((PyObject *)__pyx_v_self);
jpayne@69 11703 __pyx_r = ((PyObject *)__pyx_v_self);
jpayne@69 11704 goto __pyx_L0;
jpayne@69 11705
jpayne@69 11706 /* "pysam/libctabixproxies.pyx":334
jpayne@69 11707 * self.index = 0
jpayne@69 11708 *
jpayne@69 11709 * def __iter__(self): # <<<<<<<<<<<<<<
jpayne@69 11710 * return self
jpayne@69 11711 *
jpayne@69 11712 */
jpayne@69 11713
jpayne@69 11714 /* function exit code */
jpayne@69 11715 __pyx_L0:;
jpayne@69 11716 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 11717 __Pyx_RefNannyFinishContext();
jpayne@69 11718 return __pyx_r;
jpayne@69 11719 }
jpayne@69 11720
jpayne@69 11721 /* "pysam/libctabixproxies.pyx":337
jpayne@69 11722 * return self
jpayne@69 11723 *
jpayne@69 11724 * def __next__(self): # <<<<<<<<<<<<<<
jpayne@69 11725 * if self.index >= self.proxy.nfields:
jpayne@69 11726 * raise StopIteration
jpayne@69 11727 */
jpayne@69 11728
jpayne@69 11729 /* Python wrapper */
jpayne@69 11730 static PyObject *__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_5__next__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 11731 static PyObject *__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_5__next__(PyObject *__pyx_v_self) {
jpayne@69 11732 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 11733 PyObject *__pyx_r = 0;
jpayne@69 11734 __Pyx_RefNannyDeclarations
jpayne@69 11735 __Pyx_RefNannySetupContext("__next__ (wrapper)", 0);
jpayne@69 11736 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 11737 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_4__next__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)__pyx_v_self));
jpayne@69 11738
jpayne@69 11739 /* function exit code */
jpayne@69 11740 __Pyx_RefNannyFinishContext();
jpayne@69 11741 return __pyx_r;
jpayne@69 11742 }
jpayne@69 11743
jpayne@69 11744 static PyObject *__pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_4__next__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self) {
jpayne@69 11745 char *__pyx_v_retval;
jpayne@69 11746 PyObject *__pyx_r = NULL;
jpayne@69 11747 __Pyx_RefNannyDeclarations
jpayne@69 11748 int __pyx_error_without_exception = 0; /* StopIteration */
jpayne@69 11749 int __pyx_t_1;
jpayne@69 11750 PyObject *__pyx_t_2 = NULL;
jpayne@69 11751 PyObject *__pyx_t_3 = NULL;
jpayne@69 11752 PyObject *__pyx_t_4 = NULL;
jpayne@69 11753 PyObject *__pyx_t_5 = NULL;
jpayne@69 11754 struct __pyx_opt_args_5pysam_9libcutils_force_str __pyx_t_6;
jpayne@69 11755 int __pyx_lineno = 0;
jpayne@69 11756 const char *__pyx_filename = NULL;
jpayne@69 11757 int __pyx_clineno = 0;
jpayne@69 11758 __Pyx_RefNannySetupContext("__next__", 1);
jpayne@69 11759
jpayne@69 11760 /* "pysam/libctabixproxies.pyx":338
jpayne@69 11761 *
jpayne@69 11762 * def __next__(self):
jpayne@69 11763 * if self.index >= self.proxy.nfields: # <<<<<<<<<<<<<<
jpayne@69 11764 * raise StopIteration
jpayne@69 11765 * cdef char *retval = self.proxy.fields[self.index]
jpayne@69 11766 */
jpayne@69 11767 __pyx_t_1 = (__pyx_v_self->index >= __pyx_v_self->proxy->nfields);
jpayne@69 11768 if (unlikely(__pyx_t_1)) {
jpayne@69 11769
jpayne@69 11770 /* "pysam/libctabixproxies.pyx":339
jpayne@69 11771 * def __next__(self):
jpayne@69 11772 * if self.index >= self.proxy.nfields:
jpayne@69 11773 * raise StopIteration # <<<<<<<<<<<<<<
jpayne@69 11774 * cdef char *retval = self.proxy.fields[self.index]
jpayne@69 11775 * self.index += 1
jpayne@69 11776 */
jpayne@69 11777 __pyx_error_without_exception = 1;
jpayne@69 11778 goto __pyx_L1_error;;
jpayne@69 11779
jpayne@69 11780 /* "pysam/libctabixproxies.pyx":338
jpayne@69 11781 *
jpayne@69 11782 * def __next__(self):
jpayne@69 11783 * if self.index >= self.proxy.nfields: # <<<<<<<<<<<<<<
jpayne@69 11784 * raise StopIteration
jpayne@69 11785 * cdef char *retval = self.proxy.fields[self.index]
jpayne@69 11786 */
jpayne@69 11787 }
jpayne@69 11788
jpayne@69 11789 /* "pysam/libctabixproxies.pyx":340
jpayne@69 11790 * if self.index >= self.proxy.nfields:
jpayne@69 11791 * raise StopIteration
jpayne@69 11792 * cdef char *retval = self.proxy.fields[self.index] # <<<<<<<<<<<<<<
jpayne@69 11793 * self.index += 1
jpayne@69 11794 * return force_str(retval, self.proxy.encoding) if retval != NULL else None
jpayne@69 11795 */
jpayne@69 11796 __pyx_v_retval = (__pyx_v_self->proxy->fields[__pyx_v_self->index]);
jpayne@69 11797
jpayne@69 11798 /* "pysam/libctabixproxies.pyx":341
jpayne@69 11799 * raise StopIteration
jpayne@69 11800 * cdef char *retval = self.proxy.fields[self.index]
jpayne@69 11801 * self.index += 1 # <<<<<<<<<<<<<<
jpayne@69 11802 * return force_str(retval, self.proxy.encoding) if retval != NULL else None
jpayne@69 11803 *
jpayne@69 11804 */
jpayne@69 11805 __pyx_v_self->index = (__pyx_v_self->index + 1);
jpayne@69 11806
jpayne@69 11807 /* "pysam/libctabixproxies.pyx":342
jpayne@69 11808 * cdef char *retval = self.proxy.fields[self.index]
jpayne@69 11809 * self.index += 1
jpayne@69 11810 * return force_str(retval, self.proxy.encoding) if retval != NULL else None # <<<<<<<<<<<<<<
jpayne@69 11811 *
jpayne@69 11812 *
jpayne@69 11813 */
jpayne@69 11814 __Pyx_XDECREF(__pyx_r);
jpayne@69 11815 __pyx_t_1 = (__pyx_v_retval != NULL);
jpayne@69 11816 if (__pyx_t_1) {
jpayne@69 11817 __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_retval); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error)
jpayne@69 11818 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 11819 __pyx_t_4 = __pyx_v_self->proxy->encoding;
jpayne@69 11820 __Pyx_INCREF(__pyx_t_4);
jpayne@69 11821 __pyx_t_6.__pyx_n = 1;
jpayne@69 11822 __pyx_t_6.encoding = __pyx_t_4;
jpayne@69 11823 __pyx_t_5 = __pyx_f_5pysam_9libcutils_force_str(__pyx_t_3, &__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 342, __pyx_L1_error)
jpayne@69 11824 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 11825 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 11826 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 11827 __pyx_t_2 = __pyx_t_5;
jpayne@69 11828 __pyx_t_5 = 0;
jpayne@69 11829 } else {
jpayne@69 11830 __Pyx_INCREF(Py_None);
jpayne@69 11831 __pyx_t_2 = Py_None;
jpayne@69 11832 }
jpayne@69 11833 __pyx_r = __pyx_t_2;
jpayne@69 11834 __pyx_t_2 = 0;
jpayne@69 11835 goto __pyx_L0;
jpayne@69 11836
jpayne@69 11837 /* "pysam/libctabixproxies.pyx":337
jpayne@69 11838 * return self
jpayne@69 11839 *
jpayne@69 11840 * def __next__(self): # <<<<<<<<<<<<<<
jpayne@69 11841 * if self.index >= self.proxy.nfields:
jpayne@69 11842 * raise StopIteration
jpayne@69 11843 */
jpayne@69 11844
jpayne@69 11845 /* function exit code */
jpayne@69 11846 __pyx_L1_error:;
jpayne@69 11847 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 11848 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 11849 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 11850 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 11851 if (!__pyx_error_without_exception) {
jpayne@69 11852 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxyIterator.__next__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 11853 }
jpayne@69 11854 __pyx_r = NULL;
jpayne@69 11855 __pyx_L0:;
jpayne@69 11856 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 11857 __Pyx_RefNannyFinishContext();
jpayne@69 11858 return __pyx_r;
jpayne@69 11859 }
jpayne@69 11860
jpayne@69 11861 /* "(tree fragment)":1
jpayne@69 11862 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 11863 * cdef tuple state
jpayne@69 11864 * cdef object _dict
jpayne@69 11865 */
jpayne@69 11866
jpayne@69 11867 /* Python wrapper */
jpayne@69 11868 static PyObject *__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_7__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 11869 #if CYTHON_METH_FASTCALL
jpayne@69 11870 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 11871 #else
jpayne@69 11872 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 11873 #endif
jpayne@69 11874 ); /*proto*/
jpayne@69 11875 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_18TupleProxyIterator_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 11876 static PyObject *__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_7__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 11877 #if CYTHON_METH_FASTCALL
jpayne@69 11878 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 11879 #else
jpayne@69 11880 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 11881 #endif
jpayne@69 11882 ) {
jpayne@69 11883 #if !CYTHON_METH_FASTCALL
jpayne@69 11884 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 11885 #endif
jpayne@69 11886 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 11887 PyObject *__pyx_r = 0;
jpayne@69 11888 __Pyx_RefNannyDeclarations
jpayne@69 11889 __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
jpayne@69 11890 #if !CYTHON_METH_FASTCALL
jpayne@69 11891 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 11892 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 11893 #else
jpayne@69 11894 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 11895 #endif
jpayne@69 11896 #endif
jpayne@69 11897 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 11898 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 11899 __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 11900 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
jpayne@69 11901 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_6__reduce_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)__pyx_v_self));
jpayne@69 11902
jpayne@69 11903 /* function exit code */
jpayne@69 11904 __Pyx_RefNannyFinishContext();
jpayne@69 11905 return __pyx_r;
jpayne@69 11906 }
jpayne@69 11907
jpayne@69 11908 static PyObject *__pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_6__reduce_cython__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self) {
jpayne@69 11909 PyObject *__pyx_v_state = 0;
jpayne@69 11910 PyObject *__pyx_v__dict = 0;
jpayne@69 11911 int __pyx_v_use_setstate;
jpayne@69 11912 PyObject *__pyx_r = NULL;
jpayne@69 11913 __Pyx_RefNannyDeclarations
jpayne@69 11914 PyObject *__pyx_t_1 = NULL;
jpayne@69 11915 PyObject *__pyx_t_2 = NULL;
jpayne@69 11916 int __pyx_t_3;
jpayne@69 11917 PyObject *__pyx_t_4 = NULL;
jpayne@69 11918 int __pyx_lineno = 0;
jpayne@69 11919 const char *__pyx_filename = NULL;
jpayne@69 11920 int __pyx_clineno = 0;
jpayne@69 11921 __Pyx_RefNannySetupContext("__reduce_cython__", 1);
jpayne@69 11922
jpayne@69 11923 /* "(tree fragment)":5
jpayne@69 11924 * cdef object _dict
jpayne@69 11925 * cdef bint use_setstate
jpayne@69 11926 * state = (self.index, self.proxy) # <<<<<<<<<<<<<<
jpayne@69 11927 * _dict = getattr(self, '__dict__', None)
jpayne@69 11928 * if _dict is not None:
jpayne@69 11929 */
jpayne@69 11930 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_self->index); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
jpayne@69 11931 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 11932 __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 5, __pyx_L1_error)
jpayne@69 11933 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 11934 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 11935 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error);
jpayne@69 11936 __Pyx_INCREF((PyObject *)__pyx_v_self->proxy);
jpayne@69 11937 __Pyx_GIVEREF((PyObject *)__pyx_v_self->proxy);
jpayne@69 11938 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_self->proxy))) __PYX_ERR(1, 5, __pyx_L1_error);
jpayne@69 11939 __pyx_t_1 = 0;
jpayne@69 11940 __pyx_v_state = ((PyObject*)__pyx_t_2);
jpayne@69 11941 __pyx_t_2 = 0;
jpayne@69 11942
jpayne@69 11943 /* "(tree fragment)":6
jpayne@69 11944 * cdef bint use_setstate
jpayne@69 11945 * state = (self.index, self.proxy)
jpayne@69 11946 * _dict = getattr(self, '__dict__', None) # <<<<<<<<<<<<<<
jpayne@69 11947 * if _dict is not None:
jpayne@69 11948 * state += (_dict,)
jpayne@69 11949 */
jpayne@69 11950 __pyx_t_2 = __Pyx_GetAttr3(((PyObject *)__pyx_v_self), __pyx_n_s_dict, Py_None); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 6, __pyx_L1_error)
jpayne@69 11951 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 11952 __pyx_v__dict = __pyx_t_2;
jpayne@69 11953 __pyx_t_2 = 0;
jpayne@69 11954
jpayne@69 11955 /* "(tree fragment)":7
jpayne@69 11956 * state = (self.index, self.proxy)
jpayne@69 11957 * _dict = getattr(self, '__dict__', None)
jpayne@69 11958 * if _dict is not None: # <<<<<<<<<<<<<<
jpayne@69 11959 * state += (_dict,)
jpayne@69 11960 * use_setstate = True
jpayne@69 11961 */
jpayne@69 11962 __pyx_t_3 = (__pyx_v__dict != Py_None);
jpayne@69 11963 if (__pyx_t_3) {
jpayne@69 11964
jpayne@69 11965 /* "(tree fragment)":8
jpayne@69 11966 * _dict = getattr(self, '__dict__', None)
jpayne@69 11967 * if _dict is not None:
jpayne@69 11968 * state += (_dict,) # <<<<<<<<<<<<<<
jpayne@69 11969 * use_setstate = True
jpayne@69 11970 * else:
jpayne@69 11971 */
jpayne@69 11972 __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 8, __pyx_L1_error)
jpayne@69 11973 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 11974 __Pyx_INCREF(__pyx_v__dict);
jpayne@69 11975 __Pyx_GIVEREF(__pyx_v__dict);
jpayne@69 11976 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v__dict)) __PYX_ERR(1, 8, __pyx_L1_error);
jpayne@69 11977 __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_state, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 8, __pyx_L1_error)
jpayne@69 11978 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 11979 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 11980 __Pyx_DECREF_SET(__pyx_v_state, ((PyObject*)__pyx_t_1));
jpayne@69 11981 __pyx_t_1 = 0;
jpayne@69 11982
jpayne@69 11983 /* "(tree fragment)":9
jpayne@69 11984 * if _dict is not None:
jpayne@69 11985 * state += (_dict,)
jpayne@69 11986 * use_setstate = True # <<<<<<<<<<<<<<
jpayne@69 11987 * else:
jpayne@69 11988 * use_setstate = self.proxy is not None
jpayne@69 11989 */
jpayne@69 11990 __pyx_v_use_setstate = 1;
jpayne@69 11991
jpayne@69 11992 /* "(tree fragment)":7
jpayne@69 11993 * state = (self.index, self.proxy)
jpayne@69 11994 * _dict = getattr(self, '__dict__', None)
jpayne@69 11995 * if _dict is not None: # <<<<<<<<<<<<<<
jpayne@69 11996 * state += (_dict,)
jpayne@69 11997 * use_setstate = True
jpayne@69 11998 */
jpayne@69 11999 goto __pyx_L3;
jpayne@69 12000 }
jpayne@69 12001
jpayne@69 12002 /* "(tree fragment)":11
jpayne@69 12003 * use_setstate = True
jpayne@69 12004 * else:
jpayne@69 12005 * use_setstate = self.proxy is not None # <<<<<<<<<<<<<<
jpayne@69 12006 * if use_setstate:
jpayne@69 12007 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, None), state
jpayne@69 12008 */
jpayne@69 12009 /*else*/ {
jpayne@69 12010 __pyx_t_3 = (((PyObject *)__pyx_v_self->proxy) != Py_None);
jpayne@69 12011 __pyx_v_use_setstate = __pyx_t_3;
jpayne@69 12012 }
jpayne@69 12013 __pyx_L3:;
jpayne@69 12014
jpayne@69 12015 /* "(tree fragment)":12
jpayne@69 12016 * else:
jpayne@69 12017 * use_setstate = self.proxy is not None
jpayne@69 12018 * if use_setstate: # <<<<<<<<<<<<<<
jpayne@69 12019 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, None), state
jpayne@69 12020 * else:
jpayne@69 12021 */
jpayne@69 12022 if (__pyx_v_use_setstate) {
jpayne@69 12023
jpayne@69 12024 /* "(tree fragment)":13
jpayne@69 12025 * use_setstate = self.proxy is not None
jpayne@69 12026 * if use_setstate:
jpayne@69 12027 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, None), state # <<<<<<<<<<<<<<
jpayne@69 12028 * else:
jpayne@69 12029 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, state)
jpayne@69 12030 */
jpayne@69 12031 __Pyx_XDECREF(__pyx_r);
jpayne@69 12032 __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pyx_unpickle_TupleProxyIterato); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error)
jpayne@69 12033 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12034 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error)
jpayne@69 12035 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12036 __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
jpayne@69 12037 __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
jpayne@69 12038 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(1, 13, __pyx_L1_error);
jpayne@69 12039 __Pyx_INCREF(__pyx_int_15441160);
jpayne@69 12040 __Pyx_GIVEREF(__pyx_int_15441160);
jpayne@69 12041 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_15441160)) __PYX_ERR(1, 13, __pyx_L1_error);
jpayne@69 12042 __Pyx_INCREF(Py_None);
jpayne@69 12043 __Pyx_GIVEREF(Py_None);
jpayne@69 12044 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, Py_None)) __PYX_ERR(1, 13, __pyx_L1_error);
jpayne@69 12045 __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 13, __pyx_L1_error)
jpayne@69 12046 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 12047 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 12048 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1)) __PYX_ERR(1, 13, __pyx_L1_error);
jpayne@69 12049 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 12050 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2)) __PYX_ERR(1, 13, __pyx_L1_error);
jpayne@69 12051 __Pyx_INCREF(__pyx_v_state);
jpayne@69 12052 __Pyx_GIVEREF(__pyx_v_state);
jpayne@69 12053 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_state)) __PYX_ERR(1, 13, __pyx_L1_error);
jpayne@69 12054 __pyx_t_1 = 0;
jpayne@69 12055 __pyx_t_2 = 0;
jpayne@69 12056 __pyx_r = __pyx_t_4;
jpayne@69 12057 __pyx_t_4 = 0;
jpayne@69 12058 goto __pyx_L0;
jpayne@69 12059
jpayne@69 12060 /* "(tree fragment)":12
jpayne@69 12061 * else:
jpayne@69 12062 * use_setstate = self.proxy is not None
jpayne@69 12063 * if use_setstate: # <<<<<<<<<<<<<<
jpayne@69 12064 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, None), state
jpayne@69 12065 * else:
jpayne@69 12066 */
jpayne@69 12067 }
jpayne@69 12068
jpayne@69 12069 /* "(tree fragment)":15
jpayne@69 12070 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, None), state
jpayne@69 12071 * else:
jpayne@69 12072 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, state) # <<<<<<<<<<<<<<
jpayne@69 12073 * def __setstate_cython__(self, __pyx_state):
jpayne@69 12074 * __pyx_unpickle_TupleProxyIterator__set_state(self, __pyx_state)
jpayne@69 12075 */
jpayne@69 12076 /*else*/ {
jpayne@69 12077 __Pyx_XDECREF(__pyx_r);
jpayne@69 12078 __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_pyx_unpickle_TupleProxyIterato); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error)
jpayne@69 12079 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 12080 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error)
jpayne@69 12081 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12082 __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
jpayne@69 12083 __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
jpayne@69 12084 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))))) __PYX_ERR(1, 15, __pyx_L1_error);
jpayne@69 12085 __Pyx_INCREF(__pyx_int_15441160);
jpayne@69 12086 __Pyx_GIVEREF(__pyx_int_15441160);
jpayne@69 12087 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_15441160)) __PYX_ERR(1, 15, __pyx_L1_error);
jpayne@69 12088 __Pyx_INCREF(__pyx_v_state);
jpayne@69 12089 __Pyx_GIVEREF(__pyx_v_state);
jpayne@69 12090 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_v_state)) __PYX_ERR(1, 15, __pyx_L1_error);
jpayne@69 12091 __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 15, __pyx_L1_error)
jpayne@69 12092 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12093 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 12094 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4)) __PYX_ERR(1, 15, __pyx_L1_error);
jpayne@69 12095 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 12096 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2)) __PYX_ERR(1, 15, __pyx_L1_error);
jpayne@69 12097 __pyx_t_4 = 0;
jpayne@69 12098 __pyx_t_2 = 0;
jpayne@69 12099 __pyx_r = __pyx_t_1;
jpayne@69 12100 __pyx_t_1 = 0;
jpayne@69 12101 goto __pyx_L0;
jpayne@69 12102 }
jpayne@69 12103
jpayne@69 12104 /* "(tree fragment)":1
jpayne@69 12105 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 12106 * cdef tuple state
jpayne@69 12107 * cdef object _dict
jpayne@69 12108 */
jpayne@69 12109
jpayne@69 12110 /* function exit code */
jpayne@69 12111 __pyx_L1_error:;
jpayne@69 12112 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 12113 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 12114 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 12115 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxyIterator.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 12116 __pyx_r = NULL;
jpayne@69 12117 __pyx_L0:;
jpayne@69 12118 __Pyx_XDECREF(__pyx_v_state);
jpayne@69 12119 __Pyx_XDECREF(__pyx_v__dict);
jpayne@69 12120 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 12121 __Pyx_RefNannyFinishContext();
jpayne@69 12122 return __pyx_r;
jpayne@69 12123 }
jpayne@69 12124
jpayne@69 12125 /* "(tree fragment)":16
jpayne@69 12126 * else:
jpayne@69 12127 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, state)
jpayne@69 12128 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 12129 * __pyx_unpickle_TupleProxyIterator__set_state(self, __pyx_state)
jpayne@69 12130 */
jpayne@69 12131
jpayne@69 12132 /* Python wrapper */
jpayne@69 12133 static PyObject *__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_9__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 12134 #if CYTHON_METH_FASTCALL
jpayne@69 12135 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 12136 #else
jpayne@69 12137 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 12138 #endif
jpayne@69 12139 ); /*proto*/
jpayne@69 12140 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_18TupleProxyIterator_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 12141 static PyObject *__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_9__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 12142 #if CYTHON_METH_FASTCALL
jpayne@69 12143 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 12144 #else
jpayne@69 12145 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 12146 #endif
jpayne@69 12147 ) {
jpayne@69 12148 PyObject *__pyx_v___pyx_state = 0;
jpayne@69 12149 #if !CYTHON_METH_FASTCALL
jpayne@69 12150 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 12151 #endif
jpayne@69 12152 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 12153 PyObject* values[1] = {0};
jpayne@69 12154 int __pyx_lineno = 0;
jpayne@69 12155 const char *__pyx_filename = NULL;
jpayne@69 12156 int __pyx_clineno = 0;
jpayne@69 12157 PyObject *__pyx_r = 0;
jpayne@69 12158 __Pyx_RefNannyDeclarations
jpayne@69 12159 __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
jpayne@69 12160 #if !CYTHON_METH_FASTCALL
jpayne@69 12161 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 12162 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 12163 #else
jpayne@69 12164 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 12165 #endif
jpayne@69 12166 #endif
jpayne@69 12167 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 12168 {
jpayne@69 12169 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
jpayne@69 12170 if (__pyx_kwds) {
jpayne@69 12171 Py_ssize_t kw_args;
jpayne@69 12172 switch (__pyx_nargs) {
jpayne@69 12173 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 12174 CYTHON_FALLTHROUGH;
jpayne@69 12175 case 0: break;
jpayne@69 12176 default: goto __pyx_L5_argtuple_error;
jpayne@69 12177 }
jpayne@69 12178 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 12179 switch (__pyx_nargs) {
jpayne@69 12180 case 0:
jpayne@69 12181 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
jpayne@69 12182 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 12183 kw_args--;
jpayne@69 12184 }
jpayne@69 12185 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 16, __pyx_L3_error)
jpayne@69 12186 else goto __pyx_L5_argtuple_error;
jpayne@69 12187 }
jpayne@69 12188 if (unlikely(kw_args > 0)) {
jpayne@69 12189 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 12190 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(1, 16, __pyx_L3_error)
jpayne@69 12191 }
jpayne@69 12192 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 12193 goto __pyx_L5_argtuple_error;
jpayne@69 12194 } else {
jpayne@69 12195 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 12196 }
jpayne@69 12197 __pyx_v___pyx_state = values[0];
jpayne@69 12198 }
jpayne@69 12199 goto __pyx_L6_skip;
jpayne@69 12200 __pyx_L5_argtuple_error:;
jpayne@69 12201 __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16, __pyx_L3_error)
jpayne@69 12202 __pyx_L6_skip:;
jpayne@69 12203 goto __pyx_L4_argument_unpacking_done;
jpayne@69 12204 __pyx_L3_error:;
jpayne@69 12205 {
jpayne@69 12206 Py_ssize_t __pyx_temp;
jpayne@69 12207 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 12208 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 12209 }
jpayne@69 12210 }
jpayne@69 12211 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxyIterator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 12212 __Pyx_RefNannyFinishContext();
jpayne@69 12213 return NULL;
jpayne@69 12214 __pyx_L4_argument_unpacking_done:;
jpayne@69 12215 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_8__setstate_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)__pyx_v_self), __pyx_v___pyx_state);
jpayne@69 12216
jpayne@69 12217 /* function exit code */
jpayne@69 12218 {
jpayne@69 12219 Py_ssize_t __pyx_temp;
jpayne@69 12220 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 12221 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 12222 }
jpayne@69 12223 }
jpayne@69 12224 __Pyx_RefNannyFinishContext();
jpayne@69 12225 return __pyx_r;
jpayne@69 12226 }
jpayne@69 12227
jpayne@69 12228 static PyObject *__pyx_pf_5pysam_16libctabixproxies_18TupleProxyIterator_8__setstate_cython__(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v_self, PyObject *__pyx_v___pyx_state) {
jpayne@69 12229 PyObject *__pyx_r = NULL;
jpayne@69 12230 __Pyx_RefNannyDeclarations
jpayne@69 12231 PyObject *__pyx_t_1 = NULL;
jpayne@69 12232 int __pyx_lineno = 0;
jpayne@69 12233 const char *__pyx_filename = NULL;
jpayne@69 12234 int __pyx_clineno = 0;
jpayne@69 12235 __Pyx_RefNannySetupContext("__setstate_cython__", 1);
jpayne@69 12236
jpayne@69 12237 /* "(tree fragment)":17
jpayne@69 12238 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, state)
jpayne@69 12239 * def __setstate_cython__(self, __pyx_state):
jpayne@69 12240 * __pyx_unpickle_TupleProxyIterator__set_state(self, __pyx_state) # <<<<<<<<<<<<<<
jpayne@69 12241 */
jpayne@69 12242 if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v___pyx_state))) __PYX_ERR(1, 17, __pyx_L1_error)
jpayne@69 12243 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies___pyx_unpickle_TupleProxyIterator__set_state(__pyx_v_self, ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 17, __pyx_L1_error)
jpayne@69 12244 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12245 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 12246
jpayne@69 12247 /* "(tree fragment)":16
jpayne@69 12248 * else:
jpayne@69 12249 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, state)
jpayne@69 12250 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 12251 * __pyx_unpickle_TupleProxyIterator__set_state(self, __pyx_state)
jpayne@69 12252 */
jpayne@69 12253
jpayne@69 12254 /* function exit code */
jpayne@69 12255 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 12256 goto __pyx_L0;
jpayne@69 12257 __pyx_L1_error:;
jpayne@69 12258 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 12259 __Pyx_AddTraceback("pysam.libctabixproxies.TupleProxyIterator.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 12260 __pyx_r = NULL;
jpayne@69 12261 __pyx_L0:;
jpayne@69 12262 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 12263 __Pyx_RefNannyFinishContext();
jpayne@69 12264 return __pyx_r;
jpayne@69 12265 }
jpayne@69 12266
jpayne@69 12267 /* "pysam/libctabixproxies.pyx":345
jpayne@69 12268 *
jpayne@69 12269 *
jpayne@69 12270 * def toDot(v): # <<<<<<<<<<<<<<
jpayne@69 12271 * '''convert value to '.' if None'''
jpayne@69 12272 * if v is None:
jpayne@69 12273 */
jpayne@69 12274
jpayne@69 12275 /* Python wrapper */
jpayne@69 12276 static PyObject *__pyx_pw_5pysam_16libctabixproxies_1toDot(PyObject *__pyx_self,
jpayne@69 12277 #if CYTHON_METH_FASTCALL
jpayne@69 12278 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 12279 #else
jpayne@69 12280 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 12281 #endif
jpayne@69 12282 ); /*proto*/
jpayne@69 12283 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_toDot, "convert value to '.' if None");
jpayne@69 12284 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_1toDot = {"toDot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_1toDot, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_toDot};
jpayne@69 12285 static PyObject *__pyx_pw_5pysam_16libctabixproxies_1toDot(PyObject *__pyx_self,
jpayne@69 12286 #if CYTHON_METH_FASTCALL
jpayne@69 12287 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 12288 #else
jpayne@69 12289 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 12290 #endif
jpayne@69 12291 ) {
jpayne@69 12292 PyObject *__pyx_v_v = 0;
jpayne@69 12293 #if !CYTHON_METH_FASTCALL
jpayne@69 12294 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 12295 #endif
jpayne@69 12296 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 12297 PyObject* values[1] = {0};
jpayne@69 12298 int __pyx_lineno = 0;
jpayne@69 12299 const char *__pyx_filename = NULL;
jpayne@69 12300 int __pyx_clineno = 0;
jpayne@69 12301 PyObject *__pyx_r = 0;
jpayne@69 12302 __Pyx_RefNannyDeclarations
jpayne@69 12303 __Pyx_RefNannySetupContext("toDot (wrapper)", 0);
jpayne@69 12304 #if !CYTHON_METH_FASTCALL
jpayne@69 12305 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 12306 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 12307 #else
jpayne@69 12308 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 12309 #endif
jpayne@69 12310 #endif
jpayne@69 12311 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 12312 {
jpayne@69 12313 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_v,0};
jpayne@69 12314 if (__pyx_kwds) {
jpayne@69 12315 Py_ssize_t kw_args;
jpayne@69 12316 switch (__pyx_nargs) {
jpayne@69 12317 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 12318 CYTHON_FALLTHROUGH;
jpayne@69 12319 case 0: break;
jpayne@69 12320 default: goto __pyx_L5_argtuple_error;
jpayne@69 12321 }
jpayne@69 12322 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 12323 switch (__pyx_nargs) {
jpayne@69 12324 case 0:
jpayne@69 12325 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_v)) != 0)) {
jpayne@69 12326 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 12327 kw_args--;
jpayne@69 12328 }
jpayne@69 12329 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 345, __pyx_L3_error)
jpayne@69 12330 else goto __pyx_L5_argtuple_error;
jpayne@69 12331 }
jpayne@69 12332 if (unlikely(kw_args > 0)) {
jpayne@69 12333 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 12334 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "toDot") < 0)) __PYX_ERR(0, 345, __pyx_L3_error)
jpayne@69 12335 }
jpayne@69 12336 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 12337 goto __pyx_L5_argtuple_error;
jpayne@69 12338 } else {
jpayne@69 12339 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 12340 }
jpayne@69 12341 __pyx_v_v = values[0];
jpayne@69 12342 }
jpayne@69 12343 goto __pyx_L6_skip;
jpayne@69 12344 __pyx_L5_argtuple_error:;
jpayne@69 12345 __Pyx_RaiseArgtupleInvalid("toDot", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 345, __pyx_L3_error)
jpayne@69 12346 __pyx_L6_skip:;
jpayne@69 12347 goto __pyx_L4_argument_unpacking_done;
jpayne@69 12348 __pyx_L3_error:;
jpayne@69 12349 {
jpayne@69 12350 Py_ssize_t __pyx_temp;
jpayne@69 12351 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 12352 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 12353 }
jpayne@69 12354 }
jpayne@69 12355 __Pyx_AddTraceback("pysam.libctabixproxies.toDot", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 12356 __Pyx_RefNannyFinishContext();
jpayne@69 12357 return NULL;
jpayne@69 12358 __pyx_L4_argument_unpacking_done:;
jpayne@69 12359 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_toDot(__pyx_self, __pyx_v_v);
jpayne@69 12360
jpayne@69 12361 /* function exit code */
jpayne@69 12362 {
jpayne@69 12363 Py_ssize_t __pyx_temp;
jpayne@69 12364 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 12365 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 12366 }
jpayne@69 12367 }
jpayne@69 12368 __Pyx_RefNannyFinishContext();
jpayne@69 12369 return __pyx_r;
jpayne@69 12370 }
jpayne@69 12371
jpayne@69 12372 static PyObject *__pyx_pf_5pysam_16libctabixproxies_toDot(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v) {
jpayne@69 12373 PyObject *__pyx_r = NULL;
jpayne@69 12374 __Pyx_RefNannyDeclarations
jpayne@69 12375 int __pyx_t_1;
jpayne@69 12376 PyObject *__pyx_t_2 = NULL;
jpayne@69 12377 int __pyx_lineno = 0;
jpayne@69 12378 const char *__pyx_filename = NULL;
jpayne@69 12379 int __pyx_clineno = 0;
jpayne@69 12380 __Pyx_RefNannySetupContext("toDot", 1);
jpayne@69 12381
jpayne@69 12382 /* "pysam/libctabixproxies.pyx":347
jpayne@69 12383 * def toDot(v):
jpayne@69 12384 * '''convert value to '.' if None'''
jpayne@69 12385 * if v is None: # <<<<<<<<<<<<<<
jpayne@69 12386 * return "."
jpayne@69 12387 * else:
jpayne@69 12388 */
jpayne@69 12389 __pyx_t_1 = (__pyx_v_v == Py_None);
jpayne@69 12390 if (__pyx_t_1) {
jpayne@69 12391
jpayne@69 12392 /* "pysam/libctabixproxies.pyx":348
jpayne@69 12393 * '''convert value to '.' if None'''
jpayne@69 12394 * if v is None:
jpayne@69 12395 * return "." # <<<<<<<<<<<<<<
jpayne@69 12396 * else:
jpayne@69 12397 * return str(v)
jpayne@69 12398 */
jpayne@69 12399 __Pyx_XDECREF(__pyx_r);
jpayne@69 12400 __Pyx_INCREF(__pyx_kp_u__12);
jpayne@69 12401 __pyx_r = __pyx_kp_u__12;
jpayne@69 12402 goto __pyx_L0;
jpayne@69 12403
jpayne@69 12404 /* "pysam/libctabixproxies.pyx":347
jpayne@69 12405 * def toDot(v):
jpayne@69 12406 * '''convert value to '.' if None'''
jpayne@69 12407 * if v is None: # <<<<<<<<<<<<<<
jpayne@69 12408 * return "."
jpayne@69 12409 * else:
jpayne@69 12410 */
jpayne@69 12411 }
jpayne@69 12412
jpayne@69 12413 /* "pysam/libctabixproxies.pyx":350
jpayne@69 12414 * return "."
jpayne@69 12415 * else:
jpayne@69 12416 * return str(v) # <<<<<<<<<<<<<<
jpayne@69 12417 *
jpayne@69 12418 * def quote(v):
jpayne@69 12419 */
jpayne@69 12420 /*else*/ {
jpayne@69 12421 __Pyx_XDECREF(__pyx_r);
jpayne@69 12422 __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_v_v); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error)
jpayne@69 12423 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12424 __pyx_r = __pyx_t_2;
jpayne@69 12425 __pyx_t_2 = 0;
jpayne@69 12426 goto __pyx_L0;
jpayne@69 12427 }
jpayne@69 12428
jpayne@69 12429 /* "pysam/libctabixproxies.pyx":345
jpayne@69 12430 *
jpayne@69 12431 *
jpayne@69 12432 * def toDot(v): # <<<<<<<<<<<<<<
jpayne@69 12433 * '''convert value to '.' if None'''
jpayne@69 12434 * if v is None:
jpayne@69 12435 */
jpayne@69 12436
jpayne@69 12437 /* function exit code */
jpayne@69 12438 __pyx_L1_error:;
jpayne@69 12439 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 12440 __Pyx_AddTraceback("pysam.libctabixproxies.toDot", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 12441 __pyx_r = NULL;
jpayne@69 12442 __pyx_L0:;
jpayne@69 12443 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 12444 __Pyx_RefNannyFinishContext();
jpayne@69 12445 return __pyx_r;
jpayne@69 12446 }
jpayne@69 12447
jpayne@69 12448 /* "pysam/libctabixproxies.pyx":352
jpayne@69 12449 * return str(v)
jpayne@69 12450 *
jpayne@69 12451 * def quote(v): # <<<<<<<<<<<<<<
jpayne@69 12452 * '''return a quoted attribute.'''
jpayne@69 12453 * if isinstance(v, str):
jpayne@69 12454 */
jpayne@69 12455
jpayne@69 12456 /* Python wrapper */
jpayne@69 12457 static PyObject *__pyx_pw_5pysam_16libctabixproxies_3quote(PyObject *__pyx_self,
jpayne@69 12458 #if CYTHON_METH_FASTCALL
jpayne@69 12459 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 12460 #else
jpayne@69 12461 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 12462 #endif
jpayne@69 12463 ); /*proto*/
jpayne@69 12464 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_2quote, "return a quoted attribute.");
jpayne@69 12465 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_3quote = {"quote", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_3quote, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_2quote};
jpayne@69 12466 static PyObject *__pyx_pw_5pysam_16libctabixproxies_3quote(PyObject *__pyx_self,
jpayne@69 12467 #if CYTHON_METH_FASTCALL
jpayne@69 12468 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 12469 #else
jpayne@69 12470 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 12471 #endif
jpayne@69 12472 ) {
jpayne@69 12473 PyObject *__pyx_v_v = 0;
jpayne@69 12474 #if !CYTHON_METH_FASTCALL
jpayne@69 12475 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 12476 #endif
jpayne@69 12477 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 12478 PyObject* values[1] = {0};
jpayne@69 12479 int __pyx_lineno = 0;
jpayne@69 12480 const char *__pyx_filename = NULL;
jpayne@69 12481 int __pyx_clineno = 0;
jpayne@69 12482 PyObject *__pyx_r = 0;
jpayne@69 12483 __Pyx_RefNannyDeclarations
jpayne@69 12484 __Pyx_RefNannySetupContext("quote (wrapper)", 0);
jpayne@69 12485 #if !CYTHON_METH_FASTCALL
jpayne@69 12486 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 12487 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 12488 #else
jpayne@69 12489 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 12490 #endif
jpayne@69 12491 #endif
jpayne@69 12492 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 12493 {
jpayne@69 12494 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_v,0};
jpayne@69 12495 if (__pyx_kwds) {
jpayne@69 12496 Py_ssize_t kw_args;
jpayne@69 12497 switch (__pyx_nargs) {
jpayne@69 12498 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 12499 CYTHON_FALLTHROUGH;
jpayne@69 12500 case 0: break;
jpayne@69 12501 default: goto __pyx_L5_argtuple_error;
jpayne@69 12502 }
jpayne@69 12503 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 12504 switch (__pyx_nargs) {
jpayne@69 12505 case 0:
jpayne@69 12506 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_v)) != 0)) {
jpayne@69 12507 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 12508 kw_args--;
jpayne@69 12509 }
jpayne@69 12510 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 352, __pyx_L3_error)
jpayne@69 12511 else goto __pyx_L5_argtuple_error;
jpayne@69 12512 }
jpayne@69 12513 if (unlikely(kw_args > 0)) {
jpayne@69 12514 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 12515 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "quote") < 0)) __PYX_ERR(0, 352, __pyx_L3_error)
jpayne@69 12516 }
jpayne@69 12517 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 12518 goto __pyx_L5_argtuple_error;
jpayne@69 12519 } else {
jpayne@69 12520 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 12521 }
jpayne@69 12522 __pyx_v_v = values[0];
jpayne@69 12523 }
jpayne@69 12524 goto __pyx_L6_skip;
jpayne@69 12525 __pyx_L5_argtuple_error:;
jpayne@69 12526 __Pyx_RaiseArgtupleInvalid("quote", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 352, __pyx_L3_error)
jpayne@69 12527 __pyx_L6_skip:;
jpayne@69 12528 goto __pyx_L4_argument_unpacking_done;
jpayne@69 12529 __pyx_L3_error:;
jpayne@69 12530 {
jpayne@69 12531 Py_ssize_t __pyx_temp;
jpayne@69 12532 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 12533 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 12534 }
jpayne@69 12535 }
jpayne@69 12536 __Pyx_AddTraceback("pysam.libctabixproxies.quote", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 12537 __Pyx_RefNannyFinishContext();
jpayne@69 12538 return NULL;
jpayne@69 12539 __pyx_L4_argument_unpacking_done:;
jpayne@69 12540 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_2quote(__pyx_self, __pyx_v_v);
jpayne@69 12541
jpayne@69 12542 /* function exit code */
jpayne@69 12543 {
jpayne@69 12544 Py_ssize_t __pyx_temp;
jpayne@69 12545 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 12546 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 12547 }
jpayne@69 12548 }
jpayne@69 12549 __Pyx_RefNannyFinishContext();
jpayne@69 12550 return __pyx_r;
jpayne@69 12551 }
jpayne@69 12552
jpayne@69 12553 static PyObject *__pyx_pf_5pysam_16libctabixproxies_2quote(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_v) {
jpayne@69 12554 PyObject *__pyx_r = NULL;
jpayne@69 12555 __Pyx_RefNannyDeclarations
jpayne@69 12556 int __pyx_t_1;
jpayne@69 12557 PyObject *__pyx_t_2 = NULL;
jpayne@69 12558 int __pyx_lineno = 0;
jpayne@69 12559 const char *__pyx_filename = NULL;
jpayne@69 12560 int __pyx_clineno = 0;
jpayne@69 12561 __Pyx_RefNannySetupContext("quote", 1);
jpayne@69 12562
jpayne@69 12563 /* "pysam/libctabixproxies.pyx":354
jpayne@69 12564 * def quote(v):
jpayne@69 12565 * '''return a quoted attribute.'''
jpayne@69 12566 * if isinstance(v, str): # <<<<<<<<<<<<<<
jpayne@69 12567 * return '"%s"' % v
jpayne@69 12568 * else:
jpayne@69 12569 */
jpayne@69 12570 __pyx_t_1 = PyUnicode_Check(__pyx_v_v);
jpayne@69 12571 if (__pyx_t_1) {
jpayne@69 12572
jpayne@69 12573 /* "pysam/libctabixproxies.pyx":355
jpayne@69 12574 * '''return a quoted attribute.'''
jpayne@69 12575 * if isinstance(v, str):
jpayne@69 12576 * return '"%s"' % v # <<<<<<<<<<<<<<
jpayne@69 12577 * else:
jpayne@69 12578 * return str(v)
jpayne@69 12579 */
jpayne@69 12580 __Pyx_XDECREF(__pyx_r);
jpayne@69 12581 __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_s, __pyx_v_v); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 355, __pyx_L1_error)
jpayne@69 12582 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12583 __pyx_r = __pyx_t_2;
jpayne@69 12584 __pyx_t_2 = 0;
jpayne@69 12585 goto __pyx_L0;
jpayne@69 12586
jpayne@69 12587 /* "pysam/libctabixproxies.pyx":354
jpayne@69 12588 * def quote(v):
jpayne@69 12589 * '''return a quoted attribute.'''
jpayne@69 12590 * if isinstance(v, str): # <<<<<<<<<<<<<<
jpayne@69 12591 * return '"%s"' % v
jpayne@69 12592 * else:
jpayne@69 12593 */
jpayne@69 12594 }
jpayne@69 12595
jpayne@69 12596 /* "pysam/libctabixproxies.pyx":357
jpayne@69 12597 * return '"%s"' % v
jpayne@69 12598 * else:
jpayne@69 12599 * return str(v) # <<<<<<<<<<<<<<
jpayne@69 12600 *
jpayne@69 12601 *
jpayne@69 12602 */
jpayne@69 12603 /*else*/ {
jpayne@69 12604 __Pyx_XDECREF(__pyx_r);
jpayne@69 12605 __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_v_v); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 357, __pyx_L1_error)
jpayne@69 12606 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12607 __pyx_r = __pyx_t_2;
jpayne@69 12608 __pyx_t_2 = 0;
jpayne@69 12609 goto __pyx_L0;
jpayne@69 12610 }
jpayne@69 12611
jpayne@69 12612 /* "pysam/libctabixproxies.pyx":352
jpayne@69 12613 * return str(v)
jpayne@69 12614 *
jpayne@69 12615 * def quote(v): # <<<<<<<<<<<<<<
jpayne@69 12616 * '''return a quoted attribute.'''
jpayne@69 12617 * if isinstance(v, str):
jpayne@69 12618 */
jpayne@69 12619
jpayne@69 12620 /* function exit code */
jpayne@69 12621 __pyx_L1_error:;
jpayne@69 12622 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 12623 __Pyx_AddTraceback("pysam.libctabixproxies.quote", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 12624 __pyx_r = NULL;
jpayne@69 12625 __pyx_L0:;
jpayne@69 12626 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 12627 __Pyx_RefNannyFinishContext();
jpayne@69 12628 return __pyx_r;
jpayne@69 12629 }
jpayne@69 12630
jpayne@69 12631 /* "pysam/libctabixproxies.pyx":364
jpayne@69 12632 * map_key2field = {}
jpayne@69 12633 *
jpayne@69 12634 * def __setattr__(self, key, value): # <<<<<<<<<<<<<<
jpayne@69 12635 * '''set attribute.'''
jpayne@69 12636 * cdef int idx
jpayne@69 12637 */
jpayne@69 12638
jpayne@69 12639 /* Python wrapper */
jpayne@69 12640 static int __pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_1__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
jpayne@69 12641 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__, "set attribute.");
jpayne@69 12642 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 12643 struct wrapperbase __pyx_wrapperbase_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__;
jpayne@69 12644 #endif
jpayne@69 12645 static int __pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_1__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
jpayne@69 12646 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 12647 int __pyx_r;
jpayne@69 12648 __Pyx_RefNannyDeclarations
jpayne@69 12649 __Pyx_RefNannySetupContext("__setattr__ (wrapper)", 0);
jpayne@69 12650 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 12651 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__(((struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
jpayne@69 12652
jpayne@69 12653 /* function exit code */
jpayne@69 12654 __Pyx_RefNannyFinishContext();
jpayne@69 12655 return __pyx_r;
jpayne@69 12656 }
jpayne@69 12657
jpayne@69 12658 static int __pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__(struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
jpayne@69 12659 int __pyx_v_idx;
jpayne@69 12660 CYTHON_UNUSED PyObject *__pyx_v_f = NULL;
jpayne@69 12661 int __pyx_r;
jpayne@69 12662 __Pyx_RefNannyDeclarations
jpayne@69 12663 PyObject *__pyx_t_1 = NULL;
jpayne@69 12664 PyObject *__pyx_t_2 = NULL;
jpayne@69 12665 PyObject *__pyx_t_3 = NULL;
jpayne@69 12666 PyObject *__pyx_t_4 = NULL;
jpayne@69 12667 PyObject *(*__pyx_t_5)(PyObject *);
jpayne@69 12668 int __pyx_t_6;
jpayne@69 12669 int __pyx_t_7;
jpayne@69 12670 PyObject *__pyx_t_8 = NULL;
jpayne@69 12671 unsigned int __pyx_t_9;
jpayne@69 12672 int __pyx_lineno = 0;
jpayne@69 12673 const char *__pyx_filename = NULL;
jpayne@69 12674 int __pyx_clineno = 0;
jpayne@69 12675 __Pyx_RefNannySetupContext("__setattr__", 1);
jpayne@69 12676
jpayne@69 12677 /* "pysam/libctabixproxies.pyx":367
jpayne@69 12678 * '''set attribute.'''
jpayne@69 12679 * cdef int idx
jpayne@69 12680 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
jpayne@69 12681 * if idx >= self.nfields:
jpayne@69 12682 * raise KeyError("field %s not set" % key)
jpayne@69 12683 */
jpayne@69 12684 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_map_key2field); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12685 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12686 __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12687 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12688 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 12689 if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
jpayne@69 12690 PyObject* sequence = __pyx_t_2;
jpayne@69 12691 Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
jpayne@69 12692 if (unlikely(size != 2)) {
jpayne@69 12693 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
jpayne@69 12694 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
jpayne@69 12695 __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12696 }
jpayne@69 12697 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 12698 if (likely(PyTuple_CheckExact(sequence))) {
jpayne@69 12699 __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
jpayne@69 12700 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
jpayne@69 12701 } else {
jpayne@69 12702 __pyx_t_1 = PyList_GET_ITEM(sequence, 0);
jpayne@69 12703 __pyx_t_3 = PyList_GET_ITEM(sequence, 1);
jpayne@69 12704 }
jpayne@69 12705 __Pyx_INCREF(__pyx_t_1);
jpayne@69 12706 __Pyx_INCREF(__pyx_t_3);
jpayne@69 12707 #else
jpayne@69 12708 __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12709 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12710 __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12711 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 12712 #endif
jpayne@69 12713 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 12714 } else {
jpayne@69 12715 Py_ssize_t index = -1;
jpayne@69 12716 __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12717 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 12718 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 12719 __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4);
jpayne@69 12720 index = 0; __pyx_t_1 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
jpayne@69 12721 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12722 index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
jpayne@69 12723 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 12724 if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12725 __pyx_t_5 = NULL;
jpayne@69 12726 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 12727 goto __pyx_L4_unpacking_done;
jpayne@69 12728 __pyx_L3_unpacking_failed:;
jpayne@69 12729 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 12730 __pyx_t_5 = NULL;
jpayne@69 12731 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 12732 __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12733 __pyx_L4_unpacking_done:;
jpayne@69 12734 }
jpayne@69 12735 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 367, __pyx_L1_error)
jpayne@69 12736 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 12737 __pyx_v_idx = __pyx_t_6;
jpayne@69 12738 __pyx_v_f = __pyx_t_3;
jpayne@69 12739 __pyx_t_3 = 0;
jpayne@69 12740
jpayne@69 12741 /* "pysam/libctabixproxies.pyx":368
jpayne@69 12742 * cdef int idx
jpayne@69 12743 * idx, f = self.map_key2field[key]
jpayne@69 12744 * if idx >= self.nfields: # <<<<<<<<<<<<<<
jpayne@69 12745 * raise KeyError("field %s not set" % key)
jpayne@69 12746 * TupleProxy.__setitem__(self, idx, str(value))
jpayne@69 12747 */
jpayne@69 12748 __pyx_t_7 = (__pyx_v_idx >= __pyx_v_self->__pyx_base.nfields);
jpayne@69 12749 if (unlikely(__pyx_t_7)) {
jpayne@69 12750
jpayne@69 12751 /* "pysam/libctabixproxies.pyx":369
jpayne@69 12752 * idx, f = self.map_key2field[key]
jpayne@69 12753 * if idx >= self.nfields:
jpayne@69 12754 * raise KeyError("field %s not set" % key) # <<<<<<<<<<<<<<
jpayne@69 12755 * TupleProxy.__setitem__(self, idx, str(value))
jpayne@69 12756 *
jpayne@69 12757 */
jpayne@69 12758 __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_field_s_not_set, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 369, __pyx_L1_error)
jpayne@69 12759 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12760 __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 369, __pyx_L1_error)
jpayne@69 12761 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 12762 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 12763 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
jpayne@69 12764 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 12765 __PYX_ERR(0, 369, __pyx_L1_error)
jpayne@69 12766
jpayne@69 12767 /* "pysam/libctabixproxies.pyx":368
jpayne@69 12768 * cdef int idx
jpayne@69 12769 * idx, f = self.map_key2field[key]
jpayne@69 12770 * if idx >= self.nfields: # <<<<<<<<<<<<<<
jpayne@69 12771 * raise KeyError("field %s not set" % key)
jpayne@69 12772 * TupleProxy.__setitem__(self, idx, str(value))
jpayne@69 12773 */
jpayne@69 12774 }
jpayne@69 12775
jpayne@69 12776 /* "pysam/libctabixproxies.pyx":370
jpayne@69 12777 * if idx >= self.nfields:
jpayne@69 12778 * raise KeyError("field %s not set" % key)
jpayne@69 12779 * TupleProxy.__setitem__(self, idx, str(value)) # <<<<<<<<<<<<<<
jpayne@69 12780 *
jpayne@69 12781 * def __getattr__(self, key):
jpayne@69 12782 */
jpayne@69 12783 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy), __pyx_n_s_setitem); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 370, __pyx_L1_error)
jpayne@69 12784 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12785 __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_idx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 370, __pyx_L1_error)
jpayne@69 12786 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12787 __pyx_t_4 = __Pyx_PyObject_Unicode(__pyx_v_value); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 370, __pyx_L1_error)
jpayne@69 12788 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 12789 __pyx_t_8 = NULL;
jpayne@69 12790 __pyx_t_9 = 0;
jpayne@69 12791 #if CYTHON_UNPACK_METHODS
jpayne@69 12792 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 12793 __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 12794 if (likely(__pyx_t_8)) {
jpayne@69 12795 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 12796 __Pyx_INCREF(__pyx_t_8);
jpayne@69 12797 __Pyx_INCREF(function);
jpayne@69 12798 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 12799 __pyx_t_9 = 1;
jpayne@69 12800 }
jpayne@69 12801 }
jpayne@69 12802 #endif
jpayne@69 12803 {
jpayne@69 12804 PyObject *__pyx_callargs[4] = {__pyx_t_8, ((PyObject *)__pyx_v_self), __pyx_t_1, __pyx_t_4};
jpayne@69 12805 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_9, 3+__pyx_t_9);
jpayne@69 12806 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
jpayne@69 12807 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 12808 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 12809 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 370, __pyx_L1_error)
jpayne@69 12810 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 12811 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 12812 }
jpayne@69 12813 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 12814
jpayne@69 12815 /* "pysam/libctabixproxies.pyx":364
jpayne@69 12816 * map_key2field = {}
jpayne@69 12817 *
jpayne@69 12818 * def __setattr__(self, key, value): # <<<<<<<<<<<<<<
jpayne@69 12819 * '''set attribute.'''
jpayne@69 12820 * cdef int idx
jpayne@69 12821 */
jpayne@69 12822
jpayne@69 12823 /* function exit code */
jpayne@69 12824 __pyx_r = 0;
jpayne@69 12825 goto __pyx_L0;
jpayne@69 12826 __pyx_L1_error:;
jpayne@69 12827 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 12828 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 12829 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 12830 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 12831 __Pyx_XDECREF(__pyx_t_8);
jpayne@69 12832 __Pyx_AddTraceback("pysam.libctabixproxies.NamedTupleProxy.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 12833 __pyx_r = -1;
jpayne@69 12834 __pyx_L0:;
jpayne@69 12835 __Pyx_XDECREF(__pyx_v_f);
jpayne@69 12836 __Pyx_RefNannyFinishContext();
jpayne@69 12837 return __pyx_r;
jpayne@69 12838 }
jpayne@69 12839
jpayne@69 12840 /* "pysam/libctabixproxies.pyx":372
jpayne@69 12841 * TupleProxy.__setitem__(self, idx, str(value))
jpayne@69 12842 *
jpayne@69 12843 * def __getattr__(self, key): # <<<<<<<<<<<<<<
jpayne@69 12844 * cdef int idx
jpayne@69 12845 * idx, f = self.map_key2field[key]
jpayne@69 12846 */
jpayne@69 12847
jpayne@69 12848 /* Python wrapper */
jpayne@69 12849 static PyObject *__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_3__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
jpayne@69 12850 static PyObject *__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_3__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
jpayne@69 12851 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 12852 PyObject *__pyx_r = 0;
jpayne@69 12853 __Pyx_RefNannyDeclarations
jpayne@69 12854 __Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0);
jpayne@69 12855 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 12856 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_2__getattr__(((struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key));
jpayne@69 12857
jpayne@69 12858 /* function exit code */
jpayne@69 12859 __Pyx_RefNannyFinishContext();
jpayne@69 12860 return __pyx_r;
jpayne@69 12861 }
jpayne@69 12862
jpayne@69 12863 static PyObject *__pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_2__getattr__(struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_v_self, PyObject *__pyx_v_key) {
jpayne@69 12864 int __pyx_v_idx;
jpayne@69 12865 PyObject *__pyx_v_f = NULL;
jpayne@69 12866 PyObject *__pyx_r = NULL;
jpayne@69 12867 __Pyx_RefNannyDeclarations
jpayne@69 12868 PyObject *__pyx_t_1 = NULL;
jpayne@69 12869 PyObject *__pyx_t_2 = NULL;
jpayne@69 12870 PyObject *__pyx_t_3 = NULL;
jpayne@69 12871 PyObject *__pyx_t_4 = NULL;
jpayne@69 12872 PyObject *(*__pyx_t_5)(PyObject *);
jpayne@69 12873 int __pyx_t_6;
jpayne@69 12874 int __pyx_t_7;
jpayne@69 12875 struct __pyx_opt_args_5pysam_9libcutils_force_str __pyx_t_8;
jpayne@69 12876 unsigned int __pyx_t_9;
jpayne@69 12877 int __pyx_lineno = 0;
jpayne@69 12878 const char *__pyx_filename = NULL;
jpayne@69 12879 int __pyx_clineno = 0;
jpayne@69 12880 __Pyx_RefNannySetupContext("__getattr__", 1);
jpayne@69 12881
jpayne@69 12882 /* "pysam/libctabixproxies.pyx":374
jpayne@69 12883 * def __getattr__(self, key):
jpayne@69 12884 * cdef int idx
jpayne@69 12885 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
jpayne@69 12886 * if idx >= self.nfields:
jpayne@69 12887 * raise KeyError("field %s not set" % key)
jpayne@69 12888 */
jpayne@69 12889 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_map_key2field); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12890 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12891 __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12892 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12893 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 12894 if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
jpayne@69 12895 PyObject* sequence = __pyx_t_2;
jpayne@69 12896 Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
jpayne@69 12897 if (unlikely(size != 2)) {
jpayne@69 12898 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
jpayne@69 12899 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
jpayne@69 12900 __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12901 }
jpayne@69 12902 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 12903 if (likely(PyTuple_CheckExact(sequence))) {
jpayne@69 12904 __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0);
jpayne@69 12905 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
jpayne@69 12906 } else {
jpayne@69 12907 __pyx_t_1 = PyList_GET_ITEM(sequence, 0);
jpayne@69 12908 __pyx_t_3 = PyList_GET_ITEM(sequence, 1);
jpayne@69 12909 }
jpayne@69 12910 __Pyx_INCREF(__pyx_t_1);
jpayne@69 12911 __Pyx_INCREF(__pyx_t_3);
jpayne@69 12912 #else
jpayne@69 12913 __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12914 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12915 __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12916 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 12917 #endif
jpayne@69 12918 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 12919 } else {
jpayne@69 12920 Py_ssize_t index = -1;
jpayne@69 12921 __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12922 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 12923 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 12924 __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_4);
jpayne@69 12925 index = 0; __pyx_t_1 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L3_unpacking_failed;
jpayne@69 12926 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 12927 index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
jpayne@69 12928 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 12929 if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12930 __pyx_t_5 = NULL;
jpayne@69 12931 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 12932 goto __pyx_L4_unpacking_done;
jpayne@69 12933 __pyx_L3_unpacking_failed:;
jpayne@69 12934 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 12935 __pyx_t_5 = NULL;
jpayne@69 12936 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 12937 __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12938 __pyx_L4_unpacking_done:;
jpayne@69 12939 }
jpayne@69 12940 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 374, __pyx_L1_error)
jpayne@69 12941 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 12942 __pyx_v_idx = __pyx_t_6;
jpayne@69 12943 __pyx_v_f = __pyx_t_3;
jpayne@69 12944 __pyx_t_3 = 0;
jpayne@69 12945
jpayne@69 12946 /* "pysam/libctabixproxies.pyx":375
jpayne@69 12947 * cdef int idx
jpayne@69 12948 * idx, f = self.map_key2field[key]
jpayne@69 12949 * if idx >= self.nfields: # <<<<<<<<<<<<<<
jpayne@69 12950 * raise KeyError("field %s not set" % key)
jpayne@69 12951 * if f == str:
jpayne@69 12952 */
jpayne@69 12953 __pyx_t_7 = (__pyx_v_idx >= __pyx_v_self->__pyx_base.nfields);
jpayne@69 12954 if (unlikely(__pyx_t_7)) {
jpayne@69 12955
jpayne@69 12956 /* "pysam/libctabixproxies.pyx":376
jpayne@69 12957 * idx, f = self.map_key2field[key]
jpayne@69 12958 * if idx >= self.nfields:
jpayne@69 12959 * raise KeyError("field %s not set" % key) # <<<<<<<<<<<<<<
jpayne@69 12960 * if f == str:
jpayne@69 12961 * return force_str(self.fields[idx],
jpayne@69 12962 */
jpayne@69 12963 __pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_field_s_not_set, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 376, __pyx_L1_error)
jpayne@69 12964 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 12965 __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_KeyError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 376, __pyx_L1_error)
jpayne@69 12966 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 12967 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 12968 __Pyx_Raise(__pyx_t_3, 0, 0, 0);
jpayne@69 12969 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 12970 __PYX_ERR(0, 376, __pyx_L1_error)
jpayne@69 12971
jpayne@69 12972 /* "pysam/libctabixproxies.pyx":375
jpayne@69 12973 * cdef int idx
jpayne@69 12974 * idx, f = self.map_key2field[key]
jpayne@69 12975 * if idx >= self.nfields: # <<<<<<<<<<<<<<
jpayne@69 12976 * raise KeyError("field %s not set" % key)
jpayne@69 12977 * if f == str:
jpayne@69 12978 */
jpayne@69 12979 }
jpayne@69 12980
jpayne@69 12981 /* "pysam/libctabixproxies.pyx":377
jpayne@69 12982 * if idx >= self.nfields:
jpayne@69 12983 * raise KeyError("field %s not set" % key)
jpayne@69 12984 * if f == str: # <<<<<<<<<<<<<<
jpayne@69 12985 * return force_str(self.fields[idx],
jpayne@69 12986 * self.encoding)
jpayne@69 12987 */
jpayne@69 12988 __pyx_t_3 = PyObject_RichCompare(__pyx_v_f, ((PyObject *)(&PyUnicode_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 377, __pyx_L1_error)
jpayne@69 12989 __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 377, __pyx_L1_error)
jpayne@69 12990 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 12991 if (__pyx_t_7) {
jpayne@69 12992
jpayne@69 12993 /* "pysam/libctabixproxies.pyx":378
jpayne@69 12994 * raise KeyError("field %s not set" % key)
jpayne@69 12995 * if f == str:
jpayne@69 12996 * return force_str(self.fields[idx], # <<<<<<<<<<<<<<
jpayne@69 12997 * self.encoding)
jpayne@69 12998 * return f(self.fields[idx])
jpayne@69 12999 */
jpayne@69 13000 __Pyx_XDECREF(__pyx_r);
jpayne@69 13001 __pyx_t_3 = __Pyx_PyBytes_FromString((__pyx_v_self->__pyx_base.fields[__pyx_v_idx])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 378, __pyx_L1_error)
jpayne@69 13002 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 13003
jpayne@69 13004 /* "pysam/libctabixproxies.pyx":379
jpayne@69 13005 * if f == str:
jpayne@69 13006 * return force_str(self.fields[idx],
jpayne@69 13007 * self.encoding) # <<<<<<<<<<<<<<
jpayne@69 13008 * return f(self.fields[idx])
jpayne@69 13009 *
jpayne@69 13010 */
jpayne@69 13011 __pyx_t_2 = __pyx_v_self->__pyx_base.encoding;
jpayne@69 13012 __Pyx_INCREF(__pyx_t_2);
jpayne@69 13013
jpayne@69 13014 /* "pysam/libctabixproxies.pyx":378
jpayne@69 13015 * raise KeyError("field %s not set" % key)
jpayne@69 13016 * if f == str:
jpayne@69 13017 * return force_str(self.fields[idx], # <<<<<<<<<<<<<<
jpayne@69 13018 * self.encoding)
jpayne@69 13019 * return f(self.fields[idx])
jpayne@69 13020 */
jpayne@69 13021 __pyx_t_8.__pyx_n = 1;
jpayne@69 13022 __pyx_t_8.encoding = __pyx_t_2;
jpayne@69 13023 __pyx_t_1 = __pyx_f_5pysam_9libcutils_force_str(__pyx_t_3, &__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error)
jpayne@69 13024 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 13025 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 13026 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 13027 __pyx_r = __pyx_t_1;
jpayne@69 13028 __pyx_t_1 = 0;
jpayne@69 13029 goto __pyx_L0;
jpayne@69 13030
jpayne@69 13031 /* "pysam/libctabixproxies.pyx":377
jpayne@69 13032 * if idx >= self.nfields:
jpayne@69 13033 * raise KeyError("field %s not set" % key)
jpayne@69 13034 * if f == str: # <<<<<<<<<<<<<<
jpayne@69 13035 * return force_str(self.fields[idx],
jpayne@69 13036 * self.encoding)
jpayne@69 13037 */
jpayne@69 13038 }
jpayne@69 13039
jpayne@69 13040 /* "pysam/libctabixproxies.pyx":380
jpayne@69 13041 * return force_str(self.fields[idx],
jpayne@69 13042 * self.encoding)
jpayne@69 13043 * return f(self.fields[idx]) # <<<<<<<<<<<<<<
jpayne@69 13044 *
jpayne@69 13045 *
jpayne@69 13046 */
jpayne@69 13047 __Pyx_XDECREF(__pyx_r);
jpayne@69 13048 __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_self->__pyx_base.fields[__pyx_v_idx])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 380, __pyx_L1_error)
jpayne@69 13049 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 13050 __Pyx_INCREF(__pyx_v_f);
jpayne@69 13051 __pyx_t_3 = __pyx_v_f; __pyx_t_4 = NULL;
jpayne@69 13052 __pyx_t_9 = 0;
jpayne@69 13053 #if CYTHON_UNPACK_METHODS
jpayne@69 13054 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 13055 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 13056 if (likely(__pyx_t_4)) {
jpayne@69 13057 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 13058 __Pyx_INCREF(__pyx_t_4);
jpayne@69 13059 __Pyx_INCREF(function);
jpayne@69 13060 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 13061 __pyx_t_9 = 1;
jpayne@69 13062 }
jpayne@69 13063 }
jpayne@69 13064 #endif
jpayne@69 13065 {
jpayne@69 13066 PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
jpayne@69 13067 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
jpayne@69 13068 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 13069 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 13070 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
jpayne@69 13071 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 13072 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 13073 }
jpayne@69 13074 __pyx_r = __pyx_t_1;
jpayne@69 13075 __pyx_t_1 = 0;
jpayne@69 13076 goto __pyx_L0;
jpayne@69 13077
jpayne@69 13078 /* "pysam/libctabixproxies.pyx":372
jpayne@69 13079 * TupleProxy.__setitem__(self, idx, str(value))
jpayne@69 13080 *
jpayne@69 13081 * def __getattr__(self, key): # <<<<<<<<<<<<<<
jpayne@69 13082 * cdef int idx
jpayne@69 13083 * idx, f = self.map_key2field[key]
jpayne@69 13084 */
jpayne@69 13085
jpayne@69 13086 /* function exit code */
jpayne@69 13087 __pyx_L1_error:;
jpayne@69 13088 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 13089 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 13090 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 13091 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 13092 __Pyx_AddTraceback("pysam.libctabixproxies.NamedTupleProxy.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13093 __pyx_r = NULL;
jpayne@69 13094 __pyx_L0:;
jpayne@69 13095 __Pyx_XDECREF(__pyx_v_f);
jpayne@69 13096 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 13097 __Pyx_RefNannyFinishContext();
jpayne@69 13098 return __pyx_r;
jpayne@69 13099 }
jpayne@69 13100
jpayne@69 13101 /* "(tree fragment)":1
jpayne@69 13102 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 13103 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 13104 * def __setstate_cython__(self, __pyx_state):
jpayne@69 13105 */
jpayne@69 13106
jpayne@69 13107 /* Python wrapper */
jpayne@69 13108 static PyObject *__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_5__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 13109 #if CYTHON_METH_FASTCALL
jpayne@69 13110 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 13111 #else
jpayne@69 13112 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 13113 #endif
jpayne@69 13114 ); /*proto*/
jpayne@69 13115 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_15NamedTupleProxy_5__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 13116 static PyObject *__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_5__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 13117 #if CYTHON_METH_FASTCALL
jpayne@69 13118 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 13119 #else
jpayne@69 13120 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 13121 #endif
jpayne@69 13122 ) {
jpayne@69 13123 #if !CYTHON_METH_FASTCALL
jpayne@69 13124 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 13125 #endif
jpayne@69 13126 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 13127 PyObject *__pyx_r = 0;
jpayne@69 13128 __Pyx_RefNannyDeclarations
jpayne@69 13129 __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
jpayne@69 13130 #if !CYTHON_METH_FASTCALL
jpayne@69 13131 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 13132 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 13133 #else
jpayne@69 13134 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 13135 #endif
jpayne@69 13136 #endif
jpayne@69 13137 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 13138 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 13139 __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 13140 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
jpayne@69 13141 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_4__reduce_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *)__pyx_v_self));
jpayne@69 13142
jpayne@69 13143 /* function exit code */
jpayne@69 13144 __Pyx_RefNannyFinishContext();
jpayne@69 13145 return __pyx_r;
jpayne@69 13146 }
jpayne@69 13147
jpayne@69 13148 static PyObject *__pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_4__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_v_self) {
jpayne@69 13149 PyObject *__pyx_r = NULL;
jpayne@69 13150 __Pyx_RefNannyDeclarations
jpayne@69 13151 int __pyx_lineno = 0;
jpayne@69 13152 const char *__pyx_filename = NULL;
jpayne@69 13153 int __pyx_clineno = 0;
jpayne@69 13154 __Pyx_RefNannySetupContext("__reduce_cython__", 1);
jpayne@69 13155
jpayne@69 13156 /* "(tree fragment)":2
jpayne@69 13157 * def __reduce_cython__(self):
jpayne@69 13158 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 13159 * def __setstate_cython__(self, __pyx_state):
jpayne@69 13160 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 13161 */
jpayne@69 13162 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 13163 __PYX_ERR(1, 2, __pyx_L1_error)
jpayne@69 13164
jpayne@69 13165 /* "(tree fragment)":1
jpayne@69 13166 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 13167 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 13168 * def __setstate_cython__(self, __pyx_state):
jpayne@69 13169 */
jpayne@69 13170
jpayne@69 13171 /* function exit code */
jpayne@69 13172 __pyx_L1_error:;
jpayne@69 13173 __Pyx_AddTraceback("pysam.libctabixproxies.NamedTupleProxy.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13174 __pyx_r = NULL;
jpayne@69 13175 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 13176 __Pyx_RefNannyFinishContext();
jpayne@69 13177 return __pyx_r;
jpayne@69 13178 }
jpayne@69 13179
jpayne@69 13180 /* "(tree fragment)":3
jpayne@69 13181 * def __reduce_cython__(self):
jpayne@69 13182 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 13183 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 13184 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 13185 */
jpayne@69 13186
jpayne@69 13187 /* Python wrapper */
jpayne@69 13188 static PyObject *__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_7__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 13189 #if CYTHON_METH_FASTCALL
jpayne@69 13190 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 13191 #else
jpayne@69 13192 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 13193 #endif
jpayne@69 13194 ); /*proto*/
jpayne@69 13195 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_15NamedTupleProxy_7__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 13196 static PyObject *__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_7__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 13197 #if CYTHON_METH_FASTCALL
jpayne@69 13198 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 13199 #else
jpayne@69 13200 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 13201 #endif
jpayne@69 13202 ) {
jpayne@69 13203 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
jpayne@69 13204 #if !CYTHON_METH_FASTCALL
jpayne@69 13205 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 13206 #endif
jpayne@69 13207 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 13208 PyObject* values[1] = {0};
jpayne@69 13209 int __pyx_lineno = 0;
jpayne@69 13210 const char *__pyx_filename = NULL;
jpayne@69 13211 int __pyx_clineno = 0;
jpayne@69 13212 PyObject *__pyx_r = 0;
jpayne@69 13213 __Pyx_RefNannyDeclarations
jpayne@69 13214 __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
jpayne@69 13215 #if !CYTHON_METH_FASTCALL
jpayne@69 13216 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 13217 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 13218 #else
jpayne@69 13219 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 13220 #endif
jpayne@69 13221 #endif
jpayne@69 13222 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 13223 {
jpayne@69 13224 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
jpayne@69 13225 if (__pyx_kwds) {
jpayne@69 13226 Py_ssize_t kw_args;
jpayne@69 13227 switch (__pyx_nargs) {
jpayne@69 13228 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 13229 CYTHON_FALLTHROUGH;
jpayne@69 13230 case 0: break;
jpayne@69 13231 default: goto __pyx_L5_argtuple_error;
jpayne@69 13232 }
jpayne@69 13233 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 13234 switch (__pyx_nargs) {
jpayne@69 13235 case 0:
jpayne@69 13236 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
jpayne@69 13237 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 13238 kw_args--;
jpayne@69 13239 }
jpayne@69 13240 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 13241 else goto __pyx_L5_argtuple_error;
jpayne@69 13242 }
jpayne@69 13243 if (unlikely(kw_args > 0)) {
jpayne@69 13244 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 13245 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 13246 }
jpayne@69 13247 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 13248 goto __pyx_L5_argtuple_error;
jpayne@69 13249 } else {
jpayne@69 13250 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 13251 }
jpayne@69 13252 __pyx_v___pyx_state = values[0];
jpayne@69 13253 }
jpayne@69 13254 goto __pyx_L6_skip;
jpayne@69 13255 __pyx_L5_argtuple_error:;
jpayne@69 13256 __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 13257 __pyx_L6_skip:;
jpayne@69 13258 goto __pyx_L4_argument_unpacking_done;
jpayne@69 13259 __pyx_L3_error:;
jpayne@69 13260 {
jpayne@69 13261 Py_ssize_t __pyx_temp;
jpayne@69 13262 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 13263 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 13264 }
jpayne@69 13265 }
jpayne@69 13266 __Pyx_AddTraceback("pysam.libctabixproxies.NamedTupleProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13267 __Pyx_RefNannyFinishContext();
jpayne@69 13268 return NULL;
jpayne@69 13269 __pyx_L4_argument_unpacking_done:;
jpayne@69 13270 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_6__setstate_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *)__pyx_v_self), __pyx_v___pyx_state);
jpayne@69 13271
jpayne@69 13272 /* function exit code */
jpayne@69 13273 {
jpayne@69 13274 Py_ssize_t __pyx_temp;
jpayne@69 13275 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 13276 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 13277 }
jpayne@69 13278 }
jpayne@69 13279 __Pyx_RefNannyFinishContext();
jpayne@69 13280 return __pyx_r;
jpayne@69 13281 }
jpayne@69 13282
jpayne@69 13283 static PyObject *__pyx_pf_5pysam_16libctabixproxies_15NamedTupleProxy_6__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
jpayne@69 13284 PyObject *__pyx_r = NULL;
jpayne@69 13285 __Pyx_RefNannyDeclarations
jpayne@69 13286 int __pyx_lineno = 0;
jpayne@69 13287 const char *__pyx_filename = NULL;
jpayne@69 13288 int __pyx_clineno = 0;
jpayne@69 13289 __Pyx_RefNannySetupContext("__setstate_cython__", 1);
jpayne@69 13290
jpayne@69 13291 /* "(tree fragment)":4
jpayne@69 13292 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 13293 * def __setstate_cython__(self, __pyx_state):
jpayne@69 13294 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 13295 */
jpayne@69 13296 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 13297 __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 13298
jpayne@69 13299 /* "(tree fragment)":3
jpayne@69 13300 * def __reduce_cython__(self):
jpayne@69 13301 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 13302 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 13303 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 13304 */
jpayne@69 13305
jpayne@69 13306 /* function exit code */
jpayne@69 13307 __pyx_L1_error:;
jpayne@69 13308 __Pyx_AddTraceback("pysam.libctabixproxies.NamedTupleProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13309 __pyx_r = NULL;
jpayne@69 13310 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 13311 __Pyx_RefNannyFinishContext();
jpayne@69 13312 return __pyx_r;
jpayne@69 13313 }
jpayne@69 13314
jpayne@69 13315 /* "pysam/libctabixproxies.pyx":383
jpayne@69 13316 *
jpayne@69 13317 *
jpayne@69 13318 * cdef dot_or_float(v): # <<<<<<<<<<<<<<
jpayne@69 13319 * if v == "" or v == b".":
jpayne@69 13320 * return None
jpayne@69 13321 */
jpayne@69 13322
jpayne@69 13323 static PyObject *__pyx_f_5pysam_16libctabixproxies_dot_or_float(PyObject *__pyx_v_v) {
jpayne@69 13324 PyObject *__pyx_r = NULL;
jpayne@69 13325 __Pyx_RefNannyDeclarations
jpayne@69 13326 int __pyx_t_1;
jpayne@69 13327 int __pyx_t_2;
jpayne@69 13328 PyObject *__pyx_t_3 = NULL;
jpayne@69 13329 PyObject *__pyx_t_4 = NULL;
jpayne@69 13330 PyObject *__pyx_t_5 = NULL;
jpayne@69 13331 PyObject *__pyx_t_6 = NULL;
jpayne@69 13332 int __pyx_t_7;
jpayne@69 13333 PyObject *__pyx_t_8 = NULL;
jpayne@69 13334 PyObject *__pyx_t_9 = NULL;
jpayne@69 13335 PyObject *__pyx_t_10 = NULL;
jpayne@69 13336 int __pyx_lineno = 0;
jpayne@69 13337 const char *__pyx_filename = NULL;
jpayne@69 13338 int __pyx_clineno = 0;
jpayne@69 13339 __Pyx_RefNannySetupContext("dot_or_float", 1);
jpayne@69 13340
jpayne@69 13341 /* "pysam/libctabixproxies.pyx":384
jpayne@69 13342 *
jpayne@69 13343 * cdef dot_or_float(v):
jpayne@69 13344 * if v == "" or v == b".": # <<<<<<<<<<<<<<
jpayne@69 13345 * return None
jpayne@69 13346 * else:
jpayne@69 13347 */
jpayne@69 13348 __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_v, __pyx_kp_u__13, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 384, __pyx_L1_error)
jpayne@69 13349 if (!__pyx_t_2) {
jpayne@69 13350 } else {
jpayne@69 13351 __pyx_t_1 = __pyx_t_2;
jpayne@69 13352 goto __pyx_L4_bool_binop_done;
jpayne@69 13353 }
jpayne@69 13354 __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_v, __pyx_kp_b__12, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 384, __pyx_L1_error)
jpayne@69 13355 __pyx_t_1 = __pyx_t_2;
jpayne@69 13356 __pyx_L4_bool_binop_done:;
jpayne@69 13357 if (__pyx_t_1) {
jpayne@69 13358
jpayne@69 13359 /* "pysam/libctabixproxies.pyx":385
jpayne@69 13360 * cdef dot_or_float(v):
jpayne@69 13361 * if v == "" or v == b".":
jpayne@69 13362 * return None # <<<<<<<<<<<<<<
jpayne@69 13363 * else:
jpayne@69 13364 * try:
jpayne@69 13365 */
jpayne@69 13366 __Pyx_XDECREF(__pyx_r);
jpayne@69 13367 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 13368 goto __pyx_L0;
jpayne@69 13369
jpayne@69 13370 /* "pysam/libctabixproxies.pyx":384
jpayne@69 13371 *
jpayne@69 13372 * cdef dot_or_float(v):
jpayne@69 13373 * if v == "" or v == b".": # <<<<<<<<<<<<<<
jpayne@69 13374 * return None
jpayne@69 13375 * else:
jpayne@69 13376 */
jpayne@69 13377 }
jpayne@69 13378
jpayne@69 13379 /* "pysam/libctabixproxies.pyx":387
jpayne@69 13380 * return None
jpayne@69 13381 * else:
jpayne@69 13382 * try: # <<<<<<<<<<<<<<
jpayne@69 13383 * return int(v)
jpayne@69 13384 * except ValueError:
jpayne@69 13385 */
jpayne@69 13386 /*else*/ {
jpayne@69 13387 {
jpayne@69 13388 __Pyx_PyThreadState_declare
jpayne@69 13389 __Pyx_PyThreadState_assign
jpayne@69 13390 __Pyx_ExceptionSave(&__pyx_t_3, &__pyx_t_4, &__pyx_t_5);
jpayne@69 13391 __Pyx_XGOTREF(__pyx_t_3);
jpayne@69 13392 __Pyx_XGOTREF(__pyx_t_4);
jpayne@69 13393 __Pyx_XGOTREF(__pyx_t_5);
jpayne@69 13394 /*try:*/ {
jpayne@69 13395
jpayne@69 13396 /* "pysam/libctabixproxies.pyx":388
jpayne@69 13397 * else:
jpayne@69 13398 * try:
jpayne@69 13399 * return int(v) # <<<<<<<<<<<<<<
jpayne@69 13400 * except ValueError:
jpayne@69 13401 * return float(v)
jpayne@69 13402 */
jpayne@69 13403 __Pyx_XDECREF(__pyx_r);
jpayne@69 13404 __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 388, __pyx_L6_error)
jpayne@69 13405 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 13406 __pyx_r = __pyx_t_6;
jpayne@69 13407 __pyx_t_6 = 0;
jpayne@69 13408 goto __pyx_L10_try_return;
jpayne@69 13409
jpayne@69 13410 /* "pysam/libctabixproxies.pyx":387
jpayne@69 13411 * return None
jpayne@69 13412 * else:
jpayne@69 13413 * try: # <<<<<<<<<<<<<<
jpayne@69 13414 * return int(v)
jpayne@69 13415 * except ValueError:
jpayne@69 13416 */
jpayne@69 13417 }
jpayne@69 13418 __pyx_L6_error:;
jpayne@69 13419 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 13420
jpayne@69 13421 /* "pysam/libctabixproxies.pyx":389
jpayne@69 13422 * try:
jpayne@69 13423 * return int(v)
jpayne@69 13424 * except ValueError: # <<<<<<<<<<<<<<
jpayne@69 13425 * return float(v)
jpayne@69 13426 *
jpayne@69 13427 */
jpayne@69 13428 __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
jpayne@69 13429 if (__pyx_t_7) {
jpayne@69 13430 __Pyx_AddTraceback("pysam.libctabixproxies.dot_or_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13431 if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_9) < 0) __PYX_ERR(0, 389, __pyx_L8_except_error)
jpayne@69 13432 __Pyx_XGOTREF(__pyx_t_6);
jpayne@69 13433 __Pyx_XGOTREF(__pyx_t_8);
jpayne@69 13434 __Pyx_XGOTREF(__pyx_t_9);
jpayne@69 13435
jpayne@69 13436 /* "pysam/libctabixproxies.pyx":390
jpayne@69 13437 * return int(v)
jpayne@69 13438 * except ValueError:
jpayne@69 13439 * return float(v) # <<<<<<<<<<<<<<
jpayne@69 13440 *
jpayne@69 13441 *
jpayne@69 13442 */
jpayne@69 13443 __Pyx_XDECREF(__pyx_r);
jpayne@69 13444 __pyx_t_10 = __Pyx_PyNumber_Float(__pyx_v_v); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 390, __pyx_L8_except_error)
jpayne@69 13445 __Pyx_GOTREF(__pyx_t_10);
jpayne@69 13446 __pyx_r = __pyx_t_10;
jpayne@69 13447 __pyx_t_10 = 0;
jpayne@69 13448 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 13449 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
jpayne@69 13450 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 13451 goto __pyx_L9_except_return;
jpayne@69 13452 }
jpayne@69 13453 goto __pyx_L8_except_error;
jpayne@69 13454
jpayne@69 13455 /* "pysam/libctabixproxies.pyx":387
jpayne@69 13456 * return None
jpayne@69 13457 * else:
jpayne@69 13458 * try: # <<<<<<<<<<<<<<
jpayne@69 13459 * return int(v)
jpayne@69 13460 * except ValueError:
jpayne@69 13461 */
jpayne@69 13462 __pyx_L8_except_error:;
jpayne@69 13463 __Pyx_XGIVEREF(__pyx_t_3);
jpayne@69 13464 __Pyx_XGIVEREF(__pyx_t_4);
jpayne@69 13465 __Pyx_XGIVEREF(__pyx_t_5);
jpayne@69 13466 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
jpayne@69 13467 goto __pyx_L1_error;
jpayne@69 13468 __pyx_L10_try_return:;
jpayne@69 13469 __Pyx_XGIVEREF(__pyx_t_3);
jpayne@69 13470 __Pyx_XGIVEREF(__pyx_t_4);
jpayne@69 13471 __Pyx_XGIVEREF(__pyx_t_5);
jpayne@69 13472 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
jpayne@69 13473 goto __pyx_L0;
jpayne@69 13474 __pyx_L9_except_return:;
jpayne@69 13475 __Pyx_XGIVEREF(__pyx_t_3);
jpayne@69 13476 __Pyx_XGIVEREF(__pyx_t_4);
jpayne@69 13477 __Pyx_XGIVEREF(__pyx_t_5);
jpayne@69 13478 __Pyx_ExceptionReset(__pyx_t_3, __pyx_t_4, __pyx_t_5);
jpayne@69 13479 goto __pyx_L0;
jpayne@69 13480 }
jpayne@69 13481 }
jpayne@69 13482
jpayne@69 13483 /* "pysam/libctabixproxies.pyx":383
jpayne@69 13484 *
jpayne@69 13485 *
jpayne@69 13486 * cdef dot_or_float(v): # <<<<<<<<<<<<<<
jpayne@69 13487 * if v == "" or v == b".":
jpayne@69 13488 * return None
jpayne@69 13489 */
jpayne@69 13490
jpayne@69 13491 /* function exit code */
jpayne@69 13492 __pyx_L1_error:;
jpayne@69 13493 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 13494 __Pyx_XDECREF(__pyx_t_8);
jpayne@69 13495 __Pyx_XDECREF(__pyx_t_9);
jpayne@69 13496 __Pyx_XDECREF(__pyx_t_10);
jpayne@69 13497 __Pyx_AddTraceback("pysam.libctabixproxies.dot_or_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13498 __pyx_r = 0;
jpayne@69 13499 __pyx_L0:;
jpayne@69 13500 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 13501 __Pyx_RefNannyFinishContext();
jpayne@69 13502 return __pyx_r;
jpayne@69 13503 }
jpayne@69 13504
jpayne@69 13505 /* "pysam/libctabixproxies.pyx":393
jpayne@69 13506 *
jpayne@69 13507 *
jpayne@69 13508 * cdef dot_or_int(v): # <<<<<<<<<<<<<<
jpayne@69 13509 * if v == "" or v == b".":
jpayne@69 13510 * return None
jpayne@69 13511 */
jpayne@69 13512
jpayne@69 13513 static PyObject *__pyx_f_5pysam_16libctabixproxies_dot_or_int(PyObject *__pyx_v_v) {
jpayne@69 13514 PyObject *__pyx_r = NULL;
jpayne@69 13515 __Pyx_RefNannyDeclarations
jpayne@69 13516 int __pyx_t_1;
jpayne@69 13517 int __pyx_t_2;
jpayne@69 13518 PyObject *__pyx_t_3 = NULL;
jpayne@69 13519 int __pyx_lineno = 0;
jpayne@69 13520 const char *__pyx_filename = NULL;
jpayne@69 13521 int __pyx_clineno = 0;
jpayne@69 13522 __Pyx_RefNannySetupContext("dot_or_int", 1);
jpayne@69 13523
jpayne@69 13524 /* "pysam/libctabixproxies.pyx":394
jpayne@69 13525 *
jpayne@69 13526 * cdef dot_or_int(v):
jpayne@69 13527 * if v == "" or v == b".": # <<<<<<<<<<<<<<
jpayne@69 13528 * return None
jpayne@69 13529 * else:
jpayne@69 13530 */
jpayne@69 13531 __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_v, __pyx_kp_u__13, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 394, __pyx_L1_error)
jpayne@69 13532 if (!__pyx_t_2) {
jpayne@69 13533 } else {
jpayne@69 13534 __pyx_t_1 = __pyx_t_2;
jpayne@69 13535 goto __pyx_L4_bool_binop_done;
jpayne@69 13536 }
jpayne@69 13537 __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_v, __pyx_kp_b__12, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 394, __pyx_L1_error)
jpayne@69 13538 __pyx_t_1 = __pyx_t_2;
jpayne@69 13539 __pyx_L4_bool_binop_done:;
jpayne@69 13540 if (__pyx_t_1) {
jpayne@69 13541
jpayne@69 13542 /* "pysam/libctabixproxies.pyx":395
jpayne@69 13543 * cdef dot_or_int(v):
jpayne@69 13544 * if v == "" or v == b".":
jpayne@69 13545 * return None # <<<<<<<<<<<<<<
jpayne@69 13546 * else:
jpayne@69 13547 * return int(v)
jpayne@69 13548 */
jpayne@69 13549 __Pyx_XDECREF(__pyx_r);
jpayne@69 13550 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 13551 goto __pyx_L0;
jpayne@69 13552
jpayne@69 13553 /* "pysam/libctabixproxies.pyx":394
jpayne@69 13554 *
jpayne@69 13555 * cdef dot_or_int(v):
jpayne@69 13556 * if v == "" or v == b".": # <<<<<<<<<<<<<<
jpayne@69 13557 * return None
jpayne@69 13558 * else:
jpayne@69 13559 */
jpayne@69 13560 }
jpayne@69 13561
jpayne@69 13562 /* "pysam/libctabixproxies.pyx":397
jpayne@69 13563 * return None
jpayne@69 13564 * else:
jpayne@69 13565 * return int(v) # <<<<<<<<<<<<<<
jpayne@69 13566 *
jpayne@69 13567 *
jpayne@69 13568 */
jpayne@69 13569 /*else*/ {
jpayne@69 13570 __Pyx_XDECREF(__pyx_r);
jpayne@69 13571 __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_v); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error)
jpayne@69 13572 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 13573 __pyx_r = __pyx_t_3;
jpayne@69 13574 __pyx_t_3 = 0;
jpayne@69 13575 goto __pyx_L0;
jpayne@69 13576 }
jpayne@69 13577
jpayne@69 13578 /* "pysam/libctabixproxies.pyx":393
jpayne@69 13579 *
jpayne@69 13580 *
jpayne@69 13581 * cdef dot_or_int(v): # <<<<<<<<<<<<<<
jpayne@69 13582 * if v == "" or v == b".":
jpayne@69 13583 * return None
jpayne@69 13584 */
jpayne@69 13585
jpayne@69 13586 /* function exit code */
jpayne@69 13587 __pyx_L1_error:;
jpayne@69 13588 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 13589 __Pyx_AddTraceback("pysam.libctabixproxies.dot_or_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13590 __pyx_r = 0;
jpayne@69 13591 __pyx_L0:;
jpayne@69 13592 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 13593 __Pyx_RefNannyFinishContext();
jpayne@69 13594 return __pyx_r;
jpayne@69 13595 }
jpayne@69 13596
jpayne@69 13597 /* "pysam/libctabixproxies.pyx":400
jpayne@69 13598 *
jpayne@69 13599 *
jpayne@69 13600 * cdef dot_or_str(v): # <<<<<<<<<<<<<<
jpayne@69 13601 * if v == "" or v == b".":
jpayne@69 13602 * return None
jpayne@69 13603 */
jpayne@69 13604
jpayne@69 13605 static PyObject *__pyx_f_5pysam_16libctabixproxies_dot_or_str(PyObject *__pyx_v_v) {
jpayne@69 13606 PyObject *__pyx_r = NULL;
jpayne@69 13607 __Pyx_RefNannyDeclarations
jpayne@69 13608 int __pyx_t_1;
jpayne@69 13609 int __pyx_t_2;
jpayne@69 13610 PyObject *__pyx_t_3 = NULL;
jpayne@69 13611 int __pyx_lineno = 0;
jpayne@69 13612 const char *__pyx_filename = NULL;
jpayne@69 13613 int __pyx_clineno = 0;
jpayne@69 13614 __Pyx_RefNannySetupContext("dot_or_str", 1);
jpayne@69 13615
jpayne@69 13616 /* "pysam/libctabixproxies.pyx":401
jpayne@69 13617 *
jpayne@69 13618 * cdef dot_or_str(v):
jpayne@69 13619 * if v == "" or v == b".": # <<<<<<<<<<<<<<
jpayne@69 13620 * return None
jpayne@69 13621 * else:
jpayne@69 13622 */
jpayne@69 13623 __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_v, __pyx_kp_u__13, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 401, __pyx_L1_error)
jpayne@69 13624 if (!__pyx_t_2) {
jpayne@69 13625 } else {
jpayne@69 13626 __pyx_t_1 = __pyx_t_2;
jpayne@69 13627 goto __pyx_L4_bool_binop_done;
jpayne@69 13628 }
jpayne@69 13629 __pyx_t_2 = (__Pyx_PyBytes_Equals(__pyx_v_v, __pyx_kp_b__12, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 401, __pyx_L1_error)
jpayne@69 13630 __pyx_t_1 = __pyx_t_2;
jpayne@69 13631 __pyx_L4_bool_binop_done:;
jpayne@69 13632 if (__pyx_t_1) {
jpayne@69 13633
jpayne@69 13634 /* "pysam/libctabixproxies.pyx":402
jpayne@69 13635 * cdef dot_or_str(v):
jpayne@69 13636 * if v == "" or v == b".":
jpayne@69 13637 * return None # <<<<<<<<<<<<<<
jpayne@69 13638 * else:
jpayne@69 13639 * return force_str(v)
jpayne@69 13640 */
jpayne@69 13641 __Pyx_XDECREF(__pyx_r);
jpayne@69 13642 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 13643 goto __pyx_L0;
jpayne@69 13644
jpayne@69 13645 /* "pysam/libctabixproxies.pyx":401
jpayne@69 13646 *
jpayne@69 13647 * cdef dot_or_str(v):
jpayne@69 13648 * if v == "" or v == b".": # <<<<<<<<<<<<<<
jpayne@69 13649 * return None
jpayne@69 13650 * else:
jpayne@69 13651 */
jpayne@69 13652 }
jpayne@69 13653
jpayne@69 13654 /* "pysam/libctabixproxies.pyx":404
jpayne@69 13655 * return None
jpayne@69 13656 * else:
jpayne@69 13657 * return force_str(v) # <<<<<<<<<<<<<<
jpayne@69 13658 *
jpayne@69 13659 *
jpayne@69 13660 */
jpayne@69 13661 /*else*/ {
jpayne@69 13662 __Pyx_XDECREF(__pyx_r);
jpayne@69 13663 __pyx_t_3 = __pyx_f_5pysam_9libcutils_force_str(__pyx_v_v, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L1_error)
jpayne@69 13664 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 13665 __pyx_r = __pyx_t_3;
jpayne@69 13666 __pyx_t_3 = 0;
jpayne@69 13667 goto __pyx_L0;
jpayne@69 13668 }
jpayne@69 13669
jpayne@69 13670 /* "pysam/libctabixproxies.pyx":400
jpayne@69 13671 *
jpayne@69 13672 *
jpayne@69 13673 * cdef dot_or_str(v): # <<<<<<<<<<<<<<
jpayne@69 13674 * if v == "" or v == b".":
jpayne@69 13675 * return None
jpayne@69 13676 */
jpayne@69 13677
jpayne@69 13678 /* function exit code */
jpayne@69 13679 __pyx_L1_error:;
jpayne@69 13680 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 13681 __Pyx_AddTraceback("pysam.libctabixproxies.dot_or_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13682 __pyx_r = 0;
jpayne@69 13683 __pyx_L0:;
jpayne@69 13684 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 13685 __Pyx_RefNannyFinishContext();
jpayne@69 13686 return __pyx_r;
jpayne@69 13687 }
jpayne@69 13688
jpayne@69 13689 /* "pysam/libctabixproxies.pyx":407
jpayne@69 13690 *
jpayne@69 13691 *
jpayne@69 13692 * cdef int from1based(v): # <<<<<<<<<<<<<<
jpayne@69 13693 * return atoi(v) - 1
jpayne@69 13694 *
jpayne@69 13695 */
jpayne@69 13696
jpayne@69 13697 static int __pyx_f_5pysam_16libctabixproxies_from1based(PyObject *__pyx_v_v) {
jpayne@69 13698 int __pyx_r;
jpayne@69 13699 char const *__pyx_t_1;
jpayne@69 13700 int __pyx_lineno = 0;
jpayne@69 13701 const char *__pyx_filename = NULL;
jpayne@69 13702 int __pyx_clineno = 0;
jpayne@69 13703
jpayne@69 13704 /* "pysam/libctabixproxies.pyx":408
jpayne@69 13705 *
jpayne@69 13706 * cdef int from1based(v):
jpayne@69 13707 * return atoi(v) - 1 # <<<<<<<<<<<<<<
jpayne@69 13708 *
jpayne@69 13709 *
jpayne@69 13710 */
jpayne@69 13711 __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_v); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(0, 408, __pyx_L1_error)
jpayne@69 13712 __pyx_r = (atoi(__pyx_t_1) - 1);
jpayne@69 13713 goto __pyx_L0;
jpayne@69 13714
jpayne@69 13715 /* "pysam/libctabixproxies.pyx":407
jpayne@69 13716 *
jpayne@69 13717 *
jpayne@69 13718 * cdef int from1based(v): # <<<<<<<<<<<<<<
jpayne@69 13719 * return atoi(v) - 1
jpayne@69 13720 *
jpayne@69 13721 */
jpayne@69 13722
jpayne@69 13723 /* function exit code */
jpayne@69 13724 __pyx_L1_error:;
jpayne@69 13725 __Pyx_AddTraceback("pysam.libctabixproxies.from1based", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13726 __pyx_r = -1;
jpayne@69 13727 __pyx_L0:;
jpayne@69 13728 return __pyx_r;
jpayne@69 13729 }
jpayne@69 13730
jpayne@69 13731 /* "pysam/libctabixproxies.pyx":411
jpayne@69 13732 *
jpayne@69 13733 *
jpayne@69 13734 * cdef str to1based(int v): # <<<<<<<<<<<<<<
jpayne@69 13735 * return str(v + 1)
jpayne@69 13736 *
jpayne@69 13737 */
jpayne@69 13738
jpayne@69 13739 static PyObject *__pyx_f_5pysam_16libctabixproxies_to1based(int __pyx_v_v) {
jpayne@69 13740 PyObject *__pyx_r = NULL;
jpayne@69 13741 __Pyx_RefNannyDeclarations
jpayne@69 13742 PyObject *__pyx_t_1 = NULL;
jpayne@69 13743 PyObject *__pyx_t_2 = NULL;
jpayne@69 13744 int __pyx_lineno = 0;
jpayne@69 13745 const char *__pyx_filename = NULL;
jpayne@69 13746 int __pyx_clineno = 0;
jpayne@69 13747 __Pyx_RefNannySetupContext("to1based", 1);
jpayne@69 13748
jpayne@69 13749 /* "pysam/libctabixproxies.pyx":412
jpayne@69 13750 *
jpayne@69 13751 * cdef str to1based(int v):
jpayne@69 13752 * return str(v + 1) # <<<<<<<<<<<<<<
jpayne@69 13753 *
jpayne@69 13754 *
jpayne@69 13755 */
jpayne@69 13756 __Pyx_XDECREF(__pyx_r);
jpayne@69 13757 __pyx_t_1 = __Pyx_PyInt_From_long((__pyx_v_v + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __pyx_L1_error)
jpayne@69 13758 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 13759 __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 412, __pyx_L1_error)
jpayne@69 13760 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 13761 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 13762 __pyx_r = ((PyObject*)__pyx_t_2);
jpayne@69 13763 __pyx_t_2 = 0;
jpayne@69 13764 goto __pyx_L0;
jpayne@69 13765
jpayne@69 13766 /* "pysam/libctabixproxies.pyx":411
jpayne@69 13767 *
jpayne@69 13768 *
jpayne@69 13769 * cdef str to1based(int v): # <<<<<<<<<<<<<<
jpayne@69 13770 * return str(v + 1)
jpayne@69 13771 *
jpayne@69 13772 */
jpayne@69 13773
jpayne@69 13774 /* function exit code */
jpayne@69 13775 __pyx_L1_error:;
jpayne@69 13776 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 13777 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 13778 __Pyx_AddTraceback("pysam.libctabixproxies.to1based", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13779 __pyx_r = 0;
jpayne@69 13780 __pyx_L0:;
jpayne@69 13781 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 13782 __Pyx_RefNannyFinishContext();
jpayne@69 13783 return __pyx_r;
jpayne@69 13784 }
jpayne@69 13785
jpayne@69 13786 /* "pysam/libctabixproxies.pyx":445
jpayne@69 13787 * 'attributes': (8, (str, str))}
jpayne@69 13788 *
jpayne@69 13789 * def __cinit__(self): # <<<<<<<<<<<<<<
jpayne@69 13790 * # automatically calls TupleProxy.__cinit__
jpayne@69 13791 * self.attribute_dict = None
jpayne@69 13792 */
jpayne@69 13793
jpayne@69 13794 /* Python wrapper */
jpayne@69 13795 static int __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
jpayne@69 13796 static int __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
jpayne@69 13797 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 13798 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 13799 int __pyx_r;
jpayne@69 13800 __Pyx_RefNannyDeclarations
jpayne@69 13801 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
jpayne@69 13802 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 13803 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 13804 #else
jpayne@69 13805 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
jpayne@69 13806 #endif
jpayne@69 13807 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 13808 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 13809 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
jpayne@69 13810 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
jpayne@69 13811 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy___cinit__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self));
jpayne@69 13812
jpayne@69 13813 /* function exit code */
jpayne@69 13814 __Pyx_RefNannyFinishContext();
jpayne@69 13815 return __pyx_r;
jpayne@69 13816 }
jpayne@69 13817
jpayne@69 13818 static int __pyx_pf_5pysam_16libctabixproxies_8GTFProxy___cinit__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self) {
jpayne@69 13819 int __pyx_r;
jpayne@69 13820 __Pyx_RefNannyDeclarations
jpayne@69 13821 __Pyx_RefNannySetupContext("__cinit__", 1);
jpayne@69 13822
jpayne@69 13823 /* "pysam/libctabixproxies.pyx":447
jpayne@69 13824 * def __cinit__(self):
jpayne@69 13825 * # automatically calls TupleProxy.__cinit__
jpayne@69 13826 * self.attribute_dict = None # <<<<<<<<<<<<<<
jpayne@69 13827 *
jpayne@69 13828 * cpdef int getMinFields(self):
jpayne@69 13829 */
jpayne@69 13830 __Pyx_INCREF(Py_None);
jpayne@69 13831 __Pyx_GIVEREF(Py_None);
jpayne@69 13832 __Pyx_GOTREF(__pyx_v_self->attribute_dict);
jpayne@69 13833 __Pyx_DECREF(__pyx_v_self->attribute_dict);
jpayne@69 13834 __pyx_v_self->attribute_dict = Py_None;
jpayne@69 13835
jpayne@69 13836 /* "pysam/libctabixproxies.pyx":445
jpayne@69 13837 * 'attributes': (8, (str, str))}
jpayne@69 13838 *
jpayne@69 13839 * def __cinit__(self): # <<<<<<<<<<<<<<
jpayne@69 13840 * # automatically calls TupleProxy.__cinit__
jpayne@69 13841 * self.attribute_dict = None
jpayne@69 13842 */
jpayne@69 13843
jpayne@69 13844 /* function exit code */
jpayne@69 13845 __pyx_r = 0;
jpayne@69 13846 __Pyx_RefNannyFinishContext();
jpayne@69 13847 return __pyx_r;
jpayne@69 13848 }
jpayne@69 13849
jpayne@69 13850 /* "pysam/libctabixproxies.pyx":449
jpayne@69 13851 * self.attribute_dict = None
jpayne@69 13852 *
jpayne@69 13853 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 13854 * '''return minimum number of fields.'''
jpayne@69 13855 * return 9
jpayne@69 13856 */
jpayne@69 13857
jpayne@69 13858 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_3getMinFields(PyObject *__pyx_v_self,
jpayne@69 13859 #if CYTHON_METH_FASTCALL
jpayne@69 13860 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 13861 #else
jpayne@69 13862 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 13863 #endif
jpayne@69 13864 ); /*proto*/
jpayne@69 13865 static int __pyx_f_5pysam_16libctabixproxies_8GTFProxy_getMinFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, int __pyx_skip_dispatch) {
jpayne@69 13866 int __pyx_r;
jpayne@69 13867 __Pyx_RefNannyDeclarations
jpayne@69 13868 PyObject *__pyx_t_1 = NULL;
jpayne@69 13869 PyObject *__pyx_t_2 = NULL;
jpayne@69 13870 PyObject *__pyx_t_3 = NULL;
jpayne@69 13871 PyObject *__pyx_t_4 = NULL;
jpayne@69 13872 unsigned int __pyx_t_5;
jpayne@69 13873 int __pyx_t_6;
jpayne@69 13874 int __pyx_lineno = 0;
jpayne@69 13875 const char *__pyx_filename = NULL;
jpayne@69 13876 int __pyx_clineno = 0;
jpayne@69 13877 __Pyx_RefNannySetupContext("getMinFields", 1);
jpayne@69 13878 /* Check if called by wrapper */
jpayne@69 13879 if (unlikely(__pyx_skip_dispatch)) ;
jpayne@69 13880 /* Check if overridden in Python */
jpayne@69 13881 else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
jpayne@69 13882 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 13883 static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 13884 if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
jpayne@69 13885 PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 13886 #endif
jpayne@69 13887 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getMinFields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)
jpayne@69 13888 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 13889 if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_3getMinFields)) {
jpayne@69 13890 __Pyx_INCREF(__pyx_t_1);
jpayne@69 13891 __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
jpayne@69 13892 __pyx_t_5 = 0;
jpayne@69 13893 #if CYTHON_UNPACK_METHODS
jpayne@69 13894 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 13895 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 13896 if (likely(__pyx_t_4)) {
jpayne@69 13897 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 13898 __Pyx_INCREF(__pyx_t_4);
jpayne@69 13899 __Pyx_INCREF(function);
jpayne@69 13900 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 13901 __pyx_t_5 = 1;
jpayne@69 13902 }
jpayne@69 13903 }
jpayne@69 13904 #endif
jpayne@69 13905 {
jpayne@69 13906 PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
jpayne@69 13907 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
jpayne@69 13908 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 13909 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 449, __pyx_L1_error)
jpayne@69 13910 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 13911 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 13912 }
jpayne@69 13913 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 449, __pyx_L1_error)
jpayne@69 13914 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 13915 __pyx_r = __pyx_t_6;
jpayne@69 13916 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 13917 goto __pyx_L0;
jpayne@69 13918 }
jpayne@69 13919 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 13920 __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 13921 __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 13922 if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
jpayne@69 13923 __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 13924 }
jpayne@69 13925 #endif
jpayne@69 13926 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 13927 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 13928 }
jpayne@69 13929 #endif
jpayne@69 13930 }
jpayne@69 13931
jpayne@69 13932 /* "pysam/libctabixproxies.pyx":451
jpayne@69 13933 * cpdef int getMinFields(self):
jpayne@69 13934 * '''return minimum number of fields.'''
jpayne@69 13935 * return 9 # <<<<<<<<<<<<<<
jpayne@69 13936 *
jpayne@69 13937 * cpdef int getMaxFields(self):
jpayne@69 13938 */
jpayne@69 13939 __pyx_r = 9;
jpayne@69 13940 goto __pyx_L0;
jpayne@69 13941
jpayne@69 13942 /* "pysam/libctabixproxies.pyx":449
jpayne@69 13943 * self.attribute_dict = None
jpayne@69 13944 *
jpayne@69 13945 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 13946 * '''return minimum number of fields.'''
jpayne@69 13947 * return 9
jpayne@69 13948 */
jpayne@69 13949
jpayne@69 13950 /* function exit code */
jpayne@69 13951 __pyx_L1_error:;
jpayne@69 13952 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 13953 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 13954 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 13955 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 13956 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.getMinFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 13957 __pyx_r = 0;
jpayne@69 13958 __pyx_L0:;
jpayne@69 13959 __Pyx_RefNannyFinishContext();
jpayne@69 13960 return __pyx_r;
jpayne@69 13961 }
jpayne@69 13962
jpayne@69 13963 /* Python wrapper */
jpayne@69 13964 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_3getMinFields(PyObject *__pyx_v_self,
jpayne@69 13965 #if CYTHON_METH_FASTCALL
jpayne@69 13966 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 13967 #else
jpayne@69 13968 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 13969 #endif
jpayne@69 13970 ); /*proto*/
jpayne@69 13971 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_2getMinFields, "return minimum number of fields.");
jpayne@69 13972 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_3getMinFields = {"getMinFields", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_3getMinFields, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_2getMinFields};
jpayne@69 13973 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_3getMinFields(PyObject *__pyx_v_self,
jpayne@69 13974 #if CYTHON_METH_FASTCALL
jpayne@69 13975 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 13976 #else
jpayne@69 13977 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 13978 #endif
jpayne@69 13979 ) {
jpayne@69 13980 #if !CYTHON_METH_FASTCALL
jpayne@69 13981 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 13982 #endif
jpayne@69 13983 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 13984 PyObject *__pyx_r = 0;
jpayne@69 13985 __Pyx_RefNannyDeclarations
jpayne@69 13986 __Pyx_RefNannySetupContext("getMinFields (wrapper)", 0);
jpayne@69 13987 #if !CYTHON_METH_FASTCALL
jpayne@69 13988 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 13989 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 13990 #else
jpayne@69 13991 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 13992 #endif
jpayne@69 13993 #endif
jpayne@69 13994 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 13995 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 13996 __Pyx_RaiseArgtupleInvalid("getMinFields", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 13997 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getMinFields", 0))) return NULL;
jpayne@69 13998 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_2getMinFields(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self));
jpayne@69 13999
jpayne@69 14000 /* function exit code */
jpayne@69 14001 __Pyx_RefNannyFinishContext();
jpayne@69 14002 return __pyx_r;
jpayne@69 14003 }
jpayne@69 14004
jpayne@69 14005 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_2getMinFields(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self) {
jpayne@69 14006 PyObject *__pyx_r = NULL;
jpayne@69 14007 __Pyx_RefNannyDeclarations
jpayne@69 14008 int __pyx_t_1;
jpayne@69 14009 PyObject *__pyx_t_2 = NULL;
jpayne@69 14010 int __pyx_lineno = 0;
jpayne@69 14011 const char *__pyx_filename = NULL;
jpayne@69 14012 int __pyx_clineno = 0;
jpayne@69 14013 __Pyx_RefNannySetupContext("getMinFields", 1);
jpayne@69 14014 __Pyx_XDECREF(__pyx_r);
jpayne@69 14015 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies_8GTFProxy_getMinFields(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 449, __pyx_L1_error)
jpayne@69 14016 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 449, __pyx_L1_error)
jpayne@69 14017 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 14018 __pyx_r = __pyx_t_2;
jpayne@69 14019 __pyx_t_2 = 0;
jpayne@69 14020 goto __pyx_L0;
jpayne@69 14021
jpayne@69 14022 /* function exit code */
jpayne@69 14023 __pyx_L1_error:;
jpayne@69 14024 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 14025 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.getMinFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 14026 __pyx_r = NULL;
jpayne@69 14027 __pyx_L0:;
jpayne@69 14028 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 14029 __Pyx_RefNannyFinishContext();
jpayne@69 14030 return __pyx_r;
jpayne@69 14031 }
jpayne@69 14032
jpayne@69 14033 /* "pysam/libctabixproxies.pyx":453
jpayne@69 14034 * return 9
jpayne@69 14035 *
jpayne@69 14036 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 14037 * '''return max number of fields.'''
jpayne@69 14038 * return 9
jpayne@69 14039 */
jpayne@69 14040
jpayne@69 14041 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_5getMaxFields(PyObject *__pyx_v_self,
jpayne@69 14042 #if CYTHON_METH_FASTCALL
jpayne@69 14043 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14044 #else
jpayne@69 14045 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14046 #endif
jpayne@69 14047 ); /*proto*/
jpayne@69 14048 static int __pyx_f_5pysam_16libctabixproxies_8GTFProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, int __pyx_skip_dispatch) {
jpayne@69 14049 int __pyx_r;
jpayne@69 14050 __Pyx_RefNannyDeclarations
jpayne@69 14051 PyObject *__pyx_t_1 = NULL;
jpayne@69 14052 PyObject *__pyx_t_2 = NULL;
jpayne@69 14053 PyObject *__pyx_t_3 = NULL;
jpayne@69 14054 PyObject *__pyx_t_4 = NULL;
jpayne@69 14055 unsigned int __pyx_t_5;
jpayne@69 14056 int __pyx_t_6;
jpayne@69 14057 int __pyx_lineno = 0;
jpayne@69 14058 const char *__pyx_filename = NULL;
jpayne@69 14059 int __pyx_clineno = 0;
jpayne@69 14060 __Pyx_RefNannySetupContext("getMaxFields", 1);
jpayne@69 14061 /* Check if called by wrapper */
jpayne@69 14062 if (unlikely(__pyx_skip_dispatch)) ;
jpayne@69 14063 /* Check if overridden in Python */
jpayne@69 14064 else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
jpayne@69 14065 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 14066 static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 14067 if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
jpayne@69 14068 PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 14069 #endif
jpayne@69 14070 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getMaxFields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error)
jpayne@69 14071 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 14072 if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_5getMaxFields)) {
jpayne@69 14073 __Pyx_INCREF(__pyx_t_1);
jpayne@69 14074 __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
jpayne@69 14075 __pyx_t_5 = 0;
jpayne@69 14076 #if CYTHON_UNPACK_METHODS
jpayne@69 14077 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 14078 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 14079 if (likely(__pyx_t_4)) {
jpayne@69 14080 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 14081 __Pyx_INCREF(__pyx_t_4);
jpayne@69 14082 __Pyx_INCREF(function);
jpayne@69 14083 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 14084 __pyx_t_5 = 1;
jpayne@69 14085 }
jpayne@69 14086 }
jpayne@69 14087 #endif
jpayne@69 14088 {
jpayne@69 14089 PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
jpayne@69 14090 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
jpayne@69 14091 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 14092 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error)
jpayne@69 14093 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 14094 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 14095 }
jpayne@69 14096 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 453, __pyx_L1_error)
jpayne@69 14097 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 14098 __pyx_r = __pyx_t_6;
jpayne@69 14099 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 14100 goto __pyx_L0;
jpayne@69 14101 }
jpayne@69 14102 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 14103 __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 14104 __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 14105 if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
jpayne@69 14106 __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 14107 }
jpayne@69 14108 #endif
jpayne@69 14109 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 14110 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 14111 }
jpayne@69 14112 #endif
jpayne@69 14113 }
jpayne@69 14114
jpayne@69 14115 /* "pysam/libctabixproxies.pyx":455
jpayne@69 14116 * cpdef int getMaxFields(self):
jpayne@69 14117 * '''return max number of fields.'''
jpayne@69 14118 * return 9 # <<<<<<<<<<<<<<
jpayne@69 14119 *
jpayne@69 14120 * def to_dict(self):
jpayne@69 14121 */
jpayne@69 14122 __pyx_r = 9;
jpayne@69 14123 goto __pyx_L0;
jpayne@69 14124
jpayne@69 14125 /* "pysam/libctabixproxies.pyx":453
jpayne@69 14126 * return 9
jpayne@69 14127 *
jpayne@69 14128 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 14129 * '''return max number of fields.'''
jpayne@69 14130 * return 9
jpayne@69 14131 */
jpayne@69 14132
jpayne@69 14133 /* function exit code */
jpayne@69 14134 __pyx_L1_error:;
jpayne@69 14135 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 14136 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 14137 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 14138 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 14139 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.getMaxFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 14140 __pyx_r = 0;
jpayne@69 14141 __pyx_L0:;
jpayne@69 14142 __Pyx_RefNannyFinishContext();
jpayne@69 14143 return __pyx_r;
jpayne@69 14144 }
jpayne@69 14145
jpayne@69 14146 /* Python wrapper */
jpayne@69 14147 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_5getMaxFields(PyObject *__pyx_v_self,
jpayne@69 14148 #if CYTHON_METH_FASTCALL
jpayne@69 14149 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14150 #else
jpayne@69 14151 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14152 #endif
jpayne@69 14153 ); /*proto*/
jpayne@69 14154 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_4getMaxFields, "return max number of fields.");
jpayne@69 14155 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_5getMaxFields = {"getMaxFields", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_5getMaxFields, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_4getMaxFields};
jpayne@69 14156 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_5getMaxFields(PyObject *__pyx_v_self,
jpayne@69 14157 #if CYTHON_METH_FASTCALL
jpayne@69 14158 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14159 #else
jpayne@69 14160 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14161 #endif
jpayne@69 14162 ) {
jpayne@69 14163 #if !CYTHON_METH_FASTCALL
jpayne@69 14164 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 14165 #endif
jpayne@69 14166 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 14167 PyObject *__pyx_r = 0;
jpayne@69 14168 __Pyx_RefNannyDeclarations
jpayne@69 14169 __Pyx_RefNannySetupContext("getMaxFields (wrapper)", 0);
jpayne@69 14170 #if !CYTHON_METH_FASTCALL
jpayne@69 14171 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 14172 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 14173 #else
jpayne@69 14174 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 14175 #endif
jpayne@69 14176 #endif
jpayne@69 14177 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 14178 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 14179 __Pyx_RaiseArgtupleInvalid("getMaxFields", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 14180 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getMaxFields", 0))) return NULL;
jpayne@69 14181 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_4getMaxFields(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self));
jpayne@69 14182
jpayne@69 14183 /* function exit code */
jpayne@69 14184 __Pyx_RefNannyFinishContext();
jpayne@69 14185 return __pyx_r;
jpayne@69 14186 }
jpayne@69 14187
jpayne@69 14188 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_4getMaxFields(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self) {
jpayne@69 14189 PyObject *__pyx_r = NULL;
jpayne@69 14190 __Pyx_RefNannyDeclarations
jpayne@69 14191 int __pyx_t_1;
jpayne@69 14192 PyObject *__pyx_t_2 = NULL;
jpayne@69 14193 int __pyx_lineno = 0;
jpayne@69 14194 const char *__pyx_filename = NULL;
jpayne@69 14195 int __pyx_clineno = 0;
jpayne@69 14196 __Pyx_RefNannySetupContext("getMaxFields", 1);
jpayne@69 14197 __Pyx_XDECREF(__pyx_r);
jpayne@69 14198 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies_8GTFProxy_getMaxFields(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 453, __pyx_L1_error)
jpayne@69 14199 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error)
jpayne@69 14200 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 14201 __pyx_r = __pyx_t_2;
jpayne@69 14202 __pyx_t_2 = 0;
jpayne@69 14203 goto __pyx_L0;
jpayne@69 14204
jpayne@69 14205 /* function exit code */
jpayne@69 14206 __pyx_L1_error:;
jpayne@69 14207 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 14208 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.getMaxFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 14209 __pyx_r = NULL;
jpayne@69 14210 __pyx_L0:;
jpayne@69 14211 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 14212 __Pyx_RefNannyFinishContext();
jpayne@69 14213 return __pyx_r;
jpayne@69 14214 }
jpayne@69 14215
jpayne@69 14216 /* "pysam/libctabixproxies.pyx":457
jpayne@69 14217 * return 9
jpayne@69 14218 *
jpayne@69 14219 * def to_dict(self): # <<<<<<<<<<<<<<
jpayne@69 14220 * """parse attributes - return as dict
jpayne@69 14221 *
jpayne@69 14222 */
jpayne@69 14223
jpayne@69 14224 /* Python wrapper */
jpayne@69 14225 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_7to_dict(PyObject *__pyx_v_self,
jpayne@69 14226 #if CYTHON_METH_FASTCALL
jpayne@69 14227 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14228 #else
jpayne@69 14229 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14230 #endif
jpayne@69 14231 ); /*proto*/
jpayne@69 14232 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_6to_dict, "parse attributes - return as dict\n\n The dictionary can be modified to update attributes.\n ");
jpayne@69 14233 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_7to_dict = {"to_dict", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_7to_dict, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_6to_dict};
jpayne@69 14234 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_7to_dict(PyObject *__pyx_v_self,
jpayne@69 14235 #if CYTHON_METH_FASTCALL
jpayne@69 14236 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14237 #else
jpayne@69 14238 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14239 #endif
jpayne@69 14240 ) {
jpayne@69 14241 #if !CYTHON_METH_FASTCALL
jpayne@69 14242 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 14243 #endif
jpayne@69 14244 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 14245 PyObject *__pyx_r = 0;
jpayne@69 14246 __Pyx_RefNannyDeclarations
jpayne@69 14247 __Pyx_RefNannySetupContext("to_dict (wrapper)", 0);
jpayne@69 14248 #if !CYTHON_METH_FASTCALL
jpayne@69 14249 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 14250 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 14251 #else
jpayne@69 14252 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 14253 #endif
jpayne@69 14254 #endif
jpayne@69 14255 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 14256 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 14257 __Pyx_RaiseArgtupleInvalid("to_dict", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 14258 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "to_dict", 0))) return NULL;
jpayne@69 14259 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_6to_dict(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self));
jpayne@69 14260
jpayne@69 14261 /* function exit code */
jpayne@69 14262 __Pyx_RefNannyFinishContext();
jpayne@69 14263 return __pyx_r;
jpayne@69 14264 }
jpayne@69 14265
jpayne@69 14266 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_6to_dict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self) {
jpayne@69 14267 PyObject *__pyx_r = NULL;
jpayne@69 14268 __Pyx_RefNannyDeclarations
jpayne@69 14269 int __pyx_t_1;
jpayne@69 14270 int __pyx_t_2;
jpayne@69 14271 PyObject *__pyx_t_3 = NULL;
jpayne@69 14272 PyObject *__pyx_t_4 = NULL;
jpayne@69 14273 PyObject *__pyx_t_5 = NULL;
jpayne@69 14274 PyObject *__pyx_t_6 = NULL;
jpayne@69 14275 unsigned int __pyx_t_7;
jpayne@69 14276 int __pyx_lineno = 0;
jpayne@69 14277 const char *__pyx_filename = NULL;
jpayne@69 14278 int __pyx_clineno = 0;
jpayne@69 14279 __Pyx_RefNannySetupContext("to_dict", 1);
jpayne@69 14280
jpayne@69 14281 /* "pysam/libctabixproxies.pyx":462
jpayne@69 14282 * The dictionary can be modified to update attributes.
jpayne@69 14283 * """
jpayne@69 14284 * if not self.attribute_dict: # <<<<<<<<<<<<<<
jpayne@69 14285 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 14286 * self.attributes)
jpayne@69 14287 */
jpayne@69 14288 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->attribute_dict); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 462, __pyx_L1_error)
jpayne@69 14289 __pyx_t_2 = (!__pyx_t_1);
jpayne@69 14290 if (__pyx_t_2) {
jpayne@69 14291
jpayne@69 14292 /* "pysam/libctabixproxies.pyx":463
jpayne@69 14293 * """
jpayne@69 14294 * if not self.attribute_dict:
jpayne@69 14295 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 14296 * self.attributes)
jpayne@69 14297 * self.is_modified = True
jpayne@69 14298 */
jpayne@69 14299 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attribute_string2dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 463, __pyx_L1_error)
jpayne@69 14300 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 14301
jpayne@69 14302 /* "pysam/libctabixproxies.pyx":464
jpayne@69 14303 * if not self.attribute_dict:
jpayne@69 14304 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 14305 * self.attributes) # <<<<<<<<<<<<<<
jpayne@69 14306 * self.is_modified = True
jpayne@69 14307 * return self.attribute_dict
jpayne@69 14308 */
jpayne@69 14309 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 464, __pyx_L1_error)
jpayne@69 14310 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 14311 __pyx_t_6 = NULL;
jpayne@69 14312 __pyx_t_7 = 0;
jpayne@69 14313 #if CYTHON_UNPACK_METHODS
jpayne@69 14314 if (likely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 14315 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 14316 if (likely(__pyx_t_6)) {
jpayne@69 14317 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 14318 __Pyx_INCREF(__pyx_t_6);
jpayne@69 14319 __Pyx_INCREF(function);
jpayne@69 14320 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 14321 __pyx_t_7 = 1;
jpayne@69 14322 }
jpayne@69 14323 }
jpayne@69 14324 #endif
jpayne@69 14325 {
jpayne@69 14326 PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
jpayne@69 14327 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
jpayne@69 14328 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 14329 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 14330 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 463, __pyx_L1_error)
jpayne@69 14331 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 14332 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 14333 }
jpayne@69 14334
jpayne@69 14335 /* "pysam/libctabixproxies.pyx":463
jpayne@69 14336 * """
jpayne@69 14337 * if not self.attribute_dict:
jpayne@69 14338 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 14339 * self.attributes)
jpayne@69 14340 * self.is_modified = True
jpayne@69 14341 */
jpayne@69 14342 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 14343 __Pyx_GOTREF(__pyx_v_self->attribute_dict);
jpayne@69 14344 __Pyx_DECREF(__pyx_v_self->attribute_dict);
jpayne@69 14345 __pyx_v_self->attribute_dict = __pyx_t_3;
jpayne@69 14346 __pyx_t_3 = 0;
jpayne@69 14347
jpayne@69 14348 /* "pysam/libctabixproxies.pyx":465
jpayne@69 14349 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 14350 * self.attributes)
jpayne@69 14351 * self.is_modified = True # <<<<<<<<<<<<<<
jpayne@69 14352 * return self.attribute_dict
jpayne@69 14353 *
jpayne@69 14354 */
jpayne@69 14355 __pyx_v_self->__pyx_base.__pyx_base.is_modified = 1;
jpayne@69 14356
jpayne@69 14357 /* "pysam/libctabixproxies.pyx":462
jpayne@69 14358 * The dictionary can be modified to update attributes.
jpayne@69 14359 * """
jpayne@69 14360 * if not self.attribute_dict: # <<<<<<<<<<<<<<
jpayne@69 14361 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 14362 * self.attributes)
jpayne@69 14363 */
jpayne@69 14364 }
jpayne@69 14365
jpayne@69 14366 /* "pysam/libctabixproxies.pyx":466
jpayne@69 14367 * self.attributes)
jpayne@69 14368 * self.is_modified = True
jpayne@69 14369 * return self.attribute_dict # <<<<<<<<<<<<<<
jpayne@69 14370 *
jpayne@69 14371 * def as_dict(self):
jpayne@69 14372 */
jpayne@69 14373 __Pyx_XDECREF(__pyx_r);
jpayne@69 14374 __Pyx_INCREF(__pyx_v_self->attribute_dict);
jpayne@69 14375 __pyx_r = __pyx_v_self->attribute_dict;
jpayne@69 14376 goto __pyx_L0;
jpayne@69 14377
jpayne@69 14378 /* "pysam/libctabixproxies.pyx":457
jpayne@69 14379 * return 9
jpayne@69 14380 *
jpayne@69 14381 * def to_dict(self): # <<<<<<<<<<<<<<
jpayne@69 14382 * """parse attributes - return as dict
jpayne@69 14383 *
jpayne@69 14384 */
jpayne@69 14385
jpayne@69 14386 /* function exit code */
jpayne@69 14387 __pyx_L1_error:;
jpayne@69 14388 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 14389 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 14390 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 14391 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 14392 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.to_dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 14393 __pyx_r = NULL;
jpayne@69 14394 __pyx_L0:;
jpayne@69 14395 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 14396 __Pyx_RefNannyFinishContext();
jpayne@69 14397 return __pyx_r;
jpayne@69 14398 }
jpayne@69 14399
jpayne@69 14400 /* "pysam/libctabixproxies.pyx":468
jpayne@69 14401 * return self.attribute_dict
jpayne@69 14402 *
jpayne@69 14403 * def as_dict(self): # <<<<<<<<<<<<<<
jpayne@69 14404 * """deprecated: use :meth:`to_dict`
jpayne@69 14405 * """
jpayne@69 14406 */
jpayne@69 14407
jpayne@69 14408 /* Python wrapper */
jpayne@69 14409 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_9as_dict(PyObject *__pyx_v_self,
jpayne@69 14410 #if CYTHON_METH_FASTCALL
jpayne@69 14411 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14412 #else
jpayne@69 14413 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14414 #endif
jpayne@69 14415 ); /*proto*/
jpayne@69 14416 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_8as_dict, "deprecated: use :meth:`to_dict`\n ");
jpayne@69 14417 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_9as_dict = {"as_dict", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_9as_dict, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_8as_dict};
jpayne@69 14418 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_9as_dict(PyObject *__pyx_v_self,
jpayne@69 14419 #if CYTHON_METH_FASTCALL
jpayne@69 14420 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14421 #else
jpayne@69 14422 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14423 #endif
jpayne@69 14424 ) {
jpayne@69 14425 #if !CYTHON_METH_FASTCALL
jpayne@69 14426 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 14427 #endif
jpayne@69 14428 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 14429 PyObject *__pyx_r = 0;
jpayne@69 14430 __Pyx_RefNannyDeclarations
jpayne@69 14431 __Pyx_RefNannySetupContext("as_dict (wrapper)", 0);
jpayne@69 14432 #if !CYTHON_METH_FASTCALL
jpayne@69 14433 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 14434 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 14435 #else
jpayne@69 14436 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 14437 #endif
jpayne@69 14438 #endif
jpayne@69 14439 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 14440 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 14441 __Pyx_RaiseArgtupleInvalid("as_dict", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 14442 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "as_dict", 0))) return NULL;
jpayne@69 14443 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_8as_dict(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self));
jpayne@69 14444
jpayne@69 14445 /* function exit code */
jpayne@69 14446 __Pyx_RefNannyFinishContext();
jpayne@69 14447 return __pyx_r;
jpayne@69 14448 }
jpayne@69 14449
jpayne@69 14450 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_8as_dict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self) {
jpayne@69 14451 PyObject *__pyx_r = NULL;
jpayne@69 14452 __Pyx_RefNannyDeclarations
jpayne@69 14453 PyObject *__pyx_t_1 = NULL;
jpayne@69 14454 PyObject *__pyx_t_2 = NULL;
jpayne@69 14455 PyObject *__pyx_t_3 = NULL;
jpayne@69 14456 unsigned int __pyx_t_4;
jpayne@69 14457 int __pyx_lineno = 0;
jpayne@69 14458 const char *__pyx_filename = NULL;
jpayne@69 14459 int __pyx_clineno = 0;
jpayne@69 14460 __Pyx_RefNannySetupContext("as_dict", 1);
jpayne@69 14461
jpayne@69 14462 /* "pysam/libctabixproxies.pyx":471
jpayne@69 14463 * """deprecated: use :meth:`to_dict`
jpayne@69 14464 * """
jpayne@69 14465 * return self.to_dict() # <<<<<<<<<<<<<<
jpayne@69 14466 *
jpayne@69 14467 * def from_dict(self, d):
jpayne@69 14468 */
jpayne@69 14469 __Pyx_XDECREF(__pyx_r);
jpayne@69 14470 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_to_dict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 471, __pyx_L1_error)
jpayne@69 14471 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 14472 __pyx_t_3 = NULL;
jpayne@69 14473 __pyx_t_4 = 0;
jpayne@69 14474 #if CYTHON_UNPACK_METHODS
jpayne@69 14475 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 14476 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 14477 if (likely(__pyx_t_3)) {
jpayne@69 14478 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 14479 __Pyx_INCREF(__pyx_t_3);
jpayne@69 14480 __Pyx_INCREF(function);
jpayne@69 14481 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 14482 __pyx_t_4 = 1;
jpayne@69 14483 }
jpayne@69 14484 }
jpayne@69 14485 #endif
jpayne@69 14486 {
jpayne@69 14487 PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
jpayne@69 14488 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
jpayne@69 14489 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 14490 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 471, __pyx_L1_error)
jpayne@69 14491 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 14492 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 14493 }
jpayne@69 14494 __pyx_r = __pyx_t_1;
jpayne@69 14495 __pyx_t_1 = 0;
jpayne@69 14496 goto __pyx_L0;
jpayne@69 14497
jpayne@69 14498 /* "pysam/libctabixproxies.pyx":468
jpayne@69 14499 * return self.attribute_dict
jpayne@69 14500 *
jpayne@69 14501 * def as_dict(self): # <<<<<<<<<<<<<<
jpayne@69 14502 * """deprecated: use :meth:`to_dict`
jpayne@69 14503 * """
jpayne@69 14504 */
jpayne@69 14505
jpayne@69 14506 /* function exit code */
jpayne@69 14507 __pyx_L1_error:;
jpayne@69 14508 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 14509 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 14510 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 14511 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.as_dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 14512 __pyx_r = NULL;
jpayne@69 14513 __pyx_L0:;
jpayne@69 14514 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 14515 __Pyx_RefNannyFinishContext();
jpayne@69 14516 return __pyx_r;
jpayne@69 14517 }
jpayne@69 14518
jpayne@69 14519 /* "pysam/libctabixproxies.pyx":473
jpayne@69 14520 * return self.to_dict()
jpayne@69 14521 *
jpayne@69 14522 * def from_dict(self, d): # <<<<<<<<<<<<<<
jpayne@69 14523 * '''set attributes from a dictionary.'''
jpayne@69 14524 * self.attribute_dict = None
jpayne@69 14525 */
jpayne@69 14526
jpayne@69 14527 /* Python wrapper */
jpayne@69 14528 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_11from_dict(PyObject *__pyx_v_self,
jpayne@69 14529 #if CYTHON_METH_FASTCALL
jpayne@69 14530 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14531 #else
jpayne@69 14532 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14533 #endif
jpayne@69 14534 ); /*proto*/
jpayne@69 14535 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_10from_dict, "set attributes from a dictionary.");
jpayne@69 14536 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_11from_dict = {"from_dict", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_11from_dict, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_10from_dict};
jpayne@69 14537 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_11from_dict(PyObject *__pyx_v_self,
jpayne@69 14538 #if CYTHON_METH_FASTCALL
jpayne@69 14539 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 14540 #else
jpayne@69 14541 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 14542 #endif
jpayne@69 14543 ) {
jpayne@69 14544 PyObject *__pyx_v_d = 0;
jpayne@69 14545 #if !CYTHON_METH_FASTCALL
jpayne@69 14546 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 14547 #endif
jpayne@69 14548 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 14549 PyObject* values[1] = {0};
jpayne@69 14550 int __pyx_lineno = 0;
jpayne@69 14551 const char *__pyx_filename = NULL;
jpayne@69 14552 int __pyx_clineno = 0;
jpayne@69 14553 PyObject *__pyx_r = 0;
jpayne@69 14554 __Pyx_RefNannyDeclarations
jpayne@69 14555 __Pyx_RefNannySetupContext("from_dict (wrapper)", 0);
jpayne@69 14556 #if !CYTHON_METH_FASTCALL
jpayne@69 14557 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 14558 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 14559 #else
jpayne@69 14560 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 14561 #endif
jpayne@69 14562 #endif
jpayne@69 14563 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 14564 {
jpayne@69 14565 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_d,0};
jpayne@69 14566 if (__pyx_kwds) {
jpayne@69 14567 Py_ssize_t kw_args;
jpayne@69 14568 switch (__pyx_nargs) {
jpayne@69 14569 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 14570 CYTHON_FALLTHROUGH;
jpayne@69 14571 case 0: break;
jpayne@69 14572 default: goto __pyx_L5_argtuple_error;
jpayne@69 14573 }
jpayne@69 14574 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 14575 switch (__pyx_nargs) {
jpayne@69 14576 case 0:
jpayne@69 14577 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
jpayne@69 14578 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 14579 kw_args--;
jpayne@69 14580 }
jpayne@69 14581 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 473, __pyx_L3_error)
jpayne@69 14582 else goto __pyx_L5_argtuple_error;
jpayne@69 14583 }
jpayne@69 14584 if (unlikely(kw_args > 0)) {
jpayne@69 14585 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 14586 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "from_dict") < 0)) __PYX_ERR(0, 473, __pyx_L3_error)
jpayne@69 14587 }
jpayne@69 14588 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 14589 goto __pyx_L5_argtuple_error;
jpayne@69 14590 } else {
jpayne@69 14591 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 14592 }
jpayne@69 14593 __pyx_v_d = values[0];
jpayne@69 14594 }
jpayne@69 14595 goto __pyx_L6_skip;
jpayne@69 14596 __pyx_L5_argtuple_error:;
jpayne@69 14597 __Pyx_RaiseArgtupleInvalid("from_dict", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 473, __pyx_L3_error)
jpayne@69 14598 __pyx_L6_skip:;
jpayne@69 14599 goto __pyx_L4_argument_unpacking_done;
jpayne@69 14600 __pyx_L3_error:;
jpayne@69 14601 {
jpayne@69 14602 Py_ssize_t __pyx_temp;
jpayne@69 14603 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 14604 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 14605 }
jpayne@69 14606 }
jpayne@69 14607 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.from_dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 14608 __Pyx_RefNannyFinishContext();
jpayne@69 14609 return NULL;
jpayne@69 14610 __pyx_L4_argument_unpacking_done:;
jpayne@69 14611 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_10from_dict(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v_d);
jpayne@69 14612
jpayne@69 14613 /* function exit code */
jpayne@69 14614 {
jpayne@69 14615 Py_ssize_t __pyx_temp;
jpayne@69 14616 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 14617 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 14618 }
jpayne@69 14619 }
jpayne@69 14620 __Pyx_RefNannyFinishContext();
jpayne@69 14621 return __pyx_r;
jpayne@69 14622 }
jpayne@69 14623
jpayne@69 14624 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_10from_dict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_d) {
jpayne@69 14625 PyObject *__pyx_v_attribute_string = NULL;
jpayne@69 14626 PyObject *__pyx_r = NULL;
jpayne@69 14627 __Pyx_RefNannyDeclarations
jpayne@69 14628 PyObject *__pyx_t_1 = NULL;
jpayne@69 14629 PyObject *__pyx_t_2 = NULL;
jpayne@69 14630 PyObject *__pyx_t_3 = NULL;
jpayne@69 14631 unsigned int __pyx_t_4;
jpayne@69 14632 struct __pyx_opt_args_5pysam_9libcutils_force_bytes __pyx_t_5;
jpayne@69 14633 int __pyx_lineno = 0;
jpayne@69 14634 const char *__pyx_filename = NULL;
jpayne@69 14635 int __pyx_clineno = 0;
jpayne@69 14636 __Pyx_RefNannySetupContext("from_dict", 1);
jpayne@69 14637
jpayne@69 14638 /* "pysam/libctabixproxies.pyx":475
jpayne@69 14639 * def from_dict(self, d):
jpayne@69 14640 * '''set attributes from a dictionary.'''
jpayne@69 14641 * self.attribute_dict = None # <<<<<<<<<<<<<<
jpayne@69 14642 * attribute_string = force_bytes(
jpayne@69 14643 * self.attribute_dict2string(d),
jpayne@69 14644 */
jpayne@69 14645 __Pyx_INCREF(Py_None);
jpayne@69 14646 __Pyx_GIVEREF(Py_None);
jpayne@69 14647 __Pyx_GOTREF(__pyx_v_self->attribute_dict);
jpayne@69 14648 __Pyx_DECREF(__pyx_v_self->attribute_dict);
jpayne@69 14649 __pyx_v_self->attribute_dict = Py_None;
jpayne@69 14650
jpayne@69 14651 /* "pysam/libctabixproxies.pyx":477
jpayne@69 14652 * self.attribute_dict = None
jpayne@69 14653 * attribute_string = force_bytes(
jpayne@69 14654 * self.attribute_dict2string(d), # <<<<<<<<<<<<<<
jpayne@69 14655 * self.encoding)
jpayne@69 14656 * self._setindex(8, attribute_string)
jpayne@69 14657 */
jpayne@69 14658 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attribute_dict2string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 477, __pyx_L1_error)
jpayne@69 14659 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 14660 __pyx_t_3 = NULL;
jpayne@69 14661 __pyx_t_4 = 0;
jpayne@69 14662 #if CYTHON_UNPACK_METHODS
jpayne@69 14663 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 14664 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 14665 if (likely(__pyx_t_3)) {
jpayne@69 14666 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 14667 __Pyx_INCREF(__pyx_t_3);
jpayne@69 14668 __Pyx_INCREF(function);
jpayne@69 14669 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 14670 __pyx_t_4 = 1;
jpayne@69 14671 }
jpayne@69 14672 }
jpayne@69 14673 #endif
jpayne@69 14674 {
jpayne@69 14675 PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_d};
jpayne@69 14676 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 14677 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 14678 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __pyx_L1_error)
jpayne@69 14679 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 14680 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 14681 }
jpayne@69 14682
jpayne@69 14683 /* "pysam/libctabixproxies.pyx":478
jpayne@69 14684 * attribute_string = force_bytes(
jpayne@69 14685 * self.attribute_dict2string(d),
jpayne@69 14686 * self.encoding) # <<<<<<<<<<<<<<
jpayne@69 14687 * self._setindex(8, attribute_string)
jpayne@69 14688 *
jpayne@69 14689 */
jpayne@69 14690 __pyx_t_2 = __pyx_v_self->__pyx_base.__pyx_base.encoding;
jpayne@69 14691 __Pyx_INCREF(__pyx_t_2);
jpayne@69 14692
jpayne@69 14693 /* "pysam/libctabixproxies.pyx":476
jpayne@69 14694 * '''set attributes from a dictionary.'''
jpayne@69 14695 * self.attribute_dict = None
jpayne@69 14696 * attribute_string = force_bytes( # <<<<<<<<<<<<<<
jpayne@69 14697 * self.attribute_dict2string(d),
jpayne@69 14698 * self.encoding)
jpayne@69 14699 */
jpayne@69 14700 __pyx_t_5.__pyx_n = 1;
jpayne@69 14701 __pyx_t_5.encoding = __pyx_t_2;
jpayne@69 14702 __pyx_t_3 = __pyx_f_5pysam_9libcutils_force_bytes(__pyx_t_1, &__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 476, __pyx_L1_error)
jpayne@69 14703 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 14704 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 14705 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 14706 __pyx_v_attribute_string = ((PyObject*)__pyx_t_3);
jpayne@69 14707 __pyx_t_3 = 0;
jpayne@69 14708
jpayne@69 14709 /* "pysam/libctabixproxies.pyx":479
jpayne@69 14710 * self.attribute_dict2string(d),
jpayne@69 14711 * self.encoding)
jpayne@69 14712 * self._setindex(8, attribute_string) # <<<<<<<<<<<<<<
jpayne@69 14713 *
jpayne@69 14714 * def __str__(self):
jpayne@69 14715 */
jpayne@69 14716 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_setindex); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 479, __pyx_L1_error)
jpayne@69 14717 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 14718 __pyx_t_1 = NULL;
jpayne@69 14719 __pyx_t_4 = 0;
jpayne@69 14720 #if CYTHON_UNPACK_METHODS
jpayne@69 14721 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 14722 __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 14723 if (likely(__pyx_t_1)) {
jpayne@69 14724 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 14725 __Pyx_INCREF(__pyx_t_1);
jpayne@69 14726 __Pyx_INCREF(function);
jpayne@69 14727 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 14728 __pyx_t_4 = 1;
jpayne@69 14729 }
jpayne@69 14730 }
jpayne@69 14731 #endif
jpayne@69 14732 {
jpayne@69 14733 PyObject *__pyx_callargs[3] = {__pyx_t_1, __pyx_int_8, __pyx_v_attribute_string};
jpayne@69 14734 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
jpayne@69 14735 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 14736 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L1_error)
jpayne@69 14737 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 14738 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 14739 }
jpayne@69 14740 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 14741
jpayne@69 14742 /* "pysam/libctabixproxies.pyx":473
jpayne@69 14743 * return self.to_dict()
jpayne@69 14744 *
jpayne@69 14745 * def from_dict(self, d): # <<<<<<<<<<<<<<
jpayne@69 14746 * '''set attributes from a dictionary.'''
jpayne@69 14747 * self.attribute_dict = None
jpayne@69 14748 */
jpayne@69 14749
jpayne@69 14750 /* function exit code */
jpayne@69 14751 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 14752 goto __pyx_L0;
jpayne@69 14753 __pyx_L1_error:;
jpayne@69 14754 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 14755 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 14756 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 14757 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.from_dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 14758 __pyx_r = NULL;
jpayne@69 14759 __pyx_L0:;
jpayne@69 14760 __Pyx_XDECREF(__pyx_v_attribute_string);
jpayne@69 14761 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 14762 __Pyx_RefNannyFinishContext();
jpayne@69 14763 return __pyx_r;
jpayne@69 14764 }
jpayne@69 14765
jpayne@69 14766 /* "pysam/libctabixproxies.pyx":481
jpayne@69 14767 * self._setindex(8, attribute_string)
jpayne@69 14768 *
jpayne@69 14769 * def __str__(self): # <<<<<<<<<<<<<<
jpayne@69 14770 * cdef char * cpy
jpayne@69 14771 * cdef int x
jpayne@69 14772 */
jpayne@69 14773
jpayne@69 14774 /* Python wrapper */
jpayne@69 14775 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_13__str__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 14776 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_13__str__(PyObject *__pyx_v_self) {
jpayne@69 14777 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 14778 PyObject *__pyx_r = 0;
jpayne@69 14779 __Pyx_RefNannyDeclarations
jpayne@69 14780 __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
jpayne@69 14781 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 14782 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_12__str__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self));
jpayne@69 14783
jpayne@69 14784 /* function exit code */
jpayne@69 14785 __Pyx_RefNannyFinishContext();
jpayne@69 14786 return __pyx_r;
jpayne@69 14787 }
jpayne@69 14788
jpayne@69 14789 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_12__str__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self) {
jpayne@69 14790 PyObject *__pyx_r = NULL;
jpayne@69 14791 __Pyx_RefNannyDeclarations
jpayne@69 14792 PyObject *__pyx_t_1 = NULL;
jpayne@69 14793 PyObject *__pyx_t_2 = NULL;
jpayne@69 14794 PyObject *__pyx_t_3 = NULL;
jpayne@69 14795 PyObject *__pyx_t_4 = NULL;
jpayne@69 14796 PyObject *__pyx_t_5 = NULL;
jpayne@69 14797 unsigned int __pyx_t_6;
jpayne@69 14798 PyObject *__pyx_t_7 = NULL;
jpayne@69 14799 PyObject *__pyx_t_8 = NULL;
jpayne@69 14800 PyObject *__pyx_t_9 = NULL;
jpayne@69 14801 PyObject *__pyx_t_10 = NULL;
jpayne@69 14802 PyObject *__pyx_t_11 = NULL;
jpayne@69 14803 PyObject *__pyx_t_12 = NULL;
jpayne@69 14804 int __pyx_lineno = 0;
jpayne@69 14805 const char *__pyx_filename = NULL;
jpayne@69 14806 int __pyx_clineno = 0;
jpayne@69 14807 __Pyx_RefNannySetupContext("__str__", 1);
jpayne@69 14808
jpayne@69 14809 /* "pysam/libctabixproxies.pyx":485
jpayne@69 14810 * cdef int x
jpayne@69 14811 *
jpayne@69 14812 * if self.is_modified: # <<<<<<<<<<<<<<
jpayne@69 14813 * return "\t".join(
jpayne@69 14814 * (self.contig,
jpayne@69 14815 */
jpayne@69 14816 if (__pyx_v_self->__pyx_base.__pyx_base.is_modified) {
jpayne@69 14817
jpayne@69 14818 /* "pysam/libctabixproxies.pyx":486
jpayne@69 14819 *
jpayne@69 14820 * if self.is_modified:
jpayne@69 14821 * return "\t".join( # <<<<<<<<<<<<<<
jpayne@69 14822 * (self.contig,
jpayne@69 14823 * toDot(self.source),
jpayne@69 14824 */
jpayne@69 14825 __Pyx_XDECREF(__pyx_r);
jpayne@69 14826
jpayne@69 14827 /* "pysam/libctabixproxies.pyx":487
jpayne@69 14828 * if self.is_modified:
jpayne@69 14829 * return "\t".join(
jpayne@69 14830 * (self.contig, # <<<<<<<<<<<<<<
jpayne@69 14831 * toDot(self.source),
jpayne@69 14832 * toDot(self.feature),
jpayne@69 14833 */
jpayne@69 14834 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_contig); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error)
jpayne@69 14835 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 14836
jpayne@69 14837 /* "pysam/libctabixproxies.pyx":488
jpayne@69 14838 * return "\t".join(
jpayne@69 14839 * (self.contig,
jpayne@69 14840 * toDot(self.source), # <<<<<<<<<<<<<<
jpayne@69 14841 * toDot(self.feature),
jpayne@69 14842 * str(self.start + 1),
jpayne@69 14843 */
jpayne@69 14844 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_toDot); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L1_error)
jpayne@69 14845 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 14846 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_source); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 488, __pyx_L1_error)
jpayne@69 14847 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 14848 __pyx_t_5 = NULL;
jpayne@69 14849 __pyx_t_6 = 0;
jpayne@69 14850 #if CYTHON_UNPACK_METHODS
jpayne@69 14851 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 14852 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 14853 if (likely(__pyx_t_5)) {
jpayne@69 14854 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 14855 __Pyx_INCREF(__pyx_t_5);
jpayne@69 14856 __Pyx_INCREF(function);
jpayne@69 14857 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 14858 __pyx_t_6 = 1;
jpayne@69 14859 }
jpayne@69 14860 }
jpayne@69 14861 #endif
jpayne@69 14862 {
jpayne@69 14863 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_4};
jpayne@69 14864 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 14865 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 14866 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 14867 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 488, __pyx_L1_error)
jpayne@69 14868 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 14869 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 14870 }
jpayne@69 14871
jpayne@69 14872 /* "pysam/libctabixproxies.pyx":489
jpayne@69 14873 * (self.contig,
jpayne@69 14874 * toDot(self.source),
jpayne@69 14875 * toDot(self.feature), # <<<<<<<<<<<<<<
jpayne@69 14876 * str(self.start + 1),
jpayne@69 14877 * str(self.end),
jpayne@69 14878 */
jpayne@69 14879 __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_toDot); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 489, __pyx_L1_error)
jpayne@69 14880 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 14881 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_feature); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 489, __pyx_L1_error)
jpayne@69 14882 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 14883 __pyx_t_7 = NULL;
jpayne@69 14884 __pyx_t_6 = 0;
jpayne@69 14885 #if CYTHON_UNPACK_METHODS
jpayne@69 14886 if (unlikely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 14887 __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 14888 if (likely(__pyx_t_7)) {
jpayne@69 14889 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 14890 __Pyx_INCREF(__pyx_t_7);
jpayne@69 14891 __Pyx_INCREF(function);
jpayne@69 14892 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 14893 __pyx_t_6 = 1;
jpayne@69 14894 }
jpayne@69 14895 }
jpayne@69 14896 #endif
jpayne@69 14897 {
jpayne@69 14898 PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5};
jpayne@69 14899 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 14900 __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
jpayne@69 14901 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 14902 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 489, __pyx_L1_error)
jpayne@69 14903 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 14904 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 14905 }
jpayne@69 14906
jpayne@69 14907 /* "pysam/libctabixproxies.pyx":490
jpayne@69 14908 * toDot(self.source),
jpayne@69 14909 * toDot(self.feature),
jpayne@69 14910 * str(self.start + 1), # <<<<<<<<<<<<<<
jpayne@69 14911 * str(self.end),
jpayne@69 14912 * toDot(self.score),
jpayne@69 14913 */
jpayne@69 14914 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_start); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 490, __pyx_L1_error)
jpayne@69 14915 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 14916 __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 490, __pyx_L1_error)
jpayne@69 14917 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 14918 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 14919 __pyx_t_4 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 490, __pyx_L1_error)
jpayne@69 14920 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 14921 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 14922
jpayne@69 14923 /* "pysam/libctabixproxies.pyx":491
jpayne@69 14924 * toDot(self.feature),
jpayne@69 14925 * str(self.start + 1),
jpayne@69 14926 * str(self.end), # <<<<<<<<<<<<<<
jpayne@69 14927 * toDot(self.score),
jpayne@69 14928 * toDot(self.strand),
jpayne@69 14929 */
jpayne@69 14930 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_end); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 491, __pyx_L1_error)
jpayne@69 14931 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 14932 __pyx_t_7 = __Pyx_PyObject_Unicode(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 491, __pyx_L1_error)
jpayne@69 14933 __Pyx_GOTREF(__pyx_t_7);
jpayne@69 14934 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 14935
jpayne@69 14936 /* "pysam/libctabixproxies.pyx":492
jpayne@69 14937 * str(self.start + 1),
jpayne@69 14938 * str(self.end),
jpayne@69 14939 * toDot(self.score), # <<<<<<<<<<<<<<
jpayne@69 14940 * toDot(self.strand),
jpayne@69 14941 * toDot(self.frame),
jpayne@69 14942 */
jpayne@69 14943 __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_toDot); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 492, __pyx_L1_error)
jpayne@69 14944 __Pyx_GOTREF(__pyx_t_8);
jpayne@69 14945 __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_score); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 492, __pyx_L1_error)
jpayne@69 14946 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 14947 __pyx_t_10 = NULL;
jpayne@69 14948 __pyx_t_6 = 0;
jpayne@69 14949 #if CYTHON_UNPACK_METHODS
jpayne@69 14950 if (unlikely(PyMethod_Check(__pyx_t_8))) {
jpayne@69 14951 __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
jpayne@69 14952 if (likely(__pyx_t_10)) {
jpayne@69 14953 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
jpayne@69 14954 __Pyx_INCREF(__pyx_t_10);
jpayne@69 14955 __Pyx_INCREF(function);
jpayne@69 14956 __Pyx_DECREF_SET(__pyx_t_8, function);
jpayne@69 14957 __pyx_t_6 = 1;
jpayne@69 14958 }
jpayne@69 14959 }
jpayne@69 14960 #endif
jpayne@69 14961 {
jpayne@69 14962 PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_t_9};
jpayne@69 14963 __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 14964 __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
jpayne@69 14965 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 14966 if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 492, __pyx_L1_error)
jpayne@69 14967 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 14968 __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
jpayne@69 14969 }
jpayne@69 14970
jpayne@69 14971 /* "pysam/libctabixproxies.pyx":493
jpayne@69 14972 * str(self.end),
jpayne@69 14973 * toDot(self.score),
jpayne@69 14974 * toDot(self.strand), # <<<<<<<<<<<<<<
jpayne@69 14975 * toDot(self.frame),
jpayne@69 14976 * self.attributes))
jpayne@69 14977 */
jpayne@69 14978 __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_toDot); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 493, __pyx_L1_error)
jpayne@69 14979 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 14980 __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_strand); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 493, __pyx_L1_error)
jpayne@69 14981 __Pyx_GOTREF(__pyx_t_10);
jpayne@69 14982 __pyx_t_11 = NULL;
jpayne@69 14983 __pyx_t_6 = 0;
jpayne@69 14984 #if CYTHON_UNPACK_METHODS
jpayne@69 14985 if (unlikely(PyMethod_Check(__pyx_t_9))) {
jpayne@69 14986 __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
jpayne@69 14987 if (likely(__pyx_t_11)) {
jpayne@69 14988 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
jpayne@69 14989 __Pyx_INCREF(__pyx_t_11);
jpayne@69 14990 __Pyx_INCREF(function);
jpayne@69 14991 __Pyx_DECREF_SET(__pyx_t_9, function);
jpayne@69 14992 __pyx_t_6 = 1;
jpayne@69 14993 }
jpayne@69 14994 }
jpayne@69 14995 #endif
jpayne@69 14996 {
jpayne@69 14997 PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_10};
jpayne@69 14998 __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 14999 __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
jpayne@69 15000 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
jpayne@69 15001 if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 493, __pyx_L1_error)
jpayne@69 15002 __Pyx_GOTREF(__pyx_t_8);
jpayne@69 15003 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 15004 }
jpayne@69 15005
jpayne@69 15006 /* "pysam/libctabixproxies.pyx":494
jpayne@69 15007 * toDot(self.score),
jpayne@69 15008 * toDot(self.strand),
jpayne@69 15009 * toDot(self.frame), # <<<<<<<<<<<<<<
jpayne@69 15010 * self.attributes))
jpayne@69 15011 * else:
jpayne@69 15012 */
jpayne@69 15013 __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_toDot); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 494, __pyx_L1_error)
jpayne@69 15014 __Pyx_GOTREF(__pyx_t_10);
jpayne@69 15015 __pyx_t_11 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_frame); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 494, __pyx_L1_error)
jpayne@69 15016 __Pyx_GOTREF(__pyx_t_11);
jpayne@69 15017 __pyx_t_12 = NULL;
jpayne@69 15018 __pyx_t_6 = 0;
jpayne@69 15019 #if CYTHON_UNPACK_METHODS
jpayne@69 15020 if (unlikely(PyMethod_Check(__pyx_t_10))) {
jpayne@69 15021 __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_10);
jpayne@69 15022 if (likely(__pyx_t_12)) {
jpayne@69 15023 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
jpayne@69 15024 __Pyx_INCREF(__pyx_t_12);
jpayne@69 15025 __Pyx_INCREF(function);
jpayne@69 15026 __Pyx_DECREF_SET(__pyx_t_10, function);
jpayne@69 15027 __pyx_t_6 = 1;
jpayne@69 15028 }
jpayne@69 15029 }
jpayne@69 15030 #endif
jpayne@69 15031 {
jpayne@69 15032 PyObject *__pyx_callargs[2] = {__pyx_t_12, __pyx_t_11};
jpayne@69 15033 __pyx_t_9 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 15034 __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
jpayne@69 15035 __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
jpayne@69 15036 if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 494, __pyx_L1_error)
jpayne@69 15037 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 15038 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
jpayne@69 15039 }
jpayne@69 15040
jpayne@69 15041 /* "pysam/libctabixproxies.pyx":495
jpayne@69 15042 * toDot(self.strand),
jpayne@69 15043 * toDot(self.frame),
jpayne@69 15044 * self.attributes)) # <<<<<<<<<<<<<<
jpayne@69 15045 * else:
jpayne@69 15046 * return super().__str__()
jpayne@69 15047 */
jpayne@69 15048 __pyx_t_10 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 495, __pyx_L1_error)
jpayne@69 15049 __Pyx_GOTREF(__pyx_t_10);
jpayne@69 15050
jpayne@69 15051 /* "pysam/libctabixproxies.pyx":487
jpayne@69 15052 * if self.is_modified:
jpayne@69 15053 * return "\t".join(
jpayne@69 15054 * (self.contig, # <<<<<<<<<<<<<<
jpayne@69 15055 * toDot(self.source),
jpayne@69 15056 * toDot(self.feature),
jpayne@69 15057 */
jpayne@69 15058 __pyx_t_11 = PyTuple_New(9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 487, __pyx_L1_error)
jpayne@69 15059 __Pyx_GOTREF(__pyx_t_11);
jpayne@69 15060 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 15061 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15062 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 15063 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_2)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15064 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 15065 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15066 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 15067 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_4)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15068 __Pyx_GIVEREF(__pyx_t_7);
jpayne@69 15069 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 4, __pyx_t_7)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15070 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 15071 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 5, __pyx_t_5)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15072 __Pyx_GIVEREF(__pyx_t_8);
jpayne@69 15073 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 6, __pyx_t_8)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15074 __Pyx_GIVEREF(__pyx_t_9);
jpayne@69 15075 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 7, __pyx_t_9)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15076 __Pyx_GIVEREF(__pyx_t_10);
jpayne@69 15077 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 8, __pyx_t_10)) __PYX_ERR(0, 487, __pyx_L1_error);
jpayne@69 15078 __pyx_t_1 = 0;
jpayne@69 15079 __pyx_t_2 = 0;
jpayne@69 15080 __pyx_t_3 = 0;
jpayne@69 15081 __pyx_t_4 = 0;
jpayne@69 15082 __pyx_t_7 = 0;
jpayne@69 15083 __pyx_t_5 = 0;
jpayne@69 15084 __pyx_t_8 = 0;
jpayne@69 15085 __pyx_t_9 = 0;
jpayne@69 15086 __pyx_t_10 = 0;
jpayne@69 15087
jpayne@69 15088 /* "pysam/libctabixproxies.pyx":486
jpayne@69 15089 *
jpayne@69 15090 * if self.is_modified:
jpayne@69 15091 * return "\t".join( # <<<<<<<<<<<<<<
jpayne@69 15092 * (self.contig,
jpayne@69 15093 * toDot(self.source),
jpayne@69 15094 */
jpayne@69 15095 __pyx_t_10 = PyUnicode_Join(__pyx_kp_u__11, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 486, __pyx_L1_error)
jpayne@69 15096 __Pyx_GOTREF(__pyx_t_10);
jpayne@69 15097 __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
jpayne@69 15098 __pyx_r = __pyx_t_10;
jpayne@69 15099 __pyx_t_10 = 0;
jpayne@69 15100 goto __pyx_L0;
jpayne@69 15101
jpayne@69 15102 /* "pysam/libctabixproxies.pyx":485
jpayne@69 15103 * cdef int x
jpayne@69 15104 *
jpayne@69 15105 * if self.is_modified: # <<<<<<<<<<<<<<
jpayne@69 15106 * return "\t".join(
jpayne@69 15107 * (self.contig,
jpayne@69 15108 */
jpayne@69 15109 }
jpayne@69 15110
jpayne@69 15111 /* "pysam/libctabixproxies.pyx":497
jpayne@69 15112 * self.attributes))
jpayne@69 15113 * else:
jpayne@69 15114 * return super().__str__() # <<<<<<<<<<<<<<
jpayne@69 15115 *
jpayne@69 15116 * def invert(self, int lcontig):
jpayne@69 15117 */
jpayne@69 15118 /*else*/ {
jpayne@69 15119 __Pyx_XDECREF(__pyx_r);
jpayne@69 15120 __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 497, __pyx_L1_error)
jpayne@69 15121 __Pyx_GOTREF(__pyx_t_11);
jpayne@69 15122 __Pyx_INCREF((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 15123 __Pyx_GIVEREF((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 15124 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 0, ((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy))) __PYX_ERR(0, 497, __pyx_L1_error);
jpayne@69 15125 __Pyx_INCREF((PyObject *)__pyx_v_self);
jpayne@69 15126 __Pyx_GIVEREF((PyObject *)__pyx_v_self);
jpayne@69 15127 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_11, 1, ((PyObject *)__pyx_v_self))) __PYX_ERR(0, 497, __pyx_L1_error);
jpayne@69 15128 __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_11, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 497, __pyx_L1_error)
jpayne@69 15129 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 15130 __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
jpayne@69 15131 __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_str); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 497, __pyx_L1_error)
jpayne@69 15132 __Pyx_GOTREF(__pyx_t_11);
jpayne@69 15133 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 15134 __pyx_t_9 = NULL;
jpayne@69 15135 __pyx_t_6 = 0;
jpayne@69 15136 #if CYTHON_UNPACK_METHODS
jpayne@69 15137 if (likely(PyMethod_Check(__pyx_t_11))) {
jpayne@69 15138 __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_11);
jpayne@69 15139 if (likely(__pyx_t_9)) {
jpayne@69 15140 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
jpayne@69 15141 __Pyx_INCREF(__pyx_t_9);
jpayne@69 15142 __Pyx_INCREF(function);
jpayne@69 15143 __Pyx_DECREF_SET(__pyx_t_11, function);
jpayne@69 15144 __pyx_t_6 = 1;
jpayne@69 15145 }
jpayne@69 15146 }
jpayne@69 15147 #endif
jpayne@69 15148 {
jpayne@69 15149 PyObject *__pyx_callargs[2] = {__pyx_t_9, NULL};
jpayne@69 15150 __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6);
jpayne@69 15151 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 15152 if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 497, __pyx_L1_error)
jpayne@69 15153 __Pyx_GOTREF(__pyx_t_10);
jpayne@69 15154 __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
jpayne@69 15155 }
jpayne@69 15156 __pyx_r = __pyx_t_10;
jpayne@69 15157 __pyx_t_10 = 0;
jpayne@69 15158 goto __pyx_L0;
jpayne@69 15159 }
jpayne@69 15160
jpayne@69 15161 /* "pysam/libctabixproxies.pyx":481
jpayne@69 15162 * self._setindex(8, attribute_string)
jpayne@69 15163 *
jpayne@69 15164 * def __str__(self): # <<<<<<<<<<<<<<
jpayne@69 15165 * cdef char * cpy
jpayne@69 15166 * cdef int x
jpayne@69 15167 */
jpayne@69 15168
jpayne@69 15169 /* function exit code */
jpayne@69 15170 __pyx_L1_error:;
jpayne@69 15171 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 15172 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 15173 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 15174 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 15175 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 15176 __Pyx_XDECREF(__pyx_t_7);
jpayne@69 15177 __Pyx_XDECREF(__pyx_t_8);
jpayne@69 15178 __Pyx_XDECREF(__pyx_t_9);
jpayne@69 15179 __Pyx_XDECREF(__pyx_t_10);
jpayne@69 15180 __Pyx_XDECREF(__pyx_t_11);
jpayne@69 15181 __Pyx_XDECREF(__pyx_t_12);
jpayne@69 15182 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 15183 __pyx_r = NULL;
jpayne@69 15184 __pyx_L0:;
jpayne@69 15185 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 15186 __Pyx_RefNannyFinishContext();
jpayne@69 15187 return __pyx_r;
jpayne@69 15188 }
jpayne@69 15189
jpayne@69 15190 /* "pysam/libctabixproxies.pyx":499
jpayne@69 15191 * return super().__str__()
jpayne@69 15192 *
jpayne@69 15193 * def invert(self, int lcontig): # <<<<<<<<<<<<<<
jpayne@69 15194 * '''invert coordinates to negative strand coordinates
jpayne@69 15195 *
jpayne@69 15196 */
jpayne@69 15197
jpayne@69 15198 /* Python wrapper */
jpayne@69 15199 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_15invert(PyObject *__pyx_v_self,
jpayne@69 15200 #if CYTHON_METH_FASTCALL
jpayne@69 15201 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 15202 #else
jpayne@69 15203 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 15204 #endif
jpayne@69 15205 ); /*proto*/
jpayne@69 15206 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_14invert, "invert coordinates to negative strand coordinates\n \n This method will only act if the feature is on the\n negative strand.");
jpayne@69 15207 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_15invert = {"invert", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_15invert, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_14invert};
jpayne@69 15208 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_15invert(PyObject *__pyx_v_self,
jpayne@69 15209 #if CYTHON_METH_FASTCALL
jpayne@69 15210 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 15211 #else
jpayne@69 15212 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 15213 #endif
jpayne@69 15214 ) {
jpayne@69 15215 int __pyx_v_lcontig;
jpayne@69 15216 #if !CYTHON_METH_FASTCALL
jpayne@69 15217 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 15218 #endif
jpayne@69 15219 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 15220 PyObject* values[1] = {0};
jpayne@69 15221 int __pyx_lineno = 0;
jpayne@69 15222 const char *__pyx_filename = NULL;
jpayne@69 15223 int __pyx_clineno = 0;
jpayne@69 15224 PyObject *__pyx_r = 0;
jpayne@69 15225 __Pyx_RefNannyDeclarations
jpayne@69 15226 __Pyx_RefNannySetupContext("invert (wrapper)", 0);
jpayne@69 15227 #if !CYTHON_METH_FASTCALL
jpayne@69 15228 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 15229 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 15230 #else
jpayne@69 15231 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 15232 #endif
jpayne@69 15233 #endif
jpayne@69 15234 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 15235 {
jpayne@69 15236 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_lcontig,0};
jpayne@69 15237 if (__pyx_kwds) {
jpayne@69 15238 Py_ssize_t kw_args;
jpayne@69 15239 switch (__pyx_nargs) {
jpayne@69 15240 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 15241 CYTHON_FALLTHROUGH;
jpayne@69 15242 case 0: break;
jpayne@69 15243 default: goto __pyx_L5_argtuple_error;
jpayne@69 15244 }
jpayne@69 15245 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 15246 switch (__pyx_nargs) {
jpayne@69 15247 case 0:
jpayne@69 15248 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_lcontig)) != 0)) {
jpayne@69 15249 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 15250 kw_args--;
jpayne@69 15251 }
jpayne@69 15252 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 499, __pyx_L3_error)
jpayne@69 15253 else goto __pyx_L5_argtuple_error;
jpayne@69 15254 }
jpayne@69 15255 if (unlikely(kw_args > 0)) {
jpayne@69 15256 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 15257 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "invert") < 0)) __PYX_ERR(0, 499, __pyx_L3_error)
jpayne@69 15258 }
jpayne@69 15259 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 15260 goto __pyx_L5_argtuple_error;
jpayne@69 15261 } else {
jpayne@69 15262 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 15263 }
jpayne@69 15264 __pyx_v_lcontig = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_lcontig == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 499, __pyx_L3_error)
jpayne@69 15265 }
jpayne@69 15266 goto __pyx_L6_skip;
jpayne@69 15267 __pyx_L5_argtuple_error:;
jpayne@69 15268 __Pyx_RaiseArgtupleInvalid("invert", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 499, __pyx_L3_error)
jpayne@69 15269 __pyx_L6_skip:;
jpayne@69 15270 goto __pyx_L4_argument_unpacking_done;
jpayne@69 15271 __pyx_L3_error:;
jpayne@69 15272 {
jpayne@69 15273 Py_ssize_t __pyx_temp;
jpayne@69 15274 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 15275 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 15276 }
jpayne@69 15277 }
jpayne@69 15278 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.invert", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 15279 __Pyx_RefNannyFinishContext();
jpayne@69 15280 return NULL;
jpayne@69 15281 __pyx_L4_argument_unpacking_done:;
jpayne@69 15282 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_14invert(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v_lcontig);
jpayne@69 15283
jpayne@69 15284 /* function exit code */
jpayne@69 15285 {
jpayne@69 15286 Py_ssize_t __pyx_temp;
jpayne@69 15287 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 15288 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 15289 }
jpayne@69 15290 }
jpayne@69 15291 __Pyx_RefNannyFinishContext();
jpayne@69 15292 return __pyx_r;
jpayne@69 15293 }
jpayne@69 15294
jpayne@69 15295 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_14invert(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, int __pyx_v_lcontig) {
jpayne@69 15296 PyObject *__pyx_v_start = NULL;
jpayne@69 15297 PyObject *__pyx_v_end = NULL;
jpayne@69 15298 PyObject *__pyx_r = NULL;
jpayne@69 15299 __Pyx_RefNannyDeclarations
jpayne@69 15300 PyObject *__pyx_t_1 = NULL;
jpayne@69 15301 PyObject *__pyx_t_2 = NULL;
jpayne@69 15302 int __pyx_t_3;
jpayne@69 15303 PyObject *__pyx_t_4 = NULL;
jpayne@69 15304 PyObject *__pyx_t_5 = NULL;
jpayne@69 15305 int __pyx_lineno = 0;
jpayne@69 15306 const char *__pyx_filename = NULL;
jpayne@69 15307 int __pyx_clineno = 0;
jpayne@69 15308 __Pyx_RefNannySetupContext("invert", 1);
jpayne@69 15309
jpayne@69 15310 /* "pysam/libctabixproxies.pyx":505
jpayne@69 15311 * negative strand.'''
jpayne@69 15312 *
jpayne@69 15313 * if self.strand[0] == '-': # <<<<<<<<<<<<<<
jpayne@69 15314 * start = min(self.start, self.end)
jpayne@69 15315 * end = max(self.start, self.end)
jpayne@69 15316 */
jpayne@69 15317 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_strand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 505, __pyx_L1_error)
jpayne@69 15318 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 15319 __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 505, __pyx_L1_error)
jpayne@69 15320 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 15321 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 15322 __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_kp_u__14, Py_EQ)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 505, __pyx_L1_error)
jpayne@69 15323 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 15324 if (__pyx_t_3) {
jpayne@69 15325
jpayne@69 15326 /* "pysam/libctabixproxies.pyx":506
jpayne@69 15327 *
jpayne@69 15328 * if self.strand[0] == '-':
jpayne@69 15329 * start = min(self.start, self.end) # <<<<<<<<<<<<<<
jpayne@69 15330 * end = max(self.start, self.end)
jpayne@69 15331 * self.start, self.end = lcontig - end, lcontig - start
jpayne@69 15332 */
jpayne@69 15333 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_end); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 506, __pyx_L1_error)
jpayne@69 15334 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 15335 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 506, __pyx_L1_error)
jpayne@69 15336 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 15337 __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 506, __pyx_L1_error)
jpayne@69 15338 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 506, __pyx_L1_error)
jpayne@69 15339 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 15340 if (__pyx_t_3) {
jpayne@69 15341 __Pyx_INCREF(__pyx_t_2);
jpayne@69 15342 __pyx_t_4 = __pyx_t_2;
jpayne@69 15343 } else {
jpayne@69 15344 __Pyx_INCREF(__pyx_t_1);
jpayne@69 15345 __pyx_t_4 = __pyx_t_1;
jpayne@69 15346 }
jpayne@69 15347 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 15348 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 15349 __pyx_t_2 = __pyx_t_4;
jpayne@69 15350 __Pyx_INCREF(__pyx_t_2);
jpayne@69 15351 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 15352 __pyx_v_start = __pyx_t_2;
jpayne@69 15353 __pyx_t_2 = 0;
jpayne@69 15354
jpayne@69 15355 /* "pysam/libctabixproxies.pyx":507
jpayne@69 15356 * if self.strand[0] == '-':
jpayne@69 15357 * start = min(self.start, self.end)
jpayne@69 15358 * end = max(self.start, self.end) # <<<<<<<<<<<<<<
jpayne@69 15359 * self.start, self.end = lcontig - end, lcontig - start
jpayne@69 15360 *
jpayne@69 15361 */
jpayne@69 15362 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_end); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L1_error)
jpayne@69 15363 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 15364 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_start); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 507, __pyx_L1_error)
jpayne@69 15365 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 15366 __pyx_t_5 = PyObject_RichCompare(__pyx_t_2, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 507, __pyx_L1_error)
jpayne@69 15367 __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 507, __pyx_L1_error)
jpayne@69 15368 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 15369 if (__pyx_t_3) {
jpayne@69 15370 __Pyx_INCREF(__pyx_t_2);
jpayne@69 15371 __pyx_t_1 = __pyx_t_2;
jpayne@69 15372 } else {
jpayne@69 15373 __Pyx_INCREF(__pyx_t_4);
jpayne@69 15374 __pyx_t_1 = __pyx_t_4;
jpayne@69 15375 }
jpayne@69 15376 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 15377 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 15378 __pyx_t_2 = __pyx_t_1;
jpayne@69 15379 __Pyx_INCREF(__pyx_t_2);
jpayne@69 15380 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 15381 __pyx_v_end = __pyx_t_2;
jpayne@69 15382 __pyx_t_2 = 0;
jpayne@69 15383
jpayne@69 15384 /* "pysam/libctabixproxies.pyx":508
jpayne@69 15385 * start = min(self.start, self.end)
jpayne@69 15386 * end = max(self.start, self.end)
jpayne@69 15387 * self.start, self.end = lcontig - end, lcontig - start # <<<<<<<<<<<<<<
jpayne@69 15388 *
jpayne@69 15389 * def keys(self):
jpayne@69 15390 */
jpayne@69 15391 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_lcontig); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L1_error)
jpayne@69 15392 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 15393 __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_v_end); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 508, __pyx_L1_error)
jpayne@69 15394 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 15395 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 15396 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_lcontig); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L1_error)
jpayne@69 15397 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 15398 __pyx_t_4 = PyNumber_Subtract(__pyx_t_2, __pyx_v_start); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 508, __pyx_L1_error)
jpayne@69 15399 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 15400 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 15401 if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_start, __pyx_t_1) < 0) __PYX_ERR(0, 508, __pyx_L1_error)
jpayne@69 15402 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 15403 if (__Pyx_PyObject_SetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_end, __pyx_t_4) < 0) __PYX_ERR(0, 508, __pyx_L1_error)
jpayne@69 15404 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 15405
jpayne@69 15406 /* "pysam/libctabixproxies.pyx":505
jpayne@69 15407 * negative strand.'''
jpayne@69 15408 *
jpayne@69 15409 * if self.strand[0] == '-': # <<<<<<<<<<<<<<
jpayne@69 15410 * start = min(self.start, self.end)
jpayne@69 15411 * end = max(self.start, self.end)
jpayne@69 15412 */
jpayne@69 15413 }
jpayne@69 15414
jpayne@69 15415 /* "pysam/libctabixproxies.pyx":499
jpayne@69 15416 * return super().__str__()
jpayne@69 15417 *
jpayne@69 15418 * def invert(self, int lcontig): # <<<<<<<<<<<<<<
jpayne@69 15419 * '''invert coordinates to negative strand coordinates
jpayne@69 15420 *
jpayne@69 15421 */
jpayne@69 15422
jpayne@69 15423 /* function exit code */
jpayne@69 15424 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 15425 goto __pyx_L0;
jpayne@69 15426 __pyx_L1_error:;
jpayne@69 15427 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 15428 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 15429 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 15430 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 15431 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.invert", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 15432 __pyx_r = NULL;
jpayne@69 15433 __pyx_L0:;
jpayne@69 15434 __Pyx_XDECREF(__pyx_v_start);
jpayne@69 15435 __Pyx_XDECREF(__pyx_v_end);
jpayne@69 15436 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 15437 __Pyx_RefNannyFinishContext();
jpayne@69 15438 return __pyx_r;
jpayne@69 15439 }
jpayne@69 15440
jpayne@69 15441 /* "pysam/libctabixproxies.pyx":510
jpayne@69 15442 * self.start, self.end = lcontig - end, lcontig - start
jpayne@69 15443 *
jpayne@69 15444 * def keys(self): # <<<<<<<<<<<<<<
jpayne@69 15445 * '''return a list of attributes defined in this entry.'''
jpayne@69 15446 * if not self.attribute_dict:
jpayne@69 15447 */
jpayne@69 15448
jpayne@69 15449 /* Python wrapper */
jpayne@69 15450 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_17keys(PyObject *__pyx_v_self,
jpayne@69 15451 #if CYTHON_METH_FASTCALL
jpayne@69 15452 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 15453 #else
jpayne@69 15454 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 15455 #endif
jpayne@69 15456 ); /*proto*/
jpayne@69 15457 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_16keys, "return a list of attributes defined in this entry.");
jpayne@69 15458 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_17keys = {"keys", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_17keys, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_16keys};
jpayne@69 15459 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_17keys(PyObject *__pyx_v_self,
jpayne@69 15460 #if CYTHON_METH_FASTCALL
jpayne@69 15461 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 15462 #else
jpayne@69 15463 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 15464 #endif
jpayne@69 15465 ) {
jpayne@69 15466 #if !CYTHON_METH_FASTCALL
jpayne@69 15467 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 15468 #endif
jpayne@69 15469 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 15470 PyObject *__pyx_r = 0;
jpayne@69 15471 __Pyx_RefNannyDeclarations
jpayne@69 15472 __Pyx_RefNannySetupContext("keys (wrapper)", 0);
jpayne@69 15473 #if !CYTHON_METH_FASTCALL
jpayne@69 15474 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 15475 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 15476 #else
jpayne@69 15477 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 15478 #endif
jpayne@69 15479 #endif
jpayne@69 15480 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 15481 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 15482 __Pyx_RaiseArgtupleInvalid("keys", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 15483 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "keys", 0))) return NULL;
jpayne@69 15484 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_16keys(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self));
jpayne@69 15485
jpayne@69 15486 /* function exit code */
jpayne@69 15487 __Pyx_RefNannyFinishContext();
jpayne@69 15488 return __pyx_r;
jpayne@69 15489 }
jpayne@69 15490
jpayne@69 15491 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_16keys(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self) {
jpayne@69 15492 PyObject *__pyx_r = NULL;
jpayne@69 15493 __Pyx_RefNannyDeclarations
jpayne@69 15494 int __pyx_t_1;
jpayne@69 15495 int __pyx_t_2;
jpayne@69 15496 PyObject *__pyx_t_3 = NULL;
jpayne@69 15497 PyObject *__pyx_t_4 = NULL;
jpayne@69 15498 PyObject *__pyx_t_5 = NULL;
jpayne@69 15499 PyObject *__pyx_t_6 = NULL;
jpayne@69 15500 unsigned int __pyx_t_7;
jpayne@69 15501 int __pyx_lineno = 0;
jpayne@69 15502 const char *__pyx_filename = NULL;
jpayne@69 15503 int __pyx_clineno = 0;
jpayne@69 15504 __Pyx_RefNannySetupContext("keys", 1);
jpayne@69 15505
jpayne@69 15506 /* "pysam/libctabixproxies.pyx":512
jpayne@69 15507 * def keys(self):
jpayne@69 15508 * '''return a list of attributes defined in this entry.'''
jpayne@69 15509 * if not self.attribute_dict: # <<<<<<<<<<<<<<
jpayne@69 15510 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 15511 * self.attributes)
jpayne@69 15512 */
jpayne@69 15513 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->attribute_dict); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 512, __pyx_L1_error)
jpayne@69 15514 __pyx_t_2 = (!__pyx_t_1);
jpayne@69 15515 if (__pyx_t_2) {
jpayne@69 15516
jpayne@69 15517 /* "pysam/libctabixproxies.pyx":513
jpayne@69 15518 * '''return a list of attributes defined in this entry.'''
jpayne@69 15519 * if not self.attribute_dict:
jpayne@69 15520 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 15521 * self.attributes)
jpayne@69 15522 * return self.attribute_dict.keys()
jpayne@69 15523 */
jpayne@69 15524 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attribute_string2dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 513, __pyx_L1_error)
jpayne@69 15525 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 15526
jpayne@69 15527 /* "pysam/libctabixproxies.pyx":514
jpayne@69 15528 * if not self.attribute_dict:
jpayne@69 15529 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 15530 * self.attributes) # <<<<<<<<<<<<<<
jpayne@69 15531 * return self.attribute_dict.keys()
jpayne@69 15532 *
jpayne@69 15533 */
jpayne@69 15534 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 514, __pyx_L1_error)
jpayne@69 15535 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 15536 __pyx_t_6 = NULL;
jpayne@69 15537 __pyx_t_7 = 0;
jpayne@69 15538 #if CYTHON_UNPACK_METHODS
jpayne@69 15539 if (likely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 15540 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 15541 if (likely(__pyx_t_6)) {
jpayne@69 15542 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 15543 __Pyx_INCREF(__pyx_t_6);
jpayne@69 15544 __Pyx_INCREF(function);
jpayne@69 15545 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 15546 __pyx_t_7 = 1;
jpayne@69 15547 }
jpayne@69 15548 }
jpayne@69 15549 #endif
jpayne@69 15550 {
jpayne@69 15551 PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
jpayne@69 15552 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
jpayne@69 15553 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 15554 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 15555 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 513, __pyx_L1_error)
jpayne@69 15556 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 15557 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 15558 }
jpayne@69 15559
jpayne@69 15560 /* "pysam/libctabixproxies.pyx":513
jpayne@69 15561 * '''return a list of attributes defined in this entry.'''
jpayne@69 15562 * if not self.attribute_dict:
jpayne@69 15563 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 15564 * self.attributes)
jpayne@69 15565 * return self.attribute_dict.keys()
jpayne@69 15566 */
jpayne@69 15567 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 15568 __Pyx_GOTREF(__pyx_v_self->attribute_dict);
jpayne@69 15569 __Pyx_DECREF(__pyx_v_self->attribute_dict);
jpayne@69 15570 __pyx_v_self->attribute_dict = __pyx_t_3;
jpayne@69 15571 __pyx_t_3 = 0;
jpayne@69 15572
jpayne@69 15573 /* "pysam/libctabixproxies.pyx":512
jpayne@69 15574 * def keys(self):
jpayne@69 15575 * '''return a list of attributes defined in this entry.'''
jpayne@69 15576 * if not self.attribute_dict: # <<<<<<<<<<<<<<
jpayne@69 15577 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 15578 * self.attributes)
jpayne@69 15579 */
jpayne@69 15580 }
jpayne@69 15581
jpayne@69 15582 /* "pysam/libctabixproxies.pyx":515
jpayne@69 15583 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 15584 * self.attributes)
jpayne@69 15585 * return self.attribute_dict.keys() # <<<<<<<<<<<<<<
jpayne@69 15586 *
jpayne@69 15587 * def __getitem__(self, key):
jpayne@69 15588 */
jpayne@69 15589 __Pyx_XDECREF(__pyx_r);
jpayne@69 15590 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self->attribute_dict, __pyx_n_s_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 515, __pyx_L1_error)
jpayne@69 15591 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 15592 __pyx_t_5 = NULL;
jpayne@69 15593 __pyx_t_7 = 0;
jpayne@69 15594 #if CYTHON_UNPACK_METHODS
jpayne@69 15595 if (likely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 15596 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 15597 if (likely(__pyx_t_5)) {
jpayne@69 15598 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 15599 __Pyx_INCREF(__pyx_t_5);
jpayne@69 15600 __Pyx_INCREF(function);
jpayne@69 15601 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 15602 __pyx_t_7 = 1;
jpayne@69 15603 }
jpayne@69 15604 }
jpayne@69 15605 #endif
jpayne@69 15606 {
jpayne@69 15607 PyObject *__pyx_callargs[2] = {__pyx_t_5, NULL};
jpayne@69 15608 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
jpayne@69 15609 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 15610 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 515, __pyx_L1_error)
jpayne@69 15611 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 15612 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 15613 }
jpayne@69 15614 __pyx_r = __pyx_t_3;
jpayne@69 15615 __pyx_t_3 = 0;
jpayne@69 15616 goto __pyx_L0;
jpayne@69 15617
jpayne@69 15618 /* "pysam/libctabixproxies.pyx":510
jpayne@69 15619 * self.start, self.end = lcontig - end, lcontig - start
jpayne@69 15620 *
jpayne@69 15621 * def keys(self): # <<<<<<<<<<<<<<
jpayne@69 15622 * '''return a list of attributes defined in this entry.'''
jpayne@69 15623 * if not self.attribute_dict:
jpayne@69 15624 */
jpayne@69 15625
jpayne@69 15626 /* function exit code */
jpayne@69 15627 __pyx_L1_error:;
jpayne@69 15628 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 15629 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 15630 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 15631 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 15632 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.keys", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 15633 __pyx_r = NULL;
jpayne@69 15634 __pyx_L0:;
jpayne@69 15635 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 15636 __Pyx_RefNannyFinishContext();
jpayne@69 15637 return __pyx_r;
jpayne@69 15638 }
jpayne@69 15639
jpayne@69 15640 /* "pysam/libctabixproxies.pyx":517
jpayne@69 15641 * return self.attribute_dict.keys()
jpayne@69 15642 *
jpayne@69 15643 * def __getitem__(self, key): # <<<<<<<<<<<<<<
jpayne@69 15644 * return self.__getattr__(key)
jpayne@69 15645 *
jpayne@69 15646 */
jpayne@69 15647
jpayne@69 15648 /* Python wrapper */
jpayne@69 15649 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_19__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
jpayne@69 15650 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_19__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
jpayne@69 15651 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 15652 PyObject *__pyx_r = 0;
jpayne@69 15653 __Pyx_RefNannyDeclarations
jpayne@69 15654 __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
jpayne@69 15655 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 15656 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_18__getitem__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key));
jpayne@69 15657
jpayne@69 15658 /* function exit code */
jpayne@69 15659 __Pyx_RefNannyFinishContext();
jpayne@69 15660 return __pyx_r;
jpayne@69 15661 }
jpayne@69 15662
jpayne@69 15663 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_18__getitem__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_key) {
jpayne@69 15664 PyObject *__pyx_r = NULL;
jpayne@69 15665 __Pyx_RefNannyDeclarations
jpayne@69 15666 PyObject *__pyx_t_1 = NULL;
jpayne@69 15667 PyObject *__pyx_t_2 = NULL;
jpayne@69 15668 PyObject *__pyx_t_3 = NULL;
jpayne@69 15669 unsigned int __pyx_t_4;
jpayne@69 15670 int __pyx_lineno = 0;
jpayne@69 15671 const char *__pyx_filename = NULL;
jpayne@69 15672 int __pyx_clineno = 0;
jpayne@69 15673 __Pyx_RefNannySetupContext("__getitem__", 1);
jpayne@69 15674
jpayne@69 15675 /* "pysam/libctabixproxies.pyx":518
jpayne@69 15676 *
jpayne@69 15677 * def __getitem__(self, key):
jpayne@69 15678 * return self.__getattr__(key) # <<<<<<<<<<<<<<
jpayne@69 15679 *
jpayne@69 15680 * def setAttribute(self, name, value):
jpayne@69 15681 */
jpayne@69 15682 __Pyx_XDECREF(__pyx_r);
jpayne@69 15683 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getattr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 518, __pyx_L1_error)
jpayne@69 15684 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 15685 __pyx_t_3 = NULL;
jpayne@69 15686 __pyx_t_4 = 0;
jpayne@69 15687 #if CYTHON_UNPACK_METHODS
jpayne@69 15688 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 15689 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 15690 if (likely(__pyx_t_3)) {
jpayne@69 15691 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 15692 __Pyx_INCREF(__pyx_t_3);
jpayne@69 15693 __Pyx_INCREF(function);
jpayne@69 15694 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 15695 __pyx_t_4 = 1;
jpayne@69 15696 }
jpayne@69 15697 }
jpayne@69 15698 #endif
jpayne@69 15699 {
jpayne@69 15700 PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_key};
jpayne@69 15701 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 15702 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 15703 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 518, __pyx_L1_error)
jpayne@69 15704 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 15705 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 15706 }
jpayne@69 15707 __pyx_r = __pyx_t_1;
jpayne@69 15708 __pyx_t_1 = 0;
jpayne@69 15709 goto __pyx_L0;
jpayne@69 15710
jpayne@69 15711 /* "pysam/libctabixproxies.pyx":517
jpayne@69 15712 * return self.attribute_dict.keys()
jpayne@69 15713 *
jpayne@69 15714 * def __getitem__(self, key): # <<<<<<<<<<<<<<
jpayne@69 15715 * return self.__getattr__(key)
jpayne@69 15716 *
jpayne@69 15717 */
jpayne@69 15718
jpayne@69 15719 /* function exit code */
jpayne@69 15720 __pyx_L1_error:;
jpayne@69 15721 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 15722 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 15723 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 15724 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 15725 __pyx_r = NULL;
jpayne@69 15726 __pyx_L0:;
jpayne@69 15727 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 15728 __Pyx_RefNannyFinishContext();
jpayne@69 15729 return __pyx_r;
jpayne@69 15730 }
jpayne@69 15731
jpayne@69 15732 /* "pysam/libctabixproxies.pyx":520
jpayne@69 15733 * return self.__getattr__(key)
jpayne@69 15734 *
jpayne@69 15735 * def setAttribute(self, name, value): # <<<<<<<<<<<<<<
jpayne@69 15736 * '''convenience method to set an attribute.
jpayne@69 15737 * '''
jpayne@69 15738 */
jpayne@69 15739
jpayne@69 15740 /* Python wrapper */
jpayne@69 15741 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_21setAttribute(PyObject *__pyx_v_self,
jpayne@69 15742 #if CYTHON_METH_FASTCALL
jpayne@69 15743 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 15744 #else
jpayne@69 15745 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 15746 #endif
jpayne@69 15747 ); /*proto*/
jpayne@69 15748 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_20setAttribute, "convenience method to set an attribute.\n ");
jpayne@69 15749 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_21setAttribute = {"setAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_21setAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_20setAttribute};
jpayne@69 15750 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_21setAttribute(PyObject *__pyx_v_self,
jpayne@69 15751 #if CYTHON_METH_FASTCALL
jpayne@69 15752 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 15753 #else
jpayne@69 15754 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 15755 #endif
jpayne@69 15756 ) {
jpayne@69 15757 PyObject *__pyx_v_name = 0;
jpayne@69 15758 PyObject *__pyx_v_value = 0;
jpayne@69 15759 #if !CYTHON_METH_FASTCALL
jpayne@69 15760 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 15761 #endif
jpayne@69 15762 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 15763 PyObject* values[2] = {0,0};
jpayne@69 15764 int __pyx_lineno = 0;
jpayne@69 15765 const char *__pyx_filename = NULL;
jpayne@69 15766 int __pyx_clineno = 0;
jpayne@69 15767 PyObject *__pyx_r = 0;
jpayne@69 15768 __Pyx_RefNannyDeclarations
jpayne@69 15769 __Pyx_RefNannySetupContext("setAttribute (wrapper)", 0);
jpayne@69 15770 #if !CYTHON_METH_FASTCALL
jpayne@69 15771 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 15772 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 15773 #else
jpayne@69 15774 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 15775 #endif
jpayne@69 15776 #endif
jpayne@69 15777 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 15778 {
jpayne@69 15779 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_value,0};
jpayne@69 15780 if (__pyx_kwds) {
jpayne@69 15781 Py_ssize_t kw_args;
jpayne@69 15782 switch (__pyx_nargs) {
jpayne@69 15783 case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
jpayne@69 15784 CYTHON_FALLTHROUGH;
jpayne@69 15785 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 15786 CYTHON_FALLTHROUGH;
jpayne@69 15787 case 0: break;
jpayne@69 15788 default: goto __pyx_L5_argtuple_error;
jpayne@69 15789 }
jpayne@69 15790 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 15791 switch (__pyx_nargs) {
jpayne@69 15792 case 0:
jpayne@69 15793 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) {
jpayne@69 15794 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 15795 kw_args--;
jpayne@69 15796 }
jpayne@69 15797 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 520, __pyx_L3_error)
jpayne@69 15798 else goto __pyx_L5_argtuple_error;
jpayne@69 15799 CYTHON_FALLTHROUGH;
jpayne@69 15800 case 1:
jpayne@69 15801 if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_value)) != 0)) {
jpayne@69 15802 (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
jpayne@69 15803 kw_args--;
jpayne@69 15804 }
jpayne@69 15805 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 520, __pyx_L3_error)
jpayne@69 15806 else {
jpayne@69 15807 __Pyx_RaiseArgtupleInvalid("setAttribute", 1, 2, 2, 1); __PYX_ERR(0, 520, __pyx_L3_error)
jpayne@69 15808 }
jpayne@69 15809 }
jpayne@69 15810 if (unlikely(kw_args > 0)) {
jpayne@69 15811 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 15812 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "setAttribute") < 0)) __PYX_ERR(0, 520, __pyx_L3_error)
jpayne@69 15813 }
jpayne@69 15814 } else if (unlikely(__pyx_nargs != 2)) {
jpayne@69 15815 goto __pyx_L5_argtuple_error;
jpayne@69 15816 } else {
jpayne@69 15817 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 15818 values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
jpayne@69 15819 }
jpayne@69 15820 __pyx_v_name = values[0];
jpayne@69 15821 __pyx_v_value = values[1];
jpayne@69 15822 }
jpayne@69 15823 goto __pyx_L6_skip;
jpayne@69 15824 __pyx_L5_argtuple_error:;
jpayne@69 15825 __Pyx_RaiseArgtupleInvalid("setAttribute", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 520, __pyx_L3_error)
jpayne@69 15826 __pyx_L6_skip:;
jpayne@69 15827 goto __pyx_L4_argument_unpacking_done;
jpayne@69 15828 __pyx_L3_error:;
jpayne@69 15829 {
jpayne@69 15830 Py_ssize_t __pyx_temp;
jpayne@69 15831 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 15832 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 15833 }
jpayne@69 15834 }
jpayne@69 15835 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.setAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 15836 __Pyx_RefNannyFinishContext();
jpayne@69 15837 return NULL;
jpayne@69 15838 __pyx_L4_argument_unpacking_done:;
jpayne@69 15839 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_20setAttribute(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v_name, __pyx_v_value);
jpayne@69 15840
jpayne@69 15841 /* function exit code */
jpayne@69 15842 {
jpayne@69 15843 Py_ssize_t __pyx_temp;
jpayne@69 15844 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 15845 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 15846 }
jpayne@69 15847 }
jpayne@69 15848 __Pyx_RefNannyFinishContext();
jpayne@69 15849 return __pyx_r;
jpayne@69 15850 }
jpayne@69 15851
jpayne@69 15852 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_20setAttribute(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_value) {
jpayne@69 15853 PyObject *__pyx_r = NULL;
jpayne@69 15854 __Pyx_RefNannyDeclarations
jpayne@69 15855 int __pyx_t_1;
jpayne@69 15856 int __pyx_t_2;
jpayne@69 15857 PyObject *__pyx_t_3 = NULL;
jpayne@69 15858 PyObject *__pyx_t_4 = NULL;
jpayne@69 15859 PyObject *__pyx_t_5 = NULL;
jpayne@69 15860 PyObject *__pyx_t_6 = NULL;
jpayne@69 15861 unsigned int __pyx_t_7;
jpayne@69 15862 int __pyx_lineno = 0;
jpayne@69 15863 const char *__pyx_filename = NULL;
jpayne@69 15864 int __pyx_clineno = 0;
jpayne@69 15865 __Pyx_RefNannySetupContext("setAttribute", 1);
jpayne@69 15866
jpayne@69 15867 /* "pysam/libctabixproxies.pyx":523
jpayne@69 15868 * '''convenience method to set an attribute.
jpayne@69 15869 * '''
jpayne@69 15870 * if not self.attribute_dict: # <<<<<<<<<<<<<<
jpayne@69 15871 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 15872 * self.attributes)
jpayne@69 15873 */
jpayne@69 15874 __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_self->attribute_dict); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 523, __pyx_L1_error)
jpayne@69 15875 __pyx_t_2 = (!__pyx_t_1);
jpayne@69 15876 if (__pyx_t_2) {
jpayne@69 15877
jpayne@69 15878 /* "pysam/libctabixproxies.pyx":524
jpayne@69 15879 * '''
jpayne@69 15880 * if not self.attribute_dict:
jpayne@69 15881 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 15882 * self.attributes)
jpayne@69 15883 * self.attribute_dict[name] = value
jpayne@69 15884 */
jpayne@69 15885 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attribute_string2dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L1_error)
jpayne@69 15886 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 15887
jpayne@69 15888 /* "pysam/libctabixproxies.pyx":525
jpayne@69 15889 * if not self.attribute_dict:
jpayne@69 15890 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 15891 * self.attributes) # <<<<<<<<<<<<<<
jpayne@69 15892 * self.attribute_dict[name] = value
jpayne@69 15893 * self.is_modified = True
jpayne@69 15894 */
jpayne@69 15895 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 525, __pyx_L1_error)
jpayne@69 15896 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 15897 __pyx_t_6 = NULL;
jpayne@69 15898 __pyx_t_7 = 0;
jpayne@69 15899 #if CYTHON_UNPACK_METHODS
jpayne@69 15900 if (likely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 15901 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 15902 if (likely(__pyx_t_6)) {
jpayne@69 15903 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 15904 __Pyx_INCREF(__pyx_t_6);
jpayne@69 15905 __Pyx_INCREF(function);
jpayne@69 15906 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 15907 __pyx_t_7 = 1;
jpayne@69 15908 }
jpayne@69 15909 }
jpayne@69 15910 #endif
jpayne@69 15911 {
jpayne@69 15912 PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_5};
jpayne@69 15913 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
jpayne@69 15914 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 15915 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 15916 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 524, __pyx_L1_error)
jpayne@69 15917 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 15918 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 15919 }
jpayne@69 15920
jpayne@69 15921 /* "pysam/libctabixproxies.pyx":524
jpayne@69 15922 * '''
jpayne@69 15923 * if not self.attribute_dict:
jpayne@69 15924 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 15925 * self.attributes)
jpayne@69 15926 * self.attribute_dict[name] = value
jpayne@69 15927 */
jpayne@69 15928 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 15929 __Pyx_GOTREF(__pyx_v_self->attribute_dict);
jpayne@69 15930 __Pyx_DECREF(__pyx_v_self->attribute_dict);
jpayne@69 15931 __pyx_v_self->attribute_dict = __pyx_t_3;
jpayne@69 15932 __pyx_t_3 = 0;
jpayne@69 15933
jpayne@69 15934 /* "pysam/libctabixproxies.pyx":523
jpayne@69 15935 * '''convenience method to set an attribute.
jpayne@69 15936 * '''
jpayne@69 15937 * if not self.attribute_dict: # <<<<<<<<<<<<<<
jpayne@69 15938 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 15939 * self.attributes)
jpayne@69 15940 */
jpayne@69 15941 }
jpayne@69 15942
jpayne@69 15943 /* "pysam/libctabixproxies.pyx":526
jpayne@69 15944 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 15945 * self.attributes)
jpayne@69 15946 * self.attribute_dict[name] = value # <<<<<<<<<<<<<<
jpayne@69 15947 * self.is_modified = True
jpayne@69 15948 *
jpayne@69 15949 */
jpayne@69 15950 if (unlikely((PyObject_SetItem(__pyx_v_self->attribute_dict, __pyx_v_name, __pyx_v_value) < 0))) __PYX_ERR(0, 526, __pyx_L1_error)
jpayne@69 15951
jpayne@69 15952 /* "pysam/libctabixproxies.pyx":527
jpayne@69 15953 * self.attributes)
jpayne@69 15954 * self.attribute_dict[name] = value
jpayne@69 15955 * self.is_modified = True # <<<<<<<<<<<<<<
jpayne@69 15956 *
jpayne@69 15957 * def attribute_string2dict(self, s):
jpayne@69 15958 */
jpayne@69 15959 __pyx_v_self->__pyx_base.__pyx_base.is_modified = 1;
jpayne@69 15960
jpayne@69 15961 /* "pysam/libctabixproxies.pyx":520
jpayne@69 15962 * return self.__getattr__(key)
jpayne@69 15963 *
jpayne@69 15964 * def setAttribute(self, name, value): # <<<<<<<<<<<<<<
jpayne@69 15965 * '''convenience method to set an attribute.
jpayne@69 15966 * '''
jpayne@69 15967 */
jpayne@69 15968
jpayne@69 15969 /* function exit code */
jpayne@69 15970 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 15971 goto __pyx_L0;
jpayne@69 15972 __pyx_L1_error:;
jpayne@69 15973 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 15974 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 15975 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 15976 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 15977 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.setAttribute", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 15978 __pyx_r = NULL;
jpayne@69 15979 __pyx_L0:;
jpayne@69 15980 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 15981 __Pyx_RefNannyFinishContext();
jpayne@69 15982 return __pyx_r;
jpayne@69 15983 }
jpayne@69 15984
jpayne@69 15985 /* "pysam/libctabixproxies.pyx":529
jpayne@69 15986 * self.is_modified = True
jpayne@69 15987 *
jpayne@69 15988 * def attribute_string2dict(self, s): # <<<<<<<<<<<<<<
jpayne@69 15989 * return collections.OrderedDict(
jpayne@69 15990 * self.attribute_string2iterator(s))
jpayne@69 15991 */
jpayne@69 15992
jpayne@69 15993 /* Python wrapper */
jpayne@69 15994 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_23attribute_string2dict(PyObject *__pyx_v_self,
jpayne@69 15995 #if CYTHON_METH_FASTCALL
jpayne@69 15996 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 15997 #else
jpayne@69 15998 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 15999 #endif
jpayne@69 16000 ); /*proto*/
jpayne@69 16001 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_23attribute_string2dict = {"attribute_string2dict", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_23attribute_string2dict, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 16002 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_23attribute_string2dict(PyObject *__pyx_v_self,
jpayne@69 16003 #if CYTHON_METH_FASTCALL
jpayne@69 16004 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 16005 #else
jpayne@69 16006 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 16007 #endif
jpayne@69 16008 ) {
jpayne@69 16009 PyObject *__pyx_v_s = 0;
jpayne@69 16010 #if !CYTHON_METH_FASTCALL
jpayne@69 16011 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 16012 #endif
jpayne@69 16013 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 16014 PyObject* values[1] = {0};
jpayne@69 16015 int __pyx_lineno = 0;
jpayne@69 16016 const char *__pyx_filename = NULL;
jpayne@69 16017 int __pyx_clineno = 0;
jpayne@69 16018 PyObject *__pyx_r = 0;
jpayne@69 16019 __Pyx_RefNannyDeclarations
jpayne@69 16020 __Pyx_RefNannySetupContext("attribute_string2dict (wrapper)", 0);
jpayne@69 16021 #if !CYTHON_METH_FASTCALL
jpayne@69 16022 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 16023 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 16024 #else
jpayne@69 16025 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 16026 #endif
jpayne@69 16027 #endif
jpayne@69 16028 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 16029 {
jpayne@69 16030 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s_2,0};
jpayne@69 16031 if (__pyx_kwds) {
jpayne@69 16032 Py_ssize_t kw_args;
jpayne@69 16033 switch (__pyx_nargs) {
jpayne@69 16034 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 16035 CYTHON_FALLTHROUGH;
jpayne@69 16036 case 0: break;
jpayne@69 16037 default: goto __pyx_L5_argtuple_error;
jpayne@69 16038 }
jpayne@69 16039 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 16040 switch (__pyx_nargs) {
jpayne@69 16041 case 0:
jpayne@69 16042 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s_2)) != 0)) {
jpayne@69 16043 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 16044 kw_args--;
jpayne@69 16045 }
jpayne@69 16046 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 529, __pyx_L3_error)
jpayne@69 16047 else goto __pyx_L5_argtuple_error;
jpayne@69 16048 }
jpayne@69 16049 if (unlikely(kw_args > 0)) {
jpayne@69 16050 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 16051 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "attribute_string2dict") < 0)) __PYX_ERR(0, 529, __pyx_L3_error)
jpayne@69 16052 }
jpayne@69 16053 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 16054 goto __pyx_L5_argtuple_error;
jpayne@69 16055 } else {
jpayne@69 16056 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 16057 }
jpayne@69 16058 __pyx_v_s = values[0];
jpayne@69 16059 }
jpayne@69 16060 goto __pyx_L6_skip;
jpayne@69 16061 __pyx_L5_argtuple_error:;
jpayne@69 16062 __Pyx_RaiseArgtupleInvalid("attribute_string2dict", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 529, __pyx_L3_error)
jpayne@69 16063 __pyx_L6_skip:;
jpayne@69 16064 goto __pyx_L4_argument_unpacking_done;
jpayne@69 16065 __pyx_L3_error:;
jpayne@69 16066 {
jpayne@69 16067 Py_ssize_t __pyx_temp;
jpayne@69 16068 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 16069 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 16070 }
jpayne@69 16071 }
jpayne@69 16072 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.attribute_string2dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 16073 __Pyx_RefNannyFinishContext();
jpayne@69 16074 return NULL;
jpayne@69 16075 __pyx_L4_argument_unpacking_done:;
jpayne@69 16076 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_22attribute_string2dict(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v_s);
jpayne@69 16077
jpayne@69 16078 /* function exit code */
jpayne@69 16079 {
jpayne@69 16080 Py_ssize_t __pyx_temp;
jpayne@69 16081 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 16082 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 16083 }
jpayne@69 16084 }
jpayne@69 16085 __Pyx_RefNannyFinishContext();
jpayne@69 16086 return __pyx_r;
jpayne@69 16087 }
jpayne@69 16088
jpayne@69 16089 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_22attribute_string2dict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_s) {
jpayne@69 16090 PyObject *__pyx_r = NULL;
jpayne@69 16091 __Pyx_RefNannyDeclarations
jpayne@69 16092 PyObject *__pyx_t_1 = NULL;
jpayne@69 16093 PyObject *__pyx_t_2 = NULL;
jpayne@69 16094 PyObject *__pyx_t_3 = NULL;
jpayne@69 16095 PyObject *__pyx_t_4 = NULL;
jpayne@69 16096 PyObject *__pyx_t_5 = NULL;
jpayne@69 16097 unsigned int __pyx_t_6;
jpayne@69 16098 int __pyx_lineno = 0;
jpayne@69 16099 const char *__pyx_filename = NULL;
jpayne@69 16100 int __pyx_clineno = 0;
jpayne@69 16101 __Pyx_RefNannySetupContext("attribute_string2dict", 1);
jpayne@69 16102
jpayne@69 16103 /* "pysam/libctabixproxies.pyx":530
jpayne@69 16104 *
jpayne@69 16105 * def attribute_string2dict(self, s):
jpayne@69 16106 * return collections.OrderedDict( # <<<<<<<<<<<<<<
jpayne@69 16107 * self.attribute_string2iterator(s))
jpayne@69 16108 *
jpayne@69 16109 */
jpayne@69 16110 __Pyx_XDECREF(__pyx_r);
jpayne@69 16111 __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_collections); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 530, __pyx_L1_error)
jpayne@69 16112 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 16113 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_OrderedDict); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 530, __pyx_L1_error)
jpayne@69 16114 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16115 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 16116
jpayne@69 16117 /* "pysam/libctabixproxies.pyx":531
jpayne@69 16118 * def attribute_string2dict(self, s):
jpayne@69 16119 * return collections.OrderedDict(
jpayne@69 16120 * self.attribute_string2iterator(s)) # <<<<<<<<<<<<<<
jpayne@69 16121 *
jpayne@69 16122 * def __cmp__(self, other):
jpayne@69 16123 */
jpayne@69 16124 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attribute_string2iterator); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 531, __pyx_L1_error)
jpayne@69 16125 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 16126 __pyx_t_5 = NULL;
jpayne@69 16127 __pyx_t_6 = 0;
jpayne@69 16128 #if CYTHON_UNPACK_METHODS
jpayne@69 16129 if (likely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 16130 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 16131 if (likely(__pyx_t_5)) {
jpayne@69 16132 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 16133 __Pyx_INCREF(__pyx_t_5);
jpayne@69 16134 __Pyx_INCREF(function);
jpayne@69 16135 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 16136 __pyx_t_6 = 1;
jpayne@69 16137 }
jpayne@69 16138 }
jpayne@69 16139 #endif
jpayne@69 16140 {
jpayne@69 16141 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_s};
jpayne@69 16142 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 16143 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 16144 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L1_error)
jpayne@69 16145 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 16146 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 16147 }
jpayne@69 16148 __pyx_t_4 = NULL;
jpayne@69 16149 __pyx_t_6 = 0;
jpayne@69 16150 #if CYTHON_UNPACK_METHODS
jpayne@69 16151 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 16152 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 16153 if (likely(__pyx_t_4)) {
jpayne@69 16154 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 16155 __Pyx_INCREF(__pyx_t_4);
jpayne@69 16156 __Pyx_INCREF(function);
jpayne@69 16157 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 16158 __pyx_t_6 = 1;
jpayne@69 16159 }
jpayne@69 16160 }
jpayne@69 16161 #endif
jpayne@69 16162 {
jpayne@69 16163 PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_2};
jpayne@69 16164 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 16165 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 16166 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 16167 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 530, __pyx_L1_error)
jpayne@69 16168 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16169 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 16170 }
jpayne@69 16171 __pyx_r = __pyx_t_1;
jpayne@69 16172 __pyx_t_1 = 0;
jpayne@69 16173 goto __pyx_L0;
jpayne@69 16174
jpayne@69 16175 /* "pysam/libctabixproxies.pyx":529
jpayne@69 16176 * self.is_modified = True
jpayne@69 16177 *
jpayne@69 16178 * def attribute_string2dict(self, s): # <<<<<<<<<<<<<<
jpayne@69 16179 * return collections.OrderedDict(
jpayne@69 16180 * self.attribute_string2iterator(s))
jpayne@69 16181 */
jpayne@69 16182
jpayne@69 16183 /* function exit code */
jpayne@69 16184 __pyx_L1_error:;
jpayne@69 16185 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 16186 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 16187 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 16188 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 16189 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 16190 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.attribute_string2dict", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 16191 __pyx_r = NULL;
jpayne@69 16192 __pyx_L0:;
jpayne@69 16193 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 16194 __Pyx_RefNannyFinishContext();
jpayne@69 16195 return __pyx_r;
jpayne@69 16196 }
jpayne@69 16197
jpayne@69 16198 /* "pysam/libctabixproxies.pyx":533
jpayne@69 16199 * self.attribute_string2iterator(s))
jpayne@69 16200 *
jpayne@69 16201 * def __cmp__(self, other): # <<<<<<<<<<<<<<
jpayne@69 16202 * return (self.contig, self.strand, self.start) < \
jpayne@69 16203 * (other.contig, other.strand, other.start)
jpayne@69 16204 */
jpayne@69 16205
jpayne@69 16206 /* Python wrapper */
jpayne@69 16207 #if PY_MAJOR_VERSION < 3
jpayne@69 16208 static int __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_25__cmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other); /*proto*/
jpayne@69 16209 static int __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_25__cmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other) {
jpayne@69 16210 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 16211 int __pyx_r;
jpayne@69 16212 __Pyx_RefNannyDeclarations
jpayne@69 16213 __Pyx_RefNannySetupContext("__cmp__ (wrapper)", 0);
jpayne@69 16214 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 16215 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_24__cmp__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_other));
jpayne@69 16216
jpayne@69 16217 /* function exit code */
jpayne@69 16218 __Pyx_RefNannyFinishContext();
jpayne@69 16219 return __pyx_r;
jpayne@69 16220 }
jpayne@69 16221 #endif /*!(#if PY_MAJOR_VERSION < 3)*/
jpayne@69 16222
jpayne@69 16223 #if PY_MAJOR_VERSION < 3
jpayne@69 16224 static int __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_24__cmp__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_other) {
jpayne@69 16225 int __pyx_r;
jpayne@69 16226 __Pyx_RefNannyDeclarations
jpayne@69 16227 PyObject *__pyx_t_1 = NULL;
jpayne@69 16228 PyObject *__pyx_t_2 = NULL;
jpayne@69 16229 PyObject *__pyx_t_3 = NULL;
jpayne@69 16230 PyObject *__pyx_t_4 = NULL;
jpayne@69 16231 PyObject *__pyx_t_5 = NULL;
jpayne@69 16232 int __pyx_t_6;
jpayne@69 16233 int __pyx_lineno = 0;
jpayne@69 16234 const char *__pyx_filename = NULL;
jpayne@69 16235 int __pyx_clineno = 0;
jpayne@69 16236 __Pyx_RefNannySetupContext("__cmp__", 1);
jpayne@69 16237
jpayne@69 16238 /* "pysam/libctabixproxies.pyx":534
jpayne@69 16239 *
jpayne@69 16240 * def __cmp__(self, other):
jpayne@69 16241 * return (self.contig, self.strand, self.start) < \ # <<<<<<<<<<<<<<
jpayne@69 16242 * (other.contig, other.strand, other.start)
jpayne@69 16243 *
jpayne@69 16244 */
jpayne@69 16245 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_contig); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
jpayne@69 16246 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16247 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_strand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error)
jpayne@69 16248 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 16249 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_start); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error)
jpayne@69 16250 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16251 __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 534, __pyx_L1_error)
jpayne@69 16252 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 16253 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 16254 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error);
jpayne@69 16255 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 16256 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2)) __PYX_ERR(0, 534, __pyx_L1_error);
jpayne@69 16257 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 16258 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3)) __PYX_ERR(0, 534, __pyx_L1_error);
jpayne@69 16259 __pyx_t_1 = 0;
jpayne@69 16260 __pyx_t_2 = 0;
jpayne@69 16261 __pyx_t_3 = 0;
jpayne@69 16262
jpayne@69 16263 /* "pysam/libctabixproxies.pyx":535
jpayne@69 16264 * def __cmp__(self, other):
jpayne@69 16265 * return (self.contig, self.strand, self.start) < \
jpayne@69 16266 * (other.contig, other.strand, other.start) # <<<<<<<<<<<<<<
jpayne@69 16267 *
jpayne@69 16268 * # python 3 compatibility
jpayne@69 16269 */
jpayne@69 16270 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_contig); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 535, __pyx_L1_error)
jpayne@69 16271 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16272 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_strand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 535, __pyx_L1_error)
jpayne@69 16273 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 16274 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 535, __pyx_L1_error)
jpayne@69 16275 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16276 __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 535, __pyx_L1_error)
jpayne@69 16277 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16278 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 16279 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(0, 535, __pyx_L1_error);
jpayne@69 16280 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 16281 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2)) __PYX_ERR(0, 535, __pyx_L1_error);
jpayne@69 16282 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 16283 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_1)) __PYX_ERR(0, 535, __pyx_L1_error);
jpayne@69 16284 __pyx_t_3 = 0;
jpayne@69 16285 __pyx_t_2 = 0;
jpayne@69 16286 __pyx_t_1 = 0;
jpayne@69 16287 __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 534, __pyx_L1_error)
jpayne@69 16288 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 16289 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 16290
jpayne@69 16291 /* "pysam/libctabixproxies.pyx":534
jpayne@69 16292 *
jpayne@69 16293 * def __cmp__(self, other):
jpayne@69 16294 * return (self.contig, self.strand, self.start) < \ # <<<<<<<<<<<<<<
jpayne@69 16295 * (other.contig, other.strand, other.start)
jpayne@69 16296 *
jpayne@69 16297 */
jpayne@69 16298 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 534, __pyx_L1_error)
jpayne@69 16299 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 16300 __pyx_r = __pyx_t_6;
jpayne@69 16301 goto __pyx_L0;
jpayne@69 16302
jpayne@69 16303 /* "pysam/libctabixproxies.pyx":533
jpayne@69 16304 * self.attribute_string2iterator(s))
jpayne@69 16305 *
jpayne@69 16306 * def __cmp__(self, other): # <<<<<<<<<<<<<<
jpayne@69 16307 * return (self.contig, self.strand, self.start) < \
jpayne@69 16308 * (other.contig, other.strand, other.start)
jpayne@69 16309 */
jpayne@69 16310
jpayne@69 16311 /* function exit code */
jpayne@69 16312 __pyx_L1_error:;
jpayne@69 16313 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 16314 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 16315 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 16316 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 16317 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 16318 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__cmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 16319 __pyx_r = -1;
jpayne@69 16320 __pyx_L0:;
jpayne@69 16321 __Pyx_RefNannyFinishContext();
jpayne@69 16322 return __pyx_r;
jpayne@69 16323 }
jpayne@69 16324 #endif /*!(#if PY_MAJOR_VERSION < 3)*/
jpayne@69 16325
jpayne@69 16326 /* "pysam/libctabixproxies.pyx":538
jpayne@69 16327 *
jpayne@69 16328 * # python 3 compatibility
jpayne@69 16329 * def __richcmp__(GTFProxy self, GTFProxy other, int op): # <<<<<<<<<<<<<<
jpayne@69 16330 * if op == 0:
jpayne@69 16331 * return (self.contig, self.strand, self.start) < \
jpayne@69 16332 */
jpayne@69 16333
jpayne@69 16334 /* Python wrapper */
jpayne@69 16335 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_27__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op); /*proto*/
jpayne@69 16336 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_27__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_op) {
jpayne@69 16337 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 16338 int __pyx_lineno = 0;
jpayne@69 16339 const char *__pyx_filename = NULL;
jpayne@69 16340 int __pyx_clineno = 0;
jpayne@69 16341 PyObject *__pyx_r = 0;
jpayne@69 16342 __Pyx_RefNannyDeclarations
jpayne@69 16343 __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
jpayne@69 16344 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 16345 if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_other), __pyx_ptype_5pysam_16libctabixproxies_GTFProxy, 1, "other", 0))) __PYX_ERR(0, 538, __pyx_L1_error)
jpayne@69 16346 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_26__richcmp__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), ((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_other), ((int)__pyx_v_op));
jpayne@69 16347
jpayne@69 16348 /* function exit code */
jpayne@69 16349 goto __pyx_L0;
jpayne@69 16350 __pyx_L1_error:;
jpayne@69 16351 __pyx_r = NULL;
jpayne@69 16352 __pyx_L0:;
jpayne@69 16353 __Pyx_RefNannyFinishContext();
jpayne@69 16354 return __pyx_r;
jpayne@69 16355 }
jpayne@69 16356
jpayne@69 16357 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_26__richcmp__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_other, int __pyx_v_op) {
jpayne@69 16358 PyObject *__pyx_v_err_msg = NULL;
jpayne@69 16359 PyObject *__pyx_r = NULL;
jpayne@69 16360 __Pyx_RefNannyDeclarations
jpayne@69 16361 PyObject *__pyx_t_1 = NULL;
jpayne@69 16362 PyObject *__pyx_t_2 = NULL;
jpayne@69 16363 PyObject *__pyx_t_3 = NULL;
jpayne@69 16364 PyObject *__pyx_t_4 = NULL;
jpayne@69 16365 PyObject *__pyx_t_5 = NULL;
jpayne@69 16366 unsigned int __pyx_t_6;
jpayne@69 16367 int __pyx_lineno = 0;
jpayne@69 16368 const char *__pyx_filename = NULL;
jpayne@69 16369 int __pyx_clineno = 0;
jpayne@69 16370 __Pyx_RefNannySetupContext("__richcmp__", 1);
jpayne@69 16371
jpayne@69 16372 /* "pysam/libctabixproxies.pyx":539
jpayne@69 16373 * # python 3 compatibility
jpayne@69 16374 * def __richcmp__(GTFProxy self, GTFProxy other, int op):
jpayne@69 16375 * if op == 0: # <<<<<<<<<<<<<<
jpayne@69 16376 * return (self.contig, self.strand, self.start) < \
jpayne@69 16377 * (other.contig, other.strand, other.start)
jpayne@69 16378 */
jpayne@69 16379 switch (__pyx_v_op) {
jpayne@69 16380 case 0:
jpayne@69 16381
jpayne@69 16382 /* "pysam/libctabixproxies.pyx":540
jpayne@69 16383 * def __richcmp__(GTFProxy self, GTFProxy other, int op):
jpayne@69 16384 * if op == 0:
jpayne@69 16385 * return (self.contig, self.strand, self.start) < \ # <<<<<<<<<<<<<<
jpayne@69 16386 * (other.contig, other.strand, other.start)
jpayne@69 16387 * elif op == 1:
jpayne@69 16388 */
jpayne@69 16389 __Pyx_XDECREF(__pyx_r);
jpayne@69 16390 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_contig); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error)
jpayne@69 16391 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16392 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_strand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 540, __pyx_L1_error)
jpayne@69 16393 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 16394 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_start); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 540, __pyx_L1_error)
jpayne@69 16395 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16396 __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 540, __pyx_L1_error)
jpayne@69 16397 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 16398 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 16399 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error);
jpayne@69 16400 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 16401 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2)) __PYX_ERR(0, 540, __pyx_L1_error);
jpayne@69 16402 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 16403 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3)) __PYX_ERR(0, 540, __pyx_L1_error);
jpayne@69 16404 __pyx_t_1 = 0;
jpayne@69 16405 __pyx_t_2 = 0;
jpayne@69 16406 __pyx_t_3 = 0;
jpayne@69 16407
jpayne@69 16408 /* "pysam/libctabixproxies.pyx":541
jpayne@69 16409 * if op == 0:
jpayne@69 16410 * return (self.contig, self.strand, self.start) < \
jpayne@69 16411 * (other.contig, other.strand, other.start) # <<<<<<<<<<<<<<
jpayne@69 16412 * elif op == 1:
jpayne@69 16413 * return (self.contig, self.strand, self.start) <= \
jpayne@69 16414 */
jpayne@69 16415 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_other), __pyx_n_s_contig); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error)
jpayne@69 16416 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16417 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_other), __pyx_n_s_strand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 541, __pyx_L1_error)
jpayne@69 16418 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 16419 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_other), __pyx_n_s_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error)
jpayne@69 16420 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16421 __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
jpayne@69 16422 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16423 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 16424 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error);
jpayne@69 16425 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 16426 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2)) __PYX_ERR(0, 541, __pyx_L1_error);
jpayne@69 16427 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 16428 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error);
jpayne@69 16429 __pyx_t_3 = 0;
jpayne@69 16430 __pyx_t_2 = 0;
jpayne@69 16431 __pyx_t_1 = 0;
jpayne@69 16432 __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error)
jpayne@69 16433 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 16434 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 16435 __pyx_r = __pyx_t_1;
jpayne@69 16436 __pyx_t_1 = 0;
jpayne@69 16437 goto __pyx_L0;
jpayne@69 16438
jpayne@69 16439 /* "pysam/libctabixproxies.pyx":539
jpayne@69 16440 * # python 3 compatibility
jpayne@69 16441 * def __richcmp__(GTFProxy self, GTFProxy other, int op):
jpayne@69 16442 * if op == 0: # <<<<<<<<<<<<<<
jpayne@69 16443 * return (self.contig, self.strand, self.start) < \
jpayne@69 16444 * (other.contig, other.strand, other.start)
jpayne@69 16445 */
jpayne@69 16446 break;
jpayne@69 16447 case 1:
jpayne@69 16448
jpayne@69 16449 /* "pysam/libctabixproxies.pyx":543
jpayne@69 16450 * (other.contig, other.strand, other.start)
jpayne@69 16451 * elif op == 1:
jpayne@69 16452 * return (self.contig, self.strand, self.start) <= \ # <<<<<<<<<<<<<<
jpayne@69 16453 * (other.contig, other.strand, other.start)
jpayne@69 16454 * elif op == 2:
jpayne@69 16455 */
jpayne@69 16456 __Pyx_XDECREF(__pyx_r);
jpayne@69 16457 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_contig); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error)
jpayne@69 16458 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16459 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_strand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 543, __pyx_L1_error)
jpayne@69 16460 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16461 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_start); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error)
jpayne@69 16462 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 16463 __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 543, __pyx_L1_error)
jpayne@69 16464 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 16465 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 16466 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error);
jpayne@69 16467 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 16468 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_5)) __PYX_ERR(0, 543, __pyx_L1_error);
jpayne@69 16469 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 16470 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_t_4)) __PYX_ERR(0, 543, __pyx_L1_error);
jpayne@69 16471 __pyx_t_1 = 0;
jpayne@69 16472 __pyx_t_5 = 0;
jpayne@69 16473 __pyx_t_4 = 0;
jpayne@69 16474
jpayne@69 16475 /* "pysam/libctabixproxies.pyx":544
jpayne@69 16476 * elif op == 1:
jpayne@69 16477 * return (self.contig, self.strand, self.start) <= \
jpayne@69 16478 * (other.contig, other.strand, other.start) # <<<<<<<<<<<<<<
jpayne@69 16479 * elif op == 2:
jpayne@69 16480 * return self.compare(other) == 0
jpayne@69 16481 */
jpayne@69 16482 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_other), __pyx_n_s_contig); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 544, __pyx_L1_error)
jpayne@69 16483 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 16484 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_other), __pyx_n_s_strand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 544, __pyx_L1_error)
jpayne@69 16485 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16486 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_other), __pyx_n_s_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 544, __pyx_L1_error)
jpayne@69 16487 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16488 __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 544, __pyx_L1_error)
jpayne@69 16489 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16490 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 16491 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(0, 544, __pyx_L1_error);
jpayne@69 16492 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 16493 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5)) __PYX_ERR(0, 544, __pyx_L1_error);
jpayne@69 16494 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 16495 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_1)) __PYX_ERR(0, 544, __pyx_L1_error);
jpayne@69 16496 __pyx_t_4 = 0;
jpayne@69 16497 __pyx_t_5 = 0;
jpayne@69 16498 __pyx_t_1 = 0;
jpayne@69 16499 __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 543, __pyx_L1_error)
jpayne@69 16500 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 16501 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 16502 __pyx_r = __pyx_t_1;
jpayne@69 16503 __pyx_t_1 = 0;
jpayne@69 16504 goto __pyx_L0;
jpayne@69 16505
jpayne@69 16506 /* "pysam/libctabixproxies.pyx":542
jpayne@69 16507 * return (self.contig, self.strand, self.start) < \
jpayne@69 16508 * (other.contig, other.strand, other.start)
jpayne@69 16509 * elif op == 1: # <<<<<<<<<<<<<<
jpayne@69 16510 * return (self.contig, self.strand, self.start) <= \
jpayne@69 16511 * (other.contig, other.strand, other.start)
jpayne@69 16512 */
jpayne@69 16513 break;
jpayne@69 16514 case 2:
jpayne@69 16515
jpayne@69 16516 /* "pysam/libctabixproxies.pyx":546
jpayne@69 16517 * (other.contig, other.strand, other.start)
jpayne@69 16518 * elif op == 2:
jpayne@69 16519 * return self.compare(other) == 0 # <<<<<<<<<<<<<<
jpayne@69 16520 * elif op == 3:
jpayne@69 16521 * return self.compare(other) != 0
jpayne@69 16522 */
jpayne@69 16523 __Pyx_XDECREF(__pyx_r);
jpayne@69 16524 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_compare); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L1_error)
jpayne@69 16525 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16526 __pyx_t_2 = NULL;
jpayne@69 16527 __pyx_t_6 = 0;
jpayne@69 16528 #if CYTHON_UNPACK_METHODS
jpayne@69 16529 if (likely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 16530 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 16531 if (likely(__pyx_t_2)) {
jpayne@69 16532 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 16533 __Pyx_INCREF(__pyx_t_2);
jpayne@69 16534 __Pyx_INCREF(function);
jpayne@69 16535 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 16536 __pyx_t_6 = 1;
jpayne@69 16537 }
jpayne@69 16538 }
jpayne@69 16539 #endif
jpayne@69 16540 {
jpayne@69 16541 PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_other)};
jpayne@69 16542 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 16543 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 16544 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 546, __pyx_L1_error)
jpayne@69 16545 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16546 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 16547 }
jpayne@69 16548 __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L1_error)
jpayne@69 16549 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16550 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 16551 __pyx_r = __pyx_t_3;
jpayne@69 16552 __pyx_t_3 = 0;
jpayne@69 16553 goto __pyx_L0;
jpayne@69 16554
jpayne@69 16555 /* "pysam/libctabixproxies.pyx":545
jpayne@69 16556 * return (self.contig, self.strand, self.start) <= \
jpayne@69 16557 * (other.contig, other.strand, other.start)
jpayne@69 16558 * elif op == 2: # <<<<<<<<<<<<<<
jpayne@69 16559 * return self.compare(other) == 0
jpayne@69 16560 * elif op == 3:
jpayne@69 16561 */
jpayne@69 16562 break;
jpayne@69 16563 case 3:
jpayne@69 16564
jpayne@69 16565 /* "pysam/libctabixproxies.pyx":548
jpayne@69 16566 * return self.compare(other) == 0
jpayne@69 16567 * elif op == 3:
jpayne@69 16568 * return self.compare(other) != 0 # <<<<<<<<<<<<<<
jpayne@69 16569 * else:
jpayne@69 16570 * err_msg = "op {0} isn't implemented yet".format(op)
jpayne@69 16571 */
jpayne@69 16572 __Pyx_XDECREF(__pyx_r);
jpayne@69 16573 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_compare); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L1_error)
jpayne@69 16574 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16575 __pyx_t_2 = NULL;
jpayne@69 16576 __pyx_t_6 = 0;
jpayne@69 16577 #if CYTHON_UNPACK_METHODS
jpayne@69 16578 if (likely(PyMethod_Check(__pyx_t_1))) {
jpayne@69 16579 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
jpayne@69 16580 if (likely(__pyx_t_2)) {
jpayne@69 16581 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
jpayne@69 16582 __Pyx_INCREF(__pyx_t_2);
jpayne@69 16583 __Pyx_INCREF(function);
jpayne@69 16584 __Pyx_DECREF_SET(__pyx_t_1, function);
jpayne@69 16585 __pyx_t_6 = 1;
jpayne@69 16586 }
jpayne@69 16587 }
jpayne@69 16588 #endif
jpayne@69 16589 {
jpayne@69 16590 PyObject *__pyx_callargs[2] = {__pyx_t_2, ((PyObject *)__pyx_v_other)};
jpayne@69 16591 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 16592 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 16593 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error)
jpayne@69 16594 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16595 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 16596 }
jpayne@69 16597 __pyx_t_1 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L1_error)
jpayne@69 16598 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16599 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 16600 __pyx_r = __pyx_t_1;
jpayne@69 16601 __pyx_t_1 = 0;
jpayne@69 16602 goto __pyx_L0;
jpayne@69 16603
jpayne@69 16604 /* "pysam/libctabixproxies.pyx":547
jpayne@69 16605 * elif op == 2:
jpayne@69 16606 * return self.compare(other) == 0
jpayne@69 16607 * elif op == 3: # <<<<<<<<<<<<<<
jpayne@69 16608 * return self.compare(other) != 0
jpayne@69 16609 * else:
jpayne@69 16610 */
jpayne@69 16611 break;
jpayne@69 16612 default:
jpayne@69 16613
jpayne@69 16614 /* "pysam/libctabixproxies.pyx":550
jpayne@69 16615 * return self.compare(other) != 0
jpayne@69 16616 * else:
jpayne@69 16617 * err_msg = "op {0} isn't implemented yet".format(op) # <<<<<<<<<<<<<<
jpayne@69 16618 * raise NotImplementedError(err_msg)
jpayne@69 16619 *
jpayne@69 16620 */
jpayne@69 16621 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u_op_0_isn_t_implemented_yet, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 550, __pyx_L1_error)
jpayne@69 16622 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 16623 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_op); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 550, __pyx_L1_error)
jpayne@69 16624 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 16625 __pyx_t_5 = NULL;
jpayne@69 16626 __pyx_t_6 = 0;
jpayne@69 16627 #if CYTHON_UNPACK_METHODS
jpayne@69 16628 if (likely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 16629 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 16630 if (likely(__pyx_t_5)) {
jpayne@69 16631 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 16632 __Pyx_INCREF(__pyx_t_5);
jpayne@69 16633 __Pyx_INCREF(function);
jpayne@69 16634 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 16635 __pyx_t_6 = 1;
jpayne@69 16636 }
jpayne@69 16637 }
jpayne@69 16638 #endif
jpayne@69 16639 {
jpayne@69 16640 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2};
jpayne@69 16641 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
jpayne@69 16642 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 16643 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 16644 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 550, __pyx_L1_error)
jpayne@69 16645 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16646 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 16647 }
jpayne@69 16648 __pyx_v_err_msg = __pyx_t_1;
jpayne@69 16649 __pyx_t_1 = 0;
jpayne@69 16650
jpayne@69 16651 /* "pysam/libctabixproxies.pyx":551
jpayne@69 16652 * else:
jpayne@69 16653 * err_msg = "op {0} isn't implemented yet".format(op)
jpayne@69 16654 * raise NotImplementedError(err_msg) # <<<<<<<<<<<<<<
jpayne@69 16655 *
jpayne@69 16656 * def dict2attribute_string(self, d):
jpayne@69 16657 */
jpayne@69 16658 __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_NotImplementedError, __pyx_v_err_msg); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error)
jpayne@69 16659 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16660 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
jpayne@69 16661 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 16662 __PYX_ERR(0, 551, __pyx_L1_error)
jpayne@69 16663 break;
jpayne@69 16664 }
jpayne@69 16665
jpayne@69 16666 /* "pysam/libctabixproxies.pyx":538
jpayne@69 16667 *
jpayne@69 16668 * # python 3 compatibility
jpayne@69 16669 * def __richcmp__(GTFProxy self, GTFProxy other, int op): # <<<<<<<<<<<<<<
jpayne@69 16670 * if op == 0:
jpayne@69 16671 * return (self.contig, self.strand, self.start) < \
jpayne@69 16672 */
jpayne@69 16673
jpayne@69 16674 /* function exit code */
jpayne@69 16675 __pyx_L1_error:;
jpayne@69 16676 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 16677 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 16678 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 16679 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 16680 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 16681 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 16682 __pyx_r = NULL;
jpayne@69 16683 __pyx_L0:;
jpayne@69 16684 __Pyx_XDECREF(__pyx_v_err_msg);
jpayne@69 16685 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 16686 __Pyx_RefNannyFinishContext();
jpayne@69 16687 return __pyx_r;
jpayne@69 16688 }
jpayne@69 16689
jpayne@69 16690 /* "pysam/libctabixproxies.pyx":553
jpayne@69 16691 * raise NotImplementedError(err_msg)
jpayne@69 16692 *
jpayne@69 16693 * def dict2attribute_string(self, d): # <<<<<<<<<<<<<<
jpayne@69 16694 * """convert dictionary to attribute string in GTF format.
jpayne@69 16695 *
jpayne@69 16696 */
jpayne@69 16697
jpayne@69 16698 /* Python wrapper */
jpayne@69 16699 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_29dict2attribute_string(PyObject *__pyx_v_self,
jpayne@69 16700 #if CYTHON_METH_FASTCALL
jpayne@69 16701 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 16702 #else
jpayne@69 16703 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 16704 #endif
jpayne@69 16705 ); /*proto*/
jpayne@69 16706 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_28dict2attribute_string, "convert dictionary to attribute string in GTF format.\n\n ");
jpayne@69 16707 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_29dict2attribute_string = {"dict2attribute_string", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_29dict2attribute_string, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_28dict2attribute_string};
jpayne@69 16708 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_29dict2attribute_string(PyObject *__pyx_v_self,
jpayne@69 16709 #if CYTHON_METH_FASTCALL
jpayne@69 16710 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 16711 #else
jpayne@69 16712 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 16713 #endif
jpayne@69 16714 ) {
jpayne@69 16715 PyObject *__pyx_v_d = 0;
jpayne@69 16716 #if !CYTHON_METH_FASTCALL
jpayne@69 16717 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 16718 #endif
jpayne@69 16719 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 16720 PyObject* values[1] = {0};
jpayne@69 16721 int __pyx_lineno = 0;
jpayne@69 16722 const char *__pyx_filename = NULL;
jpayne@69 16723 int __pyx_clineno = 0;
jpayne@69 16724 PyObject *__pyx_r = 0;
jpayne@69 16725 __Pyx_RefNannyDeclarations
jpayne@69 16726 __Pyx_RefNannySetupContext("dict2attribute_string (wrapper)", 0);
jpayne@69 16727 #if !CYTHON_METH_FASTCALL
jpayne@69 16728 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 16729 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 16730 #else
jpayne@69 16731 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 16732 #endif
jpayne@69 16733 #endif
jpayne@69 16734 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 16735 {
jpayne@69 16736 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_d,0};
jpayne@69 16737 if (__pyx_kwds) {
jpayne@69 16738 Py_ssize_t kw_args;
jpayne@69 16739 switch (__pyx_nargs) {
jpayne@69 16740 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 16741 CYTHON_FALLTHROUGH;
jpayne@69 16742 case 0: break;
jpayne@69 16743 default: goto __pyx_L5_argtuple_error;
jpayne@69 16744 }
jpayne@69 16745 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 16746 switch (__pyx_nargs) {
jpayne@69 16747 case 0:
jpayne@69 16748 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
jpayne@69 16749 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 16750 kw_args--;
jpayne@69 16751 }
jpayne@69 16752 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 553, __pyx_L3_error)
jpayne@69 16753 else goto __pyx_L5_argtuple_error;
jpayne@69 16754 }
jpayne@69 16755 if (unlikely(kw_args > 0)) {
jpayne@69 16756 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 16757 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "dict2attribute_string") < 0)) __PYX_ERR(0, 553, __pyx_L3_error)
jpayne@69 16758 }
jpayne@69 16759 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 16760 goto __pyx_L5_argtuple_error;
jpayne@69 16761 } else {
jpayne@69 16762 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 16763 }
jpayne@69 16764 __pyx_v_d = values[0];
jpayne@69 16765 }
jpayne@69 16766 goto __pyx_L6_skip;
jpayne@69 16767 __pyx_L5_argtuple_error:;
jpayne@69 16768 __Pyx_RaiseArgtupleInvalid("dict2attribute_string", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 553, __pyx_L3_error)
jpayne@69 16769 __pyx_L6_skip:;
jpayne@69 16770 goto __pyx_L4_argument_unpacking_done;
jpayne@69 16771 __pyx_L3_error:;
jpayne@69 16772 {
jpayne@69 16773 Py_ssize_t __pyx_temp;
jpayne@69 16774 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 16775 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 16776 }
jpayne@69 16777 }
jpayne@69 16778 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.dict2attribute_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 16779 __Pyx_RefNannyFinishContext();
jpayne@69 16780 return NULL;
jpayne@69 16781 __pyx_L4_argument_unpacking_done:;
jpayne@69 16782 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_28dict2attribute_string(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v_d);
jpayne@69 16783
jpayne@69 16784 /* function exit code */
jpayne@69 16785 {
jpayne@69 16786 Py_ssize_t __pyx_temp;
jpayne@69 16787 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 16788 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 16789 }
jpayne@69 16790 }
jpayne@69 16791 __Pyx_RefNannyFinishContext();
jpayne@69 16792 return __pyx_r;
jpayne@69 16793 }
jpayne@69 16794
jpayne@69 16795 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_28dict2attribute_string(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_d) {
jpayne@69 16796 PyObject *__pyx_v_aa = NULL;
jpayne@69 16797 PyObject *__pyx_v_k = NULL;
jpayne@69 16798 PyObject *__pyx_v_v = NULL;
jpayne@69 16799 PyObject *__pyx_r = NULL;
jpayne@69 16800 __Pyx_RefNannyDeclarations
jpayne@69 16801 PyObject *__pyx_t_1 = NULL;
jpayne@69 16802 Py_ssize_t __pyx_t_2;
jpayne@69 16803 Py_ssize_t __pyx_t_3;
jpayne@69 16804 int __pyx_t_4;
jpayne@69 16805 PyObject *__pyx_t_5 = NULL;
jpayne@69 16806 PyObject *__pyx_t_6 = NULL;
jpayne@69 16807 int __pyx_t_7;
jpayne@69 16808 int __pyx_t_8;
jpayne@69 16809 PyObject *__pyx_t_9 = NULL;
jpayne@69 16810 unsigned int __pyx_t_10;
jpayne@69 16811 int __pyx_t_11;
jpayne@69 16812 PyObject *__pyx_t_12 = NULL;
jpayne@69 16813 int __pyx_lineno = 0;
jpayne@69 16814 const char *__pyx_filename = NULL;
jpayne@69 16815 int __pyx_clineno = 0;
jpayne@69 16816 __Pyx_RefNannySetupContext("dict2attribute_string", 1);
jpayne@69 16817
jpayne@69 16818 /* "pysam/libctabixproxies.pyx":557
jpayne@69 16819 *
jpayne@69 16820 * """
jpayne@69 16821 * aa = [] # <<<<<<<<<<<<<<
jpayne@69 16822 * for k, v in d.items():
jpayne@69 16823 * if isinstance(v, str):
jpayne@69 16824 */
jpayne@69 16825 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L1_error)
jpayne@69 16826 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16827 __pyx_v_aa = ((PyObject*)__pyx_t_1);
jpayne@69 16828 __pyx_t_1 = 0;
jpayne@69 16829
jpayne@69 16830 /* "pysam/libctabixproxies.pyx":558
jpayne@69 16831 * """
jpayne@69 16832 * aa = []
jpayne@69 16833 * for k, v in d.items(): # <<<<<<<<<<<<<<
jpayne@69 16834 * if isinstance(v, str):
jpayne@69 16835 * aa.append('{} "{}"'.format(k, v))
jpayne@69 16836 */
jpayne@69 16837 __pyx_t_2 = 0;
jpayne@69 16838 if (unlikely(__pyx_v_d == Py_None)) {
jpayne@69 16839 PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
jpayne@69 16840 __PYX_ERR(0, 558, __pyx_L1_error)
jpayne@69 16841 }
jpayne@69 16842 __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_d, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 558, __pyx_L1_error)
jpayne@69 16843 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16844 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 16845 __pyx_t_1 = __pyx_t_5;
jpayne@69 16846 __pyx_t_5 = 0;
jpayne@69 16847 while (1) {
jpayne@69 16848 __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
jpayne@69 16849 if (unlikely(__pyx_t_7 == 0)) break;
jpayne@69 16850 if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 558, __pyx_L1_error)
jpayne@69 16851 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16852 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 16853 __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_5);
jpayne@69 16854 __pyx_t_5 = 0;
jpayne@69 16855 __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_6);
jpayne@69 16856 __pyx_t_6 = 0;
jpayne@69 16857
jpayne@69 16858 /* "pysam/libctabixproxies.pyx":559
jpayne@69 16859 * aa = []
jpayne@69 16860 * for k, v in d.items():
jpayne@69 16861 * if isinstance(v, str): # <<<<<<<<<<<<<<
jpayne@69 16862 * aa.append('{} "{}"'.format(k, v))
jpayne@69 16863 * else:
jpayne@69 16864 */
jpayne@69 16865 __pyx_t_8 = PyUnicode_Check(__pyx_v_v);
jpayne@69 16866 if (__pyx_t_8) {
jpayne@69 16867
jpayne@69 16868 /* "pysam/libctabixproxies.pyx":560
jpayne@69 16869 * for k, v in d.items():
jpayne@69 16870 * if isinstance(v, str):
jpayne@69 16871 * aa.append('{} "{}"'.format(k, v)) # <<<<<<<<<<<<<<
jpayne@69 16872 * else:
jpayne@69 16873 * aa.append("{} {}".format(k, str(v)))
jpayne@69 16874 */
jpayne@69 16875 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u__15, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 560, __pyx_L1_error)
jpayne@69 16876 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16877 __pyx_t_9 = NULL;
jpayne@69 16878 __pyx_t_10 = 0;
jpayne@69 16879 #if CYTHON_UNPACK_METHODS
jpayne@69 16880 if (likely(PyMethod_Check(__pyx_t_5))) {
jpayne@69 16881 __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
jpayne@69 16882 if (likely(__pyx_t_9)) {
jpayne@69 16883 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
jpayne@69 16884 __Pyx_INCREF(__pyx_t_9);
jpayne@69 16885 __Pyx_INCREF(function);
jpayne@69 16886 __Pyx_DECREF_SET(__pyx_t_5, function);
jpayne@69 16887 __pyx_t_10 = 1;
jpayne@69 16888 }
jpayne@69 16889 }
jpayne@69 16890 #endif
jpayne@69 16891 {
jpayne@69 16892 PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_v_k, __pyx_v_v};
jpayne@69 16893 __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10);
jpayne@69 16894 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 16895 if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 560, __pyx_L1_error)
jpayne@69 16896 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 16897 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 16898 }
jpayne@69 16899 __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_aa, __pyx_t_6); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 560, __pyx_L1_error)
jpayne@69 16900 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 16901
jpayne@69 16902 /* "pysam/libctabixproxies.pyx":559
jpayne@69 16903 * aa = []
jpayne@69 16904 * for k, v in d.items():
jpayne@69 16905 * if isinstance(v, str): # <<<<<<<<<<<<<<
jpayne@69 16906 * aa.append('{} "{}"'.format(k, v))
jpayne@69 16907 * else:
jpayne@69 16908 */
jpayne@69 16909 goto __pyx_L5;
jpayne@69 16910 }
jpayne@69 16911
jpayne@69 16912 /* "pysam/libctabixproxies.pyx":562
jpayne@69 16913 * aa.append('{} "{}"'.format(k, v))
jpayne@69 16914 * else:
jpayne@69 16915 * aa.append("{} {}".format(k, str(v))) # <<<<<<<<<<<<<<
jpayne@69 16916 *
jpayne@69 16917 * return self.separator.join(aa) + ";"
jpayne@69 16918 */
jpayne@69 16919 /*else*/ {
jpayne@69 16920 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u__16, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 562, __pyx_L1_error)
jpayne@69 16921 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16922 __pyx_t_9 = __Pyx_PyObject_Unicode(__pyx_v_v); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 562, __pyx_L1_error)
jpayne@69 16923 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 16924 __pyx_t_12 = NULL;
jpayne@69 16925 __pyx_t_10 = 0;
jpayne@69 16926 #if CYTHON_UNPACK_METHODS
jpayne@69 16927 if (likely(PyMethod_Check(__pyx_t_5))) {
jpayne@69 16928 __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_5);
jpayne@69 16929 if (likely(__pyx_t_12)) {
jpayne@69 16930 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
jpayne@69 16931 __Pyx_INCREF(__pyx_t_12);
jpayne@69 16932 __Pyx_INCREF(function);
jpayne@69 16933 __Pyx_DECREF_SET(__pyx_t_5, function);
jpayne@69 16934 __pyx_t_10 = 1;
jpayne@69 16935 }
jpayne@69 16936 }
jpayne@69 16937 #endif
jpayne@69 16938 {
jpayne@69 16939 PyObject *__pyx_callargs[3] = {__pyx_t_12, __pyx_v_k, __pyx_t_9};
jpayne@69 16940 __pyx_t_6 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10);
jpayne@69 16941 __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
jpayne@69 16942 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 16943 if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 562, __pyx_L1_error)
jpayne@69 16944 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 16945 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 16946 }
jpayne@69 16947 __pyx_t_11 = __Pyx_PyList_Append(__pyx_v_aa, __pyx_t_6); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 562, __pyx_L1_error)
jpayne@69 16948 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 16949 }
jpayne@69 16950 __pyx_L5:;
jpayne@69 16951 }
jpayne@69 16952 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 16953
jpayne@69 16954 /* "pysam/libctabixproxies.pyx":564
jpayne@69 16955 * aa.append("{} {}".format(k, str(v)))
jpayne@69 16956 *
jpayne@69 16957 * return self.separator.join(aa) + ";" # <<<<<<<<<<<<<<
jpayne@69 16958 *
jpayne@69 16959 * def attribute_string2iterator(self, s):
jpayne@69 16960 */
jpayne@69 16961 __Pyx_XDECREF(__pyx_r);
jpayne@69 16962 __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_separator); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 564, __pyx_L1_error)
jpayne@69 16963 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 16964 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_join); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error)
jpayne@69 16965 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16966 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 16967 __pyx_t_6 = NULL;
jpayne@69 16968 __pyx_t_10 = 0;
jpayne@69 16969 #if CYTHON_UNPACK_METHODS
jpayne@69 16970 if (likely(PyMethod_Check(__pyx_t_5))) {
jpayne@69 16971 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
jpayne@69 16972 if (likely(__pyx_t_6)) {
jpayne@69 16973 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
jpayne@69 16974 __Pyx_INCREF(__pyx_t_6);
jpayne@69 16975 __Pyx_INCREF(function);
jpayne@69 16976 __Pyx_DECREF_SET(__pyx_t_5, function);
jpayne@69 16977 __pyx_t_10 = 1;
jpayne@69 16978 }
jpayne@69 16979 }
jpayne@69 16980 #endif
jpayne@69 16981 {
jpayne@69 16982 PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_v_aa};
jpayne@69 16983 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_10, 1+__pyx_t_10);
jpayne@69 16984 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 16985 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 564, __pyx_L1_error)
jpayne@69 16986 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 16987 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 16988 }
jpayne@69 16989 __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_kp_u__17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error)
jpayne@69 16990 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 16991 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 16992 __pyx_r = __pyx_t_5;
jpayne@69 16993 __pyx_t_5 = 0;
jpayne@69 16994 goto __pyx_L0;
jpayne@69 16995
jpayne@69 16996 /* "pysam/libctabixproxies.pyx":553
jpayne@69 16997 * raise NotImplementedError(err_msg)
jpayne@69 16998 *
jpayne@69 16999 * def dict2attribute_string(self, d): # <<<<<<<<<<<<<<
jpayne@69 17000 * """convert dictionary to attribute string in GTF format.
jpayne@69 17001 *
jpayne@69 17002 */
jpayne@69 17003
jpayne@69 17004 /* function exit code */
jpayne@69 17005 __pyx_L1_error:;
jpayne@69 17006 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 17007 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 17008 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 17009 __Pyx_XDECREF(__pyx_t_9);
jpayne@69 17010 __Pyx_XDECREF(__pyx_t_12);
jpayne@69 17011 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.dict2attribute_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 17012 __pyx_r = NULL;
jpayne@69 17013 __pyx_L0:;
jpayne@69 17014 __Pyx_XDECREF(__pyx_v_aa);
jpayne@69 17015 __Pyx_XDECREF(__pyx_v_k);
jpayne@69 17016 __Pyx_XDECREF(__pyx_v_v);
jpayne@69 17017 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 17018 __Pyx_RefNannyFinishContext();
jpayne@69 17019 return __pyx_r;
jpayne@69 17020 }
jpayne@69 17021 static PyObject *__pyx_gb_5pysam_16libctabixproxies_8GTFProxy_32generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
jpayne@69 17022
jpayne@69 17023 /* "pysam/libctabixproxies.pyx":566
jpayne@69 17024 * return self.separator.join(aa) + ";"
jpayne@69 17025 *
jpayne@69 17026 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 17027 * """convert attribute string in GTF format to records
jpayne@69 17028 * and iterate over key, value pairs.
jpayne@69 17029 */
jpayne@69 17030
jpayne@69 17031 /* Python wrapper */
jpayne@69 17032 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_31attribute_string2iterator(PyObject *__pyx_v_self,
jpayne@69 17033 #if CYTHON_METH_FASTCALL
jpayne@69 17034 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 17035 #else
jpayne@69 17036 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 17037 #endif
jpayne@69 17038 ); /*proto*/
jpayne@69 17039 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_30attribute_string2iterator, "convert attribute string in GTF format to records\n and iterate over key, value pairs.\n ");
jpayne@69 17040 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_31attribute_string2iterator = {"attribute_string2iterator", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_31attribute_string2iterator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_30attribute_string2iterator};
jpayne@69 17041 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_31attribute_string2iterator(PyObject *__pyx_v_self,
jpayne@69 17042 #if CYTHON_METH_FASTCALL
jpayne@69 17043 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 17044 #else
jpayne@69 17045 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 17046 #endif
jpayne@69 17047 ) {
jpayne@69 17048 PyObject *__pyx_v_s = 0;
jpayne@69 17049 #if !CYTHON_METH_FASTCALL
jpayne@69 17050 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 17051 #endif
jpayne@69 17052 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 17053 PyObject* values[1] = {0};
jpayne@69 17054 int __pyx_lineno = 0;
jpayne@69 17055 const char *__pyx_filename = NULL;
jpayne@69 17056 int __pyx_clineno = 0;
jpayne@69 17057 PyObject *__pyx_r = 0;
jpayne@69 17058 __Pyx_RefNannyDeclarations
jpayne@69 17059 __Pyx_RefNannySetupContext("attribute_string2iterator (wrapper)", 0);
jpayne@69 17060 #if !CYTHON_METH_FASTCALL
jpayne@69 17061 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 17062 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 17063 #else
jpayne@69 17064 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 17065 #endif
jpayne@69 17066 #endif
jpayne@69 17067 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 17068 {
jpayne@69 17069 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s_2,0};
jpayne@69 17070 if (__pyx_kwds) {
jpayne@69 17071 Py_ssize_t kw_args;
jpayne@69 17072 switch (__pyx_nargs) {
jpayne@69 17073 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 17074 CYTHON_FALLTHROUGH;
jpayne@69 17075 case 0: break;
jpayne@69 17076 default: goto __pyx_L5_argtuple_error;
jpayne@69 17077 }
jpayne@69 17078 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 17079 switch (__pyx_nargs) {
jpayne@69 17080 case 0:
jpayne@69 17081 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s_2)) != 0)) {
jpayne@69 17082 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 17083 kw_args--;
jpayne@69 17084 }
jpayne@69 17085 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 566, __pyx_L3_error)
jpayne@69 17086 else goto __pyx_L5_argtuple_error;
jpayne@69 17087 }
jpayne@69 17088 if (unlikely(kw_args > 0)) {
jpayne@69 17089 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 17090 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "attribute_string2iterator") < 0)) __PYX_ERR(0, 566, __pyx_L3_error)
jpayne@69 17091 }
jpayne@69 17092 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 17093 goto __pyx_L5_argtuple_error;
jpayne@69 17094 } else {
jpayne@69 17095 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 17096 }
jpayne@69 17097 __pyx_v_s = values[0];
jpayne@69 17098 }
jpayne@69 17099 goto __pyx_L6_skip;
jpayne@69 17100 __pyx_L5_argtuple_error:;
jpayne@69 17101 __Pyx_RaiseArgtupleInvalid("attribute_string2iterator", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 566, __pyx_L3_error)
jpayne@69 17102 __pyx_L6_skip:;
jpayne@69 17103 goto __pyx_L4_argument_unpacking_done;
jpayne@69 17104 __pyx_L3_error:;
jpayne@69 17105 {
jpayne@69 17106 Py_ssize_t __pyx_temp;
jpayne@69 17107 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 17108 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 17109 }
jpayne@69 17110 }
jpayne@69 17111 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.attribute_string2iterator", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 17112 __Pyx_RefNannyFinishContext();
jpayne@69 17113 return NULL;
jpayne@69 17114 __pyx_L4_argument_unpacking_done:;
jpayne@69 17115 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_30attribute_string2iterator(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v_s);
jpayne@69 17116
jpayne@69 17117 /* function exit code */
jpayne@69 17118 {
jpayne@69 17119 Py_ssize_t __pyx_temp;
jpayne@69 17120 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 17121 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 17122 }
jpayne@69 17123 }
jpayne@69 17124 __Pyx_RefNannyFinishContext();
jpayne@69 17125 return __pyx_r;
jpayne@69 17126 }
jpayne@69 17127
jpayne@69 17128 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_30attribute_string2iterator(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_s) {
jpayne@69 17129 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *__pyx_cur_scope;
jpayne@69 17130 PyObject *__pyx_r = NULL;
jpayne@69 17131 __Pyx_RefNannyDeclarations
jpayne@69 17132 int __pyx_lineno = 0;
jpayne@69 17133 const char *__pyx_filename = NULL;
jpayne@69 17134 int __pyx_clineno = 0;
jpayne@69 17135 __Pyx_RefNannySetupContext("attribute_string2iterator", 0);
jpayne@69 17136 __pyx_cur_scope = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *)__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator(__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator, __pyx_empty_tuple, NULL);
jpayne@69 17137 if (unlikely(!__pyx_cur_scope)) {
jpayne@69 17138 __pyx_cur_scope = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *)Py_None);
jpayne@69 17139 __Pyx_INCREF(Py_None);
jpayne@69 17140 __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 17141 } else {
jpayne@69 17142 __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
jpayne@69 17143 }
jpayne@69 17144 __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
jpayne@69 17145 __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
jpayne@69 17146 __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
jpayne@69 17147 __pyx_cur_scope->__pyx_v_s = __pyx_v_s;
jpayne@69 17148 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_s);
jpayne@69 17149 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_s);
jpayne@69 17150 {
jpayne@69 17151 __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_5pysam_16libctabixproxies_8GTFProxy_32generator, __pyx_codeobj__18, (PyObject *) __pyx_cur_scope, __pyx_n_s_attribute_string2iterator, __pyx_n_s_GTFProxy_attribute_string2iterat, __pyx_n_s_pysam_libctabixproxies); if (unlikely(!gen)) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 17152 __Pyx_DECREF(__pyx_cur_scope);
jpayne@69 17153 __Pyx_RefNannyFinishContext();
jpayne@69 17154 return (PyObject *) gen;
jpayne@69 17155 }
jpayne@69 17156
jpayne@69 17157 /* function exit code */
jpayne@69 17158 __pyx_L1_error:;
jpayne@69 17159 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.attribute_string2iterator", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 17160 __pyx_r = NULL;
jpayne@69 17161 __Pyx_DECREF((PyObject *)__pyx_cur_scope);
jpayne@69 17162 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 17163 __Pyx_RefNannyFinishContext();
jpayne@69 17164 return __pyx_r;
jpayne@69 17165 }
jpayne@69 17166
jpayne@69 17167 static PyObject *__pyx_gb_5pysam_16libctabixproxies_8GTFProxy_32generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
jpayne@69 17168 {
jpayne@69 17169 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *__pyx_cur_scope = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *)__pyx_generator->closure);
jpayne@69 17170 PyObject *__pyx_r = NULL;
jpayne@69 17171 PyObject *__pyx_t_1 = NULL;
jpayne@69 17172 PyObject *__pyx_t_2 = NULL;
jpayne@69 17173 struct __pyx_opt_args_5pysam_9libcutils_force_str __pyx_t_3;
jpayne@69 17174 PyObject *__pyx_t_4 = NULL;
jpayne@69 17175 PyObject *__pyx_t_5 = NULL;
jpayne@69 17176 PyObject *__pyx_t_6 = NULL;
jpayne@69 17177 unsigned int __pyx_t_7;
jpayne@69 17178 Py_ssize_t __pyx_t_8;
jpayne@69 17179 PyObject *(*__pyx_t_9)(PyObject *);
jpayne@69 17180 int __pyx_t_10;
jpayne@69 17181 Py_ssize_t __pyx_t_11;
jpayne@69 17182 PyObject *__pyx_t_12 = NULL;
jpayne@69 17183 int __pyx_t_13;
jpayne@69 17184 PyObject *__pyx_t_14 = NULL;
jpayne@69 17185 PyObject *__pyx_t_15 = NULL;
jpayne@69 17186 PyObject *__pyx_t_16 = NULL;
jpayne@69 17187 int __pyx_t_17;
jpayne@69 17188 int __pyx_lineno = 0;
jpayne@69 17189 const char *__pyx_filename = NULL;
jpayne@69 17190 int __pyx_clineno = 0;
jpayne@69 17191 __Pyx_RefNannyDeclarations
jpayne@69 17192 __Pyx_RefNannySetupContext("attribute_string2iterator", 0);
jpayne@69 17193 switch (__pyx_generator->resume_label) {
jpayne@69 17194 case 0: goto __pyx_L3_first_run;
jpayne@69 17195 case 1: goto __pyx_L25_resume_from_yield;
jpayne@69 17196 default: /* CPython raises the right error here */
jpayne@69 17197 __Pyx_RefNannyFinishContext();
jpayne@69 17198 return NULL;
jpayne@69 17199 }
jpayne@69 17200 __pyx_L3_first_run:;
jpayne@69 17201 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 17202
jpayne@69 17203 /* "pysam/libctabixproxies.pyx":572
jpayne@69 17204 *
jpayne@69 17205 * # remove comments
jpayne@69 17206 * attributes = force_str(s, encoding=self.encoding) # <<<<<<<<<<<<<<
jpayne@69 17207 *
jpayne@69 17208 * # separate into fields
jpayne@69 17209 */
jpayne@69 17210 __pyx_t_1 = __pyx_cur_scope->__pyx_v_self->__pyx_base.__pyx_base.encoding;
jpayne@69 17211 __Pyx_INCREF(__pyx_t_1);
jpayne@69 17212 __pyx_t_3.__pyx_n = 1;
jpayne@69 17213 __pyx_t_3.encoding = __pyx_t_1;
jpayne@69 17214 __pyx_t_2 = __pyx_f_5pysam_9libcutils_force_str(__pyx_cur_scope->__pyx_v_s, &__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error)
jpayne@69 17215 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 17216 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17217 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 17218 __pyx_cur_scope->__pyx_v_attributes = __pyx_t_2;
jpayne@69 17219 __pyx_t_2 = 0;
jpayne@69 17220
jpayne@69 17221 /* "pysam/libctabixproxies.pyx":582
jpayne@69 17222 *
jpayne@69 17223 * # Remove white space to prevent a last empty field.
jpayne@69 17224 * fields = [x.strip() for x in attributes.strip().split("; ")] # <<<<<<<<<<<<<<
jpayne@69 17225 * for f in fields:
jpayne@69 17226 *
jpayne@69 17227 */
jpayne@69 17228 { /* enter inner scope */
jpayne@69 17229 __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17230 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 17231 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_attributes, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17232 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17233 __pyx_t_6 = NULL;
jpayne@69 17234 __pyx_t_7 = 0;
jpayne@69 17235 #if CYTHON_UNPACK_METHODS
jpayne@69 17236 if (likely(PyMethod_Check(__pyx_t_5))) {
jpayne@69 17237 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
jpayne@69 17238 if (likely(__pyx_t_6)) {
jpayne@69 17239 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
jpayne@69 17240 __Pyx_INCREF(__pyx_t_6);
jpayne@69 17241 __Pyx_INCREF(function);
jpayne@69 17242 __Pyx_DECREF_SET(__pyx_t_5, function);
jpayne@69 17243 __pyx_t_7 = 1;
jpayne@69 17244 }
jpayne@69 17245 }
jpayne@69 17246 #endif
jpayne@69 17247 {
jpayne@69 17248 PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
jpayne@69 17249 __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
jpayne@69 17250 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 17251 if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17252 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 17253 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 17254 }
jpayne@69 17255 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17256 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17257 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 17258 __pyx_t_4 = NULL;
jpayne@69 17259 __pyx_t_7 = 0;
jpayne@69 17260 #if CYTHON_UNPACK_METHODS
jpayne@69 17261 if (likely(PyMethod_Check(__pyx_t_5))) {
jpayne@69 17262 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
jpayne@69 17263 if (likely(__pyx_t_4)) {
jpayne@69 17264 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
jpayne@69 17265 __Pyx_INCREF(__pyx_t_4);
jpayne@69 17266 __Pyx_INCREF(function);
jpayne@69 17267 __Pyx_DECREF_SET(__pyx_t_5, function);
jpayne@69 17268 __pyx_t_7 = 1;
jpayne@69 17269 }
jpayne@69 17270 }
jpayne@69 17271 #endif
jpayne@69 17272 {
jpayne@69 17273 PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_kp_u__19};
jpayne@69 17274 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
jpayne@69 17275 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 17276 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17277 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17278 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 17279 }
jpayne@69 17280 if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
jpayne@69 17281 __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5);
jpayne@69 17282 __pyx_t_8 = 0;
jpayne@69 17283 __pyx_t_9 = NULL;
jpayne@69 17284 } else {
jpayne@69 17285 __pyx_t_8 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17286 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17287 __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17288 }
jpayne@69 17289 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17290 for (;;) {
jpayne@69 17291 if (likely(!__pyx_t_9)) {
jpayne@69 17292 if (likely(PyList_CheckExact(__pyx_t_5))) {
jpayne@69 17293 {
jpayne@69 17294 Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_5);
jpayne@69 17295 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 17296 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17297 #endif
jpayne@69 17298 if (__pyx_t_8 >= __pyx_temp) break;
jpayne@69 17299 }
jpayne@69 17300 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 17301 __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17302 #else
jpayne@69 17303 __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17304 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17305 #endif
jpayne@69 17306 } else {
jpayne@69 17307 {
jpayne@69 17308 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_5);
jpayne@69 17309 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 17310 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17311 #endif
jpayne@69 17312 if (__pyx_t_8 >= __pyx_temp) break;
jpayne@69 17313 }
jpayne@69 17314 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 17315 __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17316 #else
jpayne@69 17317 __pyx_t_1 = __Pyx_PySequence_ITEM(__pyx_t_5, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17318 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17319 #endif
jpayne@69 17320 }
jpayne@69 17321 } else {
jpayne@69 17322 __pyx_t_1 = __pyx_t_9(__pyx_t_5);
jpayne@69 17323 if (unlikely(!__pyx_t_1)) {
jpayne@69 17324 PyObject* exc_type = PyErr_Occurred();
jpayne@69 17325 if (exc_type) {
jpayne@69 17326 if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
jpayne@69 17327 else __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17328 }
jpayne@69 17329 break;
jpayne@69 17330 }
jpayne@69 17331 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17332 }
jpayne@69 17333 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_7genexpr__pyx_v_x);
jpayne@69 17334 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_7genexpr__pyx_v_x, __pyx_t_1);
jpayne@69 17335 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 17336 __pyx_t_1 = 0;
jpayne@69 17337 __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_7genexpr__pyx_v_x, __pyx_n_s_strip); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17338 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 17339 __pyx_t_6 = NULL;
jpayne@69 17340 __pyx_t_7 = 0;
jpayne@69 17341 #if CYTHON_UNPACK_METHODS
jpayne@69 17342 if (likely(PyMethod_Check(__pyx_t_4))) {
jpayne@69 17343 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
jpayne@69 17344 if (likely(__pyx_t_6)) {
jpayne@69 17345 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
jpayne@69 17346 __Pyx_INCREF(__pyx_t_6);
jpayne@69 17347 __Pyx_INCREF(function);
jpayne@69 17348 __Pyx_DECREF_SET(__pyx_t_4, function);
jpayne@69 17349 __pyx_t_7 = 1;
jpayne@69 17350 }
jpayne@69 17351 }
jpayne@69 17352 #endif
jpayne@69 17353 {
jpayne@69 17354 PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
jpayne@69 17355 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
jpayne@69 17356 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 17357 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17358 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17359 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 17360 }
jpayne@69 17361 if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 582, __pyx_L1_error)
jpayne@69 17362 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17363 }
jpayne@69 17364 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 17365 } /* exit inner scope */
jpayne@69 17366 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 17367 __pyx_cur_scope->__pyx_v_fields = ((PyObject*)__pyx_t_2);
jpayne@69 17368 __pyx_t_2 = 0;
jpayne@69 17369
jpayne@69 17370 /* "pysam/libctabixproxies.pyx":583
jpayne@69 17371 * # Remove white space to prevent a last empty field.
jpayne@69 17372 * fields = [x.strip() for x in attributes.strip().split("; ")]
jpayne@69 17373 * for f in fields: # <<<<<<<<<<<<<<
jpayne@69 17374 *
jpayne@69 17375 * # strip semicolon (GTF files without a space after the last semicolon)
jpayne@69 17376 */
jpayne@69 17377 __pyx_t_2 = __pyx_cur_scope->__pyx_v_fields; __Pyx_INCREF(__pyx_t_2);
jpayne@69 17378 __pyx_t_8 = 0;
jpayne@69 17379 for (;;) {
jpayne@69 17380 {
jpayne@69 17381 Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
jpayne@69 17382 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 17383 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 583, __pyx_L1_error)
jpayne@69 17384 #endif
jpayne@69 17385 if (__pyx_t_8 >= __pyx_temp) break;
jpayne@69 17386 }
jpayne@69 17387 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 17388 __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely((0 < 0))) __PYX_ERR(0, 583, __pyx_L1_error)
jpayne@69 17389 #else
jpayne@69 17390 __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 583, __pyx_L1_error)
jpayne@69 17391 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17392 #endif
jpayne@69 17393 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_f);
jpayne@69 17394 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_f, __pyx_t_5);
jpayne@69 17395 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 17396 __pyx_t_5 = 0;
jpayne@69 17397
jpayne@69 17398 /* "pysam/libctabixproxies.pyx":586
jpayne@69 17399 *
jpayne@69 17400 * # strip semicolon (GTF files without a space after the last semicolon)
jpayne@69 17401 * if f.endswith(";"): # <<<<<<<<<<<<<<
jpayne@69 17402 * f = f[:-1]
jpayne@69 17403 *
jpayne@69 17404 */
jpayne@69 17405 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_f, __pyx_n_s_endswith); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error)
jpayne@69 17406 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17407 __pyx_t_4 = NULL;
jpayne@69 17408 __pyx_t_7 = 0;
jpayne@69 17409 #if CYTHON_UNPACK_METHODS
jpayne@69 17410 if (likely(PyMethod_Check(__pyx_t_1))) {
jpayne@69 17411 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
jpayne@69 17412 if (likely(__pyx_t_4)) {
jpayne@69 17413 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
jpayne@69 17414 __Pyx_INCREF(__pyx_t_4);
jpayne@69 17415 __Pyx_INCREF(function);
jpayne@69 17416 __Pyx_DECREF_SET(__pyx_t_1, function);
jpayne@69 17417 __pyx_t_7 = 1;
jpayne@69 17418 }
jpayne@69 17419 }
jpayne@69 17420 #endif
jpayne@69 17421 {
jpayne@69 17422 PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_kp_u__17};
jpayne@69 17423 __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
jpayne@69 17424 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 17425 if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 586, __pyx_L1_error)
jpayne@69 17426 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17427 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17428 }
jpayne@69 17429 __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_10 < 0))) __PYX_ERR(0, 586, __pyx_L1_error)
jpayne@69 17430 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 17431 if (__pyx_t_10) {
jpayne@69 17432
jpayne@69 17433 /* "pysam/libctabixproxies.pyx":587
jpayne@69 17434 * # strip semicolon (GTF files without a space after the last semicolon)
jpayne@69 17435 * if f.endswith(";"):
jpayne@69 17436 * f = f[:-1] # <<<<<<<<<<<<<<
jpayne@69 17437 *
jpayne@69 17438 * # split at most once in order to avoid separating
jpayne@69 17439 */
jpayne@69 17440 __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_f, 0, -1L, NULL, NULL, &__pyx_slice__20, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L1_error)
jpayne@69 17441 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17442 __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_f);
jpayne@69 17443 __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_f, __pyx_t_5);
jpayne@69 17444 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 17445 __pyx_t_5 = 0;
jpayne@69 17446
jpayne@69 17447 /* "pysam/libctabixproxies.pyx":586
jpayne@69 17448 *
jpayne@69 17449 * # strip semicolon (GTF files without a space after the last semicolon)
jpayne@69 17450 * if f.endswith(";"): # <<<<<<<<<<<<<<
jpayne@69 17451 * f = f[:-1]
jpayne@69 17452 *
jpayne@69 17453 */
jpayne@69 17454 }
jpayne@69 17455
jpayne@69 17456 /* "pysam/libctabixproxies.pyx":591
jpayne@69 17457 * # split at most once in order to avoid separating
jpayne@69 17458 * # multi-word values
jpayne@69 17459 * d = [x.strip() for x in f.split(" ", 1)] # <<<<<<<<<<<<<<
jpayne@69 17460 *
jpayne@69 17461 * n, v = d[0], d[1]
jpayne@69 17462 */
jpayne@69 17463 { /* enter inner scope */
jpayne@69 17464 __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17465 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17466 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_f, __pyx_n_s_split); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17467 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17468 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17469 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 17470 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17471 if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
jpayne@69 17472 __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1);
jpayne@69 17473 __pyx_t_11 = 0;
jpayne@69 17474 __pyx_t_9 = NULL;
jpayne@69 17475 } else {
jpayne@69 17476 __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17477 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17478 __pyx_t_9 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17479 }
jpayne@69 17480 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 17481 for (;;) {
jpayne@69 17482 if (likely(!__pyx_t_9)) {
jpayne@69 17483 if (likely(PyList_CheckExact(__pyx_t_1))) {
jpayne@69 17484 {
jpayne@69 17485 Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
jpayne@69 17486 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 17487 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17488 #endif
jpayne@69 17489 if (__pyx_t_11 >= __pyx_temp) break;
jpayne@69 17490 }
jpayne@69 17491 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 17492 __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17493 #else
jpayne@69 17494 __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17495 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 17496 #endif
jpayne@69 17497 } else {
jpayne@69 17498 {
jpayne@69 17499 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
jpayne@69 17500 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 17501 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17502 #endif
jpayne@69 17503 if (__pyx_t_11 >= __pyx_temp) break;
jpayne@69 17504 }
jpayne@69 17505 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 17506 __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely((0 < 0))) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17507 #else
jpayne@69 17508 __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17509 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 17510 #endif
jpayne@69 17511 }
jpayne@69 17512 } else {
jpayne@69 17513 __pyx_t_4 = __pyx_t_9(__pyx_t_1);
jpayne@69 17514 if (unlikely(!__pyx_t_4)) {
jpayne@69 17515 PyObject* exc_type = PyErr_Occurred();
jpayne@69 17516 if (exc_type) {
jpayne@69 17517 if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
jpayne@69 17518 else __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17519 }
jpayne@69 17520 break;
jpayne@69 17521 }
jpayne@69 17522 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 17523 }
jpayne@69 17524 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_8genexpr1__pyx_v_x);
jpayne@69 17525 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_8genexpr1__pyx_v_x, __pyx_t_4);
jpayne@69 17526 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 17527 __pyx_t_4 = 0;
jpayne@69 17528 __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_8genexpr1__pyx_v_x, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17529 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 17530 __pyx_t_12 = NULL;
jpayne@69 17531 __pyx_t_7 = 0;
jpayne@69 17532 #if CYTHON_UNPACK_METHODS
jpayne@69 17533 if (likely(PyMethod_Check(__pyx_t_6))) {
jpayne@69 17534 __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6);
jpayne@69 17535 if (likely(__pyx_t_12)) {
jpayne@69 17536 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
jpayne@69 17537 __Pyx_INCREF(__pyx_t_12);
jpayne@69 17538 __Pyx_INCREF(function);
jpayne@69 17539 __Pyx_DECREF_SET(__pyx_t_6, function);
jpayne@69 17540 __pyx_t_7 = 1;
jpayne@69 17541 }
jpayne@69 17542 }
jpayne@69 17543 #endif
jpayne@69 17544 {
jpayne@69 17545 PyObject *__pyx_callargs[2] = {__pyx_t_12, NULL};
jpayne@69 17546 __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
jpayne@69 17547 __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
jpayne@69 17548 if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17549 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 17550 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 17551 }
jpayne@69 17552 if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_4))) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 17553 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 17554 }
jpayne@69 17555 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17556 } /* exit inner scope */
jpayne@69 17557 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_d);
jpayne@69 17558 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_d, ((PyObject*)__pyx_t_5));
jpayne@69 17559 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 17560 __pyx_t_5 = 0;
jpayne@69 17561
jpayne@69 17562 /* "pysam/libctabixproxies.pyx":593
jpayne@69 17563 * d = [x.strip() for x in f.split(" ", 1)]
jpayne@69 17564 *
jpayne@69 17565 * n, v = d[0], d[1] # <<<<<<<<<<<<<<
jpayne@69 17566 * if len(d) > 2:
jpayne@69 17567 * v = d[1:]
jpayne@69 17568 */
jpayne@69 17569 __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_cur_scope->__pyx_v_d, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 593, __pyx_L1_error)
jpayne@69 17570 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17571 __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_cur_scope->__pyx_v_d, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L1_error)
jpayne@69 17572 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17573 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_n);
jpayne@69 17574 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_n, __pyx_t_5);
jpayne@69 17575 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 17576 __pyx_t_5 = 0;
jpayne@69 17577 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_v);
jpayne@69 17578 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_1);
jpayne@69 17579 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 17580 __pyx_t_1 = 0;
jpayne@69 17581
jpayne@69 17582 /* "pysam/libctabixproxies.pyx":594
jpayne@69 17583 *
jpayne@69 17584 * n, v = d[0], d[1]
jpayne@69 17585 * if len(d) > 2: # <<<<<<<<<<<<<<
jpayne@69 17586 * v = d[1:]
jpayne@69 17587 *
jpayne@69 17588 */
jpayne@69 17589 __pyx_t_11 = __Pyx_PyList_GET_SIZE(__pyx_cur_scope->__pyx_v_d); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 594, __pyx_L1_error)
jpayne@69 17590 __pyx_t_10 = (__pyx_t_11 > 2);
jpayne@69 17591 if (__pyx_t_10) {
jpayne@69 17592
jpayne@69 17593 /* "pysam/libctabixproxies.pyx":595
jpayne@69 17594 * n, v = d[0], d[1]
jpayne@69 17595 * if len(d) > 2:
jpayne@69 17596 * v = d[1:] # <<<<<<<<<<<<<<
jpayne@69 17597 *
jpayne@69 17598 * if v[0] == '"' and v[-1] == '"':
jpayne@69 17599 */
jpayne@69 17600 __pyx_t_1 = __Pyx_PyList_GetSlice(__pyx_cur_scope->__pyx_v_d, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L1_error)
jpayne@69 17601 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17602 __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_v);
jpayne@69 17603 __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_1);
jpayne@69 17604 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 17605 __pyx_t_1 = 0;
jpayne@69 17606
jpayne@69 17607 /* "pysam/libctabixproxies.pyx":594
jpayne@69 17608 *
jpayne@69 17609 * n, v = d[0], d[1]
jpayne@69 17610 * if len(d) > 2: # <<<<<<<<<<<<<<
jpayne@69 17611 * v = d[1:]
jpayne@69 17612 *
jpayne@69 17613 */
jpayne@69 17614 }
jpayne@69 17615
jpayne@69 17616 /* "pysam/libctabixproxies.pyx":597
jpayne@69 17617 * v = d[1:]
jpayne@69 17618 *
jpayne@69 17619 * if v[0] == '"' and v[-1] == '"': # <<<<<<<<<<<<<<
jpayne@69 17620 * v = v[1:-1]
jpayne@69 17621 * else:
jpayne@69 17622 */
jpayne@69 17623 __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_v, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error)
jpayne@69 17624 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17625 __pyx_t_13 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_kp_u__23, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 597, __pyx_L1_error)
jpayne@69 17626 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17627 if (__pyx_t_13) {
jpayne@69 17628 } else {
jpayne@69 17629 __pyx_t_10 = __pyx_t_13;
jpayne@69 17630 goto __pyx_L15_bool_binop_done;
jpayne@69 17631 }
jpayne@69 17632 __pyx_t_1 = __Pyx_GetItemInt(__pyx_cur_scope->__pyx_v_v, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error)
jpayne@69 17633 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17634 __pyx_t_13 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_kp_u__23, Py_EQ)); if (unlikely((__pyx_t_13 < 0))) __PYX_ERR(0, 597, __pyx_L1_error)
jpayne@69 17635 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17636 __pyx_t_10 = __pyx_t_13;
jpayne@69 17637 __pyx_L15_bool_binop_done:;
jpayne@69 17638 if (__pyx_t_10) {
jpayne@69 17639
jpayne@69 17640 /* "pysam/libctabixproxies.pyx":598
jpayne@69 17641 *
jpayne@69 17642 * if v[0] == '"' and v[-1] == '"':
jpayne@69 17643 * v = v[1:-1] # <<<<<<<<<<<<<<
jpayne@69 17644 * else:
jpayne@69 17645 * ## try to convert to a value
jpayne@69 17646 */
jpayne@69 17647 __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_cur_scope->__pyx_v_v, 1, -1L, NULL, NULL, &__pyx_slice__24, 1, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error)
jpayne@69 17648 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17649 __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_v);
jpayne@69 17650 __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_1);
jpayne@69 17651 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 17652 __pyx_t_1 = 0;
jpayne@69 17653
jpayne@69 17654 /* "pysam/libctabixproxies.pyx":597
jpayne@69 17655 * v = d[1:]
jpayne@69 17656 *
jpayne@69 17657 * if v[0] == '"' and v[-1] == '"': # <<<<<<<<<<<<<<
jpayne@69 17658 * v = v[1:-1]
jpayne@69 17659 * else:
jpayne@69 17660 */
jpayne@69 17661 goto __pyx_L14;
jpayne@69 17662 }
jpayne@69 17663
jpayne@69 17664 /* "pysam/libctabixproxies.pyx":601
jpayne@69 17665 * else:
jpayne@69 17666 * ## try to convert to a value
jpayne@69 17667 * try: # <<<<<<<<<<<<<<
jpayne@69 17668 * v = float(v)
jpayne@69 17669 * v = int(v)
jpayne@69 17670 */
jpayne@69 17671 /*else*/ {
jpayne@69 17672 {
jpayne@69 17673 __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16);
jpayne@69 17674 __Pyx_XGOTREF(__pyx_t_14);
jpayne@69 17675 __Pyx_XGOTREF(__pyx_t_15);
jpayne@69 17676 __Pyx_XGOTREF(__pyx_t_16);
jpayne@69 17677 /*try:*/ {
jpayne@69 17678
jpayne@69 17679 /* "pysam/libctabixproxies.pyx":602
jpayne@69 17680 * ## try to convert to a value
jpayne@69 17681 * try:
jpayne@69 17682 * v = float(v) # <<<<<<<<<<<<<<
jpayne@69 17683 * v = int(v)
jpayne@69 17684 * except ValueError:
jpayne@69 17685 */
jpayne@69 17686 __pyx_t_1 = __Pyx_PyNumber_Float(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L17_error)
jpayne@69 17687 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17688 __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_v);
jpayne@69 17689 __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_1);
jpayne@69 17690 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 17691 __pyx_t_1 = 0;
jpayne@69 17692
jpayne@69 17693 /* "pysam/libctabixproxies.pyx":603
jpayne@69 17694 * try:
jpayne@69 17695 * v = float(v)
jpayne@69 17696 * v = int(v) # <<<<<<<<<<<<<<
jpayne@69 17697 * except ValueError:
jpayne@69 17698 * pass
jpayne@69 17699 */
jpayne@69 17700 __pyx_t_1 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_v); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __pyx_L17_error)
jpayne@69 17701 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17702 __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_v);
jpayne@69 17703 __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_v, __pyx_t_1);
jpayne@69 17704 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 17705 __pyx_t_1 = 0;
jpayne@69 17706
jpayne@69 17707 /* "pysam/libctabixproxies.pyx":601
jpayne@69 17708 * else:
jpayne@69 17709 * ## try to convert to a value
jpayne@69 17710 * try: # <<<<<<<<<<<<<<
jpayne@69 17711 * v = float(v)
jpayne@69 17712 * v = int(v)
jpayne@69 17713 */
jpayne@69 17714 }
jpayne@69 17715 __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
jpayne@69 17716 __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
jpayne@69 17717 __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
jpayne@69 17718 goto __pyx_L24_try_end;
jpayne@69 17719 __pyx_L17_error:;
jpayne@69 17720 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17721 __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
jpayne@69 17722 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 17723 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 17724 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 17725
jpayne@69 17726 /* "pysam/libctabixproxies.pyx":604
jpayne@69 17727 * v = float(v)
jpayne@69 17728 * v = int(v)
jpayne@69 17729 * except ValueError: # <<<<<<<<<<<<<<
jpayne@69 17730 * pass
jpayne@69 17731 * except TypeError:
jpayne@69 17732 */
jpayne@69 17733 __pyx_t_17 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
jpayne@69 17734 if (__pyx_t_17) {
jpayne@69 17735 __Pyx_ErrRestore(0,0,0);
jpayne@69 17736 goto __pyx_L18_exception_handled;
jpayne@69 17737 }
jpayne@69 17738
jpayne@69 17739 /* "pysam/libctabixproxies.pyx":606
jpayne@69 17740 * except ValueError:
jpayne@69 17741 * pass
jpayne@69 17742 * except TypeError: # <<<<<<<<<<<<<<
jpayne@69 17743 * pass
jpayne@69 17744 *
jpayne@69 17745 */
jpayne@69 17746 __pyx_t_17 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
jpayne@69 17747 if (__pyx_t_17) {
jpayne@69 17748 __Pyx_ErrRestore(0,0,0);
jpayne@69 17749 goto __pyx_L18_exception_handled;
jpayne@69 17750 }
jpayne@69 17751 goto __pyx_L19_except_error;
jpayne@69 17752
jpayne@69 17753 /* "pysam/libctabixproxies.pyx":601
jpayne@69 17754 * else:
jpayne@69 17755 * ## try to convert to a value
jpayne@69 17756 * try: # <<<<<<<<<<<<<<
jpayne@69 17757 * v = float(v)
jpayne@69 17758 * v = int(v)
jpayne@69 17759 */
jpayne@69 17760 __pyx_L19_except_error:;
jpayne@69 17761 __Pyx_XGIVEREF(__pyx_t_14);
jpayne@69 17762 __Pyx_XGIVEREF(__pyx_t_15);
jpayne@69 17763 __Pyx_XGIVEREF(__pyx_t_16);
jpayne@69 17764 __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
jpayne@69 17765 goto __pyx_L1_error;
jpayne@69 17766 __pyx_L18_exception_handled:;
jpayne@69 17767 __Pyx_XGIVEREF(__pyx_t_14);
jpayne@69 17768 __Pyx_XGIVEREF(__pyx_t_15);
jpayne@69 17769 __Pyx_XGIVEREF(__pyx_t_16);
jpayne@69 17770 __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
jpayne@69 17771 __pyx_L24_try_end:;
jpayne@69 17772 }
jpayne@69 17773 }
jpayne@69 17774 __pyx_L14:;
jpayne@69 17775
jpayne@69 17776 /* "pysam/libctabixproxies.pyx":609
jpayne@69 17777 * pass
jpayne@69 17778 *
jpayne@69 17779 * yield n, v # <<<<<<<<<<<<<<
jpayne@69 17780 *
jpayne@69 17781 * def __getattr__(self, key):
jpayne@69 17782 */
jpayne@69 17783 __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __pyx_L1_error)
jpayne@69 17784 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17785 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_n);
jpayne@69 17786 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_n);
jpayne@69 17787 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_cur_scope->__pyx_v_n)) __PYX_ERR(0, 609, __pyx_L1_error);
jpayne@69 17788 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_v);
jpayne@69 17789 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_v);
jpayne@69 17790 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_cur_scope->__pyx_v_v)) __PYX_ERR(0, 609, __pyx_L1_error);
jpayne@69 17791 __pyx_r = __pyx_t_1;
jpayne@69 17792 __pyx_t_1 = 0;
jpayne@69 17793 __Pyx_XGIVEREF(__pyx_t_2);
jpayne@69 17794 __pyx_cur_scope->__pyx_t_0 = __pyx_t_2;
jpayne@69 17795 __pyx_cur_scope->__pyx_t_1 = __pyx_t_8;
jpayne@69 17796 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 17797 __Pyx_RefNannyFinishContext();
jpayne@69 17798 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
jpayne@69 17799 /* return from generator, yielding value */
jpayne@69 17800 __pyx_generator->resume_label = 1;
jpayne@69 17801 return __pyx_r;
jpayne@69 17802 __pyx_L25_resume_from_yield:;
jpayne@69 17803 __pyx_t_2 = __pyx_cur_scope->__pyx_t_0;
jpayne@69 17804 __pyx_cur_scope->__pyx_t_0 = 0;
jpayne@69 17805 __Pyx_XGOTREF(__pyx_t_2);
jpayne@69 17806 __pyx_t_8 = __pyx_cur_scope->__pyx_t_1;
jpayne@69 17807 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 609, __pyx_L1_error)
jpayne@69 17808
jpayne@69 17809 /* "pysam/libctabixproxies.pyx":583
jpayne@69 17810 * # Remove white space to prevent a last empty field.
jpayne@69 17811 * fields = [x.strip() for x in attributes.strip().split("; ")]
jpayne@69 17812 * for f in fields: # <<<<<<<<<<<<<<
jpayne@69 17813 *
jpayne@69 17814 * # strip semicolon (GTF files without a space after the last semicolon)
jpayne@69 17815 */
jpayne@69 17816 }
jpayne@69 17817 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 17818 CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
jpayne@69 17819
jpayne@69 17820 /* "pysam/libctabixproxies.pyx":566
jpayne@69 17821 * return self.separator.join(aa) + ";"
jpayne@69 17822 *
jpayne@69 17823 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 17824 * """convert attribute string in GTF format to records
jpayne@69 17825 * and iterate over key, value pairs.
jpayne@69 17826 */
jpayne@69 17827
jpayne@69 17828 /* function exit code */
jpayne@69 17829 PyErr_SetNone(PyExc_StopIteration);
jpayne@69 17830 goto __pyx_L0;
jpayne@69 17831 __pyx_L1_error:;
jpayne@69 17832 __Pyx_Generator_Replace_StopIteration(0);
jpayne@69 17833 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 17834 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 17835 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 17836 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 17837 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 17838 __Pyx_XDECREF(__pyx_t_12);
jpayne@69 17839 __Pyx_AddTraceback("attribute_string2iterator", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 17840 __pyx_L0:;
jpayne@69 17841 __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
jpayne@69 17842 #if !CYTHON_USE_EXC_INFO_STACK
jpayne@69 17843 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
jpayne@69 17844 #endif
jpayne@69 17845 __pyx_generator->resume_label = -1;
jpayne@69 17846 __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
jpayne@69 17847 __Pyx_RefNannyFinishContext();
jpayne@69 17848 return __pyx_r;
jpayne@69 17849 }
jpayne@69 17850
jpayne@69 17851 /* "pysam/libctabixproxies.pyx":611
jpayne@69 17852 * yield n, v
jpayne@69 17853 *
jpayne@69 17854 * def __getattr__(self, key): # <<<<<<<<<<<<<<
jpayne@69 17855 * """Generic lookup of attribute from GFF/GTF attributes
jpayne@69 17856 * """
jpayne@69 17857 */
jpayne@69 17858
jpayne@69 17859 /* Python wrapper */
jpayne@69 17860 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_34__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
jpayne@69 17861 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_33__getattr__, "Generic lookup of attribute from GFF/GTF attributes \n ");
jpayne@69 17862 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 17863 struct wrapperbase __pyx_wrapperbase_5pysam_16libctabixproxies_8GTFProxy_33__getattr__;
jpayne@69 17864 #endif
jpayne@69 17865 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_34__getattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
jpayne@69 17866 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 17867 PyObject *__pyx_r = 0;
jpayne@69 17868 __Pyx_RefNannyDeclarations
jpayne@69 17869 __Pyx_RefNannySetupContext("__getattr__ (wrapper)", 0);
jpayne@69 17870 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 17871 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_33__getattr__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key));
jpayne@69 17872
jpayne@69 17873 /* function exit code */
jpayne@69 17874 __Pyx_RefNannyFinishContext();
jpayne@69 17875 return __pyx_r;
jpayne@69 17876 }
jpayne@69 17877
jpayne@69 17878 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_33__getattr__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_key) {
jpayne@69 17879 int __pyx_v_idx;
jpayne@69 17880 PyObject *__pyx_v_f = NULL;
jpayne@69 17881 PyObject *__pyx_v_s = NULL;
jpayne@69 17882 PyObject *__pyx_r = NULL;
jpayne@69 17883 __Pyx_RefNannyDeclarations
jpayne@69 17884 PyObject *__pyx_t_1 = NULL;
jpayne@69 17885 PyObject *__pyx_t_2 = NULL;
jpayne@69 17886 PyObject *__pyx_t_3 = NULL;
jpayne@69 17887 unsigned int __pyx_t_4;
jpayne@69 17888 PyObject *__pyx_t_5 = NULL;
jpayne@69 17889 PyObject *(*__pyx_t_6)(PyObject *);
jpayne@69 17890 int __pyx_t_7;
jpayne@69 17891 int __pyx_t_8;
jpayne@69 17892 int __pyx_t_9;
jpayne@69 17893 struct __pyx_opt_args_5pysam_9libcutils_force_str __pyx_t_10;
jpayne@69 17894 int __pyx_lineno = 0;
jpayne@69 17895 const char *__pyx_filename = NULL;
jpayne@69 17896 int __pyx_clineno = 0;
jpayne@69 17897 __Pyx_RefNannySetupContext("__getattr__", 1);
jpayne@69 17898
jpayne@69 17899 /* "pysam/libctabixproxies.pyx":617
jpayne@69 17900 * # Only called if there *isn't* an attribute with this name
jpayne@69 17901 * cdef int idx
jpayne@69 17902 * idx, f = self.map_key2field.get(key, (-1, None)) # <<<<<<<<<<<<<<
jpayne@69 17903 * if idx >= 0:
jpayne@69 17904 * # deal with known attributes (fields 0-8)
jpayne@69 17905 */
jpayne@69 17906 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_map_key2field); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17907 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 17908 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17909 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 17910 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 17911 __pyx_t_2 = NULL;
jpayne@69 17912 __pyx_t_4 = 0;
jpayne@69 17913 #if CYTHON_UNPACK_METHODS
jpayne@69 17914 if (likely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 17915 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 17916 if (likely(__pyx_t_2)) {
jpayne@69 17917 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 17918 __Pyx_INCREF(__pyx_t_2);
jpayne@69 17919 __Pyx_INCREF(function);
jpayne@69 17920 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 17921 __pyx_t_4 = 1;
jpayne@69 17922 }
jpayne@69 17923 }
jpayne@69 17924 #endif
jpayne@69 17925 {
jpayne@69 17926 PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_key, __pyx_tuple__25};
jpayne@69 17927 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
jpayne@69 17928 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 17929 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17930 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 17931 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 17932 }
jpayne@69 17933 if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
jpayne@69 17934 PyObject* sequence = __pyx_t_1;
jpayne@69 17935 Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
jpayne@69 17936 if (unlikely(size != 2)) {
jpayne@69 17937 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
jpayne@69 17938 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
jpayne@69 17939 __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17940 }
jpayne@69 17941 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 17942 if (likely(PyTuple_CheckExact(sequence))) {
jpayne@69 17943 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
jpayne@69 17944 __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1);
jpayne@69 17945 } else {
jpayne@69 17946 __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
jpayne@69 17947 __pyx_t_2 = PyList_GET_ITEM(sequence, 1);
jpayne@69 17948 }
jpayne@69 17949 __Pyx_INCREF(__pyx_t_3);
jpayne@69 17950 __Pyx_INCREF(__pyx_t_2);
jpayne@69 17951 #else
jpayne@69 17952 __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17953 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 17954 __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17955 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 17956 #endif
jpayne@69 17957 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17958 } else {
jpayne@69 17959 Py_ssize_t index = -1;
jpayne@69 17960 __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17961 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 17962 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 17963 __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
jpayne@69 17964 index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
jpayne@69 17965 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 17966 index = 1; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
jpayne@69 17967 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 17968 if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17969 __pyx_t_6 = NULL;
jpayne@69 17970 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 17971 goto __pyx_L4_unpacking_done;
jpayne@69 17972 __pyx_L3_unpacking_failed:;
jpayne@69 17973 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 17974 __pyx_t_6 = NULL;
jpayne@69 17975 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 17976 __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17977 __pyx_L4_unpacking_done:;
jpayne@69 17978 }
jpayne@69 17979 __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 17980 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 17981 __pyx_v_idx = __pyx_t_7;
jpayne@69 17982 __pyx_v_f = __pyx_t_2;
jpayne@69 17983 __pyx_t_2 = 0;
jpayne@69 17984
jpayne@69 17985 /* "pysam/libctabixproxies.pyx":618
jpayne@69 17986 * cdef int idx
jpayne@69 17987 * idx, f = self.map_key2field.get(key, (-1, None))
jpayne@69 17988 * if idx >= 0: # <<<<<<<<<<<<<<
jpayne@69 17989 * # deal with known attributes (fields 0-8)
jpayne@69 17990 * if idx == 8:
jpayne@69 17991 */
jpayne@69 17992 __pyx_t_8 = (__pyx_v_idx >= 0);
jpayne@69 17993 if (__pyx_t_8) {
jpayne@69 17994
jpayne@69 17995 /* "pysam/libctabixproxies.pyx":620
jpayne@69 17996 * if idx >= 0:
jpayne@69 17997 * # deal with known attributes (fields 0-8)
jpayne@69 17998 * if idx == 8: # <<<<<<<<<<<<<<
jpayne@69 17999 * # flush attributes if requested
jpayne@69 18000 * if self.is_modified and self.attribute_dict is not None:
jpayne@69 18001 */
jpayne@69 18002 __pyx_t_8 = (__pyx_v_idx == 8);
jpayne@69 18003 if (__pyx_t_8) {
jpayne@69 18004
jpayne@69 18005 /* "pysam/libctabixproxies.pyx":622
jpayne@69 18006 * if idx == 8:
jpayne@69 18007 * # flush attributes if requested
jpayne@69 18008 * if self.is_modified and self.attribute_dict is not None: # <<<<<<<<<<<<<<
jpayne@69 18009 * s = self.dict2attribute_string(self.attribute_dict)
jpayne@69 18010 * TupleProxy._setindex(self, idx, s)
jpayne@69 18011 */
jpayne@69 18012 if (__pyx_v_self->__pyx_base.__pyx_base.is_modified) {
jpayne@69 18013 } else {
jpayne@69 18014 __pyx_t_8 = __pyx_v_self->__pyx_base.__pyx_base.is_modified;
jpayne@69 18015 goto __pyx_L8_bool_binop_done;
jpayne@69 18016 }
jpayne@69 18017 __pyx_t_9 = (__pyx_v_self->attribute_dict != Py_None);
jpayne@69 18018 __pyx_t_8 = __pyx_t_9;
jpayne@69 18019 __pyx_L8_bool_binop_done:;
jpayne@69 18020 if (__pyx_t_8) {
jpayne@69 18021
jpayne@69 18022 /* "pysam/libctabixproxies.pyx":623
jpayne@69 18023 * # flush attributes if requested
jpayne@69 18024 * if self.is_modified and self.attribute_dict is not None:
jpayne@69 18025 * s = self.dict2attribute_string(self.attribute_dict) # <<<<<<<<<<<<<<
jpayne@69 18026 * TupleProxy._setindex(self, idx, s)
jpayne@69 18027 * self.attribute_dict = None
jpayne@69 18028 */
jpayne@69 18029 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_dict2attribute_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 623, __pyx_L1_error)
jpayne@69 18030 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18031 __pyx_t_3 = NULL;
jpayne@69 18032 __pyx_t_4 = 0;
jpayne@69 18033 #if CYTHON_UNPACK_METHODS
jpayne@69 18034 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 18035 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 18036 if (likely(__pyx_t_3)) {
jpayne@69 18037 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 18038 __Pyx_INCREF(__pyx_t_3);
jpayne@69 18039 __Pyx_INCREF(function);
jpayne@69 18040 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 18041 __pyx_t_4 = 1;
jpayne@69 18042 }
jpayne@69 18043 }
jpayne@69 18044 #endif
jpayne@69 18045 {
jpayne@69 18046 PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_self->attribute_dict};
jpayne@69 18047 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 18048 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 18049 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error)
jpayne@69 18050 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18051 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18052 }
jpayne@69 18053 __pyx_v_s = __pyx_t_1;
jpayne@69 18054 __pyx_t_1 = 0;
jpayne@69 18055
jpayne@69 18056 /* "pysam/libctabixproxies.pyx":624
jpayne@69 18057 * if self.is_modified and self.attribute_dict is not None:
jpayne@69 18058 * s = self.dict2attribute_string(self.attribute_dict)
jpayne@69 18059 * TupleProxy._setindex(self, idx, s) # <<<<<<<<<<<<<<
jpayne@69 18060 * self.attribute_dict = None
jpayne@69 18061 * return s
jpayne@69 18062 */
jpayne@69 18063 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy), __pyx_n_s_setindex); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 624, __pyx_L1_error)
jpayne@69 18064 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18065 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 624, __pyx_L1_error)
jpayne@69 18066 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18067 __pyx_t_5 = NULL;
jpayne@69 18068 __pyx_t_4 = 0;
jpayne@69 18069 #if CYTHON_UNPACK_METHODS
jpayne@69 18070 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 18071 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 18072 if (likely(__pyx_t_5)) {
jpayne@69 18073 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 18074 __Pyx_INCREF(__pyx_t_5);
jpayne@69 18075 __Pyx_INCREF(function);
jpayne@69 18076 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 18077 __pyx_t_4 = 1;
jpayne@69 18078 }
jpayne@69 18079 }
jpayne@69 18080 #endif
jpayne@69 18081 {
jpayne@69 18082 PyObject *__pyx_callargs[4] = {__pyx_t_5, ((PyObject *)__pyx_v_self), __pyx_t_3, __pyx_v_s};
jpayne@69 18083 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4);
jpayne@69 18084 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 18085 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 18086 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L1_error)
jpayne@69 18087 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18088 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18089 }
jpayne@69 18090 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18091
jpayne@69 18092 /* "pysam/libctabixproxies.pyx":625
jpayne@69 18093 * s = self.dict2attribute_string(self.attribute_dict)
jpayne@69 18094 * TupleProxy._setindex(self, idx, s)
jpayne@69 18095 * self.attribute_dict = None # <<<<<<<<<<<<<<
jpayne@69 18096 * return s
jpayne@69 18097 *
jpayne@69 18098 */
jpayne@69 18099 __Pyx_INCREF(Py_None);
jpayne@69 18100 __Pyx_GIVEREF(Py_None);
jpayne@69 18101 __Pyx_GOTREF(__pyx_v_self->attribute_dict);
jpayne@69 18102 __Pyx_DECREF(__pyx_v_self->attribute_dict);
jpayne@69 18103 __pyx_v_self->attribute_dict = Py_None;
jpayne@69 18104
jpayne@69 18105 /* "pysam/libctabixproxies.pyx":626
jpayne@69 18106 * TupleProxy._setindex(self, idx, s)
jpayne@69 18107 * self.attribute_dict = None
jpayne@69 18108 * return s # <<<<<<<<<<<<<<
jpayne@69 18109 *
jpayne@69 18110 * if f[0] == str:
jpayne@69 18111 */
jpayne@69 18112 __Pyx_XDECREF(__pyx_r);
jpayne@69 18113 __Pyx_INCREF(__pyx_v_s);
jpayne@69 18114 __pyx_r = __pyx_v_s;
jpayne@69 18115 goto __pyx_L0;
jpayne@69 18116
jpayne@69 18117 /* "pysam/libctabixproxies.pyx":622
jpayne@69 18118 * if idx == 8:
jpayne@69 18119 * # flush attributes if requested
jpayne@69 18120 * if self.is_modified and self.attribute_dict is not None: # <<<<<<<<<<<<<<
jpayne@69 18121 * s = self.dict2attribute_string(self.attribute_dict)
jpayne@69 18122 * TupleProxy._setindex(self, idx, s)
jpayne@69 18123 */
jpayne@69 18124 }
jpayne@69 18125
jpayne@69 18126 /* "pysam/libctabixproxies.pyx":620
jpayne@69 18127 * if idx >= 0:
jpayne@69 18128 * # deal with known attributes (fields 0-8)
jpayne@69 18129 * if idx == 8: # <<<<<<<<<<<<<<
jpayne@69 18130 * # flush attributes if requested
jpayne@69 18131 * if self.is_modified and self.attribute_dict is not None:
jpayne@69 18132 */
jpayne@69 18133 }
jpayne@69 18134
jpayne@69 18135 /* "pysam/libctabixproxies.pyx":628
jpayne@69 18136 * return s
jpayne@69 18137 *
jpayne@69 18138 * if f[0] == str: # <<<<<<<<<<<<<<
jpayne@69 18139 * return force_str(self.fields[idx],
jpayne@69 18140 * self.encoding)
jpayne@69 18141 */
jpayne@69 18142 __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_f, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L1_error)
jpayne@69 18143 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18144 __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, ((PyObject *)(&PyUnicode_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L1_error)
jpayne@69 18145 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18146 __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 628, __pyx_L1_error)
jpayne@69 18147 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18148 if (__pyx_t_8) {
jpayne@69 18149
jpayne@69 18150 /* "pysam/libctabixproxies.pyx":629
jpayne@69 18151 *
jpayne@69 18152 * if f[0] == str:
jpayne@69 18153 * return force_str(self.fields[idx], # <<<<<<<<<<<<<<
jpayne@69 18154 * self.encoding)
jpayne@69 18155 * else:
jpayne@69 18156 */
jpayne@69 18157 __Pyx_XDECREF(__pyx_r);
jpayne@69 18158 __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_self->__pyx_base.__pyx_base.fields[__pyx_v_idx])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 629, __pyx_L1_error)
jpayne@69 18159 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18160
jpayne@69 18161 /* "pysam/libctabixproxies.pyx":630
jpayne@69 18162 * if f[0] == str:
jpayne@69 18163 * return force_str(self.fields[idx],
jpayne@69 18164 * self.encoding) # <<<<<<<<<<<<<<
jpayne@69 18165 * else:
jpayne@69 18166 * return f[0](self.fields[idx])
jpayne@69 18167 */
jpayne@69 18168 __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.encoding;
jpayne@69 18169 __Pyx_INCREF(__pyx_t_1);
jpayne@69 18170
jpayne@69 18171 /* "pysam/libctabixproxies.pyx":629
jpayne@69 18172 *
jpayne@69 18173 * if f[0] == str:
jpayne@69 18174 * return force_str(self.fields[idx], # <<<<<<<<<<<<<<
jpayne@69 18175 * self.encoding)
jpayne@69 18176 * else:
jpayne@69 18177 */
jpayne@69 18178 __pyx_t_10.__pyx_n = 1;
jpayne@69 18179 __pyx_t_10.encoding = __pyx_t_1;
jpayne@69 18180 __pyx_t_3 = __pyx_f_5pysam_9libcutils_force_str(__pyx_t_2, &__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 629, __pyx_L1_error)
jpayne@69 18181 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18182 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18183 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18184 __pyx_r = __pyx_t_3;
jpayne@69 18185 __pyx_t_3 = 0;
jpayne@69 18186 goto __pyx_L0;
jpayne@69 18187
jpayne@69 18188 /* "pysam/libctabixproxies.pyx":628
jpayne@69 18189 * return s
jpayne@69 18190 *
jpayne@69 18191 * if f[0] == str: # <<<<<<<<<<<<<<
jpayne@69 18192 * return force_str(self.fields[idx],
jpayne@69 18193 * self.encoding)
jpayne@69 18194 */
jpayne@69 18195 }
jpayne@69 18196
jpayne@69 18197 /* "pysam/libctabixproxies.pyx":632
jpayne@69 18198 * self.encoding)
jpayne@69 18199 * else:
jpayne@69 18200 * return f[0](self.fields[idx]) # <<<<<<<<<<<<<<
jpayne@69 18201 * else:
jpayne@69 18202 * # deal with generic attributes (gene_id, ...)
jpayne@69 18203 */
jpayne@69 18204 /*else*/ {
jpayne@69 18205 __Pyx_XDECREF(__pyx_r);
jpayne@69 18206 __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_f, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error)
jpayne@69 18207 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18208 __pyx_t_2 = __Pyx_PyBytes_FromString((__pyx_v_self->__pyx_base.__pyx_base.fields[__pyx_v_idx])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error)
jpayne@69 18209 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18210 __pyx_t_5 = NULL;
jpayne@69 18211 __pyx_t_4 = 0;
jpayne@69 18212 #if CYTHON_UNPACK_METHODS
jpayne@69 18213 if (unlikely(PyMethod_Check(__pyx_t_1))) {
jpayne@69 18214 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
jpayne@69 18215 if (likely(__pyx_t_5)) {
jpayne@69 18216 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
jpayne@69 18217 __Pyx_INCREF(__pyx_t_5);
jpayne@69 18218 __Pyx_INCREF(function);
jpayne@69 18219 __Pyx_DECREF_SET(__pyx_t_1, function);
jpayne@69 18220 __pyx_t_4 = 1;
jpayne@69 18221 }
jpayne@69 18222 }
jpayne@69 18223 #endif
jpayne@69 18224 {
jpayne@69 18225 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2};
jpayne@69 18226 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 18227 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 18228 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18229 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 632, __pyx_L1_error)
jpayne@69 18230 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18231 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18232 }
jpayne@69 18233 __pyx_r = __pyx_t_3;
jpayne@69 18234 __pyx_t_3 = 0;
jpayne@69 18235 goto __pyx_L0;
jpayne@69 18236 }
jpayne@69 18237
jpayne@69 18238 /* "pysam/libctabixproxies.pyx":618
jpayne@69 18239 * cdef int idx
jpayne@69 18240 * idx, f = self.map_key2field.get(key, (-1, None))
jpayne@69 18241 * if idx >= 0: # <<<<<<<<<<<<<<
jpayne@69 18242 * # deal with known attributes (fields 0-8)
jpayne@69 18243 * if idx == 8:
jpayne@69 18244 */
jpayne@69 18245 }
jpayne@69 18246
jpayne@69 18247 /* "pysam/libctabixproxies.pyx":635
jpayne@69 18248 * else:
jpayne@69 18249 * # deal with generic attributes (gene_id, ...)
jpayne@69 18250 * if self.attribute_dict is None: # <<<<<<<<<<<<<<
jpayne@69 18251 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 18252 * self.attributes)
jpayne@69 18253 */
jpayne@69 18254 /*else*/ {
jpayne@69 18255 __pyx_t_8 = (__pyx_v_self->attribute_dict == Py_None);
jpayne@69 18256 if (__pyx_t_8) {
jpayne@69 18257
jpayne@69 18258 /* "pysam/libctabixproxies.pyx":636
jpayne@69 18259 * # deal with generic attributes (gene_id, ...)
jpayne@69 18260 * if self.attribute_dict is None:
jpayne@69 18261 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 18262 * self.attributes)
jpayne@69 18263 * return self.attribute_dict[key]
jpayne@69 18264 */
jpayne@69 18265 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attribute_string2dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 636, __pyx_L1_error)
jpayne@69 18266 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18267
jpayne@69 18268 /* "pysam/libctabixproxies.pyx":637
jpayne@69 18269 * if self.attribute_dict is None:
jpayne@69 18270 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 18271 * self.attributes) # <<<<<<<<<<<<<<
jpayne@69 18272 * return self.attribute_dict[key]
jpayne@69 18273 *
jpayne@69 18274 */
jpayne@69 18275 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 637, __pyx_L1_error)
jpayne@69 18276 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18277 __pyx_t_5 = NULL;
jpayne@69 18278 __pyx_t_4 = 0;
jpayne@69 18279 #if CYTHON_UNPACK_METHODS
jpayne@69 18280 if (likely(PyMethod_Check(__pyx_t_1))) {
jpayne@69 18281 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
jpayne@69 18282 if (likely(__pyx_t_5)) {
jpayne@69 18283 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
jpayne@69 18284 __Pyx_INCREF(__pyx_t_5);
jpayne@69 18285 __Pyx_INCREF(function);
jpayne@69 18286 __Pyx_DECREF_SET(__pyx_t_1, function);
jpayne@69 18287 __pyx_t_4 = 1;
jpayne@69 18288 }
jpayne@69 18289 }
jpayne@69 18290 #endif
jpayne@69 18291 {
jpayne@69 18292 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_2};
jpayne@69 18293 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 18294 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 18295 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18296 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 636, __pyx_L1_error)
jpayne@69 18297 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18298 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18299 }
jpayne@69 18300
jpayne@69 18301 /* "pysam/libctabixproxies.pyx":636
jpayne@69 18302 * # deal with generic attributes (gene_id, ...)
jpayne@69 18303 * if self.attribute_dict is None:
jpayne@69 18304 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 18305 * self.attributes)
jpayne@69 18306 * return self.attribute_dict[key]
jpayne@69 18307 */
jpayne@69 18308 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 18309 __Pyx_GOTREF(__pyx_v_self->attribute_dict);
jpayne@69 18310 __Pyx_DECREF(__pyx_v_self->attribute_dict);
jpayne@69 18311 __pyx_v_self->attribute_dict = __pyx_t_3;
jpayne@69 18312 __pyx_t_3 = 0;
jpayne@69 18313
jpayne@69 18314 /* "pysam/libctabixproxies.pyx":635
jpayne@69 18315 * else:
jpayne@69 18316 * # deal with generic attributes (gene_id, ...)
jpayne@69 18317 * if self.attribute_dict is None: # <<<<<<<<<<<<<<
jpayne@69 18318 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 18319 * self.attributes)
jpayne@69 18320 */
jpayne@69 18321 }
jpayne@69 18322
jpayne@69 18323 /* "pysam/libctabixproxies.pyx":638
jpayne@69 18324 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 18325 * self.attributes)
jpayne@69 18326 * return self.attribute_dict[key] # <<<<<<<<<<<<<<
jpayne@69 18327 *
jpayne@69 18328 * def __setattr__(self, key, value):
jpayne@69 18329 */
jpayne@69 18330 __Pyx_XDECREF(__pyx_r);
jpayne@69 18331 __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_self->attribute_dict, __pyx_v_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 638, __pyx_L1_error)
jpayne@69 18332 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18333 __pyx_r = __pyx_t_3;
jpayne@69 18334 __pyx_t_3 = 0;
jpayne@69 18335 goto __pyx_L0;
jpayne@69 18336 }
jpayne@69 18337
jpayne@69 18338 /* "pysam/libctabixproxies.pyx":611
jpayne@69 18339 * yield n, v
jpayne@69 18340 *
jpayne@69 18341 * def __getattr__(self, key): # <<<<<<<<<<<<<<
jpayne@69 18342 * """Generic lookup of attribute from GFF/GTF attributes
jpayne@69 18343 * """
jpayne@69 18344 */
jpayne@69 18345
jpayne@69 18346 /* function exit code */
jpayne@69 18347 __pyx_L1_error:;
jpayne@69 18348 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 18349 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 18350 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 18351 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 18352 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__getattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 18353 __pyx_r = NULL;
jpayne@69 18354 __pyx_L0:;
jpayne@69 18355 __Pyx_XDECREF(__pyx_v_f);
jpayne@69 18356 __Pyx_XDECREF(__pyx_v_s);
jpayne@69 18357 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 18358 __Pyx_RefNannyFinishContext();
jpayne@69 18359 return __pyx_r;
jpayne@69 18360 }
jpayne@69 18361
jpayne@69 18362 /* "pysam/libctabixproxies.pyx":640
jpayne@69 18363 * return self.attribute_dict[key]
jpayne@69 18364 *
jpayne@69 18365 * def __setattr__(self, key, value): # <<<<<<<<<<<<<<
jpayne@69 18366 * '''set attribute.'''
jpayne@69 18367 *
jpayne@69 18368 */
jpayne@69 18369
jpayne@69 18370 /* Python wrapper */
jpayne@69 18371 static int __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_36__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
jpayne@69 18372 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8GTFProxy_35__setattr__, "set attribute.");
jpayne@69 18373 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 18374 struct wrapperbase __pyx_wrapperbase_5pysam_16libctabixproxies_8GTFProxy_35__setattr__;
jpayne@69 18375 #endif
jpayne@69 18376 static int __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_36__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
jpayne@69 18377 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 18378 int __pyx_r;
jpayne@69 18379 __Pyx_RefNannyDeclarations
jpayne@69 18380 __Pyx_RefNannySetupContext("__setattr__ (wrapper)", 0);
jpayne@69 18381 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 18382 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_35__setattr__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
jpayne@69 18383
jpayne@69 18384 /* function exit code */
jpayne@69 18385 __Pyx_RefNannyFinishContext();
jpayne@69 18386 return __pyx_r;
jpayne@69 18387 }
jpayne@69 18388
jpayne@69 18389 static int __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_35__setattr__(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
jpayne@69 18390 int __pyx_v_idx;
jpayne@69 18391 PyObject *__pyx_v_f = NULL;
jpayne@69 18392 PyObject *__pyx_v_s = NULL;
jpayne@69 18393 int __pyx_r;
jpayne@69 18394 __Pyx_RefNannyDeclarations
jpayne@69 18395 PyObject *__pyx_t_1 = NULL;
jpayne@69 18396 PyObject *__pyx_t_2 = NULL;
jpayne@69 18397 PyObject *__pyx_t_3 = NULL;
jpayne@69 18398 unsigned int __pyx_t_4;
jpayne@69 18399 PyObject *__pyx_t_5 = NULL;
jpayne@69 18400 PyObject *(*__pyx_t_6)(PyObject *);
jpayne@69 18401 int __pyx_t_7;
jpayne@69 18402 int __pyx_t_8;
jpayne@69 18403 struct __pyx_opt_args_5pysam_9libcutils_force_bytes __pyx_t_9;
jpayne@69 18404 int __pyx_lineno = 0;
jpayne@69 18405 const char *__pyx_filename = NULL;
jpayne@69 18406 int __pyx_clineno = 0;
jpayne@69 18407 __Pyx_RefNannySetupContext("__setattr__", 1);
jpayne@69 18408
jpayne@69 18409 /* "pysam/libctabixproxies.pyx":647
jpayne@69 18410 * # called after any properties have been resolved.
jpayne@69 18411 * cdef int idx
jpayne@69 18412 * idx, f = self.map_key2field.get(key, (-1, None)) # <<<<<<<<<<<<<<
jpayne@69 18413 *
jpayne@69 18414 * if idx >= 0:
jpayne@69 18415 */
jpayne@69 18416 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_map_key2field); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18417 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18418 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18419 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18420 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18421 __pyx_t_2 = NULL;
jpayne@69 18422 __pyx_t_4 = 0;
jpayne@69 18423 #if CYTHON_UNPACK_METHODS
jpayne@69 18424 if (likely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 18425 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 18426 if (likely(__pyx_t_2)) {
jpayne@69 18427 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 18428 __Pyx_INCREF(__pyx_t_2);
jpayne@69 18429 __Pyx_INCREF(function);
jpayne@69 18430 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 18431 __pyx_t_4 = 1;
jpayne@69 18432 }
jpayne@69 18433 }
jpayne@69 18434 #endif
jpayne@69 18435 {
jpayne@69 18436 PyObject *__pyx_callargs[3] = {__pyx_t_2, __pyx_v_key, __pyx_tuple__25};
jpayne@69 18437 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_4, 2+__pyx_t_4);
jpayne@69 18438 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18439 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18440 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18441 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 18442 }
jpayne@69 18443 if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
jpayne@69 18444 PyObject* sequence = __pyx_t_1;
jpayne@69 18445 Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
jpayne@69 18446 if (unlikely(size != 2)) {
jpayne@69 18447 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
jpayne@69 18448 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
jpayne@69 18449 __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18450 }
jpayne@69 18451 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 18452 if (likely(PyTuple_CheckExact(sequence))) {
jpayne@69 18453 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
jpayne@69 18454 __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1);
jpayne@69 18455 } else {
jpayne@69 18456 __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
jpayne@69 18457 __pyx_t_2 = PyList_GET_ITEM(sequence, 1);
jpayne@69 18458 }
jpayne@69 18459 __Pyx_INCREF(__pyx_t_3);
jpayne@69 18460 __Pyx_INCREF(__pyx_t_2);
jpayne@69 18461 #else
jpayne@69 18462 __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18463 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18464 __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18465 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18466 #endif
jpayne@69 18467 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18468 } else {
jpayne@69 18469 Py_ssize_t index = -1;
jpayne@69 18470 __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18471 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 18472 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18473 __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_5);
jpayne@69 18474 index = 0; __pyx_t_3 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
jpayne@69 18475 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18476 index = 1; __pyx_t_2 = __pyx_t_6(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
jpayne@69 18477 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18478 if (__Pyx_IternextUnpackEndCheck(__pyx_t_6(__pyx_t_5), 2) < 0) __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18479 __pyx_t_6 = NULL;
jpayne@69 18480 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 18481 goto __pyx_L4_unpacking_done;
jpayne@69 18482 __pyx_L3_unpacking_failed:;
jpayne@69 18483 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 18484 __pyx_t_6 = NULL;
jpayne@69 18485 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 18486 __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18487 __pyx_L4_unpacking_done:;
jpayne@69 18488 }
jpayne@69 18489 __pyx_t_7 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 647, __pyx_L1_error)
jpayne@69 18490 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 18491 __pyx_v_idx = __pyx_t_7;
jpayne@69 18492 __pyx_v_f = __pyx_t_2;
jpayne@69 18493 __pyx_t_2 = 0;
jpayne@69 18494
jpayne@69 18495 /* "pysam/libctabixproxies.pyx":649
jpayne@69 18496 * idx, f = self.map_key2field.get(key, (-1, None))
jpayne@69 18497 *
jpayne@69 18498 * if idx >= 0: # <<<<<<<<<<<<<<
jpayne@69 18499 * if value is None:
jpayne@69 18500 * s = "."
jpayne@69 18501 */
jpayne@69 18502 __pyx_t_8 = (__pyx_v_idx >= 0);
jpayne@69 18503 if (__pyx_t_8) {
jpayne@69 18504
jpayne@69 18505 /* "pysam/libctabixproxies.pyx":650
jpayne@69 18506 *
jpayne@69 18507 * if idx >= 0:
jpayne@69 18508 * if value is None: # <<<<<<<<<<<<<<
jpayne@69 18509 * s = "."
jpayne@69 18510 * elif f[1] == str:
jpayne@69 18511 */
jpayne@69 18512 __pyx_t_8 = (__pyx_v_value == Py_None);
jpayne@69 18513 if (__pyx_t_8) {
jpayne@69 18514
jpayne@69 18515 /* "pysam/libctabixproxies.pyx":651
jpayne@69 18516 * if idx >= 0:
jpayne@69 18517 * if value is None:
jpayne@69 18518 * s = "." # <<<<<<<<<<<<<<
jpayne@69 18519 * elif f[1] == str:
jpayne@69 18520 * s = force_bytes(value,
jpayne@69 18521 */
jpayne@69 18522 __Pyx_INCREF(__pyx_kp_u__12);
jpayne@69 18523 __pyx_v_s = __pyx_kp_u__12;
jpayne@69 18524
jpayne@69 18525 /* "pysam/libctabixproxies.pyx":650
jpayne@69 18526 *
jpayne@69 18527 * if idx >= 0:
jpayne@69 18528 * if value is None: # <<<<<<<<<<<<<<
jpayne@69 18529 * s = "."
jpayne@69 18530 * elif f[1] == str:
jpayne@69 18531 */
jpayne@69 18532 goto __pyx_L6;
jpayne@69 18533 }
jpayne@69 18534
jpayne@69 18535 /* "pysam/libctabixproxies.pyx":652
jpayne@69 18536 * if value is None:
jpayne@69 18537 * s = "."
jpayne@69 18538 * elif f[1] == str: # <<<<<<<<<<<<<<
jpayne@69 18539 * s = force_bytes(value,
jpayne@69 18540 * self.encoding)
jpayne@69 18541 */
jpayne@69 18542 __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_f, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __pyx_L1_error)
jpayne@69 18543 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18544 __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, ((PyObject *)(&PyUnicode_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 652, __pyx_L1_error)
jpayne@69 18545 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18546 __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_8 < 0))) __PYX_ERR(0, 652, __pyx_L1_error)
jpayne@69 18547 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18548 if (__pyx_t_8) {
jpayne@69 18549
jpayne@69 18550 /* "pysam/libctabixproxies.pyx":654
jpayne@69 18551 * elif f[1] == str:
jpayne@69 18552 * s = force_bytes(value,
jpayne@69 18553 * self.encoding) # <<<<<<<<<<<<<<
jpayne@69 18554 * else:
jpayne@69 18555 * s = str(f[1](value))
jpayne@69 18556 */
jpayne@69 18557 __pyx_t_2 = __pyx_v_self->__pyx_base.__pyx_base.encoding;
jpayne@69 18558 __Pyx_INCREF(__pyx_t_2);
jpayne@69 18559
jpayne@69 18560 /* "pysam/libctabixproxies.pyx":653
jpayne@69 18561 * s = "."
jpayne@69 18562 * elif f[1] == str:
jpayne@69 18563 * s = force_bytes(value, # <<<<<<<<<<<<<<
jpayne@69 18564 * self.encoding)
jpayne@69 18565 * else:
jpayne@69 18566 */
jpayne@69 18567 __pyx_t_9.__pyx_n = 1;
jpayne@69 18568 __pyx_t_9.encoding = __pyx_t_2;
jpayne@69 18569 __pyx_t_1 = __pyx_f_5pysam_9libcutils_force_bytes(__pyx_v_value, &__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 653, __pyx_L1_error)
jpayne@69 18570 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18571 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18572 __pyx_v_s = __pyx_t_1;
jpayne@69 18573 __pyx_t_1 = 0;
jpayne@69 18574
jpayne@69 18575 /* "pysam/libctabixproxies.pyx":652
jpayne@69 18576 * if value is None:
jpayne@69 18577 * s = "."
jpayne@69 18578 * elif f[1] == str: # <<<<<<<<<<<<<<
jpayne@69 18579 * s = force_bytes(value,
jpayne@69 18580 * self.encoding)
jpayne@69 18581 */
jpayne@69 18582 goto __pyx_L6;
jpayne@69 18583 }
jpayne@69 18584
jpayne@69 18585 /* "pysam/libctabixproxies.pyx":656
jpayne@69 18586 * self.encoding)
jpayne@69 18587 * else:
jpayne@69 18588 * s = str(f[1](value)) # <<<<<<<<<<<<<<
jpayne@69 18589 * TupleProxy._setindex(self, idx, s)
jpayne@69 18590 * else:
jpayne@69 18591 */
jpayne@69 18592 /*else*/ {
jpayne@69 18593 __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_f, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 656, __pyx_L1_error)
jpayne@69 18594 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18595 __pyx_t_3 = NULL;
jpayne@69 18596 __pyx_t_4 = 0;
jpayne@69 18597 #if CYTHON_UNPACK_METHODS
jpayne@69 18598 if (unlikely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 18599 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 18600 if (likely(__pyx_t_3)) {
jpayne@69 18601 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 18602 __Pyx_INCREF(__pyx_t_3);
jpayne@69 18603 __Pyx_INCREF(function);
jpayne@69 18604 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 18605 __pyx_t_4 = 1;
jpayne@69 18606 }
jpayne@69 18607 }
jpayne@69 18608 #endif
jpayne@69 18609 {
jpayne@69 18610 PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_value};
jpayne@69 18611 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 18612 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 18613 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 656, __pyx_L1_error)
jpayne@69 18614 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18615 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18616 }
jpayne@69 18617 __pyx_t_2 = __Pyx_PyObject_Unicode(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 656, __pyx_L1_error)
jpayne@69 18618 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18619 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18620 __pyx_v_s = __pyx_t_2;
jpayne@69 18621 __pyx_t_2 = 0;
jpayne@69 18622 }
jpayne@69 18623 __pyx_L6:;
jpayne@69 18624
jpayne@69 18625 /* "pysam/libctabixproxies.pyx":657
jpayne@69 18626 * else:
jpayne@69 18627 * s = str(f[1](value))
jpayne@69 18628 * TupleProxy._setindex(self, idx, s) # <<<<<<<<<<<<<<
jpayne@69 18629 * else:
jpayne@69 18630 * if self.attribute_dict is None:
jpayne@69 18631 */
jpayne@69 18632 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy), __pyx_n_s_setindex); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error)
jpayne@69 18633 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18634 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 657, __pyx_L1_error)
jpayne@69 18635 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18636 __pyx_t_5 = NULL;
jpayne@69 18637 __pyx_t_4 = 0;
jpayne@69 18638 #if CYTHON_UNPACK_METHODS
jpayne@69 18639 if (likely(PyMethod_Check(__pyx_t_1))) {
jpayne@69 18640 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
jpayne@69 18641 if (likely(__pyx_t_5)) {
jpayne@69 18642 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
jpayne@69 18643 __Pyx_INCREF(__pyx_t_5);
jpayne@69 18644 __Pyx_INCREF(function);
jpayne@69 18645 __Pyx_DECREF_SET(__pyx_t_1, function);
jpayne@69 18646 __pyx_t_4 = 1;
jpayne@69 18647 }
jpayne@69 18648 }
jpayne@69 18649 #endif
jpayne@69 18650 {
jpayne@69 18651 PyObject *__pyx_callargs[4] = {__pyx_t_5, ((PyObject *)__pyx_v_self), __pyx_t_3, __pyx_v_s};
jpayne@69 18652 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 3+__pyx_t_4);
jpayne@69 18653 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 18654 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 18655 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 657, __pyx_L1_error)
jpayne@69 18656 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18657 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18658 }
jpayne@69 18659 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18660
jpayne@69 18661 /* "pysam/libctabixproxies.pyx":649
jpayne@69 18662 * idx, f = self.map_key2field.get(key, (-1, None))
jpayne@69 18663 *
jpayne@69 18664 * if idx >= 0: # <<<<<<<<<<<<<<
jpayne@69 18665 * if value is None:
jpayne@69 18666 * s = "."
jpayne@69 18667 */
jpayne@69 18668 goto __pyx_L5;
jpayne@69 18669 }
jpayne@69 18670
jpayne@69 18671 /* "pysam/libctabixproxies.pyx":659
jpayne@69 18672 * TupleProxy._setindex(self, idx, s)
jpayne@69 18673 * else:
jpayne@69 18674 * if self.attribute_dict is None: # <<<<<<<<<<<<<<
jpayne@69 18675 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 18676 * self.attributes)
jpayne@69 18677 */
jpayne@69 18678 /*else*/ {
jpayne@69 18679 __pyx_t_8 = (__pyx_v_self->attribute_dict == Py_None);
jpayne@69 18680 if (__pyx_t_8) {
jpayne@69 18681
jpayne@69 18682 /* "pysam/libctabixproxies.pyx":660
jpayne@69 18683 * else:
jpayne@69 18684 * if self.attribute_dict is None:
jpayne@69 18685 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 18686 * self.attributes)
jpayne@69 18687 * self.attribute_dict[key] = value
jpayne@69 18688 */
jpayne@69 18689 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attribute_string2dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 660, __pyx_L1_error)
jpayne@69 18690 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18691
jpayne@69 18692 /* "pysam/libctabixproxies.pyx":661
jpayne@69 18693 * if self.attribute_dict is None:
jpayne@69 18694 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 18695 * self.attributes) # <<<<<<<<<<<<<<
jpayne@69 18696 * self.attribute_dict[key] = value
jpayne@69 18697 * self.is_modified = True
jpayne@69 18698 */
jpayne@69 18699 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_attributes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 661, __pyx_L1_error)
jpayne@69 18700 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18701 __pyx_t_5 = NULL;
jpayne@69 18702 __pyx_t_4 = 0;
jpayne@69 18703 #if CYTHON_UNPACK_METHODS
jpayne@69 18704 if (likely(PyMethod_Check(__pyx_t_1))) {
jpayne@69 18705 __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
jpayne@69 18706 if (likely(__pyx_t_5)) {
jpayne@69 18707 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
jpayne@69 18708 __Pyx_INCREF(__pyx_t_5);
jpayne@69 18709 __Pyx_INCREF(function);
jpayne@69 18710 __Pyx_DECREF_SET(__pyx_t_1, function);
jpayne@69 18711 __pyx_t_4 = 1;
jpayne@69 18712 }
jpayne@69 18713 }
jpayne@69 18714 #endif
jpayne@69 18715 {
jpayne@69 18716 PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
jpayne@69 18717 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_1, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 18718 __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 18719 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 18720 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 660, __pyx_L1_error)
jpayne@69 18721 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18722 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18723 }
jpayne@69 18724
jpayne@69 18725 /* "pysam/libctabixproxies.pyx":660
jpayne@69 18726 * else:
jpayne@69 18727 * if self.attribute_dict is None:
jpayne@69 18728 * self.attribute_dict = self.attribute_string2dict( # <<<<<<<<<<<<<<
jpayne@69 18729 * self.attributes)
jpayne@69 18730 * self.attribute_dict[key] = value
jpayne@69 18731 */
jpayne@69 18732 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 18733 __Pyx_GOTREF(__pyx_v_self->attribute_dict);
jpayne@69 18734 __Pyx_DECREF(__pyx_v_self->attribute_dict);
jpayne@69 18735 __pyx_v_self->attribute_dict = __pyx_t_2;
jpayne@69 18736 __pyx_t_2 = 0;
jpayne@69 18737
jpayne@69 18738 /* "pysam/libctabixproxies.pyx":659
jpayne@69 18739 * TupleProxy._setindex(self, idx, s)
jpayne@69 18740 * else:
jpayne@69 18741 * if self.attribute_dict is None: # <<<<<<<<<<<<<<
jpayne@69 18742 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 18743 * self.attributes)
jpayne@69 18744 */
jpayne@69 18745 }
jpayne@69 18746
jpayne@69 18747 /* "pysam/libctabixproxies.pyx":662
jpayne@69 18748 * self.attribute_dict = self.attribute_string2dict(
jpayne@69 18749 * self.attributes)
jpayne@69 18750 * self.attribute_dict[key] = value # <<<<<<<<<<<<<<
jpayne@69 18751 * self.is_modified = True
jpayne@69 18752 *
jpayne@69 18753 */
jpayne@69 18754 if (unlikely((PyObject_SetItem(__pyx_v_self->attribute_dict, __pyx_v_key, __pyx_v_value) < 0))) __PYX_ERR(0, 662, __pyx_L1_error)
jpayne@69 18755
jpayne@69 18756 /* "pysam/libctabixproxies.pyx":663
jpayne@69 18757 * self.attributes)
jpayne@69 18758 * self.attribute_dict[key] = value
jpayne@69 18759 * self.is_modified = True # <<<<<<<<<<<<<<
jpayne@69 18760 *
jpayne@69 18761 * # for backwards compatibility
jpayne@69 18762 */
jpayne@69 18763 __pyx_v_self->__pyx_base.__pyx_base.is_modified = 1;
jpayne@69 18764 }
jpayne@69 18765 __pyx_L5:;
jpayne@69 18766
jpayne@69 18767 /* "pysam/libctabixproxies.pyx":640
jpayne@69 18768 * return self.attribute_dict[key]
jpayne@69 18769 *
jpayne@69 18770 * def __setattr__(self, key, value): # <<<<<<<<<<<<<<
jpayne@69 18771 * '''set attribute.'''
jpayne@69 18772 *
jpayne@69 18773 */
jpayne@69 18774
jpayne@69 18775 /* function exit code */
jpayne@69 18776 __pyx_r = 0;
jpayne@69 18777 goto __pyx_L0;
jpayne@69 18778 __pyx_L1_error:;
jpayne@69 18779 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 18780 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 18781 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 18782 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 18783 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 18784 __pyx_r = -1;
jpayne@69 18785 __pyx_L0:;
jpayne@69 18786 __Pyx_XDECREF(__pyx_v_f);
jpayne@69 18787 __Pyx_XDECREF(__pyx_v_s);
jpayne@69 18788 __Pyx_RefNannyFinishContext();
jpayne@69 18789 return __pyx_r;
jpayne@69 18790 }
jpayne@69 18791
jpayne@69 18792 /* "pysam/libctabixproxies.pyx":666
jpayne@69 18793 *
jpayne@69 18794 * # for backwards compatibility
jpayne@69 18795 * def asDict(self, *args, **kwargs): # <<<<<<<<<<<<<<
jpayne@69 18796 * return self.to_dict(*args, **kwargs)
jpayne@69 18797 *
jpayne@69 18798 */
jpayne@69 18799
jpayne@69 18800 /* Python wrapper */
jpayne@69 18801 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_38asDict(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
jpayne@69 18802 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_38asDict = {"asDict", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_38asDict, METH_VARARGS|METH_KEYWORDS, 0};
jpayne@69 18803 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_38asDict(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
jpayne@69 18804 PyObject *__pyx_v_args = 0;
jpayne@69 18805 PyObject *__pyx_v_kwargs = 0;
jpayne@69 18806 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 18807 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 18808 PyObject *__pyx_r = 0;
jpayne@69 18809 __Pyx_RefNannyDeclarations
jpayne@69 18810 __Pyx_RefNannySetupContext("asDict (wrapper)", 0);
jpayne@69 18811 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 18812 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 18813 #else
jpayne@69 18814 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 18815 #endif
jpayne@69 18816 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 18817 if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "asDict", 1))) return NULL;
jpayne@69 18818 if (unlikely(__pyx_kwds)) {
jpayne@69 18819 __pyx_v_kwargs = __Pyx_KwargsAsDict_VARARGS(__pyx_kwds, __pyx_kwvalues);
jpayne@69 18820 if (unlikely(!__pyx_v_kwargs)) return NULL;
jpayne@69 18821 __Pyx_GOTREF(__pyx_v_kwargs);
jpayne@69 18822 } else {
jpayne@69 18823 __pyx_v_kwargs = PyDict_New();
jpayne@69 18824 if (unlikely(!__pyx_v_kwargs)) return NULL;
jpayne@69 18825 __Pyx_GOTREF(__pyx_v_kwargs);
jpayne@69 18826 }
jpayne@69 18827 __Pyx_INCREF(__pyx_args);
jpayne@69 18828 __pyx_v_args = __pyx_args;
jpayne@69 18829 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_37asDict(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
jpayne@69 18830
jpayne@69 18831 /* function exit code */
jpayne@69 18832 __Pyx_DECREF(__pyx_v_args);
jpayne@69 18833 __Pyx_DECREF(__pyx_v_kwargs);
jpayne@69 18834 __Pyx_RefNannyFinishContext();
jpayne@69 18835 return __pyx_r;
jpayne@69 18836 }
jpayne@69 18837
jpayne@69 18838 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_37asDict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
jpayne@69 18839 PyObject *__pyx_r = NULL;
jpayne@69 18840 __Pyx_RefNannyDeclarations
jpayne@69 18841 PyObject *__pyx_t_1 = NULL;
jpayne@69 18842 PyObject *__pyx_t_2 = NULL;
jpayne@69 18843 PyObject *__pyx_t_3 = NULL;
jpayne@69 18844 int __pyx_lineno = 0;
jpayne@69 18845 const char *__pyx_filename = NULL;
jpayne@69 18846 int __pyx_clineno = 0;
jpayne@69 18847 __Pyx_RefNannySetupContext("asDict", 1);
jpayne@69 18848
jpayne@69 18849 /* "pysam/libctabixproxies.pyx":667
jpayne@69 18850 * # for backwards compatibility
jpayne@69 18851 * def asDict(self, *args, **kwargs):
jpayne@69 18852 * return self.to_dict(*args, **kwargs) # <<<<<<<<<<<<<<
jpayne@69 18853 *
jpayne@69 18854 * def fromDict(self, *args, **kwargs):
jpayne@69 18855 */
jpayne@69 18856 __Pyx_XDECREF(__pyx_r);
jpayne@69 18857 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_to_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 667, __pyx_L1_error)
jpayne@69 18858 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18859 __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 667, __pyx_L1_error)
jpayne@69 18860 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18861 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 667, __pyx_L1_error)
jpayne@69 18862 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18863 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18864 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18865 __pyx_r = __pyx_t_3;
jpayne@69 18866 __pyx_t_3 = 0;
jpayne@69 18867 goto __pyx_L0;
jpayne@69 18868
jpayne@69 18869 /* "pysam/libctabixproxies.pyx":666
jpayne@69 18870 *
jpayne@69 18871 * # for backwards compatibility
jpayne@69 18872 * def asDict(self, *args, **kwargs): # <<<<<<<<<<<<<<
jpayne@69 18873 * return self.to_dict(*args, **kwargs)
jpayne@69 18874 *
jpayne@69 18875 */
jpayne@69 18876
jpayne@69 18877 /* function exit code */
jpayne@69 18878 __pyx_L1_error:;
jpayne@69 18879 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 18880 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 18881 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 18882 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.asDict", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 18883 __pyx_r = NULL;
jpayne@69 18884 __pyx_L0:;
jpayne@69 18885 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 18886 __Pyx_RefNannyFinishContext();
jpayne@69 18887 return __pyx_r;
jpayne@69 18888 }
jpayne@69 18889
jpayne@69 18890 /* "pysam/libctabixproxies.pyx":669
jpayne@69 18891 * return self.to_dict(*args, **kwargs)
jpayne@69 18892 *
jpayne@69 18893 * def fromDict(self, *args, **kwargs): # <<<<<<<<<<<<<<
jpayne@69 18894 * return self.from_dict(*args, **kwargs)
jpayne@69 18895 *
jpayne@69 18896 */
jpayne@69 18897
jpayne@69 18898 /* Python wrapper */
jpayne@69 18899 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_40fromDict(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
jpayne@69 18900 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_40fromDict = {"fromDict", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_40fromDict, METH_VARARGS|METH_KEYWORDS, 0};
jpayne@69 18901 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_40fromDict(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
jpayne@69 18902 PyObject *__pyx_v_args = 0;
jpayne@69 18903 PyObject *__pyx_v_kwargs = 0;
jpayne@69 18904 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 18905 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 18906 PyObject *__pyx_r = 0;
jpayne@69 18907 __Pyx_RefNannyDeclarations
jpayne@69 18908 __Pyx_RefNannySetupContext("fromDict (wrapper)", 0);
jpayne@69 18909 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 18910 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 18911 #else
jpayne@69 18912 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 18913 #endif
jpayne@69 18914 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 18915 if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "fromDict", 1))) return NULL;
jpayne@69 18916 if (unlikely(__pyx_kwds)) {
jpayne@69 18917 __pyx_v_kwargs = __Pyx_KwargsAsDict_VARARGS(__pyx_kwds, __pyx_kwvalues);
jpayne@69 18918 if (unlikely(!__pyx_v_kwargs)) return NULL;
jpayne@69 18919 __Pyx_GOTREF(__pyx_v_kwargs);
jpayne@69 18920 } else {
jpayne@69 18921 __pyx_v_kwargs = PyDict_New();
jpayne@69 18922 if (unlikely(!__pyx_v_kwargs)) return NULL;
jpayne@69 18923 __Pyx_GOTREF(__pyx_v_kwargs);
jpayne@69 18924 }
jpayne@69 18925 __Pyx_INCREF(__pyx_args);
jpayne@69 18926 __pyx_v_args = __pyx_args;
jpayne@69 18927 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_39fromDict(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
jpayne@69 18928
jpayne@69 18929 /* function exit code */
jpayne@69 18930 __Pyx_DECREF(__pyx_v_args);
jpayne@69 18931 __Pyx_DECREF(__pyx_v_kwargs);
jpayne@69 18932 __Pyx_RefNannyFinishContext();
jpayne@69 18933 return __pyx_r;
jpayne@69 18934 }
jpayne@69 18935
jpayne@69 18936 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_39fromDict(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
jpayne@69 18937 PyObject *__pyx_r = NULL;
jpayne@69 18938 __Pyx_RefNannyDeclarations
jpayne@69 18939 PyObject *__pyx_t_1 = NULL;
jpayne@69 18940 PyObject *__pyx_t_2 = NULL;
jpayne@69 18941 PyObject *__pyx_t_3 = NULL;
jpayne@69 18942 int __pyx_lineno = 0;
jpayne@69 18943 const char *__pyx_filename = NULL;
jpayne@69 18944 int __pyx_clineno = 0;
jpayne@69 18945 __Pyx_RefNannySetupContext("fromDict", 1);
jpayne@69 18946
jpayne@69 18947 /* "pysam/libctabixproxies.pyx":670
jpayne@69 18948 *
jpayne@69 18949 * def fromDict(self, *args, **kwargs):
jpayne@69 18950 * return self.from_dict(*args, **kwargs) # <<<<<<<<<<<<<<
jpayne@69 18951 *
jpayne@69 18952 *
jpayne@69 18953 */
jpayne@69 18954 __Pyx_XDECREF(__pyx_r);
jpayne@69 18955 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_from_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 670, __pyx_L1_error)
jpayne@69 18956 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 18957 __pyx_t_2 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 670, __pyx_L1_error)
jpayne@69 18958 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 18959 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_v_args, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 670, __pyx_L1_error)
jpayne@69 18960 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 18961 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 18962 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 18963 __pyx_r = __pyx_t_3;
jpayne@69 18964 __pyx_t_3 = 0;
jpayne@69 18965 goto __pyx_L0;
jpayne@69 18966
jpayne@69 18967 /* "pysam/libctabixproxies.pyx":669
jpayne@69 18968 * return self.to_dict(*args, **kwargs)
jpayne@69 18969 *
jpayne@69 18970 * def fromDict(self, *args, **kwargs): # <<<<<<<<<<<<<<
jpayne@69 18971 * return self.from_dict(*args, **kwargs)
jpayne@69 18972 *
jpayne@69 18973 */
jpayne@69 18974
jpayne@69 18975 /* function exit code */
jpayne@69 18976 __pyx_L1_error:;
jpayne@69 18977 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 18978 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 18979 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 18980 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.fromDict", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 18981 __pyx_r = NULL;
jpayne@69 18982 __pyx_L0:;
jpayne@69 18983 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 18984 __Pyx_RefNannyFinishContext();
jpayne@69 18985 return __pyx_r;
jpayne@69 18986 }
jpayne@69 18987
jpayne@69 18988 /* "(tree fragment)":1
jpayne@69 18989 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 18990 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 18991 * def __setstate_cython__(self, __pyx_state):
jpayne@69 18992 */
jpayne@69 18993
jpayne@69 18994 /* Python wrapper */
jpayne@69 18995 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_42__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 18996 #if CYTHON_METH_FASTCALL
jpayne@69 18997 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 18998 #else
jpayne@69 18999 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 19000 #endif
jpayne@69 19001 ); /*proto*/
jpayne@69 19002 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_42__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_42__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 19003 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_42__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 19004 #if CYTHON_METH_FASTCALL
jpayne@69 19005 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 19006 #else
jpayne@69 19007 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 19008 #endif
jpayne@69 19009 ) {
jpayne@69 19010 #if !CYTHON_METH_FASTCALL
jpayne@69 19011 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 19012 #endif
jpayne@69 19013 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 19014 PyObject *__pyx_r = 0;
jpayne@69 19015 __Pyx_RefNannyDeclarations
jpayne@69 19016 __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
jpayne@69 19017 #if !CYTHON_METH_FASTCALL
jpayne@69 19018 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 19019 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 19020 #else
jpayne@69 19021 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 19022 #endif
jpayne@69 19023 #endif
jpayne@69 19024 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 19025 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 19026 __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 19027 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
jpayne@69 19028 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_41__reduce_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self));
jpayne@69 19029
jpayne@69 19030 /* function exit code */
jpayne@69 19031 __Pyx_RefNannyFinishContext();
jpayne@69 19032 return __pyx_r;
jpayne@69 19033 }
jpayne@69 19034
jpayne@69 19035 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_41__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self) {
jpayne@69 19036 PyObject *__pyx_r = NULL;
jpayne@69 19037 __Pyx_RefNannyDeclarations
jpayne@69 19038 int __pyx_lineno = 0;
jpayne@69 19039 const char *__pyx_filename = NULL;
jpayne@69 19040 int __pyx_clineno = 0;
jpayne@69 19041 __Pyx_RefNannySetupContext("__reduce_cython__", 1);
jpayne@69 19042
jpayne@69 19043 /* "(tree fragment)":2
jpayne@69 19044 * def __reduce_cython__(self):
jpayne@69 19045 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 19046 * def __setstate_cython__(self, __pyx_state):
jpayne@69 19047 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 19048 */
jpayne@69 19049 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 19050 __PYX_ERR(1, 2, __pyx_L1_error)
jpayne@69 19051
jpayne@69 19052 /* "(tree fragment)":1
jpayne@69 19053 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 19054 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 19055 * def __setstate_cython__(self, __pyx_state):
jpayne@69 19056 */
jpayne@69 19057
jpayne@69 19058 /* function exit code */
jpayne@69 19059 __pyx_L1_error:;
jpayne@69 19060 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19061 __pyx_r = NULL;
jpayne@69 19062 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 19063 __Pyx_RefNannyFinishContext();
jpayne@69 19064 return __pyx_r;
jpayne@69 19065 }
jpayne@69 19066
jpayne@69 19067 /* "(tree fragment)":3
jpayne@69 19068 * def __reduce_cython__(self):
jpayne@69 19069 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 19070 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 19071 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 19072 */
jpayne@69 19073
jpayne@69 19074 /* Python wrapper */
jpayne@69 19075 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_44__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 19076 #if CYTHON_METH_FASTCALL
jpayne@69 19077 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 19078 #else
jpayne@69 19079 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 19080 #endif
jpayne@69 19081 ); /*proto*/
jpayne@69 19082 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_44__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_44__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 19083 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_44__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 19084 #if CYTHON_METH_FASTCALL
jpayne@69 19085 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 19086 #else
jpayne@69 19087 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 19088 #endif
jpayne@69 19089 ) {
jpayne@69 19090 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
jpayne@69 19091 #if !CYTHON_METH_FASTCALL
jpayne@69 19092 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 19093 #endif
jpayne@69 19094 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 19095 PyObject* values[1] = {0};
jpayne@69 19096 int __pyx_lineno = 0;
jpayne@69 19097 const char *__pyx_filename = NULL;
jpayne@69 19098 int __pyx_clineno = 0;
jpayne@69 19099 PyObject *__pyx_r = 0;
jpayne@69 19100 __Pyx_RefNannyDeclarations
jpayne@69 19101 __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
jpayne@69 19102 #if !CYTHON_METH_FASTCALL
jpayne@69 19103 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 19104 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 19105 #else
jpayne@69 19106 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 19107 #endif
jpayne@69 19108 #endif
jpayne@69 19109 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 19110 {
jpayne@69 19111 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
jpayne@69 19112 if (__pyx_kwds) {
jpayne@69 19113 Py_ssize_t kw_args;
jpayne@69 19114 switch (__pyx_nargs) {
jpayne@69 19115 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 19116 CYTHON_FALLTHROUGH;
jpayne@69 19117 case 0: break;
jpayne@69 19118 default: goto __pyx_L5_argtuple_error;
jpayne@69 19119 }
jpayne@69 19120 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 19121 switch (__pyx_nargs) {
jpayne@69 19122 case 0:
jpayne@69 19123 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
jpayne@69 19124 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 19125 kw_args--;
jpayne@69 19126 }
jpayne@69 19127 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 19128 else goto __pyx_L5_argtuple_error;
jpayne@69 19129 }
jpayne@69 19130 if (unlikely(kw_args > 0)) {
jpayne@69 19131 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 19132 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 19133 }
jpayne@69 19134 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 19135 goto __pyx_L5_argtuple_error;
jpayne@69 19136 } else {
jpayne@69 19137 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 19138 }
jpayne@69 19139 __pyx_v___pyx_state = values[0];
jpayne@69 19140 }
jpayne@69 19141 goto __pyx_L6_skip;
jpayne@69 19142 __pyx_L5_argtuple_error:;
jpayne@69 19143 __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 19144 __pyx_L6_skip:;
jpayne@69 19145 goto __pyx_L4_argument_unpacking_done;
jpayne@69 19146 __pyx_L3_error:;
jpayne@69 19147 {
jpayne@69 19148 Py_ssize_t __pyx_temp;
jpayne@69 19149 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 19150 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 19151 }
jpayne@69 19152 }
jpayne@69 19153 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19154 __Pyx_RefNannyFinishContext();
jpayne@69 19155 return NULL;
jpayne@69 19156 __pyx_L4_argument_unpacking_done:;
jpayne@69 19157 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8GTFProxy_43__setstate_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)__pyx_v_self), __pyx_v___pyx_state);
jpayne@69 19158
jpayne@69 19159 /* function exit code */
jpayne@69 19160 {
jpayne@69 19161 Py_ssize_t __pyx_temp;
jpayne@69 19162 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 19163 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 19164 }
jpayne@69 19165 }
jpayne@69 19166 __Pyx_RefNannyFinishContext();
jpayne@69 19167 return __pyx_r;
jpayne@69 19168 }
jpayne@69 19169
jpayne@69 19170 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8GTFProxy_43__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
jpayne@69 19171 PyObject *__pyx_r = NULL;
jpayne@69 19172 __Pyx_RefNannyDeclarations
jpayne@69 19173 int __pyx_lineno = 0;
jpayne@69 19174 const char *__pyx_filename = NULL;
jpayne@69 19175 int __pyx_clineno = 0;
jpayne@69 19176 __Pyx_RefNannySetupContext("__setstate_cython__", 1);
jpayne@69 19177
jpayne@69 19178 /* "(tree fragment)":4
jpayne@69 19179 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 19180 * def __setstate_cython__(self, __pyx_state):
jpayne@69 19181 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 19182 */
jpayne@69 19183 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 19184 __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 19185
jpayne@69 19186 /* "(tree fragment)":3
jpayne@69 19187 * def __reduce_cython__(self):
jpayne@69 19188 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 19189 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 19190 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 19191 */
jpayne@69 19192
jpayne@69 19193 /* function exit code */
jpayne@69 19194 __pyx_L1_error:;
jpayne@69 19195 __Pyx_AddTraceback("pysam.libctabixproxies.GTFProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19196 __pyx_r = NULL;
jpayne@69 19197 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 19198 __Pyx_RefNannyFinishContext();
jpayne@69 19199 return __pyx_r;
jpayne@69 19200 }
jpayne@69 19201
jpayne@69 19202 /* "pysam/libctabixproxies.pyx":675
jpayne@69 19203 * cdef class GFF3Proxy(GTFProxy):
jpayne@69 19204 *
jpayne@69 19205 * def dict2attribute_string(self, d): # <<<<<<<<<<<<<<
jpayne@69 19206 * """convert dictionary to attribute string."""
jpayne@69 19207 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 19208 */
jpayne@69 19209
jpayne@69 19210 /* Python wrapper */
jpayne@69 19211 static PyObject *__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_1dict2attribute_string(PyObject *__pyx_v_self,
jpayne@69 19212 #if CYTHON_METH_FASTCALL
jpayne@69 19213 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 19214 #else
jpayne@69 19215 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 19216 #endif
jpayne@69 19217 ); /*proto*/
jpayne@69 19218 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_9GFF3Proxy_dict2attribute_string, "convert dictionary to attribute string.");
jpayne@69 19219 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_9GFF3Proxy_1dict2attribute_string = {"dict2attribute_string", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_1dict2attribute_string, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_9GFF3Proxy_dict2attribute_string};
jpayne@69 19220 static PyObject *__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_1dict2attribute_string(PyObject *__pyx_v_self,
jpayne@69 19221 #if CYTHON_METH_FASTCALL
jpayne@69 19222 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 19223 #else
jpayne@69 19224 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 19225 #endif
jpayne@69 19226 ) {
jpayne@69 19227 PyObject *__pyx_v_d = 0;
jpayne@69 19228 #if !CYTHON_METH_FASTCALL
jpayne@69 19229 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 19230 #endif
jpayne@69 19231 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 19232 PyObject* values[1] = {0};
jpayne@69 19233 int __pyx_lineno = 0;
jpayne@69 19234 const char *__pyx_filename = NULL;
jpayne@69 19235 int __pyx_clineno = 0;
jpayne@69 19236 PyObject *__pyx_r = 0;
jpayne@69 19237 __Pyx_RefNannyDeclarations
jpayne@69 19238 __Pyx_RefNannySetupContext("dict2attribute_string (wrapper)", 0);
jpayne@69 19239 #if !CYTHON_METH_FASTCALL
jpayne@69 19240 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 19241 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 19242 #else
jpayne@69 19243 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 19244 #endif
jpayne@69 19245 #endif
jpayne@69 19246 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 19247 {
jpayne@69 19248 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_d,0};
jpayne@69 19249 if (__pyx_kwds) {
jpayne@69 19250 Py_ssize_t kw_args;
jpayne@69 19251 switch (__pyx_nargs) {
jpayne@69 19252 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 19253 CYTHON_FALLTHROUGH;
jpayne@69 19254 case 0: break;
jpayne@69 19255 default: goto __pyx_L5_argtuple_error;
jpayne@69 19256 }
jpayne@69 19257 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 19258 switch (__pyx_nargs) {
jpayne@69 19259 case 0:
jpayne@69 19260 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
jpayne@69 19261 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 19262 kw_args--;
jpayne@69 19263 }
jpayne@69 19264 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 675, __pyx_L3_error)
jpayne@69 19265 else goto __pyx_L5_argtuple_error;
jpayne@69 19266 }
jpayne@69 19267 if (unlikely(kw_args > 0)) {
jpayne@69 19268 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 19269 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "dict2attribute_string") < 0)) __PYX_ERR(0, 675, __pyx_L3_error)
jpayne@69 19270 }
jpayne@69 19271 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 19272 goto __pyx_L5_argtuple_error;
jpayne@69 19273 } else {
jpayne@69 19274 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 19275 }
jpayne@69 19276 __pyx_v_d = values[0];
jpayne@69 19277 }
jpayne@69 19278 goto __pyx_L6_skip;
jpayne@69 19279 __pyx_L5_argtuple_error:;
jpayne@69 19280 __Pyx_RaiseArgtupleInvalid("dict2attribute_string", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 675, __pyx_L3_error)
jpayne@69 19281 __pyx_L6_skip:;
jpayne@69 19282 goto __pyx_L4_argument_unpacking_done;
jpayne@69 19283 __pyx_L3_error:;
jpayne@69 19284 {
jpayne@69 19285 Py_ssize_t __pyx_temp;
jpayne@69 19286 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 19287 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 19288 }
jpayne@69 19289 }
jpayne@69 19290 __Pyx_AddTraceback("pysam.libctabixproxies.GFF3Proxy.dict2attribute_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19291 __Pyx_RefNannyFinishContext();
jpayne@69 19292 return NULL;
jpayne@69 19293 __pyx_L4_argument_unpacking_done:;
jpayne@69 19294 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_dict2attribute_string(((struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *)__pyx_v_self), __pyx_v_d);
jpayne@69 19295
jpayne@69 19296 /* function exit code */
jpayne@69 19297 {
jpayne@69 19298 Py_ssize_t __pyx_temp;
jpayne@69 19299 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 19300 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 19301 }
jpayne@69 19302 }
jpayne@69 19303 __Pyx_RefNannyFinishContext();
jpayne@69 19304 return __pyx_r;
jpayne@69 19305 }
jpayne@69 19306
jpayne@69 19307 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_dict2attribute_string(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self, PyObject *__pyx_v_d) {
jpayne@69 19308 PyObject *__pyx_8genexpr2__pyx_v_k = NULL;
jpayne@69 19309 PyObject *__pyx_8genexpr2__pyx_v_v = NULL;
jpayne@69 19310 PyObject *__pyx_r = NULL;
jpayne@69 19311 __Pyx_RefNannyDeclarations
jpayne@69 19312 PyObject *__pyx_t_1 = NULL;
jpayne@69 19313 PyObject *__pyx_t_2 = NULL;
jpayne@69 19314 Py_ssize_t __pyx_t_3;
jpayne@69 19315 Py_ssize_t __pyx_t_4;
jpayne@69 19316 int __pyx_t_5;
jpayne@69 19317 PyObject *__pyx_t_6 = NULL;
jpayne@69 19318 PyObject *__pyx_t_7 = NULL;
jpayne@69 19319 int __pyx_t_8;
jpayne@69 19320 PyObject *__pyx_t_9 = NULL;
jpayne@69 19321 unsigned int __pyx_t_10;
jpayne@69 19322 int __pyx_lineno = 0;
jpayne@69 19323 const char *__pyx_filename = NULL;
jpayne@69 19324 int __pyx_clineno = 0;
jpayne@69 19325 __Pyx_RefNannySetupContext("dict2attribute_string", 1);
jpayne@69 19326
jpayne@69 19327 /* "pysam/libctabixproxies.pyx":677
jpayne@69 19328 * def dict2attribute_string(self, d):
jpayne@69 19329 * """convert dictionary to attribute string."""
jpayne@69 19330 * return ";".join(["{}={}".format(k, v) for k, v in d.items()]) # <<<<<<<<<<<<<<
jpayne@69 19331 *
jpayne@69 19332 * def attribute_string2iterator(self, s):
jpayne@69 19333 */
jpayne@69 19334 __Pyx_XDECREF(__pyx_r);
jpayne@69 19335 { /* enter inner scope */
jpayne@69 19336 __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 677, __pyx_L5_error)
jpayne@69 19337 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 19338 __pyx_t_3 = 0;
jpayne@69 19339 if (unlikely(__pyx_v_d == Py_None)) {
jpayne@69 19340 PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
jpayne@69 19341 __PYX_ERR(0, 677, __pyx_L5_error)
jpayne@69 19342 }
jpayne@69 19343 __pyx_t_6 = __Pyx_dict_iterator(__pyx_v_d, 0, __pyx_n_s_items, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 677, __pyx_L5_error)
jpayne@69 19344 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 19345 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 19346 __pyx_t_2 = __pyx_t_6;
jpayne@69 19347 __pyx_t_6 = 0;
jpayne@69 19348 while (1) {
jpayne@69 19349 __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_4, &__pyx_t_3, &__pyx_t_6, &__pyx_t_7, NULL, __pyx_t_5);
jpayne@69 19350 if (unlikely(__pyx_t_8 == 0)) break;
jpayne@69 19351 if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 677, __pyx_L5_error)
jpayne@69 19352 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 19353 __Pyx_GOTREF(__pyx_t_7);
jpayne@69 19354 __Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v_k, __pyx_t_6);
jpayne@69 19355 __pyx_t_6 = 0;
jpayne@69 19356 __Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v_v, __pyx_t_7);
jpayne@69 19357 __pyx_t_7 = 0;
jpayne@69 19358 __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_kp_u__26, __pyx_n_s_format); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 677, __pyx_L5_error)
jpayne@69 19359 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 19360 __pyx_t_9 = NULL;
jpayne@69 19361 __pyx_t_10 = 0;
jpayne@69 19362 #if CYTHON_UNPACK_METHODS
jpayne@69 19363 if (likely(PyMethod_Check(__pyx_t_6))) {
jpayne@69 19364 __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_6);
jpayne@69 19365 if (likely(__pyx_t_9)) {
jpayne@69 19366 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
jpayne@69 19367 __Pyx_INCREF(__pyx_t_9);
jpayne@69 19368 __Pyx_INCREF(function);
jpayne@69 19369 __Pyx_DECREF_SET(__pyx_t_6, function);
jpayne@69 19370 __pyx_t_10 = 1;
jpayne@69 19371 }
jpayne@69 19372 }
jpayne@69 19373 #endif
jpayne@69 19374 {
jpayne@69 19375 PyObject *__pyx_callargs[3] = {__pyx_t_9, __pyx_8genexpr2__pyx_v_k, __pyx_8genexpr2__pyx_v_v};
jpayne@69 19376 __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_10, 2+__pyx_t_10);
jpayne@69 19377 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 19378 if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 677, __pyx_L5_error)
jpayne@69 19379 __Pyx_GOTREF(__pyx_t_7);
jpayne@69 19380 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 19381 }
jpayne@69 19382 if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 677, __pyx_L5_error)
jpayne@69 19383 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
jpayne@69 19384 }
jpayne@69 19385 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 19386 __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_k); __pyx_8genexpr2__pyx_v_k = 0;
jpayne@69 19387 __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v); __pyx_8genexpr2__pyx_v_v = 0;
jpayne@69 19388 goto __pyx_L8_exit_scope;
jpayne@69 19389 __pyx_L5_error:;
jpayne@69 19390 __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_k); __pyx_8genexpr2__pyx_v_k = 0;
jpayne@69 19391 __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v); __pyx_8genexpr2__pyx_v_v = 0;
jpayne@69 19392 goto __pyx_L1_error;
jpayne@69 19393 __pyx_L8_exit_scope:;
jpayne@69 19394 } /* exit inner scope */
jpayne@69 19395 __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__17, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 677, __pyx_L1_error)
jpayne@69 19396 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19397 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 19398 __pyx_r = __pyx_t_2;
jpayne@69 19399 __pyx_t_2 = 0;
jpayne@69 19400 goto __pyx_L0;
jpayne@69 19401
jpayne@69 19402 /* "pysam/libctabixproxies.pyx":675
jpayne@69 19403 * cdef class GFF3Proxy(GTFProxy):
jpayne@69 19404 *
jpayne@69 19405 * def dict2attribute_string(self, d): # <<<<<<<<<<<<<<
jpayne@69 19406 * """convert dictionary to attribute string."""
jpayne@69 19407 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 19408 */
jpayne@69 19409
jpayne@69 19410 /* function exit code */
jpayne@69 19411 __pyx_L1_error:;
jpayne@69 19412 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 19413 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 19414 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 19415 __Pyx_XDECREF(__pyx_t_7);
jpayne@69 19416 __Pyx_XDECREF(__pyx_t_9);
jpayne@69 19417 __Pyx_AddTraceback("pysam.libctabixproxies.GFF3Proxy.dict2attribute_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19418 __pyx_r = NULL;
jpayne@69 19419 __pyx_L0:;
jpayne@69 19420 __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_k);
jpayne@69 19421 __Pyx_XDECREF(__pyx_8genexpr2__pyx_v_v);
jpayne@69 19422 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 19423 __Pyx_RefNannyFinishContext();
jpayne@69 19424 return __pyx_r;
jpayne@69 19425 }
jpayne@69 19426 static PyObject *__pyx_gb_5pysam_16libctabixproxies_9GFF3Proxy_4generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
jpayne@69 19427
jpayne@69 19428 /* "pysam/libctabixproxies.pyx":679
jpayne@69 19429 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 19430 *
jpayne@69 19431 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 19432 * """convert attribute string in GFF3 format to records
jpayne@69 19433 * and iterate over key, value pairs.
jpayne@69 19434 */
jpayne@69 19435
jpayne@69 19436 /* Python wrapper */
jpayne@69 19437 static PyObject *__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_3attribute_string2iterator(PyObject *__pyx_v_self,
jpayne@69 19438 #if CYTHON_METH_FASTCALL
jpayne@69 19439 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 19440 #else
jpayne@69 19441 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 19442 #endif
jpayne@69 19443 ); /*proto*/
jpayne@69 19444 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_9GFF3Proxy_2attribute_string2iterator, "convert attribute string in GFF3 format to records\n and iterate over key, value pairs.\n ");
jpayne@69 19445 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_9GFF3Proxy_3attribute_string2iterator = {"attribute_string2iterator", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_3attribute_string2iterator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_9GFF3Proxy_2attribute_string2iterator};
jpayne@69 19446 static PyObject *__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_3attribute_string2iterator(PyObject *__pyx_v_self,
jpayne@69 19447 #if CYTHON_METH_FASTCALL
jpayne@69 19448 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 19449 #else
jpayne@69 19450 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 19451 #endif
jpayne@69 19452 ) {
jpayne@69 19453 PyObject *__pyx_v_s = 0;
jpayne@69 19454 #if !CYTHON_METH_FASTCALL
jpayne@69 19455 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 19456 #endif
jpayne@69 19457 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 19458 PyObject* values[1] = {0};
jpayne@69 19459 int __pyx_lineno = 0;
jpayne@69 19460 const char *__pyx_filename = NULL;
jpayne@69 19461 int __pyx_clineno = 0;
jpayne@69 19462 PyObject *__pyx_r = 0;
jpayne@69 19463 __Pyx_RefNannyDeclarations
jpayne@69 19464 __Pyx_RefNannySetupContext("attribute_string2iterator (wrapper)", 0);
jpayne@69 19465 #if !CYTHON_METH_FASTCALL
jpayne@69 19466 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 19467 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 19468 #else
jpayne@69 19469 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 19470 #endif
jpayne@69 19471 #endif
jpayne@69 19472 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 19473 {
jpayne@69 19474 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s_2,0};
jpayne@69 19475 if (__pyx_kwds) {
jpayne@69 19476 Py_ssize_t kw_args;
jpayne@69 19477 switch (__pyx_nargs) {
jpayne@69 19478 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 19479 CYTHON_FALLTHROUGH;
jpayne@69 19480 case 0: break;
jpayne@69 19481 default: goto __pyx_L5_argtuple_error;
jpayne@69 19482 }
jpayne@69 19483 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 19484 switch (__pyx_nargs) {
jpayne@69 19485 case 0:
jpayne@69 19486 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s_2)) != 0)) {
jpayne@69 19487 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 19488 kw_args--;
jpayne@69 19489 }
jpayne@69 19490 else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 679, __pyx_L3_error)
jpayne@69 19491 else goto __pyx_L5_argtuple_error;
jpayne@69 19492 }
jpayne@69 19493 if (unlikely(kw_args > 0)) {
jpayne@69 19494 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 19495 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "attribute_string2iterator") < 0)) __PYX_ERR(0, 679, __pyx_L3_error)
jpayne@69 19496 }
jpayne@69 19497 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 19498 goto __pyx_L5_argtuple_error;
jpayne@69 19499 } else {
jpayne@69 19500 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 19501 }
jpayne@69 19502 __pyx_v_s = values[0];
jpayne@69 19503 }
jpayne@69 19504 goto __pyx_L6_skip;
jpayne@69 19505 __pyx_L5_argtuple_error:;
jpayne@69 19506 __Pyx_RaiseArgtupleInvalid("attribute_string2iterator", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 679, __pyx_L3_error)
jpayne@69 19507 __pyx_L6_skip:;
jpayne@69 19508 goto __pyx_L4_argument_unpacking_done;
jpayne@69 19509 __pyx_L3_error:;
jpayne@69 19510 {
jpayne@69 19511 Py_ssize_t __pyx_temp;
jpayne@69 19512 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 19513 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 19514 }
jpayne@69 19515 }
jpayne@69 19516 __Pyx_AddTraceback("pysam.libctabixproxies.GFF3Proxy.attribute_string2iterator", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19517 __Pyx_RefNannyFinishContext();
jpayne@69 19518 return NULL;
jpayne@69 19519 __pyx_L4_argument_unpacking_done:;
jpayne@69 19520 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_2attribute_string2iterator(((struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *)__pyx_v_self), __pyx_v_s);
jpayne@69 19521
jpayne@69 19522 /* function exit code */
jpayne@69 19523 {
jpayne@69 19524 Py_ssize_t __pyx_temp;
jpayne@69 19525 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 19526 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 19527 }
jpayne@69 19528 }
jpayne@69 19529 __Pyx_RefNannyFinishContext();
jpayne@69 19530 return __pyx_r;
jpayne@69 19531 }
jpayne@69 19532 static PyObject *__pyx_gb_5pysam_16libctabixproxies_9GFF3Proxy_25attribute_string2iterator_2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
jpayne@69 19533
jpayne@69 19534 /* "pysam/libctabixproxies.pyx":684
jpayne@69 19535 * """
jpayne@69 19536 *
jpayne@69 19537 * for f in (x.strip() for x in s.split(";")): # <<<<<<<<<<<<<<
jpayne@69 19538 * if not f:
jpayne@69 19539 * continue
jpayne@69 19540 */
jpayne@69 19541
jpayne@69 19542 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_25attribute_string2iterator_genexpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_genexpr_arg_0) {
jpayne@69 19543 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *__pyx_cur_scope;
jpayne@69 19544 PyObject *__pyx_r = NULL;
jpayne@69 19545 __Pyx_RefNannyDeclarations
jpayne@69 19546 int __pyx_lineno = 0;
jpayne@69 19547 const char *__pyx_filename = NULL;
jpayne@69 19548 int __pyx_clineno = 0;
jpayne@69 19549 __Pyx_RefNannySetupContext("genexpr", 0);
jpayne@69 19550 __pyx_cur_scope = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *)__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr(__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr, __pyx_empty_tuple, NULL);
jpayne@69 19551 if (unlikely(!__pyx_cur_scope)) {
jpayne@69 19552 __pyx_cur_scope = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *)Py_None);
jpayne@69 19553 __Pyx_INCREF(Py_None);
jpayne@69 19554 __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19555 } else {
jpayne@69 19556 __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
jpayne@69 19557 }
jpayne@69 19558 __pyx_cur_scope->__pyx_genexpr_arg_0 = __pyx_genexpr_arg_0;
jpayne@69 19559 __Pyx_INCREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
jpayne@69 19560 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_genexpr_arg_0);
jpayne@69 19561 {
jpayne@69 19562 __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_5pysam_16libctabixproxies_9GFF3Proxy_25attribute_string2iterator_2generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_attribute_string2iterator_locals, __pyx_n_s_pysam_libctabixproxies); if (unlikely(!gen)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19563 __Pyx_DECREF(__pyx_cur_scope);
jpayne@69 19564 __Pyx_RefNannyFinishContext();
jpayne@69 19565 return (PyObject *) gen;
jpayne@69 19566 }
jpayne@69 19567
jpayne@69 19568 /* function exit code */
jpayne@69 19569 __pyx_L1_error:;
jpayne@69 19570 __Pyx_AddTraceback("pysam.libctabixproxies.GFF3Proxy.attribute_string2iterator.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19571 __pyx_r = NULL;
jpayne@69 19572 __Pyx_DECREF((PyObject *)__pyx_cur_scope);
jpayne@69 19573 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 19574 __Pyx_RefNannyFinishContext();
jpayne@69 19575 return __pyx_r;
jpayne@69 19576 }
jpayne@69 19577
jpayne@69 19578 static PyObject *__pyx_gb_5pysam_16libctabixproxies_9GFF3Proxy_25attribute_string2iterator_2generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
jpayne@69 19579 {
jpayne@69 19580 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *__pyx_cur_scope = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *)__pyx_generator->closure);
jpayne@69 19581 PyObject *__pyx_r = NULL;
jpayne@69 19582 PyObject *__pyx_t_1 = NULL;
jpayne@69 19583 Py_ssize_t __pyx_t_2;
jpayne@69 19584 PyObject *(*__pyx_t_3)(PyObject *);
jpayne@69 19585 PyObject *__pyx_t_4 = NULL;
jpayne@69 19586 PyObject *__pyx_t_5 = NULL;
jpayne@69 19587 PyObject *__pyx_t_6 = NULL;
jpayne@69 19588 unsigned int __pyx_t_7;
jpayne@69 19589 int __pyx_lineno = 0;
jpayne@69 19590 const char *__pyx_filename = NULL;
jpayne@69 19591 int __pyx_clineno = 0;
jpayne@69 19592 __Pyx_RefNannyDeclarations
jpayne@69 19593 __Pyx_RefNannySetupContext("genexpr", 0);
jpayne@69 19594 switch (__pyx_generator->resume_label) {
jpayne@69 19595 case 0: goto __pyx_L3_first_run;
jpayne@69 19596 case 1: goto __pyx_L6_resume_from_yield;
jpayne@69 19597 default: /* CPython raises the right error here */
jpayne@69 19598 __Pyx_RefNannyFinishContext();
jpayne@69 19599 return NULL;
jpayne@69 19600 }
jpayne@69 19601 __pyx_L3_first_run:;
jpayne@69 19602 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19603 if (unlikely(!__pyx_cur_scope->__pyx_genexpr_arg_0)) { __Pyx_RaiseUnboundLocalError(".0"); __PYX_ERR(0, 684, __pyx_L1_error) }
jpayne@69 19604 if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_genexpr_arg_0)) {
jpayne@69 19605 __pyx_t_1 = __pyx_cur_scope->__pyx_genexpr_arg_0; __Pyx_INCREF(__pyx_t_1);
jpayne@69 19606 __pyx_t_2 = 0;
jpayne@69 19607 __pyx_t_3 = NULL;
jpayne@69 19608 } else {
jpayne@69 19609 __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_genexpr_arg_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19610 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 19611 __pyx_t_3 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19612 }
jpayne@69 19613 for (;;) {
jpayne@69 19614 if (likely(!__pyx_t_3)) {
jpayne@69 19615 if (likely(PyList_CheckExact(__pyx_t_1))) {
jpayne@69 19616 {
jpayne@69 19617 Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
jpayne@69 19618 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 19619 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19620 #endif
jpayne@69 19621 if (__pyx_t_2 >= __pyx_temp) break;
jpayne@69 19622 }
jpayne@69 19623 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 19624 __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19625 #else
jpayne@69 19626 __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19627 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 19628 #endif
jpayne@69 19629 } else {
jpayne@69 19630 {
jpayne@69 19631 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
jpayne@69 19632 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 19633 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19634 #endif
jpayne@69 19635 if (__pyx_t_2 >= __pyx_temp) break;
jpayne@69 19636 }
jpayne@69 19637 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 19638 __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely((0 < 0))) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19639 #else
jpayne@69 19640 __pyx_t_4 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19641 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 19642 #endif
jpayne@69 19643 }
jpayne@69 19644 } else {
jpayne@69 19645 __pyx_t_4 = __pyx_t_3(__pyx_t_1);
jpayne@69 19646 if (unlikely(!__pyx_t_4)) {
jpayne@69 19647 PyObject* exc_type = PyErr_Occurred();
jpayne@69 19648 if (exc_type) {
jpayne@69 19649 if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
jpayne@69 19650 else __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19651 }
jpayne@69 19652 break;
jpayne@69 19653 }
jpayne@69 19654 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 19655 }
jpayne@69 19656 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x);
jpayne@69 19657 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_4);
jpayne@69 19658 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 19659 __pyx_t_4 = 0;
jpayne@69 19660 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19661 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 19662 __pyx_t_6 = NULL;
jpayne@69 19663 __pyx_t_7 = 0;
jpayne@69 19664 #if CYTHON_UNPACK_METHODS
jpayne@69 19665 if (likely(PyMethod_Check(__pyx_t_5))) {
jpayne@69 19666 __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
jpayne@69 19667 if (likely(__pyx_t_6)) {
jpayne@69 19668 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
jpayne@69 19669 __Pyx_INCREF(__pyx_t_6);
jpayne@69 19670 __Pyx_INCREF(function);
jpayne@69 19671 __Pyx_DECREF_SET(__pyx_t_5, function);
jpayne@69 19672 __pyx_t_7 = 1;
jpayne@69 19673 }
jpayne@69 19674 }
jpayne@69 19675 #endif
jpayne@69 19676 {
jpayne@69 19677 PyObject *__pyx_callargs[2] = {__pyx_t_6, NULL};
jpayne@69 19678 __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_7, 0+__pyx_t_7);
jpayne@69 19679 __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 19680 if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19681 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 19682 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 19683 }
jpayne@69 19684 __pyx_r = __pyx_t_4;
jpayne@69 19685 __pyx_t_4 = 0;
jpayne@69 19686 __Pyx_XGIVEREF(__pyx_t_1);
jpayne@69 19687 __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
jpayne@69 19688 __pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
jpayne@69 19689 __pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
jpayne@69 19690 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 19691 __Pyx_RefNannyFinishContext();
jpayne@69 19692 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
jpayne@69 19693 /* return from generator, yielding value */
jpayne@69 19694 __pyx_generator->resume_label = 1;
jpayne@69 19695 return __pyx_r;
jpayne@69 19696 __pyx_L6_resume_from_yield:;
jpayne@69 19697 __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
jpayne@69 19698 __pyx_cur_scope->__pyx_t_0 = 0;
jpayne@69 19699 __Pyx_XGOTREF(__pyx_t_1);
jpayne@69 19700 __pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
jpayne@69 19701 __pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
jpayne@69 19702 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19703 }
jpayne@69 19704 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 19705 CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
jpayne@69 19706
jpayne@69 19707 /* function exit code */
jpayne@69 19708 PyErr_SetNone(PyExc_StopIteration);
jpayne@69 19709 goto __pyx_L0;
jpayne@69 19710 __pyx_L1_error:;
jpayne@69 19711 __Pyx_Generator_Replace_StopIteration(0);
jpayne@69 19712 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 19713 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 19714 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 19715 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 19716 __Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19717 __pyx_L0:;
jpayne@69 19718 __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
jpayne@69 19719 #if !CYTHON_USE_EXC_INFO_STACK
jpayne@69 19720 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
jpayne@69 19721 #endif
jpayne@69 19722 __pyx_generator->resume_label = -1;
jpayne@69 19723 __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
jpayne@69 19724 __Pyx_RefNannyFinishContext();
jpayne@69 19725 return __pyx_r;
jpayne@69 19726 }
jpayne@69 19727
jpayne@69 19728 /* "pysam/libctabixproxies.pyx":679
jpayne@69 19729 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 19730 *
jpayne@69 19731 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 19732 * """convert attribute string in GFF3 format to records
jpayne@69 19733 * and iterate over key, value pairs.
jpayne@69 19734 */
jpayne@69 19735
jpayne@69 19736 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_2attribute_string2iterator(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self, PyObject *__pyx_v_s) {
jpayne@69 19737 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *__pyx_cur_scope;
jpayne@69 19738 PyObject *__pyx_gb_5pysam_16libctabixproxies_9GFF3Proxy_25attribute_string2iterator_2generator2 = 0;
jpayne@69 19739 PyObject *__pyx_r = NULL;
jpayne@69 19740 __Pyx_RefNannyDeclarations
jpayne@69 19741 int __pyx_lineno = 0;
jpayne@69 19742 const char *__pyx_filename = NULL;
jpayne@69 19743 int __pyx_clineno = 0;
jpayne@69 19744 __Pyx_RefNannySetupContext("attribute_string2iterator", 0);
jpayne@69 19745 __pyx_cur_scope = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *)__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator(__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator, __pyx_empty_tuple, NULL);
jpayne@69 19746 if (unlikely(!__pyx_cur_scope)) {
jpayne@69 19747 __pyx_cur_scope = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *)Py_None);
jpayne@69 19748 __Pyx_INCREF(Py_None);
jpayne@69 19749 __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 19750 } else {
jpayne@69 19751 __Pyx_GOTREF((PyObject *)__pyx_cur_scope);
jpayne@69 19752 }
jpayne@69 19753 __pyx_cur_scope->__pyx_v_self = __pyx_v_self;
jpayne@69 19754 __Pyx_INCREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
jpayne@69 19755 __Pyx_GIVEREF((PyObject *)__pyx_cur_scope->__pyx_v_self);
jpayne@69 19756 __pyx_cur_scope->__pyx_v_s = __pyx_v_s;
jpayne@69 19757 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_s);
jpayne@69 19758 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_s);
jpayne@69 19759 {
jpayne@69 19760 __pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_5pysam_16libctabixproxies_9GFF3Proxy_4generator1, __pyx_codeobj__27, (PyObject *) __pyx_cur_scope, __pyx_n_s_attribute_string2iterator, __pyx_n_s_GFF3Proxy_attribute_string2itera, __pyx_n_s_pysam_libctabixproxies); if (unlikely(!gen)) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 19761 __Pyx_DECREF(__pyx_cur_scope);
jpayne@69 19762 __Pyx_RefNannyFinishContext();
jpayne@69 19763 return (PyObject *) gen;
jpayne@69 19764 }
jpayne@69 19765
jpayne@69 19766 /* function exit code */
jpayne@69 19767 __pyx_L1_error:;
jpayne@69 19768 __Pyx_AddTraceback("pysam.libctabixproxies.GFF3Proxy.attribute_string2iterator", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 19769 __pyx_r = NULL;
jpayne@69 19770 __Pyx_XDECREF(__pyx_gb_5pysam_16libctabixproxies_9GFF3Proxy_25attribute_string2iterator_2generator2);
jpayne@69 19771 __Pyx_DECREF((PyObject *)__pyx_cur_scope);
jpayne@69 19772 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 19773 __Pyx_RefNannyFinishContext();
jpayne@69 19774 return __pyx_r;
jpayne@69 19775 }
jpayne@69 19776
jpayne@69 19777 static PyObject *__pyx_gb_5pysam_16libctabixproxies_9GFF3Proxy_4generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
jpayne@69 19778 {
jpayne@69 19779 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *__pyx_cur_scope = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *)__pyx_generator->closure);
jpayne@69 19780 PyObject *__pyx_r = NULL;
jpayne@69 19781 PyObject *__pyx_t_1 = NULL;
jpayne@69 19782 PyObject *__pyx_t_2 = NULL;
jpayne@69 19783 PyObject *__pyx_t_3 = NULL;
jpayne@69 19784 unsigned int __pyx_t_4;
jpayne@69 19785 Py_ssize_t __pyx_t_5;
jpayne@69 19786 PyObject *(*__pyx_t_6)(PyObject *);
jpayne@69 19787 int __pyx_t_7;
jpayne@69 19788 int __pyx_t_8;
jpayne@69 19789 PyObject *__pyx_t_9 = NULL;
jpayne@69 19790 PyObject *__pyx_t_10 = NULL;
jpayne@69 19791 PyObject *(*__pyx_t_11)(PyObject *);
jpayne@69 19792 PyObject *__pyx_t_12 = NULL;
jpayne@69 19793 PyObject *__pyx_t_13 = NULL;
jpayne@69 19794 PyObject *__pyx_t_14 = NULL;
jpayne@69 19795 int __pyx_t_15;
jpayne@69 19796 int __pyx_lineno = 0;
jpayne@69 19797 const char *__pyx_filename = NULL;
jpayne@69 19798 int __pyx_clineno = 0;
jpayne@69 19799 __Pyx_RefNannyDeclarations
jpayne@69 19800 __Pyx_RefNannySetupContext("attribute_string2iterator", 0);
jpayne@69 19801 switch (__pyx_generator->resume_label) {
jpayne@69 19802 case 0: goto __pyx_L3_first_run;
jpayne@69 19803 case 1: goto __pyx_L17_resume_from_yield;
jpayne@69 19804 default: /* CPython raises the right error here */
jpayne@69 19805 __Pyx_RefNannyFinishContext();
jpayne@69 19806 return NULL;
jpayne@69 19807 }
jpayne@69 19808 __pyx_L3_first_run:;
jpayne@69 19809 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 19810
jpayne@69 19811 /* "pysam/libctabixproxies.pyx":684
jpayne@69 19812 * """
jpayne@69 19813 *
jpayne@69 19814 * for f in (x.strip() for x in s.split(";")): # <<<<<<<<<<<<<<
jpayne@69 19815 * if not f:
jpayne@69 19816 * continue
jpayne@69 19817 */
jpayne@69 19818 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_s, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19819 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19820 __pyx_t_3 = NULL;
jpayne@69 19821 __pyx_t_4 = 0;
jpayne@69 19822 #if CYTHON_UNPACK_METHODS
jpayne@69 19823 if (likely(PyMethod_Check(__pyx_t_2))) {
jpayne@69 19824 __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
jpayne@69 19825 if (likely(__pyx_t_3)) {
jpayne@69 19826 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
jpayne@69 19827 __Pyx_INCREF(__pyx_t_3);
jpayne@69 19828 __Pyx_INCREF(function);
jpayne@69 19829 __Pyx_DECREF_SET(__pyx_t_2, function);
jpayne@69 19830 __pyx_t_4 = 1;
jpayne@69 19831 }
jpayne@69 19832 }
jpayne@69 19833 #endif
jpayne@69 19834 {
jpayne@69 19835 PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_kp_u__17};
jpayne@69 19836 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);
jpayne@69 19837 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 19838 if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19839 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 19840 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 19841 }
jpayne@69 19842 __pyx_t_2 = __pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_25attribute_string2iterator_genexpr(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19843 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19844 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 19845 if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
jpayne@69 19846 __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
jpayne@69 19847 __pyx_t_5 = 0;
jpayne@69 19848 __pyx_t_6 = NULL;
jpayne@69 19849 } else {
jpayne@69 19850 __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19851 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 19852 __pyx_t_6 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19853 }
jpayne@69 19854 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 19855 for (;;) {
jpayne@69 19856 if (likely(!__pyx_t_6)) {
jpayne@69 19857 if (likely(PyList_CheckExact(__pyx_t_1))) {
jpayne@69 19858 {
jpayne@69 19859 Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_1);
jpayne@69 19860 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 19861 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19862 #endif
jpayne@69 19863 if (__pyx_t_5 >= __pyx_temp) break;
jpayne@69 19864 }
jpayne@69 19865 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 19866 __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19867 #else
jpayne@69 19868 __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19869 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19870 #endif
jpayne@69 19871 } else {
jpayne@69 19872 {
jpayne@69 19873 Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
jpayne@69 19874 #if !CYTHON_ASSUME_SAFE_MACROS
jpayne@69 19875 if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19876 #endif
jpayne@69 19877 if (__pyx_t_5 >= __pyx_temp) break;
jpayne@69 19878 }
jpayne@69 19879 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 19880 __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely((0 < 0))) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19881 #else
jpayne@69 19882 __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19883 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19884 #endif
jpayne@69 19885 }
jpayne@69 19886 } else {
jpayne@69 19887 __pyx_t_2 = __pyx_t_6(__pyx_t_1);
jpayne@69 19888 if (unlikely(!__pyx_t_2)) {
jpayne@69 19889 PyObject* exc_type = PyErr_Occurred();
jpayne@69 19890 if (exc_type) {
jpayne@69 19891 if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
jpayne@69 19892 else __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 19893 }
jpayne@69 19894 break;
jpayne@69 19895 }
jpayne@69 19896 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19897 }
jpayne@69 19898 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_f);
jpayne@69 19899 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_f, __pyx_t_2);
jpayne@69 19900 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 19901 __pyx_t_2 = 0;
jpayne@69 19902
jpayne@69 19903 /* "pysam/libctabixproxies.pyx":685
jpayne@69 19904 *
jpayne@69 19905 * for f in (x.strip() for x in s.split(";")):
jpayne@69 19906 * if not f: # <<<<<<<<<<<<<<
jpayne@69 19907 * continue
jpayne@69 19908 *
jpayne@69 19909 */
jpayne@69 19910 __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_cur_scope->__pyx_v_f); if (unlikely((__pyx_t_7 < 0))) __PYX_ERR(0, 685, __pyx_L1_error)
jpayne@69 19911 __pyx_t_8 = (!__pyx_t_7);
jpayne@69 19912 if (__pyx_t_8) {
jpayne@69 19913
jpayne@69 19914 /* "pysam/libctabixproxies.pyx":686
jpayne@69 19915 * for f in (x.strip() for x in s.split(";")):
jpayne@69 19916 * if not f:
jpayne@69 19917 * continue # <<<<<<<<<<<<<<
jpayne@69 19918 *
jpayne@69 19919 * key, value = f.split("=", 1)
jpayne@69 19920 */
jpayne@69 19921 goto __pyx_L4_continue;
jpayne@69 19922
jpayne@69 19923 /* "pysam/libctabixproxies.pyx":685
jpayne@69 19924 *
jpayne@69 19925 * for f in (x.strip() for x in s.split(";")):
jpayne@69 19926 * if not f: # <<<<<<<<<<<<<<
jpayne@69 19927 * continue
jpayne@69 19928 *
jpayne@69 19929 */
jpayne@69 19930 }
jpayne@69 19931
jpayne@69 19932 /* "pysam/libctabixproxies.pyx":688
jpayne@69 19933 * continue
jpayne@69 19934 *
jpayne@69 19935 * key, value = f.split("=", 1) # <<<<<<<<<<<<<<
jpayne@69 19936 * value = value.strip()
jpayne@69 19937 *
jpayne@69 19938 */
jpayne@69 19939 __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_f, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 19940 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19941 __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 19942 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 19943 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 19944 if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
jpayne@69 19945 PyObject* sequence = __pyx_t_3;
jpayne@69 19946 Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
jpayne@69 19947 if (unlikely(size != 2)) {
jpayne@69 19948 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
jpayne@69 19949 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
jpayne@69 19950 __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 19951 }
jpayne@69 19952 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 19953 if (likely(PyTuple_CheckExact(sequence))) {
jpayne@69 19954 __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
jpayne@69 19955 __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1);
jpayne@69 19956 } else {
jpayne@69 19957 __pyx_t_2 = PyList_GET_ITEM(sequence, 0);
jpayne@69 19958 __pyx_t_9 = PyList_GET_ITEM(sequence, 1);
jpayne@69 19959 }
jpayne@69 19960 __Pyx_INCREF(__pyx_t_2);
jpayne@69 19961 __Pyx_INCREF(__pyx_t_9);
jpayne@69 19962 #else
jpayne@69 19963 __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 19964 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19965 __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 19966 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 19967 #endif
jpayne@69 19968 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 19969 } else {
jpayne@69 19970 Py_ssize_t index = -1;
jpayne@69 19971 __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 19972 __Pyx_GOTREF(__pyx_t_10);
jpayne@69 19973 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 19974 __pyx_t_11 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_10);
jpayne@69 19975 index = 0; __pyx_t_2 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_2)) goto __pyx_L7_unpacking_failed;
jpayne@69 19976 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 19977 index = 1; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L7_unpacking_failed;
jpayne@69 19978 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 19979 if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 19980 __pyx_t_11 = NULL;
jpayne@69 19981 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
jpayne@69 19982 goto __pyx_L8_unpacking_done;
jpayne@69 19983 __pyx_L7_unpacking_failed:;
jpayne@69 19984 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
jpayne@69 19985 __pyx_t_11 = NULL;
jpayne@69 19986 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 19987 __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 19988 __pyx_L8_unpacking_done:;
jpayne@69 19989 }
jpayne@69 19990 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_key);
jpayne@69 19991 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_key, __pyx_t_2);
jpayne@69 19992 __Pyx_GIVEREF(__pyx_t_2);
jpayne@69 19993 __pyx_t_2 = 0;
jpayne@69 19994 __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_value);
jpayne@69 19995 __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_value, __pyx_t_9);
jpayne@69 19996 __Pyx_GIVEREF(__pyx_t_9);
jpayne@69 19997 __pyx_t_9 = 0;
jpayne@69 19998
jpayne@69 19999 /* "pysam/libctabixproxies.pyx":689
jpayne@69 20000 *
jpayne@69 20001 * key, value = f.split("=", 1)
jpayne@69 20002 * value = value.strip() # <<<<<<<<<<<<<<
jpayne@69 20003 *
jpayne@69 20004 * ## try to convert to a value
jpayne@69 20005 */
jpayne@69 20006 __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_value, __pyx_n_s_strip); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 689, __pyx_L1_error)
jpayne@69 20007 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 20008 __pyx_t_2 = NULL;
jpayne@69 20009 __pyx_t_4 = 0;
jpayne@69 20010 #if CYTHON_UNPACK_METHODS
jpayne@69 20011 if (likely(PyMethod_Check(__pyx_t_9))) {
jpayne@69 20012 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9);
jpayne@69 20013 if (likely(__pyx_t_2)) {
jpayne@69 20014 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
jpayne@69 20015 __Pyx_INCREF(__pyx_t_2);
jpayne@69 20016 __Pyx_INCREF(function);
jpayne@69 20017 __Pyx_DECREF_SET(__pyx_t_9, function);
jpayne@69 20018 __pyx_t_4 = 1;
jpayne@69 20019 }
jpayne@69 20020 }
jpayne@69 20021 #endif
jpayne@69 20022 {
jpayne@69 20023 PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
jpayne@69 20024 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
jpayne@69 20025 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 20026 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 689, __pyx_L1_error)
jpayne@69 20027 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 20028 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 20029 }
jpayne@69 20030 __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_value);
jpayne@69 20031 __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_value, __pyx_t_3);
jpayne@69 20032 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 20033 __pyx_t_3 = 0;
jpayne@69 20034
jpayne@69 20035 /* "pysam/libctabixproxies.pyx":692
jpayne@69 20036 *
jpayne@69 20037 * ## try to convert to a value
jpayne@69 20038 * try: # <<<<<<<<<<<<<<
jpayne@69 20039 * value = float(value)
jpayne@69 20040 * value = int(value)
jpayne@69 20041 */
jpayne@69 20042 {
jpayne@69 20043 __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
jpayne@69 20044 __Pyx_XGOTREF(__pyx_t_12);
jpayne@69 20045 __Pyx_XGOTREF(__pyx_t_13);
jpayne@69 20046 __Pyx_XGOTREF(__pyx_t_14);
jpayne@69 20047 /*try:*/ {
jpayne@69 20048
jpayne@69 20049 /* "pysam/libctabixproxies.pyx":693
jpayne@69 20050 * ## try to convert to a value
jpayne@69 20051 * try:
jpayne@69 20052 * value = float(value) # <<<<<<<<<<<<<<
jpayne@69 20053 * value = int(value)
jpayne@69 20054 * except ValueError:
jpayne@69 20055 */
jpayne@69 20056 __pyx_t_3 = __Pyx_PyNumber_Float(__pyx_cur_scope->__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L9_error)
jpayne@69 20057 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 20058 __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_value);
jpayne@69 20059 __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_value, __pyx_t_3);
jpayne@69 20060 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 20061 __pyx_t_3 = 0;
jpayne@69 20062
jpayne@69 20063 /* "pysam/libctabixproxies.pyx":694
jpayne@69 20064 * try:
jpayne@69 20065 * value = float(value)
jpayne@69 20066 * value = int(value) # <<<<<<<<<<<<<<
jpayne@69 20067 * except ValueError:
jpayne@69 20068 * pass
jpayne@69 20069 */
jpayne@69 20070 __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_cur_scope->__pyx_v_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L9_error)
jpayne@69 20071 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 20072 __Pyx_GOTREF(__pyx_cur_scope->__pyx_v_value);
jpayne@69 20073 __Pyx_DECREF_SET(__pyx_cur_scope->__pyx_v_value, __pyx_t_3);
jpayne@69 20074 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 20075 __pyx_t_3 = 0;
jpayne@69 20076
jpayne@69 20077 /* "pysam/libctabixproxies.pyx":692
jpayne@69 20078 *
jpayne@69 20079 * ## try to convert to a value
jpayne@69 20080 * try: # <<<<<<<<<<<<<<
jpayne@69 20081 * value = float(value)
jpayne@69 20082 * value = int(value)
jpayne@69 20083 */
jpayne@69 20084 }
jpayne@69 20085 __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
jpayne@69 20086 __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
jpayne@69 20087 __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
jpayne@69 20088 goto __pyx_L16_try_end;
jpayne@69 20089 __pyx_L9_error:;
jpayne@69 20090 __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
jpayne@69 20091 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 20092 __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 20093 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 20094
jpayne@69 20095 /* "pysam/libctabixproxies.pyx":695
jpayne@69 20096 * value = float(value)
jpayne@69 20097 * value = int(value)
jpayne@69 20098 * except ValueError: # <<<<<<<<<<<<<<
jpayne@69 20099 * pass
jpayne@69 20100 * except TypeError:
jpayne@69 20101 */
jpayne@69 20102 __pyx_t_15 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ValueError);
jpayne@69 20103 if (__pyx_t_15) {
jpayne@69 20104 __Pyx_ErrRestore(0,0,0);
jpayne@69 20105 goto __pyx_L10_exception_handled;
jpayne@69 20106 }
jpayne@69 20107
jpayne@69 20108 /* "pysam/libctabixproxies.pyx":697
jpayne@69 20109 * except ValueError:
jpayne@69 20110 * pass
jpayne@69 20111 * except TypeError: # <<<<<<<<<<<<<<
jpayne@69 20112 * pass
jpayne@69 20113 *
jpayne@69 20114 */
jpayne@69 20115 __pyx_t_15 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
jpayne@69 20116 if (__pyx_t_15) {
jpayne@69 20117 __Pyx_ErrRestore(0,0,0);
jpayne@69 20118 goto __pyx_L10_exception_handled;
jpayne@69 20119 }
jpayne@69 20120 goto __pyx_L11_except_error;
jpayne@69 20121
jpayne@69 20122 /* "pysam/libctabixproxies.pyx":692
jpayne@69 20123 *
jpayne@69 20124 * ## try to convert to a value
jpayne@69 20125 * try: # <<<<<<<<<<<<<<
jpayne@69 20126 * value = float(value)
jpayne@69 20127 * value = int(value)
jpayne@69 20128 */
jpayne@69 20129 __pyx_L11_except_error:;
jpayne@69 20130 __Pyx_XGIVEREF(__pyx_t_12);
jpayne@69 20131 __Pyx_XGIVEREF(__pyx_t_13);
jpayne@69 20132 __Pyx_XGIVEREF(__pyx_t_14);
jpayne@69 20133 __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
jpayne@69 20134 goto __pyx_L1_error;
jpayne@69 20135 __pyx_L10_exception_handled:;
jpayne@69 20136 __Pyx_XGIVEREF(__pyx_t_12);
jpayne@69 20137 __Pyx_XGIVEREF(__pyx_t_13);
jpayne@69 20138 __Pyx_XGIVEREF(__pyx_t_14);
jpayne@69 20139 __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
jpayne@69 20140 __pyx_L16_try_end:;
jpayne@69 20141 }
jpayne@69 20142
jpayne@69 20143 /* "pysam/libctabixproxies.pyx":700
jpayne@69 20144 * pass
jpayne@69 20145 *
jpayne@69 20146 * yield key.strip(), value # <<<<<<<<<<<<<<
jpayne@69 20147 *
jpayne@69 20148 *
jpayne@69 20149 */
jpayne@69 20150 __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_key, __pyx_n_s_strip); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 700, __pyx_L1_error)
jpayne@69 20151 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 20152 __pyx_t_2 = NULL;
jpayne@69 20153 __pyx_t_4 = 0;
jpayne@69 20154 #if CYTHON_UNPACK_METHODS
jpayne@69 20155 if (likely(PyMethod_Check(__pyx_t_9))) {
jpayne@69 20156 __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9);
jpayne@69 20157 if (likely(__pyx_t_2)) {
jpayne@69 20158 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
jpayne@69 20159 __Pyx_INCREF(__pyx_t_2);
jpayne@69 20160 __Pyx_INCREF(function);
jpayne@69 20161 __Pyx_DECREF_SET(__pyx_t_9, function);
jpayne@69 20162 __pyx_t_4 = 1;
jpayne@69 20163 }
jpayne@69 20164 }
jpayne@69 20165 #endif
jpayne@69 20166 {
jpayne@69 20167 PyObject *__pyx_callargs[2] = {__pyx_t_2, NULL};
jpayne@69 20168 __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
jpayne@69 20169 __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 20170 if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 700, __pyx_L1_error)
jpayne@69 20171 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 20172 __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 20173 }
jpayne@69 20174 __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 700, __pyx_L1_error)
jpayne@69 20175 __Pyx_GOTREF(__pyx_t_9);
jpayne@69 20176 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 20177 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3)) __PYX_ERR(0, 700, __pyx_L1_error);
jpayne@69 20178 __Pyx_INCREF(__pyx_cur_scope->__pyx_v_value);
jpayne@69 20179 __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_value);
jpayne@69 20180 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_cur_scope->__pyx_v_value)) __PYX_ERR(0, 700, __pyx_L1_error);
jpayne@69 20181 __pyx_t_3 = 0;
jpayne@69 20182 __pyx_r = __pyx_t_9;
jpayne@69 20183 __pyx_t_9 = 0;
jpayne@69 20184 __Pyx_XGIVEREF(__pyx_t_1);
jpayne@69 20185 __pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
jpayne@69 20186 __pyx_cur_scope->__pyx_t_1 = __pyx_t_5;
jpayne@69 20187 __pyx_cur_scope->__pyx_t_2 = __pyx_t_6;
jpayne@69 20188 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 20189 __Pyx_RefNannyFinishContext();
jpayne@69 20190 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
jpayne@69 20191 /* return from generator, yielding value */
jpayne@69 20192 __pyx_generator->resume_label = 1;
jpayne@69 20193 return __pyx_r;
jpayne@69 20194 __pyx_L17_resume_from_yield:;
jpayne@69 20195 __pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
jpayne@69 20196 __pyx_cur_scope->__pyx_t_0 = 0;
jpayne@69 20197 __Pyx_XGOTREF(__pyx_t_1);
jpayne@69 20198 __pyx_t_5 = __pyx_cur_scope->__pyx_t_1;
jpayne@69 20199 __pyx_t_6 = __pyx_cur_scope->__pyx_t_2;
jpayne@69 20200 if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 700, __pyx_L1_error)
jpayne@69 20201
jpayne@69 20202 /* "pysam/libctabixproxies.pyx":684
jpayne@69 20203 * """
jpayne@69 20204 *
jpayne@69 20205 * for f in (x.strip() for x in s.split(";")): # <<<<<<<<<<<<<<
jpayne@69 20206 * if not f:
jpayne@69 20207 * continue
jpayne@69 20208 */
jpayne@69 20209 __pyx_L4_continue:;
jpayne@69 20210 }
jpayne@69 20211 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 20212 CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
jpayne@69 20213
jpayne@69 20214 /* "pysam/libctabixproxies.pyx":679
jpayne@69 20215 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 20216 *
jpayne@69 20217 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 20218 * """convert attribute string in GFF3 format to records
jpayne@69 20219 * and iterate over key, value pairs.
jpayne@69 20220 */
jpayne@69 20221
jpayne@69 20222 /* function exit code */
jpayne@69 20223 PyErr_SetNone(PyExc_StopIteration);
jpayne@69 20224 goto __pyx_L0;
jpayne@69 20225 __pyx_L1_error:;
jpayne@69 20226 __Pyx_Generator_Replace_StopIteration(0);
jpayne@69 20227 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 20228 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 20229 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 20230 __Pyx_XDECREF(__pyx_t_9);
jpayne@69 20231 __Pyx_XDECREF(__pyx_t_10);
jpayne@69 20232 __Pyx_AddTraceback("attribute_string2iterator", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20233 __pyx_L0:;
jpayne@69 20234 __Pyx_XDECREF(__pyx_r); __pyx_r = 0;
jpayne@69 20235 #if !CYTHON_USE_EXC_INFO_STACK
jpayne@69 20236 __Pyx_Coroutine_ResetAndClearException(__pyx_generator);
jpayne@69 20237 #endif
jpayne@69 20238 __pyx_generator->resume_label = -1;
jpayne@69 20239 __Pyx_Coroutine_clear((PyObject*)__pyx_generator);
jpayne@69 20240 __Pyx_RefNannyFinishContext();
jpayne@69 20241 return __pyx_r;
jpayne@69 20242 }
jpayne@69 20243
jpayne@69 20244 /* "(tree fragment)":1
jpayne@69 20245 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 20246 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 20247 * def __setstate_cython__(self, __pyx_state):
jpayne@69 20248 */
jpayne@69 20249
jpayne@69 20250 /* Python wrapper */
jpayne@69 20251 static PyObject *__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_6__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 20252 #if CYTHON_METH_FASTCALL
jpayne@69 20253 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20254 #else
jpayne@69 20255 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20256 #endif
jpayne@69 20257 ); /*proto*/
jpayne@69 20258 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_9GFF3Proxy_6__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_6__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 20259 static PyObject *__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_6__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 20260 #if CYTHON_METH_FASTCALL
jpayne@69 20261 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20262 #else
jpayne@69 20263 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20264 #endif
jpayne@69 20265 ) {
jpayne@69 20266 #if !CYTHON_METH_FASTCALL
jpayne@69 20267 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 20268 #endif
jpayne@69 20269 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 20270 PyObject *__pyx_r = 0;
jpayne@69 20271 __Pyx_RefNannyDeclarations
jpayne@69 20272 __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
jpayne@69 20273 #if !CYTHON_METH_FASTCALL
jpayne@69 20274 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 20275 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 20276 #else
jpayne@69 20277 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 20278 #endif
jpayne@69 20279 #endif
jpayne@69 20280 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 20281 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 20282 __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 20283 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
jpayne@69 20284 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_5__reduce_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *)__pyx_v_self));
jpayne@69 20285
jpayne@69 20286 /* function exit code */
jpayne@69 20287 __Pyx_RefNannyFinishContext();
jpayne@69 20288 return __pyx_r;
jpayne@69 20289 }
jpayne@69 20290
jpayne@69 20291 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_5__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self) {
jpayne@69 20292 PyObject *__pyx_r = NULL;
jpayne@69 20293 __Pyx_RefNannyDeclarations
jpayne@69 20294 int __pyx_lineno = 0;
jpayne@69 20295 const char *__pyx_filename = NULL;
jpayne@69 20296 int __pyx_clineno = 0;
jpayne@69 20297 __Pyx_RefNannySetupContext("__reduce_cython__", 1);
jpayne@69 20298
jpayne@69 20299 /* "(tree fragment)":2
jpayne@69 20300 * def __reduce_cython__(self):
jpayne@69 20301 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 20302 * def __setstate_cython__(self, __pyx_state):
jpayne@69 20303 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 20304 */
jpayne@69 20305 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 20306 __PYX_ERR(1, 2, __pyx_L1_error)
jpayne@69 20307
jpayne@69 20308 /* "(tree fragment)":1
jpayne@69 20309 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 20310 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 20311 * def __setstate_cython__(self, __pyx_state):
jpayne@69 20312 */
jpayne@69 20313
jpayne@69 20314 /* function exit code */
jpayne@69 20315 __pyx_L1_error:;
jpayne@69 20316 __Pyx_AddTraceback("pysam.libctabixproxies.GFF3Proxy.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20317 __pyx_r = NULL;
jpayne@69 20318 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 20319 __Pyx_RefNannyFinishContext();
jpayne@69 20320 return __pyx_r;
jpayne@69 20321 }
jpayne@69 20322
jpayne@69 20323 /* "(tree fragment)":3
jpayne@69 20324 * def __reduce_cython__(self):
jpayne@69 20325 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 20326 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 20327 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 20328 */
jpayne@69 20329
jpayne@69 20330 /* Python wrapper */
jpayne@69 20331 static PyObject *__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_8__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 20332 #if CYTHON_METH_FASTCALL
jpayne@69 20333 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20334 #else
jpayne@69 20335 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20336 #endif
jpayne@69 20337 ); /*proto*/
jpayne@69 20338 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_9GFF3Proxy_8__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_8__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 20339 static PyObject *__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_8__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 20340 #if CYTHON_METH_FASTCALL
jpayne@69 20341 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20342 #else
jpayne@69 20343 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20344 #endif
jpayne@69 20345 ) {
jpayne@69 20346 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
jpayne@69 20347 #if !CYTHON_METH_FASTCALL
jpayne@69 20348 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 20349 #endif
jpayne@69 20350 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 20351 PyObject* values[1] = {0};
jpayne@69 20352 int __pyx_lineno = 0;
jpayne@69 20353 const char *__pyx_filename = NULL;
jpayne@69 20354 int __pyx_clineno = 0;
jpayne@69 20355 PyObject *__pyx_r = 0;
jpayne@69 20356 __Pyx_RefNannyDeclarations
jpayne@69 20357 __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
jpayne@69 20358 #if !CYTHON_METH_FASTCALL
jpayne@69 20359 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 20360 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 20361 #else
jpayne@69 20362 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 20363 #endif
jpayne@69 20364 #endif
jpayne@69 20365 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 20366 {
jpayne@69 20367 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
jpayne@69 20368 if (__pyx_kwds) {
jpayne@69 20369 Py_ssize_t kw_args;
jpayne@69 20370 switch (__pyx_nargs) {
jpayne@69 20371 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 20372 CYTHON_FALLTHROUGH;
jpayne@69 20373 case 0: break;
jpayne@69 20374 default: goto __pyx_L5_argtuple_error;
jpayne@69 20375 }
jpayne@69 20376 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 20377 switch (__pyx_nargs) {
jpayne@69 20378 case 0:
jpayne@69 20379 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
jpayne@69 20380 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 20381 kw_args--;
jpayne@69 20382 }
jpayne@69 20383 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 20384 else goto __pyx_L5_argtuple_error;
jpayne@69 20385 }
jpayne@69 20386 if (unlikely(kw_args > 0)) {
jpayne@69 20387 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 20388 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 20389 }
jpayne@69 20390 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 20391 goto __pyx_L5_argtuple_error;
jpayne@69 20392 } else {
jpayne@69 20393 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 20394 }
jpayne@69 20395 __pyx_v___pyx_state = values[0];
jpayne@69 20396 }
jpayne@69 20397 goto __pyx_L6_skip;
jpayne@69 20398 __pyx_L5_argtuple_error:;
jpayne@69 20399 __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 20400 __pyx_L6_skip:;
jpayne@69 20401 goto __pyx_L4_argument_unpacking_done;
jpayne@69 20402 __pyx_L3_error:;
jpayne@69 20403 {
jpayne@69 20404 Py_ssize_t __pyx_temp;
jpayne@69 20405 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 20406 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 20407 }
jpayne@69 20408 }
jpayne@69 20409 __Pyx_AddTraceback("pysam.libctabixproxies.GFF3Proxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20410 __Pyx_RefNannyFinishContext();
jpayne@69 20411 return NULL;
jpayne@69 20412 __pyx_L4_argument_unpacking_done:;
jpayne@69 20413 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_7__setstate_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *)__pyx_v_self), __pyx_v___pyx_state);
jpayne@69 20414
jpayne@69 20415 /* function exit code */
jpayne@69 20416 {
jpayne@69 20417 Py_ssize_t __pyx_temp;
jpayne@69 20418 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 20419 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 20420 }
jpayne@69 20421 }
jpayne@69 20422 __Pyx_RefNannyFinishContext();
jpayne@69 20423 return __pyx_r;
jpayne@69 20424 }
jpayne@69 20425
jpayne@69 20426 static PyObject *__pyx_pf_5pysam_16libctabixproxies_9GFF3Proxy_7__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
jpayne@69 20427 PyObject *__pyx_r = NULL;
jpayne@69 20428 __Pyx_RefNannyDeclarations
jpayne@69 20429 int __pyx_lineno = 0;
jpayne@69 20430 const char *__pyx_filename = NULL;
jpayne@69 20431 int __pyx_clineno = 0;
jpayne@69 20432 __Pyx_RefNannySetupContext("__setstate_cython__", 1);
jpayne@69 20433
jpayne@69 20434 /* "(tree fragment)":4
jpayne@69 20435 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 20436 * def __setstate_cython__(self, __pyx_state):
jpayne@69 20437 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 20438 */
jpayne@69 20439 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 20440 __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 20441
jpayne@69 20442 /* "(tree fragment)":3
jpayne@69 20443 * def __reduce_cython__(self):
jpayne@69 20444 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 20445 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 20446 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 20447 */
jpayne@69 20448
jpayne@69 20449 /* function exit code */
jpayne@69 20450 __pyx_L1_error:;
jpayne@69 20451 __Pyx_AddTraceback("pysam.libctabixproxies.GFF3Proxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20452 __pyx_r = NULL;
jpayne@69 20453 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 20454 __Pyx_RefNannyFinishContext();
jpayne@69 20455 return __pyx_r;
jpayne@69 20456 }
jpayne@69 20457
jpayne@69 20458 /* "pysam/libctabixproxies.pyx":722
jpayne@69 20459 * 'blockStarts': (11, str), }
jpayne@69 20460 *
jpayne@69 20461 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 20462 * '''return minimum number of fields.'''
jpayne@69 20463 * return 3
jpayne@69 20464 */
jpayne@69 20465
jpayne@69 20466 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_1getMinFields(PyObject *__pyx_v_self,
jpayne@69 20467 #if CYTHON_METH_FASTCALL
jpayne@69 20468 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20469 #else
jpayne@69 20470 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20471 #endif
jpayne@69 20472 ); /*proto*/
jpayne@69 20473 static int __pyx_f_5pysam_16libctabixproxies_8BedProxy_getMinFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, int __pyx_skip_dispatch) {
jpayne@69 20474 int __pyx_r;
jpayne@69 20475 __Pyx_RefNannyDeclarations
jpayne@69 20476 PyObject *__pyx_t_1 = NULL;
jpayne@69 20477 PyObject *__pyx_t_2 = NULL;
jpayne@69 20478 PyObject *__pyx_t_3 = NULL;
jpayne@69 20479 PyObject *__pyx_t_4 = NULL;
jpayne@69 20480 unsigned int __pyx_t_5;
jpayne@69 20481 int __pyx_t_6;
jpayne@69 20482 int __pyx_lineno = 0;
jpayne@69 20483 const char *__pyx_filename = NULL;
jpayne@69 20484 int __pyx_clineno = 0;
jpayne@69 20485 __Pyx_RefNannySetupContext("getMinFields", 1);
jpayne@69 20486 /* Check if called by wrapper */
jpayne@69 20487 if (unlikely(__pyx_skip_dispatch)) ;
jpayne@69 20488 /* Check if overridden in Python */
jpayne@69 20489 else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
jpayne@69 20490 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 20491 static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 20492 if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
jpayne@69 20493 PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 20494 #endif
jpayne@69 20495 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getMinFields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 722, __pyx_L1_error)
jpayne@69 20496 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 20497 if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_5pysam_16libctabixproxies_8BedProxy_1getMinFields)) {
jpayne@69 20498 __Pyx_INCREF(__pyx_t_1);
jpayne@69 20499 __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
jpayne@69 20500 __pyx_t_5 = 0;
jpayne@69 20501 #if CYTHON_UNPACK_METHODS
jpayne@69 20502 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 20503 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 20504 if (likely(__pyx_t_4)) {
jpayne@69 20505 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 20506 __Pyx_INCREF(__pyx_t_4);
jpayne@69 20507 __Pyx_INCREF(function);
jpayne@69 20508 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 20509 __pyx_t_5 = 1;
jpayne@69 20510 }
jpayne@69 20511 }
jpayne@69 20512 #endif
jpayne@69 20513 {
jpayne@69 20514 PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
jpayne@69 20515 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
jpayne@69 20516 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 20517 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L1_error)
jpayne@69 20518 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 20519 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 20520 }
jpayne@69 20521 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 722, __pyx_L1_error)
jpayne@69 20522 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 20523 __pyx_r = __pyx_t_6;
jpayne@69 20524 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 20525 goto __pyx_L0;
jpayne@69 20526 }
jpayne@69 20527 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 20528 __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 20529 __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 20530 if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
jpayne@69 20531 __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 20532 }
jpayne@69 20533 #endif
jpayne@69 20534 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 20535 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 20536 }
jpayne@69 20537 #endif
jpayne@69 20538 }
jpayne@69 20539
jpayne@69 20540 /* "pysam/libctabixproxies.pyx":724
jpayne@69 20541 * cpdef int getMinFields(self):
jpayne@69 20542 * '''return minimum number of fields.'''
jpayne@69 20543 * return 3 # <<<<<<<<<<<<<<
jpayne@69 20544 *
jpayne@69 20545 * cpdef int getMaxFields(self):
jpayne@69 20546 */
jpayne@69 20547 __pyx_r = 3;
jpayne@69 20548 goto __pyx_L0;
jpayne@69 20549
jpayne@69 20550 /* "pysam/libctabixproxies.pyx":722
jpayne@69 20551 * 'blockStarts': (11, str), }
jpayne@69 20552 *
jpayne@69 20553 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 20554 * '''return minimum number of fields.'''
jpayne@69 20555 * return 3
jpayne@69 20556 */
jpayne@69 20557
jpayne@69 20558 /* function exit code */
jpayne@69 20559 __pyx_L1_error:;
jpayne@69 20560 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 20561 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 20562 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 20563 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 20564 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.getMinFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20565 __pyx_r = 0;
jpayne@69 20566 __pyx_L0:;
jpayne@69 20567 __Pyx_RefNannyFinishContext();
jpayne@69 20568 return __pyx_r;
jpayne@69 20569 }
jpayne@69 20570
jpayne@69 20571 /* Python wrapper */
jpayne@69 20572 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_1getMinFields(PyObject *__pyx_v_self,
jpayne@69 20573 #if CYTHON_METH_FASTCALL
jpayne@69 20574 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20575 #else
jpayne@69 20576 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20577 #endif
jpayne@69 20578 ); /*proto*/
jpayne@69 20579 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8BedProxy_getMinFields, "return minimum number of fields.");
jpayne@69 20580 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8BedProxy_1getMinFields = {"getMinFields", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8BedProxy_1getMinFields, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8BedProxy_getMinFields};
jpayne@69 20581 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_1getMinFields(PyObject *__pyx_v_self,
jpayne@69 20582 #if CYTHON_METH_FASTCALL
jpayne@69 20583 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20584 #else
jpayne@69 20585 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20586 #endif
jpayne@69 20587 ) {
jpayne@69 20588 #if !CYTHON_METH_FASTCALL
jpayne@69 20589 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 20590 #endif
jpayne@69 20591 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 20592 PyObject *__pyx_r = 0;
jpayne@69 20593 __Pyx_RefNannyDeclarations
jpayne@69 20594 __Pyx_RefNannySetupContext("getMinFields (wrapper)", 0);
jpayne@69 20595 #if !CYTHON_METH_FASTCALL
jpayne@69 20596 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 20597 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 20598 #else
jpayne@69 20599 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 20600 #endif
jpayne@69 20601 #endif
jpayne@69 20602 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 20603 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 20604 __Pyx_RaiseArgtupleInvalid("getMinFields", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 20605 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getMinFields", 0))) return NULL;
jpayne@69 20606 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8BedProxy_getMinFields(((struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *)__pyx_v_self));
jpayne@69 20607
jpayne@69 20608 /* function exit code */
jpayne@69 20609 __Pyx_RefNannyFinishContext();
jpayne@69 20610 return __pyx_r;
jpayne@69 20611 }
jpayne@69 20612
jpayne@69 20613 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_getMinFields(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self) {
jpayne@69 20614 PyObject *__pyx_r = NULL;
jpayne@69 20615 __Pyx_RefNannyDeclarations
jpayne@69 20616 int __pyx_t_1;
jpayne@69 20617 PyObject *__pyx_t_2 = NULL;
jpayne@69 20618 int __pyx_lineno = 0;
jpayne@69 20619 const char *__pyx_filename = NULL;
jpayne@69 20620 int __pyx_clineno = 0;
jpayne@69 20621 __Pyx_RefNannySetupContext("getMinFields", 1);
jpayne@69 20622 __Pyx_XDECREF(__pyx_r);
jpayne@69 20623 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies_8BedProxy_getMinFields(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 722, __pyx_L1_error)
jpayne@69 20624 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L1_error)
jpayne@69 20625 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 20626 __pyx_r = __pyx_t_2;
jpayne@69 20627 __pyx_t_2 = 0;
jpayne@69 20628 goto __pyx_L0;
jpayne@69 20629
jpayne@69 20630 /* function exit code */
jpayne@69 20631 __pyx_L1_error:;
jpayne@69 20632 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 20633 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.getMinFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20634 __pyx_r = NULL;
jpayne@69 20635 __pyx_L0:;
jpayne@69 20636 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 20637 __Pyx_RefNannyFinishContext();
jpayne@69 20638 return __pyx_r;
jpayne@69 20639 }
jpayne@69 20640
jpayne@69 20641 /* "pysam/libctabixproxies.pyx":726
jpayne@69 20642 * return 3
jpayne@69 20643 *
jpayne@69 20644 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 20645 * '''return max number of fields.'''
jpayne@69 20646 * return 12
jpayne@69 20647 */
jpayne@69 20648
jpayne@69 20649 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_3getMaxFields(PyObject *__pyx_v_self,
jpayne@69 20650 #if CYTHON_METH_FASTCALL
jpayne@69 20651 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20652 #else
jpayne@69 20653 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20654 #endif
jpayne@69 20655 ); /*proto*/
jpayne@69 20656 static int __pyx_f_5pysam_16libctabixproxies_8BedProxy_getMaxFields(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, int __pyx_skip_dispatch) {
jpayne@69 20657 int __pyx_r;
jpayne@69 20658 __Pyx_RefNannyDeclarations
jpayne@69 20659 PyObject *__pyx_t_1 = NULL;
jpayne@69 20660 PyObject *__pyx_t_2 = NULL;
jpayne@69 20661 PyObject *__pyx_t_3 = NULL;
jpayne@69 20662 PyObject *__pyx_t_4 = NULL;
jpayne@69 20663 unsigned int __pyx_t_5;
jpayne@69 20664 int __pyx_t_6;
jpayne@69 20665 int __pyx_lineno = 0;
jpayne@69 20666 const char *__pyx_filename = NULL;
jpayne@69 20667 int __pyx_clineno = 0;
jpayne@69 20668 __Pyx_RefNannySetupContext("getMaxFields", 1);
jpayne@69 20669 /* Check if called by wrapper */
jpayne@69 20670 if (unlikely(__pyx_skip_dispatch)) ;
jpayne@69 20671 /* Check if overridden in Python */
jpayne@69 20672 else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
jpayne@69 20673 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 20674 static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 20675 if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
jpayne@69 20676 PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 20677 #endif
jpayne@69 20678 __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_getMaxFields); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 726, __pyx_L1_error)
jpayne@69 20679 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 20680 if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_5pysam_16libctabixproxies_8BedProxy_3getMaxFields)) {
jpayne@69 20681 __Pyx_INCREF(__pyx_t_1);
jpayne@69 20682 __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
jpayne@69 20683 __pyx_t_5 = 0;
jpayne@69 20684 #if CYTHON_UNPACK_METHODS
jpayne@69 20685 if (unlikely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 20686 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 20687 if (likely(__pyx_t_4)) {
jpayne@69 20688 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 20689 __Pyx_INCREF(__pyx_t_4);
jpayne@69 20690 __Pyx_INCREF(function);
jpayne@69 20691 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 20692 __pyx_t_5 = 1;
jpayne@69 20693 }
jpayne@69 20694 }
jpayne@69 20695 #endif
jpayne@69 20696 {
jpayne@69 20697 PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
jpayne@69 20698 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
jpayne@69 20699 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 20700 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L1_error)
jpayne@69 20701 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 20702 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 20703 }
jpayne@69 20704 __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 726, __pyx_L1_error)
jpayne@69 20705 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 20706 __pyx_r = __pyx_t_6;
jpayne@69 20707 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 20708 goto __pyx_L0;
jpayne@69 20709 }
jpayne@69 20710 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 20711 __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 20712 __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
jpayne@69 20713 if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
jpayne@69 20714 __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
jpayne@69 20715 }
jpayne@69 20716 #endif
jpayne@69 20717 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 20718 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
jpayne@69 20719 }
jpayne@69 20720 #endif
jpayne@69 20721 }
jpayne@69 20722
jpayne@69 20723 /* "pysam/libctabixproxies.pyx":728
jpayne@69 20724 * cpdef int getMaxFields(self):
jpayne@69 20725 * '''return max number of fields.'''
jpayne@69 20726 * return 12 # <<<<<<<<<<<<<<
jpayne@69 20727 *
jpayne@69 20728 * cdef update(self, char * buffer, size_t nbytes):
jpayne@69 20729 */
jpayne@69 20730 __pyx_r = 12;
jpayne@69 20731 goto __pyx_L0;
jpayne@69 20732
jpayne@69 20733 /* "pysam/libctabixproxies.pyx":726
jpayne@69 20734 * return 3
jpayne@69 20735 *
jpayne@69 20736 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 20737 * '''return max number of fields.'''
jpayne@69 20738 * return 12
jpayne@69 20739 */
jpayne@69 20740
jpayne@69 20741 /* function exit code */
jpayne@69 20742 __pyx_L1_error:;
jpayne@69 20743 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 20744 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 20745 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 20746 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 20747 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.getMaxFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20748 __pyx_r = 0;
jpayne@69 20749 __pyx_L0:;
jpayne@69 20750 __Pyx_RefNannyFinishContext();
jpayne@69 20751 return __pyx_r;
jpayne@69 20752 }
jpayne@69 20753
jpayne@69 20754 /* Python wrapper */
jpayne@69 20755 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_3getMaxFields(PyObject *__pyx_v_self,
jpayne@69 20756 #if CYTHON_METH_FASTCALL
jpayne@69 20757 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20758 #else
jpayne@69 20759 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20760 #endif
jpayne@69 20761 ); /*proto*/
jpayne@69 20762 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8BedProxy_2getMaxFields, "return max number of fields.");
jpayne@69 20763 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8BedProxy_3getMaxFields = {"getMaxFields", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8BedProxy_3getMaxFields, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8BedProxy_2getMaxFields};
jpayne@69 20764 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_3getMaxFields(PyObject *__pyx_v_self,
jpayne@69 20765 #if CYTHON_METH_FASTCALL
jpayne@69 20766 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 20767 #else
jpayne@69 20768 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 20769 #endif
jpayne@69 20770 ) {
jpayne@69 20771 #if !CYTHON_METH_FASTCALL
jpayne@69 20772 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 20773 #endif
jpayne@69 20774 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 20775 PyObject *__pyx_r = 0;
jpayne@69 20776 __Pyx_RefNannyDeclarations
jpayne@69 20777 __Pyx_RefNannySetupContext("getMaxFields (wrapper)", 0);
jpayne@69 20778 #if !CYTHON_METH_FASTCALL
jpayne@69 20779 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 20780 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 20781 #else
jpayne@69 20782 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 20783 #endif
jpayne@69 20784 #endif
jpayne@69 20785 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 20786 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 20787 __Pyx_RaiseArgtupleInvalid("getMaxFields", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 20788 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "getMaxFields", 0))) return NULL;
jpayne@69 20789 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8BedProxy_2getMaxFields(((struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *)__pyx_v_self));
jpayne@69 20790
jpayne@69 20791 /* function exit code */
jpayne@69 20792 __Pyx_RefNannyFinishContext();
jpayne@69 20793 return __pyx_r;
jpayne@69 20794 }
jpayne@69 20795
jpayne@69 20796 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_2getMaxFields(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self) {
jpayne@69 20797 PyObject *__pyx_r = NULL;
jpayne@69 20798 __Pyx_RefNannyDeclarations
jpayne@69 20799 int __pyx_t_1;
jpayne@69 20800 PyObject *__pyx_t_2 = NULL;
jpayne@69 20801 int __pyx_lineno = 0;
jpayne@69 20802 const char *__pyx_filename = NULL;
jpayne@69 20803 int __pyx_clineno = 0;
jpayne@69 20804 __Pyx_RefNannySetupContext("getMaxFields", 1);
jpayne@69 20805 __Pyx_XDECREF(__pyx_r);
jpayne@69 20806 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies_8BedProxy_getMaxFields(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 726, __pyx_L1_error)
jpayne@69 20807 __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L1_error)
jpayne@69 20808 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 20809 __pyx_r = __pyx_t_2;
jpayne@69 20810 __pyx_t_2 = 0;
jpayne@69 20811 goto __pyx_L0;
jpayne@69 20812
jpayne@69 20813 /* function exit code */
jpayne@69 20814 __pyx_L1_error:;
jpayne@69 20815 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 20816 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.getMaxFields", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20817 __pyx_r = NULL;
jpayne@69 20818 __pyx_L0:;
jpayne@69 20819 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 20820 __Pyx_RefNannyFinishContext();
jpayne@69 20821 return __pyx_r;
jpayne@69 20822 }
jpayne@69 20823
jpayne@69 20824 /* "pysam/libctabixproxies.pyx":730
jpayne@69 20825 * return 12
jpayne@69 20826 *
jpayne@69 20827 * cdef update(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 20828 * '''update internal data.
jpayne@69 20829 *
jpayne@69 20830 */
jpayne@69 20831
jpayne@69 20832 static PyObject *__pyx_f_5pysam_16libctabixproxies_8BedProxy_update(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
jpayne@69 20833 PyObject *__pyx_r = NULL;
jpayne@69 20834 __Pyx_RefNannyDeclarations
jpayne@69 20835 PyObject *__pyx_t_1 = NULL;
jpayne@69 20836 int __pyx_t_2;
jpayne@69 20837 int __pyx_t_3;
jpayne@69 20838 int __pyx_lineno = 0;
jpayne@69 20839 const char *__pyx_filename = NULL;
jpayne@69 20840 int __pyx_clineno = 0;
jpayne@69 20841 __Pyx_RefNannySetupContext("update", 1);
jpayne@69 20842
jpayne@69 20843 /* "pysam/libctabixproxies.pyx":735
jpayne@69 20844 * nbytes does not include the terminal '\0'.
jpayne@69 20845 * '''
jpayne@69 20846 * NamedTupleProxy.update(self, buffer, nbytes) # <<<<<<<<<<<<<<
jpayne@69 20847 *
jpayne@69 20848 * if self.nfields < 3:
jpayne@69 20849 */
jpayne@69 20850 __pyx_t_1 = __pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy->__pyx_base.update(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 735, __pyx_L1_error)
jpayne@69 20851 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 20852 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 20853
jpayne@69 20854 /* "pysam/libctabixproxies.pyx":737
jpayne@69 20855 * NamedTupleProxy.update(self, buffer, nbytes)
jpayne@69 20856 *
jpayne@69 20857 * if self.nfields < 3: # <<<<<<<<<<<<<<
jpayne@69 20858 * raise ValueError(
jpayne@69 20859 * "bed format requires at least three columns")
jpayne@69 20860 */
jpayne@69 20861 __pyx_t_2 = (__pyx_v_self->__pyx_base.__pyx_base.nfields < 3);
jpayne@69 20862 if (unlikely(__pyx_t_2)) {
jpayne@69 20863
jpayne@69 20864 /* "pysam/libctabixproxies.pyx":738
jpayne@69 20865 *
jpayne@69 20866 * if self.nfields < 3:
jpayne@69 20867 * raise ValueError( # <<<<<<<<<<<<<<
jpayne@69 20868 * "bed format requires at least three columns")
jpayne@69 20869 *
jpayne@69 20870 */
jpayne@69 20871 __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 738, __pyx_L1_error)
jpayne@69 20872 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 20873 __Pyx_Raise(__pyx_t_1, 0, 0, 0);
jpayne@69 20874 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 20875 __PYX_ERR(0, 738, __pyx_L1_error)
jpayne@69 20876
jpayne@69 20877 /* "pysam/libctabixproxies.pyx":737
jpayne@69 20878 * NamedTupleProxy.update(self, buffer, nbytes)
jpayne@69 20879 *
jpayne@69 20880 * if self.nfields < 3: # <<<<<<<<<<<<<<
jpayne@69 20881 * raise ValueError(
jpayne@69 20882 * "bed format requires at least three columns")
jpayne@69 20883 */
jpayne@69 20884 }
jpayne@69 20885
jpayne@69 20886 /* "pysam/libctabixproxies.pyx":742
jpayne@69 20887 *
jpayne@69 20888 * # determines bed format
jpayne@69 20889 * self.bedfields = self.nfields # <<<<<<<<<<<<<<
jpayne@69 20890 *
jpayne@69 20891 * # do automatic conversion
jpayne@69 20892 */
jpayne@69 20893 __pyx_t_3 = __pyx_v_self->__pyx_base.__pyx_base.nfields;
jpayne@69 20894 __pyx_v_self->bedfields = __pyx_t_3;
jpayne@69 20895
jpayne@69 20896 /* "pysam/libctabixproxies.pyx":745
jpayne@69 20897 *
jpayne@69 20898 * # do automatic conversion
jpayne@69 20899 * self.contig = self.fields[0] # <<<<<<<<<<<<<<
jpayne@69 20900 * self.start = atoi(self.fields[1])
jpayne@69 20901 * self.end = atoi(self.fields[2])
jpayne@69 20902 */
jpayne@69 20903 __pyx_v_self->contig = (__pyx_v_self->__pyx_base.__pyx_base.fields[0]);
jpayne@69 20904
jpayne@69 20905 /* "pysam/libctabixproxies.pyx":746
jpayne@69 20906 * # do automatic conversion
jpayne@69 20907 * self.contig = self.fields[0]
jpayne@69 20908 * self.start = atoi(self.fields[1]) # <<<<<<<<<<<<<<
jpayne@69 20909 * self.end = atoi(self.fields[2])
jpayne@69 20910 *
jpayne@69 20911 */
jpayne@69 20912 __pyx_v_self->start = atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[1]));
jpayne@69 20913
jpayne@69 20914 /* "pysam/libctabixproxies.pyx":747
jpayne@69 20915 * self.contig = self.fields[0]
jpayne@69 20916 * self.start = atoi(self.fields[1])
jpayne@69 20917 * self.end = atoi(self.fields[2]) # <<<<<<<<<<<<<<
jpayne@69 20918 *
jpayne@69 20919 * # __setattr__ in base class seems to take precedence
jpayne@69 20920 */
jpayne@69 20921 __pyx_v_self->end = atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[2]));
jpayne@69 20922
jpayne@69 20923 /* "pysam/libctabixproxies.pyx":730
jpayne@69 20924 * return 12
jpayne@69 20925 *
jpayne@69 20926 * cdef update(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 20927 * '''update internal data.
jpayne@69 20928 *
jpayne@69 20929 */
jpayne@69 20930
jpayne@69 20931 /* function exit code */
jpayne@69 20932 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 20933 goto __pyx_L0;
jpayne@69 20934 __pyx_L1_error:;
jpayne@69 20935 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 20936 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 20937 __pyx_r = 0;
jpayne@69 20938 __pyx_L0:;
jpayne@69 20939 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 20940 __Pyx_RefNannyFinishContext();
jpayne@69 20941 return __pyx_r;
jpayne@69 20942 }
jpayne@69 20943
jpayne@69 20944 /* "pysam/libctabixproxies.pyx":756
jpayne@69 20945 * # def __get__( self ): return self.end
jpayne@69 20946 *
jpayne@69 20947 * def __str__(self): # <<<<<<<<<<<<<<
jpayne@69 20948 * cdef int save_fields = self.nfields
jpayne@69 20949 * # ensure fields to use correct format
jpayne@69 20950 */
jpayne@69 20951
jpayne@69 20952 /* Python wrapper */
jpayne@69 20953 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_5__str__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 20954 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_5__str__(PyObject *__pyx_v_self) {
jpayne@69 20955 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 20956 PyObject *__pyx_r = 0;
jpayne@69 20957 __Pyx_RefNannyDeclarations
jpayne@69 20958 __Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
jpayne@69 20959 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 20960 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8BedProxy_4__str__(((struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *)__pyx_v_self));
jpayne@69 20961
jpayne@69 20962 /* function exit code */
jpayne@69 20963 __Pyx_RefNannyFinishContext();
jpayne@69 20964 return __pyx_r;
jpayne@69 20965 }
jpayne@69 20966
jpayne@69 20967 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_4__str__(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self) {
jpayne@69 20968 int __pyx_v_save_fields;
jpayne@69 20969 PyObject *__pyx_v_retval = NULL;
jpayne@69 20970 PyObject *__pyx_r = NULL;
jpayne@69 20971 __Pyx_RefNannyDeclarations
jpayne@69 20972 int __pyx_t_1;
jpayne@69 20973 PyObject *__pyx_t_2 = NULL;
jpayne@69 20974 PyObject *__pyx_t_3 = NULL;
jpayne@69 20975 PyObject *__pyx_t_4 = NULL;
jpayne@69 20976 unsigned int __pyx_t_5;
jpayne@69 20977 int __pyx_lineno = 0;
jpayne@69 20978 const char *__pyx_filename = NULL;
jpayne@69 20979 int __pyx_clineno = 0;
jpayne@69 20980 __Pyx_RefNannySetupContext("__str__", 1);
jpayne@69 20981
jpayne@69 20982 /* "pysam/libctabixproxies.pyx":757
jpayne@69 20983 *
jpayne@69 20984 * def __str__(self):
jpayne@69 20985 * cdef int save_fields = self.nfields # <<<<<<<<<<<<<<
jpayne@69 20986 * # ensure fields to use correct format
jpayne@69 20987 * self.nfields = self.bedfields
jpayne@69 20988 */
jpayne@69 20989 __pyx_t_1 = __pyx_v_self->__pyx_base.__pyx_base.nfields;
jpayne@69 20990 __pyx_v_save_fields = __pyx_t_1;
jpayne@69 20991
jpayne@69 20992 /* "pysam/libctabixproxies.pyx":759
jpayne@69 20993 * cdef int save_fields = self.nfields
jpayne@69 20994 * # ensure fields to use correct format
jpayne@69 20995 * self.nfields = self.bedfields # <<<<<<<<<<<<<<
jpayne@69 20996 * retval = super().__str__()
jpayne@69 20997 * self.nfields = save_fields
jpayne@69 20998 */
jpayne@69 20999 __pyx_t_1 = __pyx_v_self->bedfields;
jpayne@69 21000 __pyx_v_self->__pyx_base.__pyx_base.nfields = __pyx_t_1;
jpayne@69 21001
jpayne@69 21002 /* "pysam/libctabixproxies.pyx":760
jpayne@69 21003 * # ensure fields to use correct format
jpayne@69 21004 * self.nfields = self.bedfields
jpayne@69 21005 * retval = super().__str__() # <<<<<<<<<<<<<<
jpayne@69 21006 * self.nfields = save_fields
jpayne@69 21007 * return retval
jpayne@69 21008 */
jpayne@69 21009 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L1_error)
jpayne@69 21010 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21011 __Pyx_INCREF((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_BedProxy);
jpayne@69 21012 __Pyx_GIVEREF((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_BedProxy);
jpayne@69 21013 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_BedProxy))) __PYX_ERR(0, 760, __pyx_L1_error);
jpayne@69 21014 __Pyx_INCREF((PyObject *)__pyx_v_self);
jpayne@69 21015 __Pyx_GIVEREF((PyObject *)__pyx_v_self);
jpayne@69 21016 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_self))) __PYX_ERR(0, 760, __pyx_L1_error);
jpayne@69 21017 __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 760, __pyx_L1_error)
jpayne@69 21018 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 21019 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 21020 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_str); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 760, __pyx_L1_error)
jpayne@69 21021 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21022 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 21023 __pyx_t_4 = NULL;
jpayne@69 21024 __pyx_t_5 = 0;
jpayne@69 21025 #if CYTHON_UNPACK_METHODS
jpayne@69 21026 if (likely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 21027 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 21028 if (likely(__pyx_t_4)) {
jpayne@69 21029 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 21030 __Pyx_INCREF(__pyx_t_4);
jpayne@69 21031 __Pyx_INCREF(function);
jpayne@69 21032 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 21033 __pyx_t_5 = 1;
jpayne@69 21034 }
jpayne@69 21035 }
jpayne@69 21036 #endif
jpayne@69 21037 {
jpayne@69 21038 PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
jpayne@69 21039 __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
jpayne@69 21040 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 21041 if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 760, __pyx_L1_error)
jpayne@69 21042 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 21043 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 21044 }
jpayne@69 21045 __pyx_v_retval = __pyx_t_2;
jpayne@69 21046 __pyx_t_2 = 0;
jpayne@69 21047
jpayne@69 21048 /* "pysam/libctabixproxies.pyx":761
jpayne@69 21049 * self.nfields = self.bedfields
jpayne@69 21050 * retval = super().__str__()
jpayne@69 21051 * self.nfields = save_fields # <<<<<<<<<<<<<<
jpayne@69 21052 * return retval
jpayne@69 21053 *
jpayne@69 21054 */
jpayne@69 21055 __pyx_v_self->__pyx_base.__pyx_base.nfields = __pyx_v_save_fields;
jpayne@69 21056
jpayne@69 21057 /* "pysam/libctabixproxies.pyx":762
jpayne@69 21058 * retval = super().__str__()
jpayne@69 21059 * self.nfields = save_fields
jpayne@69 21060 * return retval # <<<<<<<<<<<<<<
jpayne@69 21061 *
jpayne@69 21062 * def __setattr__(self, key, value):
jpayne@69 21063 */
jpayne@69 21064 __Pyx_XDECREF(__pyx_r);
jpayne@69 21065 __Pyx_INCREF(__pyx_v_retval);
jpayne@69 21066 __pyx_r = __pyx_v_retval;
jpayne@69 21067 goto __pyx_L0;
jpayne@69 21068
jpayne@69 21069 /* "pysam/libctabixproxies.pyx":756
jpayne@69 21070 * # def __get__( self ): return self.end
jpayne@69 21071 *
jpayne@69 21072 * def __str__(self): # <<<<<<<<<<<<<<
jpayne@69 21073 * cdef int save_fields = self.nfields
jpayne@69 21074 * # ensure fields to use correct format
jpayne@69 21075 */
jpayne@69 21076
jpayne@69 21077 /* function exit code */
jpayne@69 21078 __pyx_L1_error:;
jpayne@69 21079 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 21080 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 21081 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 21082 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 21083 __pyx_r = NULL;
jpayne@69 21084 __pyx_L0:;
jpayne@69 21085 __Pyx_XDECREF(__pyx_v_retval);
jpayne@69 21086 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 21087 __Pyx_RefNannyFinishContext();
jpayne@69 21088 return __pyx_r;
jpayne@69 21089 }
jpayne@69 21090
jpayne@69 21091 /* "pysam/libctabixproxies.pyx":764
jpayne@69 21092 * return retval
jpayne@69 21093 *
jpayne@69 21094 * def __setattr__(self, key, value): # <<<<<<<<<<<<<<
jpayne@69 21095 * '''set attribute.'''
jpayne@69 21096 * if key == "start":
jpayne@69 21097 */
jpayne@69 21098
jpayne@69 21099 /* Python wrapper */
jpayne@69 21100 static int __pyx_pw_5pysam_16libctabixproxies_8BedProxy_7__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
jpayne@69 21101 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8BedProxy_6__setattr__, "set attribute.");
jpayne@69 21102 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 21103 struct wrapperbase __pyx_wrapperbase_5pysam_16libctabixproxies_8BedProxy_6__setattr__;
jpayne@69 21104 #endif
jpayne@69 21105 static int __pyx_pw_5pysam_16libctabixproxies_8BedProxy_7__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
jpayne@69 21106 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 21107 int __pyx_r;
jpayne@69 21108 __Pyx_RefNannyDeclarations
jpayne@69 21109 __Pyx_RefNannySetupContext("__setattr__ (wrapper)", 0);
jpayne@69 21110 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 21111 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8BedProxy_6__setattr__(((struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
jpayne@69 21112
jpayne@69 21113 /* function exit code */
jpayne@69 21114 __Pyx_RefNannyFinishContext();
jpayne@69 21115 return __pyx_r;
jpayne@69 21116 }
jpayne@69 21117
jpayne@69 21118 static int __pyx_pf_5pysam_16libctabixproxies_8BedProxy_6__setattr__(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
jpayne@69 21119 int __pyx_v_idx;
jpayne@69 21120 CYTHON_UNUSED PyObject *__pyx_v_f = NULL;
jpayne@69 21121 int __pyx_r;
jpayne@69 21122 __Pyx_RefNannyDeclarations
jpayne@69 21123 int __pyx_t_1;
jpayne@69 21124 uint32_t __pyx_t_2;
jpayne@69 21125 PyObject *__pyx_t_3 = NULL;
jpayne@69 21126 PyObject *__pyx_t_4 = NULL;
jpayne@69 21127 PyObject *__pyx_t_5 = NULL;
jpayne@69 21128 PyObject *__pyx_t_6 = NULL;
jpayne@69 21129 PyObject *(*__pyx_t_7)(PyObject *);
jpayne@69 21130 int __pyx_t_8;
jpayne@69 21131 PyObject *__pyx_t_9 = NULL;
jpayne@69 21132 unsigned int __pyx_t_10;
jpayne@69 21133 int __pyx_lineno = 0;
jpayne@69 21134 const char *__pyx_filename = NULL;
jpayne@69 21135 int __pyx_clineno = 0;
jpayne@69 21136 __Pyx_RefNannySetupContext("__setattr__", 1);
jpayne@69 21137
jpayne@69 21138 /* "pysam/libctabixproxies.pyx":766
jpayne@69 21139 * def __setattr__(self, key, value):
jpayne@69 21140 * '''set attribute.'''
jpayne@69 21141 * if key == "start": # <<<<<<<<<<<<<<
jpayne@69 21142 * self.start = value
jpayne@69 21143 * elif key == "end":
jpayne@69 21144 */
jpayne@69 21145 __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_key, __pyx_n_u_start, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 766, __pyx_L1_error)
jpayne@69 21146 if (__pyx_t_1) {
jpayne@69 21147
jpayne@69 21148 /* "pysam/libctabixproxies.pyx":767
jpayne@69 21149 * '''set attribute.'''
jpayne@69 21150 * if key == "start":
jpayne@69 21151 * self.start = value # <<<<<<<<<<<<<<
jpayne@69 21152 * elif key == "end":
jpayne@69 21153 * self.end = value
jpayne@69 21154 */
jpayne@69 21155 __pyx_t_2 = __Pyx_PyInt_As_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_2 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 767, __pyx_L1_error)
jpayne@69 21156 __pyx_v_self->start = __pyx_t_2;
jpayne@69 21157
jpayne@69 21158 /* "pysam/libctabixproxies.pyx":766
jpayne@69 21159 * def __setattr__(self, key, value):
jpayne@69 21160 * '''set attribute.'''
jpayne@69 21161 * if key == "start": # <<<<<<<<<<<<<<
jpayne@69 21162 * self.start = value
jpayne@69 21163 * elif key == "end":
jpayne@69 21164 */
jpayne@69 21165 goto __pyx_L3;
jpayne@69 21166 }
jpayne@69 21167
jpayne@69 21168 /* "pysam/libctabixproxies.pyx":768
jpayne@69 21169 * if key == "start":
jpayne@69 21170 * self.start = value
jpayne@69 21171 * elif key == "end": # <<<<<<<<<<<<<<
jpayne@69 21172 * self.end = value
jpayne@69 21173 *
jpayne@69 21174 */
jpayne@69 21175 __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_key, __pyx_n_u_end, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 768, __pyx_L1_error)
jpayne@69 21176 if (__pyx_t_1) {
jpayne@69 21177
jpayne@69 21178 /* "pysam/libctabixproxies.pyx":769
jpayne@69 21179 * self.start = value
jpayne@69 21180 * elif key == "end":
jpayne@69 21181 * self.end = value # <<<<<<<<<<<<<<
jpayne@69 21182 *
jpayne@69 21183 * cdef int idx
jpayne@69 21184 */
jpayne@69 21185 __pyx_t_2 = __Pyx_PyInt_As_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_2 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 769, __pyx_L1_error)
jpayne@69 21186 __pyx_v_self->end = __pyx_t_2;
jpayne@69 21187
jpayne@69 21188 /* "pysam/libctabixproxies.pyx":768
jpayne@69 21189 * if key == "start":
jpayne@69 21190 * self.start = value
jpayne@69 21191 * elif key == "end": # <<<<<<<<<<<<<<
jpayne@69 21192 * self.end = value
jpayne@69 21193 *
jpayne@69 21194 */
jpayne@69 21195 }
jpayne@69 21196 __pyx_L3:;
jpayne@69 21197
jpayne@69 21198 /* "pysam/libctabixproxies.pyx":772
jpayne@69 21199 *
jpayne@69 21200 * cdef int idx
jpayne@69 21201 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
jpayne@69 21202 * TupleProxy._setindex(self, idx, str(value))
jpayne@69 21203 *
jpayne@69 21204 */
jpayne@69 21205 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_map_key2field); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21206 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21207 __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21208 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 21209 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 21210 if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
jpayne@69 21211 PyObject* sequence = __pyx_t_4;
jpayne@69 21212 Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
jpayne@69 21213 if (unlikely(size != 2)) {
jpayne@69 21214 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
jpayne@69 21215 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
jpayne@69 21216 __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21217 }
jpayne@69 21218 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 21219 if (likely(PyTuple_CheckExact(sequence))) {
jpayne@69 21220 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
jpayne@69 21221 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
jpayne@69 21222 } else {
jpayne@69 21223 __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
jpayne@69 21224 __pyx_t_5 = PyList_GET_ITEM(sequence, 1);
jpayne@69 21225 }
jpayne@69 21226 __Pyx_INCREF(__pyx_t_3);
jpayne@69 21227 __Pyx_INCREF(__pyx_t_5);
jpayne@69 21228 #else
jpayne@69 21229 __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21230 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21231 __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21232 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 21233 #endif
jpayne@69 21234 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 21235 } else {
jpayne@69 21236 Py_ssize_t index = -1;
jpayne@69 21237 __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21238 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 21239 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 21240 __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6);
jpayne@69 21241 index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
jpayne@69 21242 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21243 index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
jpayne@69 21244 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 21245 if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21246 __pyx_t_7 = NULL;
jpayne@69 21247 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 21248 goto __pyx_L5_unpacking_done;
jpayne@69 21249 __pyx_L4_unpacking_failed:;
jpayne@69 21250 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 21251 __pyx_t_7 = NULL;
jpayne@69 21252 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 21253 __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21254 __pyx_L5_unpacking_done:;
jpayne@69 21255 }
jpayne@69 21256 __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 772, __pyx_L1_error)
jpayne@69 21257 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 21258 __pyx_v_idx = __pyx_t_8;
jpayne@69 21259 __pyx_v_f = __pyx_t_5;
jpayne@69 21260 __pyx_t_5 = 0;
jpayne@69 21261
jpayne@69 21262 /* "pysam/libctabixproxies.pyx":773
jpayne@69 21263 * cdef int idx
jpayne@69 21264 * idx, f = self.map_key2field[key]
jpayne@69 21265 * TupleProxy._setindex(self, idx, str(value)) # <<<<<<<<<<<<<<
jpayne@69 21266 *
jpayne@69 21267 *
jpayne@69 21268 */
jpayne@69 21269 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy), __pyx_n_s_setindex); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 773, __pyx_L1_error)
jpayne@69 21270 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 21271 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 773, __pyx_L1_error)
jpayne@69 21272 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21273 __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_v_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 773, __pyx_L1_error)
jpayne@69 21274 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 21275 __pyx_t_9 = NULL;
jpayne@69 21276 __pyx_t_10 = 0;
jpayne@69 21277 #if CYTHON_UNPACK_METHODS
jpayne@69 21278 if (likely(PyMethod_Check(__pyx_t_5))) {
jpayne@69 21279 __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
jpayne@69 21280 if (likely(__pyx_t_9)) {
jpayne@69 21281 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
jpayne@69 21282 __Pyx_INCREF(__pyx_t_9);
jpayne@69 21283 __Pyx_INCREF(function);
jpayne@69 21284 __Pyx_DECREF_SET(__pyx_t_5, function);
jpayne@69 21285 __pyx_t_10 = 1;
jpayne@69 21286 }
jpayne@69 21287 }
jpayne@69 21288 #endif
jpayne@69 21289 {
jpayne@69 21290 PyObject *__pyx_callargs[4] = {__pyx_t_9, ((PyObject *)__pyx_v_self), __pyx_t_3, __pyx_t_6};
jpayne@69 21291 __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10);
jpayne@69 21292 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 21293 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 21294 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 21295 if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 773, __pyx_L1_error)
jpayne@69 21296 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 21297 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 21298 }
jpayne@69 21299 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 21300
jpayne@69 21301 /* "pysam/libctabixproxies.pyx":764
jpayne@69 21302 * return retval
jpayne@69 21303 *
jpayne@69 21304 * def __setattr__(self, key, value): # <<<<<<<<<<<<<<
jpayne@69 21305 * '''set attribute.'''
jpayne@69 21306 * if key == "start":
jpayne@69 21307 */
jpayne@69 21308
jpayne@69 21309 /* function exit code */
jpayne@69 21310 __pyx_r = 0;
jpayne@69 21311 goto __pyx_L0;
jpayne@69 21312 __pyx_L1_error:;
jpayne@69 21313 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 21314 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 21315 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 21316 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 21317 __Pyx_XDECREF(__pyx_t_9);
jpayne@69 21318 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 21319 __pyx_r = -1;
jpayne@69 21320 __pyx_L0:;
jpayne@69 21321 __Pyx_XDECREF(__pyx_v_f);
jpayne@69 21322 __Pyx_RefNannyFinishContext();
jpayne@69 21323 return __pyx_r;
jpayne@69 21324 }
jpayne@69 21325
jpayne@69 21326 /* "(tree fragment)":1
jpayne@69 21327 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 21328 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 21329 * def __setstate_cython__(self, __pyx_state):
jpayne@69 21330 */
jpayne@69 21331
jpayne@69 21332 /* Python wrapper */
jpayne@69 21333 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_9__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 21334 #if CYTHON_METH_FASTCALL
jpayne@69 21335 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 21336 #else
jpayne@69 21337 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 21338 #endif
jpayne@69 21339 ); /*proto*/
jpayne@69 21340 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8BedProxy_9__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8BedProxy_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 21341 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_9__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 21342 #if CYTHON_METH_FASTCALL
jpayne@69 21343 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 21344 #else
jpayne@69 21345 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 21346 #endif
jpayne@69 21347 ) {
jpayne@69 21348 #if !CYTHON_METH_FASTCALL
jpayne@69 21349 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 21350 #endif
jpayne@69 21351 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 21352 PyObject *__pyx_r = 0;
jpayne@69 21353 __Pyx_RefNannyDeclarations
jpayne@69 21354 __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
jpayne@69 21355 #if !CYTHON_METH_FASTCALL
jpayne@69 21356 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 21357 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 21358 #else
jpayne@69 21359 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 21360 #endif
jpayne@69 21361 #endif
jpayne@69 21362 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 21363 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 21364 __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 21365 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
jpayne@69 21366 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8BedProxy_8__reduce_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *)__pyx_v_self));
jpayne@69 21367
jpayne@69 21368 /* function exit code */
jpayne@69 21369 __Pyx_RefNannyFinishContext();
jpayne@69 21370 return __pyx_r;
jpayne@69 21371 }
jpayne@69 21372
jpayne@69 21373 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_8__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self) {
jpayne@69 21374 PyObject *__pyx_r = NULL;
jpayne@69 21375 __Pyx_RefNannyDeclarations
jpayne@69 21376 int __pyx_lineno = 0;
jpayne@69 21377 const char *__pyx_filename = NULL;
jpayne@69 21378 int __pyx_clineno = 0;
jpayne@69 21379 __Pyx_RefNannySetupContext("__reduce_cython__", 1);
jpayne@69 21380
jpayne@69 21381 /* "(tree fragment)":2
jpayne@69 21382 * def __reduce_cython__(self):
jpayne@69 21383 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 21384 * def __setstate_cython__(self, __pyx_state):
jpayne@69 21385 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 21386 */
jpayne@69 21387 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 21388 __PYX_ERR(1, 2, __pyx_L1_error)
jpayne@69 21389
jpayne@69 21390 /* "(tree fragment)":1
jpayne@69 21391 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 21392 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 21393 * def __setstate_cython__(self, __pyx_state):
jpayne@69 21394 */
jpayne@69 21395
jpayne@69 21396 /* function exit code */
jpayne@69 21397 __pyx_L1_error:;
jpayne@69 21398 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 21399 __pyx_r = NULL;
jpayne@69 21400 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 21401 __Pyx_RefNannyFinishContext();
jpayne@69 21402 return __pyx_r;
jpayne@69 21403 }
jpayne@69 21404
jpayne@69 21405 /* "(tree fragment)":3
jpayne@69 21406 * def __reduce_cython__(self):
jpayne@69 21407 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 21408 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 21409 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 21410 */
jpayne@69 21411
jpayne@69 21412 /* Python wrapper */
jpayne@69 21413 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_11__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 21414 #if CYTHON_METH_FASTCALL
jpayne@69 21415 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 21416 #else
jpayne@69 21417 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 21418 #endif
jpayne@69 21419 ); /*proto*/
jpayne@69 21420 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8BedProxy_11__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8BedProxy_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 21421 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8BedProxy_11__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 21422 #if CYTHON_METH_FASTCALL
jpayne@69 21423 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 21424 #else
jpayne@69 21425 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 21426 #endif
jpayne@69 21427 ) {
jpayne@69 21428 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
jpayne@69 21429 #if !CYTHON_METH_FASTCALL
jpayne@69 21430 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 21431 #endif
jpayne@69 21432 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 21433 PyObject* values[1] = {0};
jpayne@69 21434 int __pyx_lineno = 0;
jpayne@69 21435 const char *__pyx_filename = NULL;
jpayne@69 21436 int __pyx_clineno = 0;
jpayne@69 21437 PyObject *__pyx_r = 0;
jpayne@69 21438 __Pyx_RefNannyDeclarations
jpayne@69 21439 __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
jpayne@69 21440 #if !CYTHON_METH_FASTCALL
jpayne@69 21441 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 21442 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 21443 #else
jpayne@69 21444 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 21445 #endif
jpayne@69 21446 #endif
jpayne@69 21447 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 21448 {
jpayne@69 21449 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
jpayne@69 21450 if (__pyx_kwds) {
jpayne@69 21451 Py_ssize_t kw_args;
jpayne@69 21452 switch (__pyx_nargs) {
jpayne@69 21453 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 21454 CYTHON_FALLTHROUGH;
jpayne@69 21455 case 0: break;
jpayne@69 21456 default: goto __pyx_L5_argtuple_error;
jpayne@69 21457 }
jpayne@69 21458 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 21459 switch (__pyx_nargs) {
jpayne@69 21460 case 0:
jpayne@69 21461 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
jpayne@69 21462 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 21463 kw_args--;
jpayne@69 21464 }
jpayne@69 21465 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 21466 else goto __pyx_L5_argtuple_error;
jpayne@69 21467 }
jpayne@69 21468 if (unlikely(kw_args > 0)) {
jpayne@69 21469 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 21470 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 21471 }
jpayne@69 21472 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 21473 goto __pyx_L5_argtuple_error;
jpayne@69 21474 } else {
jpayne@69 21475 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 21476 }
jpayne@69 21477 __pyx_v___pyx_state = values[0];
jpayne@69 21478 }
jpayne@69 21479 goto __pyx_L6_skip;
jpayne@69 21480 __pyx_L5_argtuple_error:;
jpayne@69 21481 __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 21482 __pyx_L6_skip:;
jpayne@69 21483 goto __pyx_L4_argument_unpacking_done;
jpayne@69 21484 __pyx_L3_error:;
jpayne@69 21485 {
jpayne@69 21486 Py_ssize_t __pyx_temp;
jpayne@69 21487 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 21488 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 21489 }
jpayne@69 21490 }
jpayne@69 21491 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 21492 __Pyx_RefNannyFinishContext();
jpayne@69 21493 return NULL;
jpayne@69 21494 __pyx_L4_argument_unpacking_done:;
jpayne@69 21495 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8BedProxy_10__setstate_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *)__pyx_v_self), __pyx_v___pyx_state);
jpayne@69 21496
jpayne@69 21497 /* function exit code */
jpayne@69 21498 {
jpayne@69 21499 Py_ssize_t __pyx_temp;
jpayne@69 21500 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 21501 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 21502 }
jpayne@69 21503 }
jpayne@69 21504 __Pyx_RefNannyFinishContext();
jpayne@69 21505 return __pyx_r;
jpayne@69 21506 }
jpayne@69 21507
jpayne@69 21508 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8BedProxy_10__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
jpayne@69 21509 PyObject *__pyx_r = NULL;
jpayne@69 21510 __Pyx_RefNannyDeclarations
jpayne@69 21511 int __pyx_lineno = 0;
jpayne@69 21512 const char *__pyx_filename = NULL;
jpayne@69 21513 int __pyx_clineno = 0;
jpayne@69 21514 __Pyx_RefNannySetupContext("__setstate_cython__", 1);
jpayne@69 21515
jpayne@69 21516 /* "(tree fragment)":4
jpayne@69 21517 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 21518 * def __setstate_cython__(self, __pyx_state):
jpayne@69 21519 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 21520 */
jpayne@69 21521 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 21522 __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 21523
jpayne@69 21524 /* "(tree fragment)":3
jpayne@69 21525 * def __reduce_cython__(self):
jpayne@69 21526 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 21527 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 21528 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 21529 */
jpayne@69 21530
jpayne@69 21531 /* function exit code */
jpayne@69 21532 __pyx_L1_error:;
jpayne@69 21533 __Pyx_AddTraceback("pysam.libctabixproxies.BedProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 21534 __pyx_r = NULL;
jpayne@69 21535 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 21536 __Pyx_RefNannyFinishContext();
jpayne@69 21537 return __pyx_r;
jpayne@69 21538 }
jpayne@69 21539
jpayne@69 21540 /* "pysam/libctabixproxies.pyx":793
jpayne@69 21541 * 'format' : (8, str) }
jpayne@69 21542 *
jpayne@69 21543 * def __cinit__(self): # <<<<<<<<<<<<<<
jpayne@69 21544 * # automatically calls TupleProxy.__cinit__
jpayne@69 21545 * # start indexed access at genotypes
jpayne@69 21546 */
jpayne@69 21547
jpayne@69 21548 /* Python wrapper */
jpayne@69 21549 static int __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
jpayne@69 21550 static int __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
jpayne@69 21551 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 21552 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 21553 int __pyx_r;
jpayne@69 21554 __Pyx_RefNannyDeclarations
jpayne@69 21555 __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
jpayne@69 21556 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 21557 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 21558 #else
jpayne@69 21559 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
jpayne@69 21560 #endif
jpayne@69 21561 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 21562 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 21563 __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, __pyx_nargs); return -1;}
jpayne@69 21564 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_VARARGS(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
jpayne@69 21565 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8VCFProxy___cinit__(((struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *)__pyx_v_self));
jpayne@69 21566
jpayne@69 21567 /* function exit code */
jpayne@69 21568 __Pyx_RefNannyFinishContext();
jpayne@69 21569 return __pyx_r;
jpayne@69 21570 }
jpayne@69 21571
jpayne@69 21572 static int __pyx_pf_5pysam_16libctabixproxies_8VCFProxy___cinit__(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self) {
jpayne@69 21573 int __pyx_r;
jpayne@69 21574
jpayne@69 21575 /* "pysam/libctabixproxies.pyx":796
jpayne@69 21576 * # automatically calls TupleProxy.__cinit__
jpayne@69 21577 * # start indexed access at genotypes
jpayne@69 21578 * self.offset = 9 # <<<<<<<<<<<<<<
jpayne@69 21579 *
jpayne@69 21580 * cdef update(self, char * buffer, size_t nbytes):
jpayne@69 21581 */
jpayne@69 21582 __pyx_v_self->__pyx_base.__pyx_base.offset = 9;
jpayne@69 21583
jpayne@69 21584 /* "pysam/libctabixproxies.pyx":793
jpayne@69 21585 * 'format' : (8, str) }
jpayne@69 21586 *
jpayne@69 21587 * def __cinit__(self): # <<<<<<<<<<<<<<
jpayne@69 21588 * # automatically calls TupleProxy.__cinit__
jpayne@69 21589 * # start indexed access at genotypes
jpayne@69 21590 */
jpayne@69 21591
jpayne@69 21592 /* function exit code */
jpayne@69 21593 __pyx_r = 0;
jpayne@69 21594 return __pyx_r;
jpayne@69 21595 }
jpayne@69 21596
jpayne@69 21597 /* "pysam/libctabixproxies.pyx":798
jpayne@69 21598 * self.offset = 9
jpayne@69 21599 *
jpayne@69 21600 * cdef update(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 21601 * '''update internal data.
jpayne@69 21602 *
jpayne@69 21603 */
jpayne@69 21604
jpayne@69 21605 static PyObject *__pyx_f_5pysam_16libctabixproxies_8VCFProxy_update(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self, char *__pyx_v_buffer, size_t __pyx_v_nbytes) {
jpayne@69 21606 PyObject *__pyx_r = NULL;
jpayne@69 21607 __Pyx_RefNannyDeclarations
jpayne@69 21608 PyObject *__pyx_t_1 = NULL;
jpayne@69 21609 int __pyx_lineno = 0;
jpayne@69 21610 const char *__pyx_filename = NULL;
jpayne@69 21611 int __pyx_clineno = 0;
jpayne@69 21612 __Pyx_RefNannySetupContext("update", 1);
jpayne@69 21613
jpayne@69 21614 /* "pysam/libctabixproxies.pyx":803
jpayne@69 21615 * nbytes does not include the terminal '\0'.
jpayne@69 21616 * '''
jpayne@69 21617 * NamedTupleProxy.update(self, buffer, nbytes) # <<<<<<<<<<<<<<
jpayne@69 21618 *
jpayne@69 21619 * self.contig = self.fields[0]
jpayne@69 21620 */
jpayne@69 21621 __pyx_t_1 = __pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy->__pyx_base.update(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_v_self), __pyx_v_buffer, __pyx_v_nbytes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 803, __pyx_L1_error)
jpayne@69 21622 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 21623 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 21624
jpayne@69 21625 /* "pysam/libctabixproxies.pyx":805
jpayne@69 21626 * NamedTupleProxy.update(self, buffer, nbytes)
jpayne@69 21627 *
jpayne@69 21628 * self.contig = self.fields[0] # <<<<<<<<<<<<<<
jpayne@69 21629 * # vcf counts from 1 - correct here
jpayne@69 21630 * self.pos = atoi(self.fields[1]) - 1
jpayne@69 21631 */
jpayne@69 21632 __pyx_v_self->contig = (__pyx_v_self->__pyx_base.__pyx_base.fields[0]);
jpayne@69 21633
jpayne@69 21634 /* "pysam/libctabixproxies.pyx":807
jpayne@69 21635 * self.contig = self.fields[0]
jpayne@69 21636 * # vcf counts from 1 - correct here
jpayne@69 21637 * self.pos = atoi(self.fields[1]) - 1 # <<<<<<<<<<<<<<
jpayne@69 21638 *
jpayne@69 21639 * def __len__(self):
jpayne@69 21640 */
jpayne@69 21641 __pyx_v_self->pos = (atoi((__pyx_v_self->__pyx_base.__pyx_base.fields[1])) - 1);
jpayne@69 21642
jpayne@69 21643 /* "pysam/libctabixproxies.pyx":798
jpayne@69 21644 * self.offset = 9
jpayne@69 21645 *
jpayne@69 21646 * cdef update(self, char * buffer, size_t nbytes): # <<<<<<<<<<<<<<
jpayne@69 21647 * '''update internal data.
jpayne@69 21648 *
jpayne@69 21649 */
jpayne@69 21650
jpayne@69 21651 /* function exit code */
jpayne@69 21652 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 21653 goto __pyx_L0;
jpayne@69 21654 __pyx_L1_error:;
jpayne@69 21655 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 21656 __Pyx_AddTraceback("pysam.libctabixproxies.VCFProxy.update", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 21657 __pyx_r = 0;
jpayne@69 21658 __pyx_L0:;
jpayne@69 21659 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 21660 __Pyx_RefNannyFinishContext();
jpayne@69 21661 return __pyx_r;
jpayne@69 21662 }
jpayne@69 21663
jpayne@69 21664 /* "pysam/libctabixproxies.pyx":809
jpayne@69 21665 * self.pos = atoi(self.fields[1]) - 1
jpayne@69 21666 *
jpayne@69 21667 * def __len__(self): # <<<<<<<<<<<<<<
jpayne@69 21668 * '''return number of genotype fields.'''
jpayne@69 21669 * return max(0, self.nfields - 9)
jpayne@69 21670 */
jpayne@69 21671
jpayne@69 21672 /* Python wrapper */
jpayne@69 21673 static Py_ssize_t __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3__len__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 21674 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8VCFProxy_2__len__, "return number of genotype fields.");
jpayne@69 21675 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 21676 struct wrapperbase __pyx_wrapperbase_5pysam_16libctabixproxies_8VCFProxy_2__len__;
jpayne@69 21677 #endif
jpayne@69 21678 static Py_ssize_t __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3__len__(PyObject *__pyx_v_self) {
jpayne@69 21679 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 21680 Py_ssize_t __pyx_r;
jpayne@69 21681 __Pyx_RefNannyDeclarations
jpayne@69 21682 __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
jpayne@69 21683 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 21684 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_2__len__(((struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *)__pyx_v_self));
jpayne@69 21685
jpayne@69 21686 /* function exit code */
jpayne@69 21687 __Pyx_RefNannyFinishContext();
jpayne@69 21688 return __pyx_r;
jpayne@69 21689 }
jpayne@69 21690
jpayne@69 21691 static Py_ssize_t __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_2__len__(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self) {
jpayne@69 21692 Py_ssize_t __pyx_r;
jpayne@69 21693 long __pyx_t_1;
jpayne@69 21694 long __pyx_t_2;
jpayne@69 21695 long __pyx_t_3;
jpayne@69 21696 int __pyx_t_4;
jpayne@69 21697
jpayne@69 21698 /* "pysam/libctabixproxies.pyx":811
jpayne@69 21699 * def __len__(self):
jpayne@69 21700 * '''return number of genotype fields.'''
jpayne@69 21701 * return max(0, self.nfields - 9) # <<<<<<<<<<<<<<
jpayne@69 21702 *
jpayne@69 21703 * property pos:
jpayne@69 21704 */
jpayne@69 21705 __pyx_t_1 = (__pyx_v_self->__pyx_base.__pyx_base.nfields - 9);
jpayne@69 21706 __pyx_t_2 = 0;
jpayne@69 21707 __pyx_t_4 = (__pyx_t_1 > __pyx_t_2);
jpayne@69 21708 if (__pyx_t_4) {
jpayne@69 21709 __pyx_t_3 = __pyx_t_1;
jpayne@69 21710 } else {
jpayne@69 21711 __pyx_t_3 = __pyx_t_2;
jpayne@69 21712 }
jpayne@69 21713 __pyx_r = __pyx_t_3;
jpayne@69 21714 goto __pyx_L0;
jpayne@69 21715
jpayne@69 21716 /* "pysam/libctabixproxies.pyx":809
jpayne@69 21717 * self.pos = atoi(self.fields[1]) - 1
jpayne@69 21718 *
jpayne@69 21719 * def __len__(self): # <<<<<<<<<<<<<<
jpayne@69 21720 * '''return number of genotype fields.'''
jpayne@69 21721 * return max(0, self.nfields - 9)
jpayne@69 21722 */
jpayne@69 21723
jpayne@69 21724 /* function exit code */
jpayne@69 21725 __pyx_L0:;
jpayne@69 21726 return __pyx_r;
jpayne@69 21727 }
jpayne@69 21728
jpayne@69 21729 /* "pysam/libctabixproxies.pyx":815
jpayne@69 21730 * property pos:
jpayne@69 21731 * '''feature end (in 0-based open/closed coordinates).'''
jpayne@69 21732 * def __get__(self): # <<<<<<<<<<<<<<
jpayne@69 21733 * return self.pos
jpayne@69 21734 *
jpayne@69 21735 */
jpayne@69 21736
jpayne@69 21737 /* Python wrapper */
jpayne@69 21738 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3pos_1__get__(PyObject *__pyx_v_self); /*proto*/
jpayne@69 21739 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3pos_1__get__(PyObject *__pyx_v_self) {
jpayne@69 21740 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 21741 PyObject *__pyx_r = 0;
jpayne@69 21742 __Pyx_RefNannyDeclarations
jpayne@69 21743 __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
jpayne@69 21744 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 21745 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_3pos___get__(((struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *)__pyx_v_self));
jpayne@69 21746
jpayne@69 21747 /* function exit code */
jpayne@69 21748 __Pyx_RefNannyFinishContext();
jpayne@69 21749 return __pyx_r;
jpayne@69 21750 }
jpayne@69 21751
jpayne@69 21752 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8VCFProxy_3pos___get__(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self) {
jpayne@69 21753 PyObject *__pyx_r = NULL;
jpayne@69 21754 __Pyx_RefNannyDeclarations
jpayne@69 21755 PyObject *__pyx_t_1 = NULL;
jpayne@69 21756 int __pyx_lineno = 0;
jpayne@69 21757 const char *__pyx_filename = NULL;
jpayne@69 21758 int __pyx_clineno = 0;
jpayne@69 21759 __Pyx_RefNannySetupContext("__get__", 1);
jpayne@69 21760
jpayne@69 21761 /* "pysam/libctabixproxies.pyx":816
jpayne@69 21762 * '''feature end (in 0-based open/closed coordinates).'''
jpayne@69 21763 * def __get__(self):
jpayne@69 21764 * return self.pos # <<<<<<<<<<<<<<
jpayne@69 21765 *
jpayne@69 21766 * def __setattr__(self, key, value):
jpayne@69 21767 */
jpayne@69 21768 __Pyx_XDECREF(__pyx_r);
jpayne@69 21769 __pyx_t_1 = __Pyx_PyInt_From_uint32_t(__pyx_v_self->pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 816, __pyx_L1_error)
jpayne@69 21770 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 21771 __pyx_r = __pyx_t_1;
jpayne@69 21772 __pyx_t_1 = 0;
jpayne@69 21773 goto __pyx_L0;
jpayne@69 21774
jpayne@69 21775 /* "pysam/libctabixproxies.pyx":815
jpayne@69 21776 * property pos:
jpayne@69 21777 * '''feature end (in 0-based open/closed coordinates).'''
jpayne@69 21778 * def __get__(self): # <<<<<<<<<<<<<<
jpayne@69 21779 * return self.pos
jpayne@69 21780 *
jpayne@69 21781 */
jpayne@69 21782
jpayne@69 21783 /* function exit code */
jpayne@69 21784 __pyx_L1_error:;
jpayne@69 21785 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 21786 __Pyx_AddTraceback("pysam.libctabixproxies.VCFProxy.pos.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 21787 __pyx_r = NULL;
jpayne@69 21788 __pyx_L0:;
jpayne@69 21789 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 21790 __Pyx_RefNannyFinishContext();
jpayne@69 21791 return __pyx_r;
jpayne@69 21792 }
jpayne@69 21793
jpayne@69 21794 /* "pysam/libctabixproxies.pyx":818
jpayne@69 21795 * return self.pos
jpayne@69 21796 *
jpayne@69 21797 * def __setattr__(self, key, value): # <<<<<<<<<<<<<<
jpayne@69 21798 * '''set attribute.'''
jpayne@69 21799 * if key == "pos":
jpayne@69 21800 */
jpayne@69 21801
jpayne@69 21802 /* Python wrapper */
jpayne@69 21803 static int __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_5__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value); /*proto*/
jpayne@69 21804 PyDoc_STRVAR(__pyx_doc_5pysam_16libctabixproxies_8VCFProxy_4__setattr__, "set attribute.");
jpayne@69 21805 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 21806 struct wrapperbase __pyx_wrapperbase_5pysam_16libctabixproxies_8VCFProxy_4__setattr__;
jpayne@69 21807 #endif
jpayne@69 21808 static int __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_5__setattr__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
jpayne@69 21809 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 21810 int __pyx_r;
jpayne@69 21811 __Pyx_RefNannyDeclarations
jpayne@69 21812 __Pyx_RefNannySetupContext("__setattr__ (wrapper)", 0);
jpayne@69 21813 __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
jpayne@69 21814 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_4__setattr__(((struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_value));
jpayne@69 21815
jpayne@69 21816 /* function exit code */
jpayne@69 21817 __Pyx_RefNannyFinishContext();
jpayne@69 21818 return __pyx_r;
jpayne@69 21819 }
jpayne@69 21820
jpayne@69 21821 static int __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_4__setattr__(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_value) {
jpayne@69 21822 int __pyx_v_idx;
jpayne@69 21823 CYTHON_UNUSED PyObject *__pyx_v_f = NULL;
jpayne@69 21824 int __pyx_r;
jpayne@69 21825 __Pyx_RefNannyDeclarations
jpayne@69 21826 int __pyx_t_1;
jpayne@69 21827 uint32_t __pyx_t_2;
jpayne@69 21828 PyObject *__pyx_t_3 = NULL;
jpayne@69 21829 PyObject *__pyx_t_4 = NULL;
jpayne@69 21830 PyObject *__pyx_t_5 = NULL;
jpayne@69 21831 PyObject *__pyx_t_6 = NULL;
jpayne@69 21832 PyObject *(*__pyx_t_7)(PyObject *);
jpayne@69 21833 int __pyx_t_8;
jpayne@69 21834 PyObject *__pyx_t_9 = NULL;
jpayne@69 21835 unsigned int __pyx_t_10;
jpayne@69 21836 int __pyx_lineno = 0;
jpayne@69 21837 const char *__pyx_filename = NULL;
jpayne@69 21838 int __pyx_clineno = 0;
jpayne@69 21839 __Pyx_RefNannySetupContext("__setattr__", 0);
jpayne@69 21840 __Pyx_INCREF(__pyx_v_value);
jpayne@69 21841
jpayne@69 21842 /* "pysam/libctabixproxies.pyx":820
jpayne@69 21843 * def __setattr__(self, key, value):
jpayne@69 21844 * '''set attribute.'''
jpayne@69 21845 * if key == "pos": # <<<<<<<<<<<<<<
jpayne@69 21846 * self.pos = value
jpayne@69 21847 * value += 1
jpayne@69 21848 */
jpayne@69 21849 __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_key, __pyx_n_u_pos, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 820, __pyx_L1_error)
jpayne@69 21850 if (__pyx_t_1) {
jpayne@69 21851
jpayne@69 21852 /* "pysam/libctabixproxies.pyx":821
jpayne@69 21853 * '''set attribute.'''
jpayne@69 21854 * if key == "pos":
jpayne@69 21855 * self.pos = value # <<<<<<<<<<<<<<
jpayne@69 21856 * value += 1
jpayne@69 21857 *
jpayne@69 21858 */
jpayne@69 21859 __pyx_t_2 = __Pyx_PyInt_As_uint32_t(__pyx_v_value); if (unlikely((__pyx_t_2 == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 821, __pyx_L1_error)
jpayne@69 21860 __pyx_v_self->pos = __pyx_t_2;
jpayne@69 21861
jpayne@69 21862 /* "pysam/libctabixproxies.pyx":822
jpayne@69 21863 * if key == "pos":
jpayne@69 21864 * self.pos = value
jpayne@69 21865 * value += 1 # <<<<<<<<<<<<<<
jpayne@69 21866 *
jpayne@69 21867 * cdef int idx
jpayne@69 21868 */
jpayne@69 21869 __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_value, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 822, __pyx_L1_error)
jpayne@69 21870 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21871 __Pyx_DECREF_SET(__pyx_v_value, __pyx_t_3);
jpayne@69 21872 __pyx_t_3 = 0;
jpayne@69 21873
jpayne@69 21874 /* "pysam/libctabixproxies.pyx":820
jpayne@69 21875 * def __setattr__(self, key, value):
jpayne@69 21876 * '''set attribute.'''
jpayne@69 21877 * if key == "pos": # <<<<<<<<<<<<<<
jpayne@69 21878 * self.pos = value
jpayne@69 21879 * value += 1
jpayne@69 21880 */
jpayne@69 21881 }
jpayne@69 21882
jpayne@69 21883 /* "pysam/libctabixproxies.pyx":825
jpayne@69 21884 *
jpayne@69 21885 * cdef int idx
jpayne@69 21886 * idx, f = self.map_key2field[key] # <<<<<<<<<<<<<<
jpayne@69 21887 * TupleProxy._setindex(self, idx, str(value))
jpayne@69 21888 *
jpayne@69 21889 */
jpayne@69 21890 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_map_key2field); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21891 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21892 __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21893 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 21894 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 21895 if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
jpayne@69 21896 PyObject* sequence = __pyx_t_4;
jpayne@69 21897 Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
jpayne@69 21898 if (unlikely(size != 2)) {
jpayne@69 21899 if (size > 2) __Pyx_RaiseTooManyValuesError(2);
jpayne@69 21900 else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
jpayne@69 21901 __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21902 }
jpayne@69 21903 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 21904 if (likely(PyTuple_CheckExact(sequence))) {
jpayne@69 21905 __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
jpayne@69 21906 __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1);
jpayne@69 21907 } else {
jpayne@69 21908 __pyx_t_3 = PyList_GET_ITEM(sequence, 0);
jpayne@69 21909 __pyx_t_5 = PyList_GET_ITEM(sequence, 1);
jpayne@69 21910 }
jpayne@69 21911 __Pyx_INCREF(__pyx_t_3);
jpayne@69 21912 __Pyx_INCREF(__pyx_t_5);
jpayne@69 21913 #else
jpayne@69 21914 __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21915 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21916 __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21917 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 21918 #endif
jpayne@69 21919 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 21920 } else {
jpayne@69 21921 Py_ssize_t index = -1;
jpayne@69 21922 __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21923 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 21924 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 21925 __pyx_t_7 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_6);
jpayne@69 21926 index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
jpayne@69 21927 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21928 index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
jpayne@69 21929 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 21930 if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21931 __pyx_t_7 = NULL;
jpayne@69 21932 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 21933 goto __pyx_L5_unpacking_done;
jpayne@69 21934 __pyx_L4_unpacking_failed:;
jpayne@69 21935 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 21936 __pyx_t_7 = NULL;
jpayne@69 21937 if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 21938 __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21939 __pyx_L5_unpacking_done:;
jpayne@69 21940 }
jpayne@69 21941 __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 825, __pyx_L1_error)
jpayne@69 21942 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 21943 __pyx_v_idx = __pyx_t_8;
jpayne@69 21944 __pyx_v_f = __pyx_t_5;
jpayne@69 21945 __pyx_t_5 = 0;
jpayne@69 21946
jpayne@69 21947 /* "pysam/libctabixproxies.pyx":826
jpayne@69 21948 * cdef int idx
jpayne@69 21949 * idx, f = self.map_key2field[key]
jpayne@69 21950 * TupleProxy._setindex(self, idx, str(value)) # <<<<<<<<<<<<<<
jpayne@69 21951 *
jpayne@69 21952 *
jpayne@69 21953 */
jpayne@69 21954 __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy), __pyx_n_s_setindex); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 826, __pyx_L1_error)
jpayne@69 21955 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 21956 __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_idx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 826, __pyx_L1_error)
jpayne@69 21957 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 21958 __pyx_t_6 = __Pyx_PyObject_Unicode(__pyx_v_value); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 826, __pyx_L1_error)
jpayne@69 21959 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 21960 __pyx_t_9 = NULL;
jpayne@69 21961 __pyx_t_10 = 0;
jpayne@69 21962 #if CYTHON_UNPACK_METHODS
jpayne@69 21963 if (likely(PyMethod_Check(__pyx_t_5))) {
jpayne@69 21964 __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5);
jpayne@69 21965 if (likely(__pyx_t_9)) {
jpayne@69 21966 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
jpayne@69 21967 __Pyx_INCREF(__pyx_t_9);
jpayne@69 21968 __Pyx_INCREF(function);
jpayne@69 21969 __Pyx_DECREF_SET(__pyx_t_5, function);
jpayne@69 21970 __pyx_t_10 = 1;
jpayne@69 21971 }
jpayne@69 21972 }
jpayne@69 21973 #endif
jpayne@69 21974 {
jpayne@69 21975 PyObject *__pyx_callargs[4] = {__pyx_t_9, ((PyObject *)__pyx_v_self), __pyx_t_3, __pyx_t_6};
jpayne@69 21976 __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+1-__pyx_t_10, 3+__pyx_t_10);
jpayne@69 21977 __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
jpayne@69 21978 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 21979 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 21980 if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 826, __pyx_L1_error)
jpayne@69 21981 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 21982 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 21983 }
jpayne@69 21984 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 21985
jpayne@69 21986 /* "pysam/libctabixproxies.pyx":818
jpayne@69 21987 * return self.pos
jpayne@69 21988 *
jpayne@69 21989 * def __setattr__(self, key, value): # <<<<<<<<<<<<<<
jpayne@69 21990 * '''set attribute.'''
jpayne@69 21991 * if key == "pos":
jpayne@69 21992 */
jpayne@69 21993
jpayne@69 21994 /* function exit code */
jpayne@69 21995 __pyx_r = 0;
jpayne@69 21996 goto __pyx_L0;
jpayne@69 21997 __pyx_L1_error:;
jpayne@69 21998 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 21999 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 22000 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 22001 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 22002 __Pyx_XDECREF(__pyx_t_9);
jpayne@69 22003 __Pyx_AddTraceback("pysam.libctabixproxies.VCFProxy.__setattr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 22004 __pyx_r = -1;
jpayne@69 22005 __pyx_L0:;
jpayne@69 22006 __Pyx_XDECREF(__pyx_v_f);
jpayne@69 22007 __Pyx_XDECREF(__pyx_v_value);
jpayne@69 22008 __Pyx_RefNannyFinishContext();
jpayne@69 22009 return __pyx_r;
jpayne@69 22010 }
jpayne@69 22011
jpayne@69 22012 /* "(tree fragment)":1
jpayne@69 22013 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 22014 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 22015 * def __setstate_cython__(self, __pyx_state):
jpayne@69 22016 */
jpayne@69 22017
jpayne@69 22018 /* Python wrapper */
jpayne@69 22019 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_7__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 22020 #if CYTHON_METH_FASTCALL
jpayne@69 22021 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 22022 #else
jpayne@69 22023 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 22024 #endif
jpayne@69 22025 ); /*proto*/
jpayne@69 22026 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8VCFProxy_7__reduce_cython__ = {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 22027 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_7__reduce_cython__(PyObject *__pyx_v_self,
jpayne@69 22028 #if CYTHON_METH_FASTCALL
jpayne@69 22029 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 22030 #else
jpayne@69 22031 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 22032 #endif
jpayne@69 22033 ) {
jpayne@69 22034 #if !CYTHON_METH_FASTCALL
jpayne@69 22035 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 22036 #endif
jpayne@69 22037 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 22038 PyObject *__pyx_r = 0;
jpayne@69 22039 __Pyx_RefNannyDeclarations
jpayne@69 22040 __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
jpayne@69 22041 #if !CYTHON_METH_FASTCALL
jpayne@69 22042 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 22043 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 22044 #else
jpayne@69 22045 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 22046 #endif
jpayne@69 22047 #endif
jpayne@69 22048 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 22049 if (unlikely(__pyx_nargs > 0)) {
jpayne@69 22050 __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
jpayne@69 22051 if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
jpayne@69 22052 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_6__reduce_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *)__pyx_v_self));
jpayne@69 22053
jpayne@69 22054 /* function exit code */
jpayne@69 22055 __Pyx_RefNannyFinishContext();
jpayne@69 22056 return __pyx_r;
jpayne@69 22057 }
jpayne@69 22058
jpayne@69 22059 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8VCFProxy_6__reduce_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self) {
jpayne@69 22060 PyObject *__pyx_r = NULL;
jpayne@69 22061 __Pyx_RefNannyDeclarations
jpayne@69 22062 int __pyx_lineno = 0;
jpayne@69 22063 const char *__pyx_filename = NULL;
jpayne@69 22064 int __pyx_clineno = 0;
jpayne@69 22065 __Pyx_RefNannySetupContext("__reduce_cython__", 1);
jpayne@69 22066
jpayne@69 22067 /* "(tree fragment)":2
jpayne@69 22068 * def __reduce_cython__(self):
jpayne@69 22069 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 22070 * def __setstate_cython__(self, __pyx_state):
jpayne@69 22071 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 22072 */
jpayne@69 22073 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 22074 __PYX_ERR(1, 2, __pyx_L1_error)
jpayne@69 22075
jpayne@69 22076 /* "(tree fragment)":1
jpayne@69 22077 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 22078 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 22079 * def __setstate_cython__(self, __pyx_state):
jpayne@69 22080 */
jpayne@69 22081
jpayne@69 22082 /* function exit code */
jpayne@69 22083 __pyx_L1_error:;
jpayne@69 22084 __Pyx_AddTraceback("pysam.libctabixproxies.VCFProxy.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 22085 __pyx_r = NULL;
jpayne@69 22086 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 22087 __Pyx_RefNannyFinishContext();
jpayne@69 22088 return __pyx_r;
jpayne@69 22089 }
jpayne@69 22090
jpayne@69 22091 /* "(tree fragment)":3
jpayne@69 22092 * def __reduce_cython__(self):
jpayne@69 22093 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 22094 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 22095 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 22096 */
jpayne@69 22097
jpayne@69 22098 /* Python wrapper */
jpayne@69 22099 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_9__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 22100 #if CYTHON_METH_FASTCALL
jpayne@69 22101 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 22102 #else
jpayne@69 22103 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 22104 #endif
jpayne@69 22105 ); /*proto*/
jpayne@69 22106 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_8VCFProxy_9__setstate_cython__ = {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 22107 static PyObject *__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_9__setstate_cython__(PyObject *__pyx_v_self,
jpayne@69 22108 #if CYTHON_METH_FASTCALL
jpayne@69 22109 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 22110 #else
jpayne@69 22111 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 22112 #endif
jpayne@69 22113 ) {
jpayne@69 22114 CYTHON_UNUSED PyObject *__pyx_v___pyx_state = 0;
jpayne@69 22115 #if !CYTHON_METH_FASTCALL
jpayne@69 22116 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 22117 #endif
jpayne@69 22118 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 22119 PyObject* values[1] = {0};
jpayne@69 22120 int __pyx_lineno = 0;
jpayne@69 22121 const char *__pyx_filename = NULL;
jpayne@69 22122 int __pyx_clineno = 0;
jpayne@69 22123 PyObject *__pyx_r = 0;
jpayne@69 22124 __Pyx_RefNannyDeclarations
jpayne@69 22125 __Pyx_RefNannySetupContext("__setstate_cython__ (wrapper)", 0);
jpayne@69 22126 #if !CYTHON_METH_FASTCALL
jpayne@69 22127 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 22128 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 22129 #else
jpayne@69 22130 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 22131 #endif
jpayne@69 22132 #endif
jpayne@69 22133 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 22134 {
jpayne@69 22135 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_state,0};
jpayne@69 22136 if (__pyx_kwds) {
jpayne@69 22137 Py_ssize_t kw_args;
jpayne@69 22138 switch (__pyx_nargs) {
jpayne@69 22139 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 22140 CYTHON_FALLTHROUGH;
jpayne@69 22141 case 0: break;
jpayne@69 22142 default: goto __pyx_L5_argtuple_error;
jpayne@69 22143 }
jpayne@69 22144 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 22145 switch (__pyx_nargs) {
jpayne@69 22146 case 0:
jpayne@69 22147 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
jpayne@69 22148 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 22149 kw_args--;
jpayne@69 22150 }
jpayne@69 22151 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 22152 else goto __pyx_L5_argtuple_error;
jpayne@69 22153 }
jpayne@69 22154 if (unlikely(kw_args > 0)) {
jpayne@69 22155 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 22156 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__setstate_cython__") < 0)) __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 22157 }
jpayne@69 22158 } else if (unlikely(__pyx_nargs != 1)) {
jpayne@69 22159 goto __pyx_L5_argtuple_error;
jpayne@69 22160 } else {
jpayne@69 22161 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 22162 }
jpayne@69 22163 __pyx_v___pyx_state = values[0];
jpayne@69 22164 }
jpayne@69 22165 goto __pyx_L6_skip;
jpayne@69 22166 __pyx_L5_argtuple_error:;
jpayne@69 22167 __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
jpayne@69 22168 __pyx_L6_skip:;
jpayne@69 22169 goto __pyx_L4_argument_unpacking_done;
jpayne@69 22170 __pyx_L3_error:;
jpayne@69 22171 {
jpayne@69 22172 Py_ssize_t __pyx_temp;
jpayne@69 22173 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 22174 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 22175 }
jpayne@69 22176 }
jpayne@69 22177 __Pyx_AddTraceback("pysam.libctabixproxies.VCFProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 22178 __Pyx_RefNannyFinishContext();
jpayne@69 22179 return NULL;
jpayne@69 22180 __pyx_L4_argument_unpacking_done:;
jpayne@69 22181 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_8VCFProxy_8__setstate_cython__(((struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *)__pyx_v_self), __pyx_v___pyx_state);
jpayne@69 22182
jpayne@69 22183 /* function exit code */
jpayne@69 22184 {
jpayne@69 22185 Py_ssize_t __pyx_temp;
jpayne@69 22186 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 22187 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 22188 }
jpayne@69 22189 }
jpayne@69 22190 __Pyx_RefNannyFinishContext();
jpayne@69 22191 return __pyx_r;
jpayne@69 22192 }
jpayne@69 22193
jpayne@69 22194 static PyObject *__pyx_pf_5pysam_16libctabixproxies_8VCFProxy_8__setstate_cython__(CYTHON_UNUSED struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state) {
jpayne@69 22195 PyObject *__pyx_r = NULL;
jpayne@69 22196 __Pyx_RefNannyDeclarations
jpayne@69 22197 int __pyx_lineno = 0;
jpayne@69 22198 const char *__pyx_filename = NULL;
jpayne@69 22199 int __pyx_clineno = 0;
jpayne@69 22200 __Pyx_RefNannySetupContext("__setstate_cython__", 1);
jpayne@69 22201
jpayne@69 22202 /* "(tree fragment)":4
jpayne@69 22203 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 22204 * def __setstate_cython__(self, __pyx_state):
jpayne@69 22205 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__" # <<<<<<<<<<<<<<
jpayne@69 22206 */
jpayne@69 22207 __Pyx_Raise(__pyx_builtin_TypeError, __pyx_kp_s_no_default___reduce___due_to_non, 0, 0);
jpayne@69 22208 __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 22209
jpayne@69 22210 /* "(tree fragment)":3
jpayne@69 22211 * def __reduce_cython__(self):
jpayne@69 22212 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 22213 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 22214 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 22215 */
jpayne@69 22216
jpayne@69 22217 /* function exit code */
jpayne@69 22218 __pyx_L1_error:;
jpayne@69 22219 __Pyx_AddTraceback("pysam.libctabixproxies.VCFProxy.__setstate_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 22220 __pyx_r = NULL;
jpayne@69 22221 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 22222 __Pyx_RefNannyFinishContext();
jpayne@69 22223 return __pyx_r;
jpayne@69 22224 }
jpayne@69 22225
jpayne@69 22226 /* "(tree fragment)":1
jpayne@69 22227 * def __pyx_unpickle_TupleProxyIterator(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 22228 * cdef object __pyx_PickleError
jpayne@69 22229 * cdef object __pyx_result
jpayne@69 22230 */
jpayne@69 22231
jpayne@69 22232 /* Python wrapper */
jpayne@69 22233 static PyObject *__pyx_pw_5pysam_16libctabixproxies_5__pyx_unpickle_TupleProxyIterator(PyObject *__pyx_self,
jpayne@69 22234 #if CYTHON_METH_FASTCALL
jpayne@69 22235 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 22236 #else
jpayne@69 22237 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 22238 #endif
jpayne@69 22239 ); /*proto*/
jpayne@69 22240 static PyMethodDef __pyx_mdef_5pysam_16libctabixproxies_5__pyx_unpickle_TupleProxyIterator = {"__pyx_unpickle_TupleProxyIterator", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_5__pyx_unpickle_TupleProxyIterator, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
jpayne@69 22241 static PyObject *__pyx_pw_5pysam_16libctabixproxies_5__pyx_unpickle_TupleProxyIterator(PyObject *__pyx_self,
jpayne@69 22242 #if CYTHON_METH_FASTCALL
jpayne@69 22243 PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
jpayne@69 22244 #else
jpayne@69 22245 PyObject *__pyx_args, PyObject *__pyx_kwds
jpayne@69 22246 #endif
jpayne@69 22247 ) {
jpayne@69 22248 PyObject *__pyx_v___pyx_type = 0;
jpayne@69 22249 long __pyx_v___pyx_checksum;
jpayne@69 22250 PyObject *__pyx_v___pyx_state = 0;
jpayne@69 22251 #if !CYTHON_METH_FASTCALL
jpayne@69 22252 CYTHON_UNUSED Py_ssize_t __pyx_nargs;
jpayne@69 22253 #endif
jpayne@69 22254 CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
jpayne@69 22255 PyObject* values[3] = {0,0,0};
jpayne@69 22256 int __pyx_lineno = 0;
jpayne@69 22257 const char *__pyx_filename = NULL;
jpayne@69 22258 int __pyx_clineno = 0;
jpayne@69 22259 PyObject *__pyx_r = 0;
jpayne@69 22260 __Pyx_RefNannyDeclarations
jpayne@69 22261 __Pyx_RefNannySetupContext("__pyx_unpickle_TupleProxyIterator (wrapper)", 0);
jpayne@69 22262 #if !CYTHON_METH_FASTCALL
jpayne@69 22263 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 22264 __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
jpayne@69 22265 #else
jpayne@69 22266 __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
jpayne@69 22267 #endif
jpayne@69 22268 #endif
jpayne@69 22269 __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
jpayne@69 22270 {
jpayne@69 22271 PyObject **__pyx_pyargnames[] = {&__pyx_n_s_pyx_type,&__pyx_n_s_pyx_checksum,&__pyx_n_s_pyx_state,0};
jpayne@69 22272 if (__pyx_kwds) {
jpayne@69 22273 Py_ssize_t kw_args;
jpayne@69 22274 switch (__pyx_nargs) {
jpayne@69 22275 case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
jpayne@69 22276 CYTHON_FALLTHROUGH;
jpayne@69 22277 case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
jpayne@69 22278 CYTHON_FALLTHROUGH;
jpayne@69 22279 case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 22280 CYTHON_FALLTHROUGH;
jpayne@69 22281 case 0: break;
jpayne@69 22282 default: goto __pyx_L5_argtuple_error;
jpayne@69 22283 }
jpayne@69 22284 kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
jpayne@69 22285 switch (__pyx_nargs) {
jpayne@69 22286 case 0:
jpayne@69 22287 if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_type)) != 0)) {
jpayne@69 22288 (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
jpayne@69 22289 kw_args--;
jpayne@69 22290 }
jpayne@69 22291 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
jpayne@69 22292 else goto __pyx_L5_argtuple_error;
jpayne@69 22293 CYTHON_FALLTHROUGH;
jpayne@69 22294 case 1:
jpayne@69 22295 if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_checksum)) != 0)) {
jpayne@69 22296 (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
jpayne@69 22297 kw_args--;
jpayne@69 22298 }
jpayne@69 22299 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
jpayne@69 22300 else {
jpayne@69 22301 __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TupleProxyIterator", 1, 3, 3, 1); __PYX_ERR(1, 1, __pyx_L3_error)
jpayne@69 22302 }
jpayne@69 22303 CYTHON_FALLTHROUGH;
jpayne@69 22304 case 2:
jpayne@69 22305 if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_pyx_state)) != 0)) {
jpayne@69 22306 (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
jpayne@69 22307 kw_args--;
jpayne@69 22308 }
jpayne@69 22309 else if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
jpayne@69 22310 else {
jpayne@69 22311 __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TupleProxyIterator", 1, 3, 3, 2); __PYX_ERR(1, 1, __pyx_L3_error)
jpayne@69 22312 }
jpayne@69 22313 }
jpayne@69 22314 if (unlikely(kw_args > 0)) {
jpayne@69 22315 const Py_ssize_t kwd_pos_args = __pyx_nargs;
jpayne@69 22316 if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__pyx_unpickle_TupleProxyIterator") < 0)) __PYX_ERR(1, 1, __pyx_L3_error)
jpayne@69 22317 }
jpayne@69 22318 } else if (unlikely(__pyx_nargs != 3)) {
jpayne@69 22319 goto __pyx_L5_argtuple_error;
jpayne@69 22320 } else {
jpayne@69 22321 values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
jpayne@69 22322 values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
jpayne@69 22323 values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
jpayne@69 22324 }
jpayne@69 22325 __pyx_v___pyx_type = values[0];
jpayne@69 22326 __pyx_v___pyx_checksum = __Pyx_PyInt_As_long(values[1]); if (unlikely((__pyx_v___pyx_checksum == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 1, __pyx_L3_error)
jpayne@69 22327 __pyx_v___pyx_state = values[2];
jpayne@69 22328 }
jpayne@69 22329 goto __pyx_L6_skip;
jpayne@69 22330 __pyx_L5_argtuple_error:;
jpayne@69 22331 __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_TupleProxyIterator", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 1, __pyx_L3_error)
jpayne@69 22332 __pyx_L6_skip:;
jpayne@69 22333 goto __pyx_L4_argument_unpacking_done;
jpayne@69 22334 __pyx_L3_error:;
jpayne@69 22335 {
jpayne@69 22336 Py_ssize_t __pyx_temp;
jpayne@69 22337 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 22338 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 22339 }
jpayne@69 22340 }
jpayne@69 22341 __Pyx_AddTraceback("pysam.libctabixproxies.__pyx_unpickle_TupleProxyIterator", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 22342 __Pyx_RefNannyFinishContext();
jpayne@69 22343 return NULL;
jpayne@69 22344 __pyx_L4_argument_unpacking_done:;
jpayne@69 22345 __pyx_r = __pyx_pf_5pysam_16libctabixproxies_4__pyx_unpickle_TupleProxyIterator(__pyx_self, __pyx_v___pyx_type, __pyx_v___pyx_checksum, __pyx_v___pyx_state);
jpayne@69 22346
jpayne@69 22347 /* function exit code */
jpayne@69 22348 {
jpayne@69 22349 Py_ssize_t __pyx_temp;
jpayne@69 22350 for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
jpayne@69 22351 __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
jpayne@69 22352 }
jpayne@69 22353 }
jpayne@69 22354 __Pyx_RefNannyFinishContext();
jpayne@69 22355 return __pyx_r;
jpayne@69 22356 }
jpayne@69 22357
jpayne@69 22358 static PyObject *__pyx_pf_5pysam_16libctabixproxies_4__pyx_unpickle_TupleProxyIterator(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state) {
jpayne@69 22359 PyObject *__pyx_v___pyx_PickleError = 0;
jpayne@69 22360 PyObject *__pyx_v___pyx_result = 0;
jpayne@69 22361 PyObject *__pyx_r = NULL;
jpayne@69 22362 __Pyx_RefNannyDeclarations
jpayne@69 22363 PyObject *__pyx_t_1 = NULL;
jpayne@69 22364 int __pyx_t_2;
jpayne@69 22365 PyObject *__pyx_t_3 = NULL;
jpayne@69 22366 PyObject *__pyx_t_4 = NULL;
jpayne@69 22367 unsigned int __pyx_t_5;
jpayne@69 22368 int __pyx_lineno = 0;
jpayne@69 22369 const char *__pyx_filename = NULL;
jpayne@69 22370 int __pyx_clineno = 0;
jpayne@69 22371 __Pyx_RefNannySetupContext("__pyx_unpickle_TupleProxyIterator", 1);
jpayne@69 22372
jpayne@69 22373 /* "(tree fragment)":4
jpayne@69 22374 * cdef object __pyx_PickleError
jpayne@69 22375 * cdef object __pyx_result
jpayne@69 22376 * if __pyx_checksum not in (0x0eb9d08, 0x60f8e6c, 0xd13f98c): # <<<<<<<<<<<<<<
jpayne@69 22377 * from pickle import PickleError as __pyx_PickleError
jpayne@69 22378 * raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))" % __pyx_checksum
jpayne@69 22379 */
jpayne@69 22380 __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 22381 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22382 __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_tuple__31, Py_NE)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 22383 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 22384 if (__pyx_t_2) {
jpayne@69 22385
jpayne@69 22386 /* "(tree fragment)":5
jpayne@69 22387 * cdef object __pyx_result
jpayne@69 22388 * if __pyx_checksum not in (0x0eb9d08, 0x60f8e6c, 0xd13f98c):
jpayne@69 22389 * from pickle import PickleError as __pyx_PickleError # <<<<<<<<<<<<<<
jpayne@69 22390 * raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))" % __pyx_checksum
jpayne@69 22391 * __pyx_result = TupleProxyIterator.__new__(__pyx_type)
jpayne@69 22392 */
jpayne@69 22393 __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
jpayne@69 22394 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22395 __Pyx_INCREF(__pyx_n_s_PickleError);
jpayne@69 22396 __Pyx_GIVEREF(__pyx_n_s_PickleError);
jpayne@69 22397 if (__Pyx_PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_PickleError)) __PYX_ERR(1, 5, __pyx_L1_error);
jpayne@69 22398 __pyx_t_3 = __Pyx_Import(__pyx_n_s_pickle, __pyx_t_1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 5, __pyx_L1_error)
jpayne@69 22399 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 22400 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 22401 __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_PickleError); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 5, __pyx_L1_error)
jpayne@69 22402 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22403 __Pyx_INCREF(__pyx_t_1);
jpayne@69 22404 __pyx_v___pyx_PickleError = __pyx_t_1;
jpayne@69 22405 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 22406 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 22407
jpayne@69 22408 /* "(tree fragment)":6
jpayne@69 22409 * if __pyx_checksum not in (0x0eb9d08, 0x60f8e6c, 0xd13f98c):
jpayne@69 22410 * from pickle import PickleError as __pyx_PickleError
jpayne@69 22411 * raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))" % __pyx_checksum # <<<<<<<<<<<<<<
jpayne@69 22412 * __pyx_result = TupleProxyIterator.__new__(__pyx_type)
jpayne@69 22413 * if __pyx_state is not None:
jpayne@69 22414 */
jpayne@69 22415 __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v___pyx_checksum); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 6, __pyx_L1_error)
jpayne@69 22416 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 22417 __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 6, __pyx_L1_error)
jpayne@69 22418 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22419 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 22420 __Pyx_Raise(__pyx_v___pyx_PickleError, __pyx_t_1, 0, 0);
jpayne@69 22421 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 22422 __PYX_ERR(1, 6, __pyx_L1_error)
jpayne@69 22423
jpayne@69 22424 /* "(tree fragment)":4
jpayne@69 22425 * cdef object __pyx_PickleError
jpayne@69 22426 * cdef object __pyx_result
jpayne@69 22427 * if __pyx_checksum not in (0x0eb9d08, 0x60f8e6c, 0xd13f98c): # <<<<<<<<<<<<<<
jpayne@69 22428 * from pickle import PickleError as __pyx_PickleError
jpayne@69 22429 * raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))" % __pyx_checksum
jpayne@69 22430 */
jpayne@69 22431 }
jpayne@69 22432
jpayne@69 22433 /* "(tree fragment)":7
jpayne@69 22434 * from pickle import PickleError as __pyx_PickleError
jpayne@69 22435 * raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))" % __pyx_checksum
jpayne@69 22436 * __pyx_result = TupleProxyIterator.__new__(__pyx_type) # <<<<<<<<<<<<<<
jpayne@69 22437 * if __pyx_state is not None:
jpayne@69 22438 * __pyx_unpickle_TupleProxyIterator__set_state(<TupleProxyIterator> __pyx_result, __pyx_state)
jpayne@69 22439 */
jpayne@69 22440 __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator), __pyx_n_s_new); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 7, __pyx_L1_error)
jpayne@69 22441 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 22442 __pyx_t_4 = NULL;
jpayne@69 22443 __pyx_t_5 = 0;
jpayne@69 22444 #if CYTHON_UNPACK_METHODS
jpayne@69 22445 if (likely(PyMethod_Check(__pyx_t_3))) {
jpayne@69 22446 __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
jpayne@69 22447 if (likely(__pyx_t_4)) {
jpayne@69 22448 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
jpayne@69 22449 __Pyx_INCREF(__pyx_t_4);
jpayne@69 22450 __Pyx_INCREF(function);
jpayne@69 22451 __Pyx_DECREF_SET(__pyx_t_3, function);
jpayne@69 22452 __pyx_t_5 = 1;
jpayne@69 22453 }
jpayne@69 22454 }
jpayne@69 22455 #endif
jpayne@69 22456 {
jpayne@69 22457 PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v___pyx_type};
jpayne@69 22458 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
jpayne@69 22459 __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 22460 if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 7, __pyx_L1_error)
jpayne@69 22461 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22462 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 22463 }
jpayne@69 22464 __pyx_v___pyx_result = __pyx_t_1;
jpayne@69 22465 __pyx_t_1 = 0;
jpayne@69 22466
jpayne@69 22467 /* "(tree fragment)":8
jpayne@69 22468 * raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))" % __pyx_checksum
jpayne@69 22469 * __pyx_result = TupleProxyIterator.__new__(__pyx_type)
jpayne@69 22470 * if __pyx_state is not None: # <<<<<<<<<<<<<<
jpayne@69 22471 * __pyx_unpickle_TupleProxyIterator__set_state(<TupleProxyIterator> __pyx_result, __pyx_state)
jpayne@69 22472 * return __pyx_result
jpayne@69 22473 */
jpayne@69 22474 __pyx_t_2 = (__pyx_v___pyx_state != Py_None);
jpayne@69 22475 if (__pyx_t_2) {
jpayne@69 22476
jpayne@69 22477 /* "(tree fragment)":9
jpayne@69 22478 * __pyx_result = TupleProxyIterator.__new__(__pyx_type)
jpayne@69 22479 * if __pyx_state is not None:
jpayne@69 22480 * __pyx_unpickle_TupleProxyIterator__set_state(<TupleProxyIterator> __pyx_result, __pyx_state) # <<<<<<<<<<<<<<
jpayne@69 22481 * return __pyx_result
jpayne@69 22482 * cdef __pyx_unpickle_TupleProxyIterator__set_state(TupleProxyIterator __pyx_result, tuple __pyx_state):
jpayne@69 22483 */
jpayne@69 22484 if (!(likely(PyTuple_CheckExact(__pyx_v___pyx_state))||((__pyx_v___pyx_state) == Py_None) || __Pyx_RaiseUnexpectedTypeError("tuple", __pyx_v___pyx_state))) __PYX_ERR(1, 9, __pyx_L1_error)
jpayne@69 22485 __pyx_t_1 = __pyx_f_5pysam_16libctabixproxies___pyx_unpickle_TupleProxyIterator__set_state(((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)__pyx_v___pyx_result), ((PyObject*)__pyx_v___pyx_state)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 9, __pyx_L1_error)
jpayne@69 22486 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22487 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 22488
jpayne@69 22489 /* "(tree fragment)":8
jpayne@69 22490 * raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))" % __pyx_checksum
jpayne@69 22491 * __pyx_result = TupleProxyIterator.__new__(__pyx_type)
jpayne@69 22492 * if __pyx_state is not None: # <<<<<<<<<<<<<<
jpayne@69 22493 * __pyx_unpickle_TupleProxyIterator__set_state(<TupleProxyIterator> __pyx_result, __pyx_state)
jpayne@69 22494 * return __pyx_result
jpayne@69 22495 */
jpayne@69 22496 }
jpayne@69 22497
jpayne@69 22498 /* "(tree fragment)":10
jpayne@69 22499 * if __pyx_state is not None:
jpayne@69 22500 * __pyx_unpickle_TupleProxyIterator__set_state(<TupleProxyIterator> __pyx_result, __pyx_state)
jpayne@69 22501 * return __pyx_result # <<<<<<<<<<<<<<
jpayne@69 22502 * cdef __pyx_unpickle_TupleProxyIterator__set_state(TupleProxyIterator __pyx_result, tuple __pyx_state):
jpayne@69 22503 * __pyx_result.index = __pyx_state[0]; __pyx_result.proxy = __pyx_state[1]
jpayne@69 22504 */
jpayne@69 22505 __Pyx_XDECREF(__pyx_r);
jpayne@69 22506 __Pyx_INCREF(__pyx_v___pyx_result);
jpayne@69 22507 __pyx_r = __pyx_v___pyx_result;
jpayne@69 22508 goto __pyx_L0;
jpayne@69 22509
jpayne@69 22510 /* "(tree fragment)":1
jpayne@69 22511 * def __pyx_unpickle_TupleProxyIterator(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 22512 * cdef object __pyx_PickleError
jpayne@69 22513 * cdef object __pyx_result
jpayne@69 22514 */
jpayne@69 22515
jpayne@69 22516 /* function exit code */
jpayne@69 22517 __pyx_L1_error:;
jpayne@69 22518 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 22519 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 22520 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 22521 __Pyx_AddTraceback("pysam.libctabixproxies.__pyx_unpickle_TupleProxyIterator", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 22522 __pyx_r = NULL;
jpayne@69 22523 __pyx_L0:;
jpayne@69 22524 __Pyx_XDECREF(__pyx_v___pyx_PickleError);
jpayne@69 22525 __Pyx_XDECREF(__pyx_v___pyx_result);
jpayne@69 22526 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 22527 __Pyx_RefNannyFinishContext();
jpayne@69 22528 return __pyx_r;
jpayne@69 22529 }
jpayne@69 22530
jpayne@69 22531 /* "(tree fragment)":11
jpayne@69 22532 * __pyx_unpickle_TupleProxyIterator__set_state(<TupleProxyIterator> __pyx_result, __pyx_state)
jpayne@69 22533 * return __pyx_result
jpayne@69 22534 * cdef __pyx_unpickle_TupleProxyIterator__set_state(TupleProxyIterator __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 22535 * __pyx_result.index = __pyx_state[0]; __pyx_result.proxy = __pyx_state[1]
jpayne@69 22536 * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'):
jpayne@69 22537 */
jpayne@69 22538
jpayne@69 22539 static PyObject *__pyx_f_5pysam_16libctabixproxies___pyx_unpickle_TupleProxyIterator__set_state(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *__pyx_v___pyx_result, PyObject *__pyx_v___pyx_state) {
jpayne@69 22540 PyObject *__pyx_r = NULL;
jpayne@69 22541 __Pyx_RefNannyDeclarations
jpayne@69 22542 PyObject *__pyx_t_1 = NULL;
jpayne@69 22543 int __pyx_t_2;
jpayne@69 22544 int __pyx_t_3;
jpayne@69 22545 Py_ssize_t __pyx_t_4;
jpayne@69 22546 int __pyx_t_5;
jpayne@69 22547 PyObject *__pyx_t_6 = NULL;
jpayne@69 22548 PyObject *__pyx_t_7 = NULL;
jpayne@69 22549 PyObject *__pyx_t_8 = NULL;
jpayne@69 22550 unsigned int __pyx_t_9;
jpayne@69 22551 int __pyx_lineno = 0;
jpayne@69 22552 const char *__pyx_filename = NULL;
jpayne@69 22553 int __pyx_clineno = 0;
jpayne@69 22554 __Pyx_RefNannySetupContext("__pyx_unpickle_TupleProxyIterator__set_state", 1);
jpayne@69 22555
jpayne@69 22556 /* "(tree fragment)":12
jpayne@69 22557 * return __pyx_result
jpayne@69 22558 * cdef __pyx_unpickle_TupleProxyIterator__set_state(TupleProxyIterator __pyx_result, tuple __pyx_state):
jpayne@69 22559 * __pyx_result.index = __pyx_state[0]; __pyx_result.proxy = __pyx_state[1] # <<<<<<<<<<<<<<
jpayne@69 22560 * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'):
jpayne@69 22561 * __pyx_result.__dict__.update(__pyx_state[2])
jpayne@69 22562 */
jpayne@69 22563 if (unlikely(__pyx_v___pyx_state == Py_None)) {
jpayne@69 22564 PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
jpayne@69 22565 __PYX_ERR(1, 12, __pyx_L1_error)
jpayne@69 22566 }
jpayne@69 22567 __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
jpayne@69 22568 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22569 __pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(1, 12, __pyx_L1_error)
jpayne@69 22570 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 22571 __pyx_v___pyx_result->index = __pyx_t_2;
jpayne@69 22572 if (unlikely(__pyx_v___pyx_state == Py_None)) {
jpayne@69 22573 PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
jpayne@69 22574 __PYX_ERR(1, 12, __pyx_L1_error)
jpayne@69 22575 }
jpayne@69 22576 __pyx_t_1 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 12, __pyx_L1_error)
jpayne@69 22577 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22578 if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5pysam_16libctabixproxies_TupleProxy))))) __PYX_ERR(1, 12, __pyx_L1_error)
jpayne@69 22579 __Pyx_GIVEREF(__pyx_t_1);
jpayne@69 22580 __Pyx_GOTREF((PyObject *)__pyx_v___pyx_result->proxy);
jpayne@69 22581 __Pyx_DECREF((PyObject *)__pyx_v___pyx_result->proxy);
jpayne@69 22582 __pyx_v___pyx_result->proxy = ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)__pyx_t_1);
jpayne@69 22583 __pyx_t_1 = 0;
jpayne@69 22584
jpayne@69 22585 /* "(tree fragment)":13
jpayne@69 22586 * cdef __pyx_unpickle_TupleProxyIterator__set_state(TupleProxyIterator __pyx_result, tuple __pyx_state):
jpayne@69 22587 * __pyx_result.index = __pyx_state[0]; __pyx_result.proxy = __pyx_state[1]
jpayne@69 22588 * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<<
jpayne@69 22589 * __pyx_result.__dict__.update(__pyx_state[2])
jpayne@69 22590 */
jpayne@69 22591 if (unlikely(__pyx_v___pyx_state == Py_None)) {
jpayne@69 22592 PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
jpayne@69 22593 __PYX_ERR(1, 13, __pyx_L1_error)
jpayne@69 22594 }
jpayne@69 22595 __pyx_t_4 = __Pyx_PyTuple_GET_SIZE(__pyx_v___pyx_state); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
jpayne@69 22596 __pyx_t_5 = (__pyx_t_4 > 2);
jpayne@69 22597 if (__pyx_t_5) {
jpayne@69 22598 } else {
jpayne@69 22599 __pyx_t_3 = __pyx_t_5;
jpayne@69 22600 goto __pyx_L4_bool_binop_done;
jpayne@69 22601 }
jpayne@69 22602 __pyx_t_5 = __Pyx_HasAttr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(__pyx_t_5 == ((int)-1))) __PYX_ERR(1, 13, __pyx_L1_error)
jpayne@69 22603 __pyx_t_3 = __pyx_t_5;
jpayne@69 22604 __pyx_L4_bool_binop_done:;
jpayne@69 22605 if (__pyx_t_3) {
jpayne@69 22606
jpayne@69 22607 /* "(tree fragment)":14
jpayne@69 22608 * __pyx_result.index = __pyx_state[0]; __pyx_result.proxy = __pyx_state[1]
jpayne@69 22609 * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'):
jpayne@69 22610 * __pyx_result.__dict__.update(__pyx_state[2]) # <<<<<<<<<<<<<<
jpayne@69 22611 */
jpayne@69 22612 __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v___pyx_result), __pyx_n_s_dict); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error)
jpayne@69 22613 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 22614 __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_update); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
jpayne@69 22615 __Pyx_GOTREF(__pyx_t_7);
jpayne@69 22616 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 22617 if (unlikely(__pyx_v___pyx_state == Py_None)) {
jpayne@69 22618 PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
jpayne@69 22619 __PYX_ERR(1, 14, __pyx_L1_error)
jpayne@69 22620 }
jpayne@69 22621 __pyx_t_6 = __Pyx_GetItemInt_Tuple(__pyx_v___pyx_state, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 14, __pyx_L1_error)
jpayne@69 22622 __Pyx_GOTREF(__pyx_t_6);
jpayne@69 22623 __pyx_t_8 = NULL;
jpayne@69 22624 __pyx_t_9 = 0;
jpayne@69 22625 #if CYTHON_UNPACK_METHODS
jpayne@69 22626 if (likely(PyMethod_Check(__pyx_t_7))) {
jpayne@69 22627 __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
jpayne@69 22628 if (likely(__pyx_t_8)) {
jpayne@69 22629 PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
jpayne@69 22630 __Pyx_INCREF(__pyx_t_8);
jpayne@69 22631 __Pyx_INCREF(function);
jpayne@69 22632 __Pyx_DECREF_SET(__pyx_t_7, function);
jpayne@69 22633 __pyx_t_9 = 1;
jpayne@69 22634 }
jpayne@69 22635 }
jpayne@69 22636 #endif
jpayne@69 22637 {
jpayne@69 22638 PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_6};
jpayne@69 22639 __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_7, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9);
jpayne@69 22640 __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
jpayne@69 22641 __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
jpayne@69 22642 if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 14, __pyx_L1_error)
jpayne@69 22643 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 22644 __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
jpayne@69 22645 }
jpayne@69 22646 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 22647
jpayne@69 22648 /* "(tree fragment)":13
jpayne@69 22649 * cdef __pyx_unpickle_TupleProxyIterator__set_state(TupleProxyIterator __pyx_result, tuple __pyx_state):
jpayne@69 22650 * __pyx_result.index = __pyx_state[0]; __pyx_result.proxy = __pyx_state[1]
jpayne@69 22651 * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'): # <<<<<<<<<<<<<<
jpayne@69 22652 * __pyx_result.__dict__.update(__pyx_state[2])
jpayne@69 22653 */
jpayne@69 22654 }
jpayne@69 22655
jpayne@69 22656 /* "(tree fragment)":11
jpayne@69 22657 * __pyx_unpickle_TupleProxyIterator__set_state(<TupleProxyIterator> __pyx_result, __pyx_state)
jpayne@69 22658 * return __pyx_result
jpayne@69 22659 * cdef __pyx_unpickle_TupleProxyIterator__set_state(TupleProxyIterator __pyx_result, tuple __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 22660 * __pyx_result.index = __pyx_state[0]; __pyx_result.proxy = __pyx_state[1]
jpayne@69 22661 * if len(__pyx_state) > 2 and hasattr(__pyx_result, '__dict__'):
jpayne@69 22662 */
jpayne@69 22663
jpayne@69 22664 /* function exit code */
jpayne@69 22665 __pyx_r = Py_None; __Pyx_INCREF(Py_None);
jpayne@69 22666 goto __pyx_L0;
jpayne@69 22667 __pyx_L1_error:;
jpayne@69 22668 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 22669 __Pyx_XDECREF(__pyx_t_6);
jpayne@69 22670 __Pyx_XDECREF(__pyx_t_7);
jpayne@69 22671 __Pyx_XDECREF(__pyx_t_8);
jpayne@69 22672 __Pyx_AddTraceback("pysam.libctabixproxies.__pyx_unpickle_TupleProxyIterator__set_state", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 22673 __pyx_r = 0;
jpayne@69 22674 __pyx_L0:;
jpayne@69 22675 __Pyx_XGIVEREF(__pyx_r);
jpayne@69 22676 __Pyx_RefNannyFinishContext();
jpayne@69 22677 return __pyx_r;
jpayne@69 22678 }
jpayne@69 22679 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy __pyx_vtable_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 22680
jpayne@69 22681 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_TupleProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
jpayne@69 22682 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *p;
jpayne@69 22683 PyObject *o;
jpayne@69 22684 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 22685 allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
jpayne@69 22686 o = alloc_func(t, 0);
jpayne@69 22687 #else
jpayne@69 22688 if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
jpayne@69 22689 o = (*t->tp_alloc)(t, 0);
jpayne@69 22690 } else {
jpayne@69 22691 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
jpayne@69 22692 }
jpayne@69 22693 if (unlikely(!o)) return 0;
jpayne@69 22694 #endif
jpayne@69 22695 p = ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)o);
jpayne@69 22696 p->__pyx_vtab = __pyx_vtabptr_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 22697 p->encoding = Py_None; Py_INCREF(Py_None);
jpayne@69 22698 if (unlikely(__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_1__cinit__(o, a, k) < 0)) goto bad;
jpayne@69 22699 return o;
jpayne@69 22700 bad:
jpayne@69 22701 Py_DECREF(o); o = 0;
jpayne@69 22702 return NULL;
jpayne@69 22703 }
jpayne@69 22704
jpayne@69 22705 static void __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxy(PyObject *o) {
jpayne@69 22706 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *p = (struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)o;
jpayne@69 22707 #if CYTHON_USE_TP_FINALIZE
jpayne@69 22708 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
jpayne@69 22709 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxy) {
jpayne@69 22710 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 22711 }
jpayne@69 22712 }
jpayne@69 22713 #endif
jpayne@69 22714 PyObject_GC_UnTrack(o);
jpayne@69 22715 {
jpayne@69 22716 PyObject *etype, *eval, *etb;
jpayne@69 22717 PyErr_Fetch(&etype, &eval, &etb);
jpayne@69 22718 __Pyx_SET_REFCNT(o, Py_REFCNT(o) + 1);
jpayne@69 22719 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_3__dealloc__(o);
jpayne@69 22720 __Pyx_SET_REFCNT(o, Py_REFCNT(o) - 1);
jpayne@69 22721 PyErr_Restore(etype, eval, etb);
jpayne@69 22722 }
jpayne@69 22723 Py_CLEAR(p->encoding);
jpayne@69 22724 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 22725 (*Py_TYPE(o)->tp_free)(o);
jpayne@69 22726 #else
jpayne@69 22727 {
jpayne@69 22728 freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
jpayne@69 22729 if (tp_free) tp_free(o);
jpayne@69 22730 }
jpayne@69 22731 #endif
jpayne@69 22732 }
jpayne@69 22733
jpayne@69 22734 static int __pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy(PyObject *o, visitproc v, void *a) {
jpayne@69 22735 int e;
jpayne@69 22736 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *p = (struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)o;
jpayne@69 22737 if (p->encoding) {
jpayne@69 22738 e = (*v)(p->encoding, a); if (e) return e;
jpayne@69 22739 }
jpayne@69 22740 return 0;
jpayne@69 22741 }
jpayne@69 22742
jpayne@69 22743 static int __pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy(PyObject *o) {
jpayne@69 22744 PyObject* tmp;
jpayne@69 22745 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *p = (struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)o;
jpayne@69 22746 tmp = ((PyObject*)p->encoding);
jpayne@69 22747 p->encoding = Py_None; Py_INCREF(Py_None);
jpayne@69 22748 Py_XDECREF(tmp);
jpayne@69 22749 return 0;
jpayne@69 22750 }
jpayne@69 22751 static PyObject *__pyx_sq_item_5pysam_16libctabixproxies_TupleProxy(PyObject *o, Py_ssize_t i) {
jpayne@69 22752 PyObject *r;
jpayne@69 22753 PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
jpayne@69 22754 r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
jpayne@69 22755 Py_DECREF(x);
jpayne@69 22756 return r;
jpayne@69 22757 }
jpayne@69 22758
jpayne@69 22759 static int __pyx_mp_ass_subscript_5pysam_16libctabixproxies_TupleProxy(PyObject *o, PyObject *i, PyObject *v) {
jpayne@69 22760 if (v) {
jpayne@69 22761 return __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_21__setitem__(o, i, v);
jpayne@69 22762 }
jpayne@69 22763 else {
jpayne@69 22764 __Pyx_TypeName o_type_name;
jpayne@69 22765 o_type_name = __Pyx_PyType_GetName(Py_TYPE(o));
jpayne@69 22766 PyErr_Format(PyExc_NotImplementedError,
jpayne@69 22767 "Subscript deletion not supported by " __Pyx_FMT_TYPENAME, o_type_name);
jpayne@69 22768 __Pyx_DECREF_TypeName(o_type_name);
jpayne@69 22769 return -1;
jpayne@69 22770 }
jpayne@69 22771 }
jpayne@69 22772
jpayne@69 22773 static PyMethodDef __pyx_methods_5pysam_16libctabixproxies_TupleProxy[] = {
jpayne@69 22774 {"__copy__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_5__copy__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 22775 {"compare", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_7compare, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_6compare},
jpayne@69 22776 {"_getindex", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_15_getindex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_14_getindex},
jpayne@69 22777 {"_setindex", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_19_setindex, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_18_setindex},
jpayne@69 22778 {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_29__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 22779 {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_31__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 22780 {0, 0, 0, 0}
jpayne@69 22781 };
jpayne@69 22782 #if CYTHON_USE_TYPE_SPECS
jpayne@69 22783 static PyType_Slot __pyx_type_5pysam_16libctabixproxies_TupleProxy_slots[] = {
jpayne@69 22784 {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 22785 {Py_sq_length, (void *)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_23__len__},
jpayne@69 22786 {Py_sq_item, (void *)__pyx_sq_item_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 22787 {Py_mp_length, (void *)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_23__len__},
jpayne@69 22788 {Py_mp_subscript, (void *)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_17__getitem__},
jpayne@69 22789 {Py_mp_ass_subscript, (void *)__pyx_mp_ass_subscript_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 22790 {Py_tp_str, (void *)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_27__str__},
jpayne@69 22791 {Py_tp_doc, (void *)PyDoc_STR("Proxy class for access to parsed row as a tuple.\n\n This class represents a table row for fast read-access.\n\n Access to individual fields is via the [] operator.\n \n Only read-only access is implemented.\n\n ")},
jpayne@69 22792 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 22793 {Py_tp_clear, (void *)__pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 22794 {Py_tp_richcompare, (void *)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_9__richcmp__},
jpayne@69 22795 {Py_tp_iter, (void *)__pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__},
jpayne@69 22796 {Py_tp_methods, (void *)__pyx_methods_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 22797 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 22798 {0, 0},
jpayne@69 22799 };
jpayne@69 22800 static PyType_Spec __pyx_type_5pysam_16libctabixproxies_TupleProxy_spec = {
jpayne@69 22801 "pysam.libctabixproxies.TupleProxy",
jpayne@69 22802 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy),
jpayne@69 22803 0,
jpayne@69 22804 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
jpayne@69 22805 __pyx_type_5pysam_16libctabixproxies_TupleProxy_slots,
jpayne@69 22806 };
jpayne@69 22807 #else
jpayne@69 22808
jpayne@69 22809 static PySequenceMethods __pyx_tp_as_sequence_TupleProxy = {
jpayne@69 22810 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_23__len__, /*sq_length*/
jpayne@69 22811 0, /*sq_concat*/
jpayne@69 22812 0, /*sq_repeat*/
jpayne@69 22813 __pyx_sq_item_5pysam_16libctabixproxies_TupleProxy, /*sq_item*/
jpayne@69 22814 0, /*sq_slice*/
jpayne@69 22815 0, /*sq_ass_item*/
jpayne@69 22816 0, /*sq_ass_slice*/
jpayne@69 22817 0, /*sq_contains*/
jpayne@69 22818 0, /*sq_inplace_concat*/
jpayne@69 22819 0, /*sq_inplace_repeat*/
jpayne@69 22820 };
jpayne@69 22821
jpayne@69 22822 static PyMappingMethods __pyx_tp_as_mapping_TupleProxy = {
jpayne@69 22823 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_23__len__, /*mp_length*/
jpayne@69 22824 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_17__getitem__, /*mp_subscript*/
jpayne@69 22825 __pyx_mp_ass_subscript_5pysam_16libctabixproxies_TupleProxy, /*mp_ass_subscript*/
jpayne@69 22826 };
jpayne@69 22827
jpayne@69 22828 static PyTypeObject __pyx_type_5pysam_16libctabixproxies_TupleProxy = {
jpayne@69 22829 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 22830 "pysam.libctabixproxies.""TupleProxy", /*tp_name*/
jpayne@69 22831 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy), /*tp_basicsize*/
jpayne@69 22832 0, /*tp_itemsize*/
jpayne@69 22833 __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxy, /*tp_dealloc*/
jpayne@69 22834 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 22835 0, /*tp_print*/
jpayne@69 22836 #endif
jpayne@69 22837 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 22838 0, /*tp_vectorcall_offset*/
jpayne@69 22839 #endif
jpayne@69 22840 0, /*tp_getattr*/
jpayne@69 22841 0, /*tp_setattr*/
jpayne@69 22842 #if PY_MAJOR_VERSION < 3
jpayne@69 22843 0, /*tp_compare*/
jpayne@69 22844 #endif
jpayne@69 22845 #if PY_MAJOR_VERSION >= 3
jpayne@69 22846 0, /*tp_as_async*/
jpayne@69 22847 #endif
jpayne@69 22848 0, /*tp_repr*/
jpayne@69 22849 0, /*tp_as_number*/
jpayne@69 22850 &__pyx_tp_as_sequence_TupleProxy, /*tp_as_sequence*/
jpayne@69 22851 &__pyx_tp_as_mapping_TupleProxy, /*tp_as_mapping*/
jpayne@69 22852 0, /*tp_hash*/
jpayne@69 22853 0, /*tp_call*/
jpayne@69 22854 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_27__str__, /*tp_str*/
jpayne@69 22855 0, /*tp_getattro*/
jpayne@69 22856 0, /*tp_setattro*/
jpayne@69 22857 0, /*tp_as_buffer*/
jpayne@69 22858 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
jpayne@69 22859 PyDoc_STR("Proxy class for access to parsed row as a tuple.\n\n This class represents a table row for fast read-access.\n\n Access to individual fields is via the [] operator.\n \n Only read-only access is implemented.\n\n "), /*tp_doc*/
jpayne@69 22860 __pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy, /*tp_traverse*/
jpayne@69 22861 __pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy, /*tp_clear*/
jpayne@69 22862 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_9__richcmp__, /*tp_richcompare*/
jpayne@69 22863 0, /*tp_weaklistoffset*/
jpayne@69 22864 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__, /*tp_iter*/
jpayne@69 22865 0, /*tp_iternext*/
jpayne@69 22866 __pyx_methods_5pysam_16libctabixproxies_TupleProxy, /*tp_methods*/
jpayne@69 22867 0, /*tp_members*/
jpayne@69 22868 0, /*tp_getset*/
jpayne@69 22869 0, /*tp_base*/
jpayne@69 22870 0, /*tp_dict*/
jpayne@69 22871 0, /*tp_descr_get*/
jpayne@69 22872 0, /*tp_descr_set*/
jpayne@69 22873 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 22874 0, /*tp_dictoffset*/
jpayne@69 22875 #endif
jpayne@69 22876 0, /*tp_init*/
jpayne@69 22877 0, /*tp_alloc*/
jpayne@69 22878 __pyx_tp_new_5pysam_16libctabixproxies_TupleProxy, /*tp_new*/
jpayne@69 22879 0, /*tp_free*/
jpayne@69 22880 0, /*tp_is_gc*/
jpayne@69 22881 0, /*tp_bases*/
jpayne@69 22882 0, /*tp_mro*/
jpayne@69 22883 0, /*tp_cache*/
jpayne@69 22884 0, /*tp_subclasses*/
jpayne@69 22885 0, /*tp_weaklist*/
jpayne@69 22886 0, /*tp_del*/
jpayne@69 22887 0, /*tp_version_tag*/
jpayne@69 22888 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 22889 #if CYTHON_USE_TP_FINALIZE
jpayne@69 22890 0, /*tp_finalize*/
jpayne@69 22891 #else
jpayne@69 22892 NULL, /*tp_finalize*/
jpayne@69 22893 #endif
jpayne@69 22894 #endif
jpayne@69 22895 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 22896 0, /*tp_vectorcall*/
jpayne@69 22897 #endif
jpayne@69 22898 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 22899 0, /*tp_print*/
jpayne@69 22900 #endif
jpayne@69 22901 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 22902 0, /*tp_watched*/
jpayne@69 22903 #endif
jpayne@69 22904 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 22905 0, /*tp_versions_used*/
jpayne@69 22906 #endif
jpayne@69 22907 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 22908 0, /*tp_pypy_flags*/
jpayne@69 22909 #endif
jpayne@69 22910 };
jpayne@69 22911 #endif
jpayne@69 22912
jpayne@69 22913 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_TupleProxyIterator(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
jpayne@69 22914 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *p;
jpayne@69 22915 PyObject *o;
jpayne@69 22916 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 22917 allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
jpayne@69 22918 o = alloc_func(t, 0);
jpayne@69 22919 #else
jpayne@69 22920 if (likely(!__Pyx_PyType_HasFeature(t, Py_TPFLAGS_IS_ABSTRACT))) {
jpayne@69 22921 o = (*t->tp_alloc)(t, 0);
jpayne@69 22922 } else {
jpayne@69 22923 o = (PyObject *) PyBaseObject_Type.tp_new(t, __pyx_empty_tuple, 0);
jpayne@69 22924 }
jpayne@69 22925 if (unlikely(!o)) return 0;
jpayne@69 22926 #endif
jpayne@69 22927 p = ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)o);
jpayne@69 22928 p->proxy = ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)Py_None); Py_INCREF(Py_None);
jpayne@69 22929 return o;
jpayne@69 22930 }
jpayne@69 22931
jpayne@69 22932 static void __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxyIterator(PyObject *o) {
jpayne@69 22933 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *p = (struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)o;
jpayne@69 22934 #if CYTHON_USE_TP_FINALIZE
jpayne@69 22935 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
jpayne@69 22936 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxyIterator) {
jpayne@69 22937 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 22938 }
jpayne@69 22939 }
jpayne@69 22940 #endif
jpayne@69 22941 PyObject_GC_UnTrack(o);
jpayne@69 22942 Py_CLEAR(p->proxy);
jpayne@69 22943 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 22944 (*Py_TYPE(o)->tp_free)(o);
jpayne@69 22945 #else
jpayne@69 22946 {
jpayne@69 22947 freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
jpayne@69 22948 if (tp_free) tp_free(o);
jpayne@69 22949 }
jpayne@69 22950 #endif
jpayne@69 22951 }
jpayne@69 22952
jpayne@69 22953 static int __pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxyIterator(PyObject *o, visitproc v, void *a) {
jpayne@69 22954 int e;
jpayne@69 22955 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *p = (struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)o;
jpayne@69 22956 if (p->proxy) {
jpayne@69 22957 e = (*v)(((PyObject *)p->proxy), a); if (e) return e;
jpayne@69 22958 }
jpayne@69 22959 return 0;
jpayne@69 22960 }
jpayne@69 22961
jpayne@69 22962 static int __pyx_tp_clear_5pysam_16libctabixproxies_TupleProxyIterator(PyObject *o) {
jpayne@69 22963 PyObject* tmp;
jpayne@69 22964 struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *p = (struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator *)o;
jpayne@69 22965 tmp = ((PyObject*)p->proxy);
jpayne@69 22966 p->proxy = ((struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *)Py_None); Py_INCREF(Py_None);
jpayne@69 22967 Py_XDECREF(tmp);
jpayne@69 22968 return 0;
jpayne@69 22969 }
jpayne@69 22970
jpayne@69 22971 static PyObject *__pyx_specialmethod___pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_5__next__(PyObject *self, CYTHON_UNUSED PyObject *arg) {
jpayne@69 22972 PyObject *res = __pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_5__next__(self);
jpayne@69 22973 if (!res && !PyErr_Occurred()) { PyErr_SetNone(PyExc_StopIteration); }
jpayne@69 22974 return res;
jpayne@69 22975 }
jpayne@69 22976
jpayne@69 22977 static PyMethodDef __pyx_methods_5pysam_16libctabixproxies_TupleProxyIterator[] = {
jpayne@69 22978 {"__next__", (PyCFunction)__pyx_specialmethod___pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_5__next__, METH_NOARGS|METH_COEXIST, 0},
jpayne@69 22979 {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 22980 {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 22981 {0, 0, 0, 0}
jpayne@69 22982 };
jpayne@69 22983 #if CYTHON_USE_TYPE_SPECS
jpayne@69 22984 static PyType_Slot __pyx_type_5pysam_16libctabixproxies_TupleProxyIterator_slots[] = {
jpayne@69 22985 {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxyIterator},
jpayne@69 22986 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxyIterator},
jpayne@69 22987 {Py_tp_clear, (void *)__pyx_tp_clear_5pysam_16libctabixproxies_TupleProxyIterator},
jpayne@69 22988 {Py_tp_iter, (void *)__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_3__iter__},
jpayne@69 22989 {Py_tp_iternext, (void *)__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_5__next__},
jpayne@69 22990 {Py_tp_methods, (void *)__pyx_methods_5pysam_16libctabixproxies_TupleProxyIterator},
jpayne@69 22991 {Py_tp_init, (void *)__pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_1__init__},
jpayne@69 22992 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies_TupleProxyIterator},
jpayne@69 22993 {0, 0},
jpayne@69 22994 };
jpayne@69 22995 static PyType_Spec __pyx_type_5pysam_16libctabixproxies_TupleProxyIterator_spec = {
jpayne@69 22996 "pysam.libctabixproxies.TupleProxyIterator",
jpayne@69 22997 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator),
jpayne@69 22998 0,
jpayne@69 22999 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
jpayne@69 23000 __pyx_type_5pysam_16libctabixproxies_TupleProxyIterator_slots,
jpayne@69 23001 };
jpayne@69 23002 #else
jpayne@69 23003
jpayne@69 23004 static PyTypeObject __pyx_type_5pysam_16libctabixproxies_TupleProxyIterator = {
jpayne@69 23005 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 23006 "pysam.libctabixproxies.""TupleProxyIterator", /*tp_name*/
jpayne@69 23007 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxyIterator), /*tp_basicsize*/
jpayne@69 23008 0, /*tp_itemsize*/
jpayne@69 23009 __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxyIterator, /*tp_dealloc*/
jpayne@69 23010 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 23011 0, /*tp_print*/
jpayne@69 23012 #endif
jpayne@69 23013 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 23014 0, /*tp_vectorcall_offset*/
jpayne@69 23015 #endif
jpayne@69 23016 0, /*tp_getattr*/
jpayne@69 23017 0, /*tp_setattr*/
jpayne@69 23018 #if PY_MAJOR_VERSION < 3
jpayne@69 23019 0, /*tp_compare*/
jpayne@69 23020 #endif
jpayne@69 23021 #if PY_MAJOR_VERSION >= 3
jpayne@69 23022 0, /*tp_as_async*/
jpayne@69 23023 #endif
jpayne@69 23024 0, /*tp_repr*/
jpayne@69 23025 0, /*tp_as_number*/
jpayne@69 23026 0, /*tp_as_sequence*/
jpayne@69 23027 0, /*tp_as_mapping*/
jpayne@69 23028 0, /*tp_hash*/
jpayne@69 23029 0, /*tp_call*/
jpayne@69 23030 0, /*tp_str*/
jpayne@69 23031 0, /*tp_getattro*/
jpayne@69 23032 0, /*tp_setattro*/
jpayne@69 23033 0, /*tp_as_buffer*/
jpayne@69 23034 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
jpayne@69 23035 0, /*tp_doc*/
jpayne@69 23036 __pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxyIterator, /*tp_traverse*/
jpayne@69 23037 __pyx_tp_clear_5pysam_16libctabixproxies_TupleProxyIterator, /*tp_clear*/
jpayne@69 23038 0, /*tp_richcompare*/
jpayne@69 23039 0, /*tp_weaklistoffset*/
jpayne@69 23040 __pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_3__iter__, /*tp_iter*/
jpayne@69 23041 __pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_5__next__, /*tp_iternext*/
jpayne@69 23042 __pyx_methods_5pysam_16libctabixproxies_TupleProxyIterator, /*tp_methods*/
jpayne@69 23043 0, /*tp_members*/
jpayne@69 23044 0, /*tp_getset*/
jpayne@69 23045 0, /*tp_base*/
jpayne@69 23046 0, /*tp_dict*/
jpayne@69 23047 0, /*tp_descr_get*/
jpayne@69 23048 0, /*tp_descr_set*/
jpayne@69 23049 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 23050 0, /*tp_dictoffset*/
jpayne@69 23051 #endif
jpayne@69 23052 __pyx_pw_5pysam_16libctabixproxies_18TupleProxyIterator_1__init__, /*tp_init*/
jpayne@69 23053 0, /*tp_alloc*/
jpayne@69 23054 __pyx_tp_new_5pysam_16libctabixproxies_TupleProxyIterator, /*tp_new*/
jpayne@69 23055 0, /*tp_free*/
jpayne@69 23056 0, /*tp_is_gc*/
jpayne@69 23057 0, /*tp_bases*/
jpayne@69 23058 0, /*tp_mro*/
jpayne@69 23059 0, /*tp_cache*/
jpayne@69 23060 0, /*tp_subclasses*/
jpayne@69 23061 0, /*tp_weaklist*/
jpayne@69 23062 0, /*tp_del*/
jpayne@69 23063 0, /*tp_version_tag*/
jpayne@69 23064 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 23065 #if CYTHON_USE_TP_FINALIZE
jpayne@69 23066 0, /*tp_finalize*/
jpayne@69 23067 #else
jpayne@69 23068 NULL, /*tp_finalize*/
jpayne@69 23069 #endif
jpayne@69 23070 #endif
jpayne@69 23071 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 23072 0, /*tp_vectorcall*/
jpayne@69 23073 #endif
jpayne@69 23074 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 23075 0, /*tp_print*/
jpayne@69 23076 #endif
jpayne@69 23077 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 23078 0, /*tp_watched*/
jpayne@69 23079 #endif
jpayne@69 23080 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 23081 0, /*tp_versions_used*/
jpayne@69 23082 #endif
jpayne@69 23083 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 23084 0, /*tp_pypy_flags*/
jpayne@69 23085 #endif
jpayne@69 23086 };
jpayne@69 23087 #endif
jpayne@69 23088 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_NamedTupleProxy __pyx_vtable_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 23089
jpayne@69 23090 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_NamedTupleProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
jpayne@69 23091 struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *p;
jpayne@69 23092 PyObject *o = __pyx_tp_new_5pysam_16libctabixproxies_TupleProxy(t, a, k);
jpayne@69 23093 if (unlikely(!o)) return 0;
jpayne@69 23094 p = ((struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy *)o);
jpayne@69 23095 p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy*)__pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 23096 return o;
jpayne@69 23097 }
jpayne@69 23098
jpayne@69 23099 static PyObject *__pyx_tp_getattro_5pysam_16libctabixproxies_NamedTupleProxy(PyObject *o, PyObject *n) {
jpayne@69 23100 PyObject *v = __Pyx_PyObject_GenericGetAttr(o, n);
jpayne@69 23101 if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
jpayne@69 23102 PyErr_Clear();
jpayne@69 23103 v = __pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_3__getattr__(o, n);
jpayne@69 23104 }
jpayne@69 23105 return v;
jpayne@69 23106 }
jpayne@69 23107
jpayne@69 23108 static int __pyx_tp_setattro_5pysam_16libctabixproxies_NamedTupleProxy(PyObject *o, PyObject *n, PyObject *v) {
jpayne@69 23109 if (v) {
jpayne@69 23110 return __pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_1__setattr__(o, n, v);
jpayne@69 23111 }
jpayne@69 23112 else {
jpayne@69 23113 if (__pyx_ptype_5pysam_16libctabixproxies_TupleProxy->tp_setattro)
jpayne@69 23114 return __pyx_ptype_5pysam_16libctabixproxies_TupleProxy->tp_setattro(o, n, v);
jpayne@69 23115 return PyObject_GenericSetAttr(o, n, 0);
jpayne@69 23116 }
jpayne@69 23117 }
jpayne@69 23118
jpayne@69 23119 static PyMethodDef __pyx_methods_5pysam_16libctabixproxies_NamedTupleProxy[] = {
jpayne@69 23120 {"__getattr__", (PyCFunction)__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_3__getattr__, METH_O|METH_COEXIST, 0},
jpayne@69 23121 {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_5__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23122 {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_15NamedTupleProxy_7__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23123 {0, 0, 0, 0}
jpayne@69 23124 };
jpayne@69 23125 #if CYTHON_USE_TYPE_SPECS
jpayne@69 23126 static PyType_Slot __pyx_type_5pysam_16libctabixproxies_NamedTupleProxy_slots[] = {
jpayne@69 23127 {Py_tp_getattro, (void *)__pyx_tp_getattro_5pysam_16libctabixproxies_NamedTupleProxy},
jpayne@69 23128 {Py_tp_setattro, (void *)__pyx_tp_setattro_5pysam_16libctabixproxies_NamedTupleProxy},
jpayne@69 23129 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 23130 {Py_tp_clear, (void *)__pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 23131 {Py_tp_methods, (void *)__pyx_methods_5pysam_16libctabixproxies_NamedTupleProxy},
jpayne@69 23132 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies_NamedTupleProxy},
jpayne@69 23133 {0, 0},
jpayne@69 23134 };
jpayne@69 23135 static PyType_Spec __pyx_type_5pysam_16libctabixproxies_NamedTupleProxy_spec = {
jpayne@69 23136 "pysam.libctabixproxies.NamedTupleProxy",
jpayne@69 23137 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy),
jpayne@69 23138 0,
jpayne@69 23139 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
jpayne@69 23140 __pyx_type_5pysam_16libctabixproxies_NamedTupleProxy_slots,
jpayne@69 23141 };
jpayne@69 23142 #else
jpayne@69 23143
jpayne@69 23144 static PyTypeObject __pyx_type_5pysam_16libctabixproxies_NamedTupleProxy = {
jpayne@69 23145 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 23146 "pysam.libctabixproxies.""NamedTupleProxy", /*tp_name*/
jpayne@69 23147 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_NamedTupleProxy), /*tp_basicsize*/
jpayne@69 23148 0, /*tp_itemsize*/
jpayne@69 23149 __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxy, /*tp_dealloc*/
jpayne@69 23150 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 23151 0, /*tp_print*/
jpayne@69 23152 #endif
jpayne@69 23153 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 23154 0, /*tp_vectorcall_offset*/
jpayne@69 23155 #endif
jpayne@69 23156 0, /*tp_getattr*/
jpayne@69 23157 0, /*tp_setattr*/
jpayne@69 23158 #if PY_MAJOR_VERSION < 3
jpayne@69 23159 0, /*tp_compare*/
jpayne@69 23160 #endif
jpayne@69 23161 #if PY_MAJOR_VERSION >= 3
jpayne@69 23162 0, /*tp_as_async*/
jpayne@69 23163 #endif
jpayne@69 23164 0, /*tp_repr*/
jpayne@69 23165 0, /*tp_as_number*/
jpayne@69 23166 0, /*tp_as_sequence*/
jpayne@69 23167 0, /*tp_as_mapping*/
jpayne@69 23168 0, /*tp_hash*/
jpayne@69 23169 0, /*tp_call*/
jpayne@69 23170 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23171 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_27__str__, /*tp_str*/
jpayne@69 23172 #else
jpayne@69 23173 0, /*tp_str*/
jpayne@69 23174 #endif
jpayne@69 23175 __pyx_tp_getattro_5pysam_16libctabixproxies_NamedTupleProxy, /*tp_getattro*/
jpayne@69 23176 __pyx_tp_setattro_5pysam_16libctabixproxies_NamedTupleProxy, /*tp_setattro*/
jpayne@69 23177 0, /*tp_as_buffer*/
jpayne@69 23178 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
jpayne@69 23179 0, /*tp_doc*/
jpayne@69 23180 __pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy, /*tp_traverse*/
jpayne@69 23181 __pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy, /*tp_clear*/
jpayne@69 23182 0, /*tp_richcompare*/
jpayne@69 23183 0, /*tp_weaklistoffset*/
jpayne@69 23184 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23185 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__, /*tp_iter*/
jpayne@69 23186 #else
jpayne@69 23187 0, /*tp_iter*/
jpayne@69 23188 #endif
jpayne@69 23189 0, /*tp_iternext*/
jpayne@69 23190 __pyx_methods_5pysam_16libctabixproxies_NamedTupleProxy, /*tp_methods*/
jpayne@69 23191 0, /*tp_members*/
jpayne@69 23192 0, /*tp_getset*/
jpayne@69 23193 0, /*tp_base*/
jpayne@69 23194 0, /*tp_dict*/
jpayne@69 23195 0, /*tp_descr_get*/
jpayne@69 23196 0, /*tp_descr_set*/
jpayne@69 23197 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 23198 0, /*tp_dictoffset*/
jpayne@69 23199 #endif
jpayne@69 23200 0, /*tp_init*/
jpayne@69 23201 0, /*tp_alloc*/
jpayne@69 23202 __pyx_tp_new_5pysam_16libctabixproxies_NamedTupleProxy, /*tp_new*/
jpayne@69 23203 0, /*tp_free*/
jpayne@69 23204 0, /*tp_is_gc*/
jpayne@69 23205 0, /*tp_bases*/
jpayne@69 23206 0, /*tp_mro*/
jpayne@69 23207 0, /*tp_cache*/
jpayne@69 23208 0, /*tp_subclasses*/
jpayne@69 23209 0, /*tp_weaklist*/
jpayne@69 23210 0, /*tp_del*/
jpayne@69 23211 0, /*tp_version_tag*/
jpayne@69 23212 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 23213 #if CYTHON_USE_TP_FINALIZE
jpayne@69 23214 0, /*tp_finalize*/
jpayne@69 23215 #else
jpayne@69 23216 NULL, /*tp_finalize*/
jpayne@69 23217 #endif
jpayne@69 23218 #endif
jpayne@69 23219 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 23220 0, /*tp_vectorcall*/
jpayne@69 23221 #endif
jpayne@69 23222 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 23223 0, /*tp_print*/
jpayne@69 23224 #endif
jpayne@69 23225 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 23226 0, /*tp_watched*/
jpayne@69 23227 #endif
jpayne@69 23228 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 23229 0, /*tp_versions_used*/
jpayne@69 23230 #endif
jpayne@69 23231 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 23232 0, /*tp_pypy_flags*/
jpayne@69 23233 #endif
jpayne@69 23234 };
jpayne@69 23235 #endif
jpayne@69 23236 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_GTFProxy __pyx_vtable_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 23237
jpayne@69 23238 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_GTFProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
jpayne@69 23239 struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *p;
jpayne@69 23240 PyObject *o = __pyx_tp_new_5pysam_16libctabixproxies_NamedTupleProxy(t, a, k);
jpayne@69 23241 if (unlikely(!o)) return 0;
jpayne@69 23242 p = ((struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)o);
jpayne@69 23243 p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy*)__pyx_vtabptr_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 23244 p->attribute_dict = Py_None; Py_INCREF(Py_None);
jpayne@69 23245 if (unlikely(__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
jpayne@69 23246 return o;
jpayne@69 23247 bad:
jpayne@69 23248 Py_DECREF(o); o = 0;
jpayne@69 23249 return NULL;
jpayne@69 23250 }
jpayne@69 23251
jpayne@69 23252 static void __pyx_tp_dealloc_5pysam_16libctabixproxies_GTFProxy(PyObject *o) {
jpayne@69 23253 struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *p = (struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)o;
jpayne@69 23254 #if CYTHON_USE_TP_FINALIZE
jpayne@69 23255 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
jpayne@69 23256 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5pysam_16libctabixproxies_GTFProxy) {
jpayne@69 23257 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 23258 }
jpayne@69 23259 }
jpayne@69 23260 #endif
jpayne@69 23261 PyObject_GC_UnTrack(o);
jpayne@69 23262 Py_CLEAR(p->attribute_dict);
jpayne@69 23263 PyObject_GC_Track(o);
jpayne@69 23264 __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxy(o);
jpayne@69 23265 }
jpayne@69 23266
jpayne@69 23267 static int __pyx_tp_traverse_5pysam_16libctabixproxies_GTFProxy(PyObject *o, visitproc v, void *a) {
jpayne@69 23268 int e;
jpayne@69 23269 struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *p = (struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)o;
jpayne@69 23270 e = __pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy(o, v, a); if (e) return e;
jpayne@69 23271 if (p->attribute_dict) {
jpayne@69 23272 e = (*v)(p->attribute_dict, a); if (e) return e;
jpayne@69 23273 }
jpayne@69 23274 return 0;
jpayne@69 23275 }
jpayne@69 23276
jpayne@69 23277 static int __pyx_tp_clear_5pysam_16libctabixproxies_GTFProxy(PyObject *o) {
jpayne@69 23278 PyObject* tmp;
jpayne@69 23279 struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *p = (struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy *)o;
jpayne@69 23280 __pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy(o);
jpayne@69 23281 tmp = ((PyObject*)p->attribute_dict);
jpayne@69 23282 p->attribute_dict = Py_None; Py_INCREF(Py_None);
jpayne@69 23283 Py_XDECREF(tmp);
jpayne@69 23284 return 0;
jpayne@69 23285 }
jpayne@69 23286 static PyObject *__pyx_sq_item_5pysam_16libctabixproxies_GTFProxy(PyObject *o, Py_ssize_t i) {
jpayne@69 23287 PyObject *r;
jpayne@69 23288 PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
jpayne@69 23289 r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
jpayne@69 23290 Py_DECREF(x);
jpayne@69 23291 return r;
jpayne@69 23292 }
jpayne@69 23293
jpayne@69 23294 static PyObject *__pyx_tp_getattro_5pysam_16libctabixproxies_GTFProxy(PyObject *o, PyObject *n) {
jpayne@69 23295 PyObject *v = __Pyx_PyObject_GenericGetAttr(o, n);
jpayne@69 23296 if (!v && PyErr_ExceptionMatches(PyExc_AttributeError)) {
jpayne@69 23297 PyErr_Clear();
jpayne@69 23298 v = __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_34__getattr__(o, n);
jpayne@69 23299 }
jpayne@69 23300 return v;
jpayne@69 23301 }
jpayne@69 23302
jpayne@69 23303 static int __pyx_tp_setattro_5pysam_16libctabixproxies_GTFProxy(PyObject *o, PyObject *n, PyObject *v) {
jpayne@69 23304 if (v) {
jpayne@69 23305 return __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_36__setattr__(o, n, v);
jpayne@69 23306 }
jpayne@69 23307 else {
jpayne@69 23308 if (__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy->tp_setattro)
jpayne@69 23309 return __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy->tp_setattro(o, n, v);
jpayne@69 23310 return PyObject_GenericSetAttr(o, n, 0);
jpayne@69 23311 }
jpayne@69 23312 }
jpayne@69 23313
jpayne@69 23314 static PyMethodDef __pyx_methods_5pysam_16libctabixproxies_GTFProxy[] = {
jpayne@69 23315 {"to_dict", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_7to_dict, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_6to_dict},
jpayne@69 23316 {"as_dict", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_9as_dict, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_8as_dict},
jpayne@69 23317 {"from_dict", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_11from_dict, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_10from_dict},
jpayne@69 23318 {"invert", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_15invert, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_14invert},
jpayne@69 23319 {"keys", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_17keys, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_16keys},
jpayne@69 23320 {"setAttribute", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_21setAttribute, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_20setAttribute},
jpayne@69 23321 {"attribute_string2dict", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_23attribute_string2dict, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23322 {"dict2attribute_string", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_29dict2attribute_string, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_28dict2attribute_string},
jpayne@69 23323 {"attribute_string2iterator", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_31attribute_string2iterator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_30attribute_string2iterator},
jpayne@69 23324 {"__getattr__", (PyCFunction)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_34__getattr__, METH_O|METH_COEXIST, __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_33__getattr__},
jpayne@69 23325 {"asDict", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_38asDict, METH_VARARGS|METH_KEYWORDS, 0},
jpayne@69 23326 {"fromDict", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_40fromDict, METH_VARARGS|METH_KEYWORDS, 0},
jpayne@69 23327 {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_42__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23328 {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_44__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23329 {0, 0, 0, 0}
jpayne@69 23330 };
jpayne@69 23331 #if CYTHON_USE_TYPE_SPECS
jpayne@69 23332 static PyType_Slot __pyx_type_5pysam_16libctabixproxies_GTFProxy_slots[] = {
jpayne@69 23333 {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23334 #if PY_MAJOR_VERSION < 3
jpayne@69 23335 {Py_tp_compare, (void *)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_25__cmp__},
jpayne@69 23336 #endif
jpayne@69 23337 {Py_sq_item, (void *)__pyx_sq_item_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23338 {Py_mp_subscript, (void *)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_19__getitem__},
jpayne@69 23339 {Py_tp_str, (void *)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_13__str__},
jpayne@69 23340 {Py_tp_getattro, (void *)__pyx_tp_getattro_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23341 {Py_tp_setattro, (void *)__pyx_tp_setattro_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23342 {Py_tp_doc, (void *)PyDoc_STR("Proxy class for access to GTF fields.\n\n This class represents a GTF entry for fast read-access.\n Write-access has been added as well, though some care must\n be taken. If any of the string fields (contig, source, ...)\n are set, the new value is tied to the lifetime of the\n argument that was supplied.\n\n The only exception is the attributes field when set from\n a dictionary - this field will manage its own memory.\n\n ")},
jpayne@69 23343 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23344 {Py_tp_clear, (void *)__pyx_tp_clear_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23345 {Py_tp_richcompare, (void *)__pyx_pw_5pysam_16libctabixproxies_8GTFProxy_27__richcmp__},
jpayne@69 23346 {Py_tp_methods, (void *)__pyx_methods_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23347 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23348 {0, 0},
jpayne@69 23349 };
jpayne@69 23350 static PyType_Spec __pyx_type_5pysam_16libctabixproxies_GTFProxy_spec = {
jpayne@69 23351 "pysam.libctabixproxies.GTFProxy",
jpayne@69 23352 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy),
jpayne@69 23353 0,
jpayne@69 23354 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
jpayne@69 23355 __pyx_type_5pysam_16libctabixproxies_GTFProxy_slots,
jpayne@69 23356 };
jpayne@69 23357 #else
jpayne@69 23358
jpayne@69 23359 static PySequenceMethods __pyx_tp_as_sequence_GTFProxy = {
jpayne@69 23360 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23361 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_23__len__, /*sq_length*/
jpayne@69 23362 #else
jpayne@69 23363 0, /*sq_length*/
jpayne@69 23364 #endif
jpayne@69 23365 0, /*sq_concat*/
jpayne@69 23366 0, /*sq_repeat*/
jpayne@69 23367 __pyx_sq_item_5pysam_16libctabixproxies_GTFProxy, /*sq_item*/
jpayne@69 23368 0, /*sq_slice*/
jpayne@69 23369 0, /*sq_ass_item*/
jpayne@69 23370 0, /*sq_ass_slice*/
jpayne@69 23371 0, /*sq_contains*/
jpayne@69 23372 0, /*sq_inplace_concat*/
jpayne@69 23373 0, /*sq_inplace_repeat*/
jpayne@69 23374 };
jpayne@69 23375
jpayne@69 23376 static PyMappingMethods __pyx_tp_as_mapping_GTFProxy = {
jpayne@69 23377 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23378 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_23__len__, /*mp_length*/
jpayne@69 23379 #else
jpayne@69 23380 0, /*mp_length*/
jpayne@69 23381 #endif
jpayne@69 23382 __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_19__getitem__, /*mp_subscript*/
jpayne@69 23383 0, /*mp_ass_subscript*/
jpayne@69 23384 };
jpayne@69 23385
jpayne@69 23386 static PyTypeObject __pyx_type_5pysam_16libctabixproxies_GTFProxy = {
jpayne@69 23387 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 23388 "pysam.libctabixproxies.""GTFProxy", /*tp_name*/
jpayne@69 23389 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_GTFProxy), /*tp_basicsize*/
jpayne@69 23390 0, /*tp_itemsize*/
jpayne@69 23391 __pyx_tp_dealloc_5pysam_16libctabixproxies_GTFProxy, /*tp_dealloc*/
jpayne@69 23392 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 23393 0, /*tp_print*/
jpayne@69 23394 #endif
jpayne@69 23395 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 23396 0, /*tp_vectorcall_offset*/
jpayne@69 23397 #endif
jpayne@69 23398 0, /*tp_getattr*/
jpayne@69 23399 0, /*tp_setattr*/
jpayne@69 23400 #if PY_MAJOR_VERSION < 3
jpayne@69 23401 __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_25__cmp__, /*tp_compare*/
jpayne@69 23402 #endif
jpayne@69 23403 #if PY_MAJOR_VERSION >= 3
jpayne@69 23404 0, /*tp_as_async*/
jpayne@69 23405 #endif
jpayne@69 23406 0, /*tp_repr*/
jpayne@69 23407 0, /*tp_as_number*/
jpayne@69 23408 &__pyx_tp_as_sequence_GTFProxy, /*tp_as_sequence*/
jpayne@69 23409 &__pyx_tp_as_mapping_GTFProxy, /*tp_as_mapping*/
jpayne@69 23410 0, /*tp_hash*/
jpayne@69 23411 0, /*tp_call*/
jpayne@69 23412 __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_13__str__, /*tp_str*/
jpayne@69 23413 __pyx_tp_getattro_5pysam_16libctabixproxies_GTFProxy, /*tp_getattro*/
jpayne@69 23414 __pyx_tp_setattro_5pysam_16libctabixproxies_GTFProxy, /*tp_setattro*/
jpayne@69 23415 0, /*tp_as_buffer*/
jpayne@69 23416 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
jpayne@69 23417 PyDoc_STR("Proxy class for access to GTF fields.\n\n This class represents a GTF entry for fast read-access.\n Write-access has been added as well, though some care must\n be taken. If any of the string fields (contig, source, ...)\n are set, the new value is tied to the lifetime of the\n argument that was supplied.\n\n The only exception is the attributes field when set from\n a dictionary - this field will manage its own memory.\n\n "), /*tp_doc*/
jpayne@69 23418 __pyx_tp_traverse_5pysam_16libctabixproxies_GTFProxy, /*tp_traverse*/
jpayne@69 23419 __pyx_tp_clear_5pysam_16libctabixproxies_GTFProxy, /*tp_clear*/
jpayne@69 23420 __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_27__richcmp__, /*tp_richcompare*/
jpayne@69 23421 0, /*tp_weaklistoffset*/
jpayne@69 23422 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23423 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__, /*tp_iter*/
jpayne@69 23424 #else
jpayne@69 23425 0, /*tp_iter*/
jpayne@69 23426 #endif
jpayne@69 23427 0, /*tp_iternext*/
jpayne@69 23428 __pyx_methods_5pysam_16libctabixproxies_GTFProxy, /*tp_methods*/
jpayne@69 23429 0, /*tp_members*/
jpayne@69 23430 0, /*tp_getset*/
jpayne@69 23431 0, /*tp_base*/
jpayne@69 23432 0, /*tp_dict*/
jpayne@69 23433 0, /*tp_descr_get*/
jpayne@69 23434 0, /*tp_descr_set*/
jpayne@69 23435 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 23436 0, /*tp_dictoffset*/
jpayne@69 23437 #endif
jpayne@69 23438 0, /*tp_init*/
jpayne@69 23439 0, /*tp_alloc*/
jpayne@69 23440 __pyx_tp_new_5pysam_16libctabixproxies_GTFProxy, /*tp_new*/
jpayne@69 23441 0, /*tp_free*/
jpayne@69 23442 0, /*tp_is_gc*/
jpayne@69 23443 0, /*tp_bases*/
jpayne@69 23444 0, /*tp_mro*/
jpayne@69 23445 0, /*tp_cache*/
jpayne@69 23446 0, /*tp_subclasses*/
jpayne@69 23447 0, /*tp_weaklist*/
jpayne@69 23448 0, /*tp_del*/
jpayne@69 23449 0, /*tp_version_tag*/
jpayne@69 23450 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 23451 #if CYTHON_USE_TP_FINALIZE
jpayne@69 23452 0, /*tp_finalize*/
jpayne@69 23453 #else
jpayne@69 23454 NULL, /*tp_finalize*/
jpayne@69 23455 #endif
jpayne@69 23456 #endif
jpayne@69 23457 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 23458 0, /*tp_vectorcall*/
jpayne@69 23459 #endif
jpayne@69 23460 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 23461 0, /*tp_print*/
jpayne@69 23462 #endif
jpayne@69 23463 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 23464 0, /*tp_watched*/
jpayne@69 23465 #endif
jpayne@69 23466 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 23467 0, /*tp_versions_used*/
jpayne@69 23468 #endif
jpayne@69 23469 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 23470 0, /*tp_pypy_flags*/
jpayne@69 23471 #endif
jpayne@69 23472 };
jpayne@69 23473 #endif
jpayne@69 23474 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_GFF3Proxy __pyx_vtable_5pysam_16libctabixproxies_GFF3Proxy;
jpayne@69 23475
jpayne@69 23476 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_GFF3Proxy(PyTypeObject *t, PyObject *a, PyObject *k) {
jpayne@69 23477 struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *p;
jpayne@69 23478 PyObject *o = __pyx_tp_new_5pysam_16libctabixproxies_GTFProxy(t, a, k);
jpayne@69 23479 if (unlikely(!o)) return 0;
jpayne@69 23480 p = ((struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy *)o);
jpayne@69 23481 p->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy*)__pyx_vtabptr_5pysam_16libctabixproxies_GFF3Proxy;
jpayne@69 23482 return o;
jpayne@69 23483 }
jpayne@69 23484
jpayne@69 23485 static PyMethodDef __pyx_methods_5pysam_16libctabixproxies_GFF3Proxy[] = {
jpayne@69 23486 {"dict2attribute_string", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_1dict2attribute_string, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_9GFF3Proxy_dict2attribute_string},
jpayne@69 23487 {"attribute_string2iterator", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_3attribute_string2iterator, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_5pysam_16libctabixproxies_9GFF3Proxy_2attribute_string2iterator},
jpayne@69 23488 {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_6__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23489 {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_9GFF3Proxy_8__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23490 {0, 0, 0, 0}
jpayne@69 23491 };
jpayne@69 23492 #if CYTHON_USE_TYPE_SPECS
jpayne@69 23493 static PyType_Slot __pyx_type_5pysam_16libctabixproxies_GFF3Proxy_slots[] = {
jpayne@69 23494 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23495 {Py_tp_clear, (void *)__pyx_tp_clear_5pysam_16libctabixproxies_GTFProxy},
jpayne@69 23496 {Py_tp_methods, (void *)__pyx_methods_5pysam_16libctabixproxies_GFF3Proxy},
jpayne@69 23497 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies_GFF3Proxy},
jpayne@69 23498 {0, 0},
jpayne@69 23499 };
jpayne@69 23500 static PyType_Spec __pyx_type_5pysam_16libctabixproxies_GFF3Proxy_spec = {
jpayne@69 23501 "pysam.libctabixproxies.GFF3Proxy",
jpayne@69 23502 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy),
jpayne@69 23503 0,
jpayne@69 23504 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
jpayne@69 23505 __pyx_type_5pysam_16libctabixproxies_GFF3Proxy_slots,
jpayne@69 23506 };
jpayne@69 23507 #else
jpayne@69 23508
jpayne@69 23509 static PyTypeObject __pyx_type_5pysam_16libctabixproxies_GFF3Proxy = {
jpayne@69 23510 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 23511 "pysam.libctabixproxies.""GFF3Proxy", /*tp_name*/
jpayne@69 23512 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_GFF3Proxy), /*tp_basicsize*/
jpayne@69 23513 0, /*tp_itemsize*/
jpayne@69 23514 __pyx_tp_dealloc_5pysam_16libctabixproxies_GTFProxy, /*tp_dealloc*/
jpayne@69 23515 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 23516 0, /*tp_print*/
jpayne@69 23517 #endif
jpayne@69 23518 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 23519 0, /*tp_vectorcall_offset*/
jpayne@69 23520 #endif
jpayne@69 23521 0, /*tp_getattr*/
jpayne@69 23522 0, /*tp_setattr*/
jpayne@69 23523 #if PY_MAJOR_VERSION < 3
jpayne@69 23524 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23525 __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_25__cmp__, /*tp_compare*/
jpayne@69 23526 #else
jpayne@69 23527 0, /*tp_compare*/
jpayne@69 23528 #endif
jpayne@69 23529 #endif
jpayne@69 23530 #if PY_MAJOR_VERSION >= 3
jpayne@69 23531 0, /*tp_as_async*/
jpayne@69 23532 #endif
jpayne@69 23533 0, /*tp_repr*/
jpayne@69 23534 0, /*tp_as_number*/
jpayne@69 23535 0, /*tp_as_sequence*/
jpayne@69 23536 0, /*tp_as_mapping*/
jpayne@69 23537 0, /*tp_hash*/
jpayne@69 23538 0, /*tp_call*/
jpayne@69 23539 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23540 __pyx_pw_5pysam_16libctabixproxies_8GTFProxy_13__str__, /*tp_str*/
jpayne@69 23541 #else
jpayne@69 23542 0, /*tp_str*/
jpayne@69 23543 #endif
jpayne@69 23544 0, /*tp_getattro*/
jpayne@69 23545 0, /*tp_setattro*/
jpayne@69 23546 0, /*tp_as_buffer*/
jpayne@69 23547 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
jpayne@69 23548 0, /*tp_doc*/
jpayne@69 23549 __pyx_tp_traverse_5pysam_16libctabixproxies_GTFProxy, /*tp_traverse*/
jpayne@69 23550 __pyx_tp_clear_5pysam_16libctabixproxies_GTFProxy, /*tp_clear*/
jpayne@69 23551 0, /*tp_richcompare*/
jpayne@69 23552 0, /*tp_weaklistoffset*/
jpayne@69 23553 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23554 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__, /*tp_iter*/
jpayne@69 23555 #else
jpayne@69 23556 0, /*tp_iter*/
jpayne@69 23557 #endif
jpayne@69 23558 0, /*tp_iternext*/
jpayne@69 23559 __pyx_methods_5pysam_16libctabixproxies_GFF3Proxy, /*tp_methods*/
jpayne@69 23560 0, /*tp_members*/
jpayne@69 23561 0, /*tp_getset*/
jpayne@69 23562 0, /*tp_base*/
jpayne@69 23563 0, /*tp_dict*/
jpayne@69 23564 0, /*tp_descr_get*/
jpayne@69 23565 0, /*tp_descr_set*/
jpayne@69 23566 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 23567 0, /*tp_dictoffset*/
jpayne@69 23568 #endif
jpayne@69 23569 0, /*tp_init*/
jpayne@69 23570 0, /*tp_alloc*/
jpayne@69 23571 __pyx_tp_new_5pysam_16libctabixproxies_GFF3Proxy, /*tp_new*/
jpayne@69 23572 0, /*tp_free*/
jpayne@69 23573 0, /*tp_is_gc*/
jpayne@69 23574 0, /*tp_bases*/
jpayne@69 23575 0, /*tp_mro*/
jpayne@69 23576 0, /*tp_cache*/
jpayne@69 23577 0, /*tp_subclasses*/
jpayne@69 23578 0, /*tp_weaklist*/
jpayne@69 23579 0, /*tp_del*/
jpayne@69 23580 0, /*tp_version_tag*/
jpayne@69 23581 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 23582 #if CYTHON_USE_TP_FINALIZE
jpayne@69 23583 0, /*tp_finalize*/
jpayne@69 23584 #else
jpayne@69 23585 NULL, /*tp_finalize*/
jpayne@69 23586 #endif
jpayne@69 23587 #endif
jpayne@69 23588 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 23589 0, /*tp_vectorcall*/
jpayne@69 23590 #endif
jpayne@69 23591 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 23592 0, /*tp_print*/
jpayne@69 23593 #endif
jpayne@69 23594 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 23595 0, /*tp_watched*/
jpayne@69 23596 #endif
jpayne@69 23597 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 23598 0, /*tp_versions_used*/
jpayne@69 23599 #endif
jpayne@69 23600 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 23601 0, /*tp_pypy_flags*/
jpayne@69 23602 #endif
jpayne@69 23603 };
jpayne@69 23604 #endif
jpayne@69 23605 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_BedProxy __pyx_vtable_5pysam_16libctabixproxies_BedProxy;
jpayne@69 23606
jpayne@69 23607 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_BedProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
jpayne@69 23608 struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *p;
jpayne@69 23609 PyObject *o = __pyx_tp_new_5pysam_16libctabixproxies_NamedTupleProxy(t, a, k);
jpayne@69 23610 if (unlikely(!o)) return 0;
jpayne@69 23611 p = ((struct __pyx_obj_5pysam_16libctabixproxies_BedProxy *)o);
jpayne@69 23612 p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy*)__pyx_vtabptr_5pysam_16libctabixproxies_BedProxy;
jpayne@69 23613 return o;
jpayne@69 23614 }
jpayne@69 23615
jpayne@69 23616 static int __pyx_tp_setattro_5pysam_16libctabixproxies_BedProxy(PyObject *o, PyObject *n, PyObject *v) {
jpayne@69 23617 if (v) {
jpayne@69 23618 return __pyx_pw_5pysam_16libctabixproxies_8BedProxy_7__setattr__(o, n, v);
jpayne@69 23619 }
jpayne@69 23620 else {
jpayne@69 23621 if (__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy->tp_setattro)
jpayne@69 23622 return __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy->tp_setattro(o, n, v);
jpayne@69 23623 return PyObject_GenericSetAttr(o, n, 0);
jpayne@69 23624 }
jpayne@69 23625 }
jpayne@69 23626
jpayne@69 23627 static PyMethodDef __pyx_methods_5pysam_16libctabixproxies_BedProxy[] = {
jpayne@69 23628 {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8BedProxy_9__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23629 {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8BedProxy_11__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23630 {0, 0, 0, 0}
jpayne@69 23631 };
jpayne@69 23632 #if CYTHON_USE_TYPE_SPECS
jpayne@69 23633 static PyType_Slot __pyx_type_5pysam_16libctabixproxies_BedProxy_slots[] = {
jpayne@69 23634 {Py_tp_str, (void *)__pyx_pw_5pysam_16libctabixproxies_8BedProxy_5__str__},
jpayne@69 23635 {Py_tp_setattro, (void *)__pyx_tp_setattro_5pysam_16libctabixproxies_BedProxy},
jpayne@69 23636 {Py_tp_doc, (void *)PyDoc_STR("Proxy class for access to Bed fields.\n\n This class represents a BED entry for fast read-access.\n ")},
jpayne@69 23637 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 23638 {Py_tp_clear, (void *)__pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 23639 {Py_tp_methods, (void *)__pyx_methods_5pysam_16libctabixproxies_BedProxy},
jpayne@69 23640 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies_BedProxy},
jpayne@69 23641 {0, 0},
jpayne@69 23642 };
jpayne@69 23643 static PyType_Spec __pyx_type_5pysam_16libctabixproxies_BedProxy_spec = {
jpayne@69 23644 "pysam.libctabixproxies.BedProxy",
jpayne@69 23645 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy),
jpayne@69 23646 0,
jpayne@69 23647 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
jpayne@69 23648 __pyx_type_5pysam_16libctabixproxies_BedProxy_slots,
jpayne@69 23649 };
jpayne@69 23650 #else
jpayne@69 23651
jpayne@69 23652 static PyTypeObject __pyx_type_5pysam_16libctabixproxies_BedProxy = {
jpayne@69 23653 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 23654 "pysam.libctabixproxies.""BedProxy", /*tp_name*/
jpayne@69 23655 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_BedProxy), /*tp_basicsize*/
jpayne@69 23656 0, /*tp_itemsize*/
jpayne@69 23657 __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxy, /*tp_dealloc*/
jpayne@69 23658 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 23659 0, /*tp_print*/
jpayne@69 23660 #endif
jpayne@69 23661 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 23662 0, /*tp_vectorcall_offset*/
jpayne@69 23663 #endif
jpayne@69 23664 0, /*tp_getattr*/
jpayne@69 23665 0, /*tp_setattr*/
jpayne@69 23666 #if PY_MAJOR_VERSION < 3
jpayne@69 23667 0, /*tp_compare*/
jpayne@69 23668 #endif
jpayne@69 23669 #if PY_MAJOR_VERSION >= 3
jpayne@69 23670 0, /*tp_as_async*/
jpayne@69 23671 #endif
jpayne@69 23672 0, /*tp_repr*/
jpayne@69 23673 0, /*tp_as_number*/
jpayne@69 23674 0, /*tp_as_sequence*/
jpayne@69 23675 0, /*tp_as_mapping*/
jpayne@69 23676 0, /*tp_hash*/
jpayne@69 23677 0, /*tp_call*/
jpayne@69 23678 __pyx_pw_5pysam_16libctabixproxies_8BedProxy_5__str__, /*tp_str*/
jpayne@69 23679 0, /*tp_getattro*/
jpayne@69 23680 __pyx_tp_setattro_5pysam_16libctabixproxies_BedProxy, /*tp_setattro*/
jpayne@69 23681 0, /*tp_as_buffer*/
jpayne@69 23682 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
jpayne@69 23683 PyDoc_STR("Proxy class for access to Bed fields.\n\n This class represents a BED entry for fast read-access.\n "), /*tp_doc*/
jpayne@69 23684 __pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy, /*tp_traverse*/
jpayne@69 23685 __pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy, /*tp_clear*/
jpayne@69 23686 0, /*tp_richcompare*/
jpayne@69 23687 0, /*tp_weaklistoffset*/
jpayne@69 23688 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23689 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__, /*tp_iter*/
jpayne@69 23690 #else
jpayne@69 23691 0, /*tp_iter*/
jpayne@69 23692 #endif
jpayne@69 23693 0, /*tp_iternext*/
jpayne@69 23694 __pyx_methods_5pysam_16libctabixproxies_BedProxy, /*tp_methods*/
jpayne@69 23695 0, /*tp_members*/
jpayne@69 23696 0, /*tp_getset*/
jpayne@69 23697 0, /*tp_base*/
jpayne@69 23698 0, /*tp_dict*/
jpayne@69 23699 0, /*tp_descr_get*/
jpayne@69 23700 0, /*tp_descr_set*/
jpayne@69 23701 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 23702 0, /*tp_dictoffset*/
jpayne@69 23703 #endif
jpayne@69 23704 0, /*tp_init*/
jpayne@69 23705 0, /*tp_alloc*/
jpayne@69 23706 __pyx_tp_new_5pysam_16libctabixproxies_BedProxy, /*tp_new*/
jpayne@69 23707 0, /*tp_free*/
jpayne@69 23708 0, /*tp_is_gc*/
jpayne@69 23709 0, /*tp_bases*/
jpayne@69 23710 0, /*tp_mro*/
jpayne@69 23711 0, /*tp_cache*/
jpayne@69 23712 0, /*tp_subclasses*/
jpayne@69 23713 0, /*tp_weaklist*/
jpayne@69 23714 0, /*tp_del*/
jpayne@69 23715 0, /*tp_version_tag*/
jpayne@69 23716 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 23717 #if CYTHON_USE_TP_FINALIZE
jpayne@69 23718 0, /*tp_finalize*/
jpayne@69 23719 #else
jpayne@69 23720 NULL, /*tp_finalize*/
jpayne@69 23721 #endif
jpayne@69 23722 #endif
jpayne@69 23723 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 23724 0, /*tp_vectorcall*/
jpayne@69 23725 #endif
jpayne@69 23726 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 23727 0, /*tp_print*/
jpayne@69 23728 #endif
jpayne@69 23729 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 23730 0, /*tp_watched*/
jpayne@69 23731 #endif
jpayne@69 23732 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 23733 0, /*tp_versions_used*/
jpayne@69 23734 #endif
jpayne@69 23735 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 23736 0, /*tp_pypy_flags*/
jpayne@69 23737 #endif
jpayne@69 23738 };
jpayne@69 23739 #endif
jpayne@69 23740 static struct __pyx_vtabstruct_5pysam_16libctabixproxies_VCFProxy __pyx_vtable_5pysam_16libctabixproxies_VCFProxy;
jpayne@69 23741
jpayne@69 23742 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies_VCFProxy(PyTypeObject *t, PyObject *a, PyObject *k) {
jpayne@69 23743 struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *p;
jpayne@69 23744 PyObject *o = __pyx_tp_new_5pysam_16libctabixproxies_NamedTupleProxy(t, a, k);
jpayne@69 23745 if (unlikely(!o)) return 0;
jpayne@69 23746 p = ((struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy *)o);
jpayne@69 23747 p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_5pysam_16libctabixproxies_TupleProxy*)__pyx_vtabptr_5pysam_16libctabixproxies_VCFProxy;
jpayne@69 23748 if (unlikely(__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_1__cinit__(o, __pyx_empty_tuple, NULL) < 0)) goto bad;
jpayne@69 23749 return o;
jpayne@69 23750 bad:
jpayne@69 23751 Py_DECREF(o); o = 0;
jpayne@69 23752 return NULL;
jpayne@69 23753 }
jpayne@69 23754
jpayne@69 23755 static int __pyx_tp_setattro_5pysam_16libctabixproxies_VCFProxy(PyObject *o, PyObject *n, PyObject *v) {
jpayne@69 23756 if (v) {
jpayne@69 23757 return __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_5__setattr__(o, n, v);
jpayne@69 23758 }
jpayne@69 23759 else {
jpayne@69 23760 if (__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy->tp_setattro)
jpayne@69 23761 return __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy->tp_setattro(o, n, v);
jpayne@69 23762 return PyObject_GenericSetAttr(o, n, 0);
jpayne@69 23763 }
jpayne@69 23764 }
jpayne@69 23765
jpayne@69 23766 static PyObject *__pyx_getprop_5pysam_16libctabixproxies_8VCFProxy_pos(PyObject *o, CYTHON_UNUSED void *x) {
jpayne@69 23767 return __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3pos_1__get__(o);
jpayne@69 23768 }
jpayne@69 23769
jpayne@69 23770 static PyMethodDef __pyx_methods_5pysam_16libctabixproxies_VCFProxy[] = {
jpayne@69 23771 {"__reduce_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_7__reduce_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23772 {"__setstate_cython__", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_9__setstate_cython__, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0},
jpayne@69 23773 {0, 0, 0, 0}
jpayne@69 23774 };
jpayne@69 23775
jpayne@69 23776 static struct PyGetSetDef __pyx_getsets_5pysam_16libctabixproxies_VCFProxy[] = {
jpayne@69 23777 {(char *)"pos", __pyx_getprop_5pysam_16libctabixproxies_8VCFProxy_pos, 0, (char *)PyDoc_STR("feature end (in 0-based open/closed coordinates)."), 0},
jpayne@69 23778 {0, 0, 0, 0, 0}
jpayne@69 23779 };
jpayne@69 23780 #if CYTHON_USE_TYPE_SPECS
jpayne@69 23781 static PyType_Slot __pyx_type_5pysam_16libctabixproxies_VCFProxy_slots[] = {
jpayne@69 23782 {Py_sq_length, (void *)__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3__len__},
jpayne@69 23783 {Py_mp_length, (void *)__pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3__len__},
jpayne@69 23784 {Py_tp_setattro, (void *)__pyx_tp_setattro_5pysam_16libctabixproxies_VCFProxy},
jpayne@69 23785 {Py_tp_doc, (void *)PyDoc_STR("Proxy class for access to VCF fields.\n\n The genotypes are accessed via a numeric index.\n Sample headers are not available.\n ")},
jpayne@69 23786 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 23787 {Py_tp_clear, (void *)__pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy},
jpayne@69 23788 {Py_tp_methods, (void *)__pyx_methods_5pysam_16libctabixproxies_VCFProxy},
jpayne@69 23789 {Py_tp_getset, (void *)__pyx_getsets_5pysam_16libctabixproxies_VCFProxy},
jpayne@69 23790 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies_VCFProxy},
jpayne@69 23791 {0, 0},
jpayne@69 23792 };
jpayne@69 23793 static PyType_Spec __pyx_type_5pysam_16libctabixproxies_VCFProxy_spec = {
jpayne@69 23794 "pysam.libctabixproxies.VCFProxy",
jpayne@69 23795 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy),
jpayne@69 23796 0,
jpayne@69 23797 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
jpayne@69 23798 __pyx_type_5pysam_16libctabixproxies_VCFProxy_slots,
jpayne@69 23799 };
jpayne@69 23800 #else
jpayne@69 23801
jpayne@69 23802 static PySequenceMethods __pyx_tp_as_sequence_VCFProxy = {
jpayne@69 23803 __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3__len__, /*sq_length*/
jpayne@69 23804 0, /*sq_concat*/
jpayne@69 23805 0, /*sq_repeat*/
jpayne@69 23806 0, /*sq_item*/
jpayne@69 23807 0, /*sq_slice*/
jpayne@69 23808 0, /*sq_ass_item*/
jpayne@69 23809 0, /*sq_ass_slice*/
jpayne@69 23810 0, /*sq_contains*/
jpayne@69 23811 0, /*sq_inplace_concat*/
jpayne@69 23812 0, /*sq_inplace_repeat*/
jpayne@69 23813 };
jpayne@69 23814
jpayne@69 23815 static PyMappingMethods __pyx_tp_as_mapping_VCFProxy = {
jpayne@69 23816 __pyx_pw_5pysam_16libctabixproxies_8VCFProxy_3__len__, /*mp_length*/
jpayne@69 23817 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23818 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_17__getitem__, /*mp_subscript*/
jpayne@69 23819 #else
jpayne@69 23820 0, /*mp_subscript*/
jpayne@69 23821 #endif
jpayne@69 23822 0, /*mp_ass_subscript*/
jpayne@69 23823 };
jpayne@69 23824
jpayne@69 23825 static PyTypeObject __pyx_type_5pysam_16libctabixproxies_VCFProxy = {
jpayne@69 23826 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 23827 "pysam.libctabixproxies.""VCFProxy", /*tp_name*/
jpayne@69 23828 sizeof(struct __pyx_obj_5pysam_16libctabixproxies_VCFProxy), /*tp_basicsize*/
jpayne@69 23829 0, /*tp_itemsize*/
jpayne@69 23830 __pyx_tp_dealloc_5pysam_16libctabixproxies_TupleProxy, /*tp_dealloc*/
jpayne@69 23831 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 23832 0, /*tp_print*/
jpayne@69 23833 #endif
jpayne@69 23834 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 23835 0, /*tp_vectorcall_offset*/
jpayne@69 23836 #endif
jpayne@69 23837 0, /*tp_getattr*/
jpayne@69 23838 0, /*tp_setattr*/
jpayne@69 23839 #if PY_MAJOR_VERSION < 3
jpayne@69 23840 0, /*tp_compare*/
jpayne@69 23841 #endif
jpayne@69 23842 #if PY_MAJOR_VERSION >= 3
jpayne@69 23843 0, /*tp_as_async*/
jpayne@69 23844 #endif
jpayne@69 23845 0, /*tp_repr*/
jpayne@69 23846 0, /*tp_as_number*/
jpayne@69 23847 &__pyx_tp_as_sequence_VCFProxy, /*tp_as_sequence*/
jpayne@69 23848 &__pyx_tp_as_mapping_VCFProxy, /*tp_as_mapping*/
jpayne@69 23849 0, /*tp_hash*/
jpayne@69 23850 0, /*tp_call*/
jpayne@69 23851 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23852 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_27__str__, /*tp_str*/
jpayne@69 23853 #else
jpayne@69 23854 0, /*tp_str*/
jpayne@69 23855 #endif
jpayne@69 23856 0, /*tp_getattro*/
jpayne@69 23857 __pyx_tp_setattro_5pysam_16libctabixproxies_VCFProxy, /*tp_setattro*/
jpayne@69 23858 0, /*tp_as_buffer*/
jpayne@69 23859 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
jpayne@69 23860 PyDoc_STR("Proxy class for access to VCF fields.\n\n The genotypes are accessed via a numeric index.\n Sample headers are not available.\n "), /*tp_doc*/
jpayne@69 23861 __pyx_tp_traverse_5pysam_16libctabixproxies_TupleProxy, /*tp_traverse*/
jpayne@69 23862 __pyx_tp_clear_5pysam_16libctabixproxies_TupleProxy, /*tp_clear*/
jpayne@69 23863 0, /*tp_richcompare*/
jpayne@69 23864 0, /*tp_weaklistoffset*/
jpayne@69 23865 #if CYTHON_COMPILING_IN_PYPY || 0
jpayne@69 23866 __pyx_pw_5pysam_16libctabixproxies_10TupleProxy_25__iter__, /*tp_iter*/
jpayne@69 23867 #else
jpayne@69 23868 0, /*tp_iter*/
jpayne@69 23869 #endif
jpayne@69 23870 0, /*tp_iternext*/
jpayne@69 23871 __pyx_methods_5pysam_16libctabixproxies_VCFProxy, /*tp_methods*/
jpayne@69 23872 0, /*tp_members*/
jpayne@69 23873 __pyx_getsets_5pysam_16libctabixproxies_VCFProxy, /*tp_getset*/
jpayne@69 23874 0, /*tp_base*/
jpayne@69 23875 0, /*tp_dict*/
jpayne@69 23876 0, /*tp_descr_get*/
jpayne@69 23877 0, /*tp_descr_set*/
jpayne@69 23878 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 23879 0, /*tp_dictoffset*/
jpayne@69 23880 #endif
jpayne@69 23881 0, /*tp_init*/
jpayne@69 23882 0, /*tp_alloc*/
jpayne@69 23883 __pyx_tp_new_5pysam_16libctabixproxies_VCFProxy, /*tp_new*/
jpayne@69 23884 0, /*tp_free*/
jpayne@69 23885 0, /*tp_is_gc*/
jpayne@69 23886 0, /*tp_bases*/
jpayne@69 23887 0, /*tp_mro*/
jpayne@69 23888 0, /*tp_cache*/
jpayne@69 23889 0, /*tp_subclasses*/
jpayne@69 23890 0, /*tp_weaklist*/
jpayne@69 23891 0, /*tp_del*/
jpayne@69 23892 0, /*tp_version_tag*/
jpayne@69 23893 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 23894 #if CYTHON_USE_TP_FINALIZE
jpayne@69 23895 0, /*tp_finalize*/
jpayne@69 23896 #else
jpayne@69 23897 NULL, /*tp_finalize*/
jpayne@69 23898 #endif
jpayne@69 23899 #endif
jpayne@69 23900 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 23901 0, /*tp_vectorcall*/
jpayne@69 23902 #endif
jpayne@69 23903 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 23904 0, /*tp_print*/
jpayne@69 23905 #endif
jpayne@69 23906 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 23907 0, /*tp_watched*/
jpayne@69 23908 #endif
jpayne@69 23909 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 23910 0, /*tp_versions_used*/
jpayne@69 23911 #endif
jpayne@69 23912 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 23913 0, /*tp_pypy_flags*/
jpayne@69 23914 #endif
jpayne@69 23915 };
jpayne@69 23916 #endif
jpayne@69 23917
jpayne@69 23918 #if CYTHON_USE_FREELISTS
jpayne@69 23919 static struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *__pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator[8];
jpayne@69 23920 static int __pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator = 0;
jpayne@69 23921 #endif
jpayne@69 23922
jpayne@69 23923 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
jpayne@69 23924 PyObject *o;
jpayne@69 23925 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 23926 allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
jpayne@69 23927 o = alloc_func(t, 0);
jpayne@69 23928 #else
jpayne@69 23929 #if CYTHON_USE_FREELISTS
jpayne@69 23930 if (likely((int)(__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator)))) {
jpayne@69 23931 o = (PyObject*)__pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator[--__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator];
jpayne@69 23932 memset(o, 0, sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator));
jpayne@69 23933 (void) PyObject_INIT(o, t);
jpayne@69 23934 PyObject_GC_Track(o);
jpayne@69 23935 } else
jpayne@69 23936 #endif
jpayne@69 23937 {
jpayne@69 23938 o = (*t->tp_alloc)(t, 0);
jpayne@69 23939 if (unlikely(!o)) return 0;
jpayne@69 23940 }
jpayne@69 23941 #endif
jpayne@69 23942 return o;
jpayne@69 23943 }
jpayne@69 23944
jpayne@69 23945 static void __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator(PyObject *o) {
jpayne@69 23946 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *p = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *)o;
jpayne@69 23947 #if CYTHON_USE_TP_FINALIZE
jpayne@69 23948 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
jpayne@69 23949 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator) {
jpayne@69 23950 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 23951 }
jpayne@69 23952 }
jpayne@69 23953 #endif
jpayne@69 23954 PyObject_GC_UnTrack(o);
jpayne@69 23955 Py_CLEAR(p->__pyx_v_attributes);
jpayne@69 23956 Py_CLEAR(p->__pyx_v_d);
jpayne@69 23957 Py_CLEAR(p->__pyx_v_f);
jpayne@69 23958 Py_CLEAR(p->__pyx_v_fields);
jpayne@69 23959 Py_CLEAR(p->__pyx_v_n);
jpayne@69 23960 Py_CLEAR(p->__pyx_v_s);
jpayne@69 23961 Py_CLEAR(p->__pyx_v_self);
jpayne@69 23962 Py_CLEAR(p->__pyx_v_v);
jpayne@69 23963 Py_CLEAR(p->__pyx_7genexpr__pyx_v_x);
jpayne@69 23964 Py_CLEAR(p->__pyx_8genexpr1__pyx_v_x);
jpayne@69 23965 Py_CLEAR(p->__pyx_t_0);
jpayne@69 23966 #if CYTHON_USE_FREELISTS
jpayne@69 23967 if (((int)(__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator)))) {
jpayne@69 23968 __pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator[__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator++] = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *)o);
jpayne@69 23969 } else
jpayne@69 23970 #endif
jpayne@69 23971 {
jpayne@69 23972 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 23973 (*Py_TYPE(o)->tp_free)(o);
jpayne@69 23974 #else
jpayne@69 23975 {
jpayne@69 23976 freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
jpayne@69 23977 if (tp_free) tp_free(o);
jpayne@69 23978 }
jpayne@69 23979 #endif
jpayne@69 23980 }
jpayne@69 23981 }
jpayne@69 23982
jpayne@69 23983 static int __pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator(PyObject *o, visitproc v, void *a) {
jpayne@69 23984 int e;
jpayne@69 23985 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *p = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator *)o;
jpayne@69 23986 if (p->__pyx_v_attributes) {
jpayne@69 23987 e = (*v)(p->__pyx_v_attributes, a); if (e) return e;
jpayne@69 23988 }
jpayne@69 23989 if (p->__pyx_v_d) {
jpayne@69 23990 e = (*v)(p->__pyx_v_d, a); if (e) return e;
jpayne@69 23991 }
jpayne@69 23992 if (p->__pyx_v_f) {
jpayne@69 23993 e = (*v)(p->__pyx_v_f, a); if (e) return e;
jpayne@69 23994 }
jpayne@69 23995 if (p->__pyx_v_fields) {
jpayne@69 23996 e = (*v)(p->__pyx_v_fields, a); if (e) return e;
jpayne@69 23997 }
jpayne@69 23998 if (p->__pyx_v_n) {
jpayne@69 23999 e = (*v)(p->__pyx_v_n, a); if (e) return e;
jpayne@69 24000 }
jpayne@69 24001 if (p->__pyx_v_s) {
jpayne@69 24002 e = (*v)(p->__pyx_v_s, a); if (e) return e;
jpayne@69 24003 }
jpayne@69 24004 if (p->__pyx_v_self) {
jpayne@69 24005 e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
jpayne@69 24006 }
jpayne@69 24007 if (p->__pyx_v_v) {
jpayne@69 24008 e = (*v)(p->__pyx_v_v, a); if (e) return e;
jpayne@69 24009 }
jpayne@69 24010 if (p->__pyx_7genexpr__pyx_v_x) {
jpayne@69 24011 e = (*v)(p->__pyx_7genexpr__pyx_v_x, a); if (e) return e;
jpayne@69 24012 }
jpayne@69 24013 if (p->__pyx_8genexpr1__pyx_v_x) {
jpayne@69 24014 e = (*v)(p->__pyx_8genexpr1__pyx_v_x, a); if (e) return e;
jpayne@69 24015 }
jpayne@69 24016 if (p->__pyx_t_0) {
jpayne@69 24017 e = (*v)(p->__pyx_t_0, a); if (e) return e;
jpayne@69 24018 }
jpayne@69 24019 return 0;
jpayne@69 24020 }
jpayne@69 24021 #if CYTHON_USE_TYPE_SPECS
jpayne@69 24022 static PyType_Slot __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator_slots[] = {
jpayne@69 24023 {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator},
jpayne@69 24024 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator},
jpayne@69 24025 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator},
jpayne@69 24026 {0, 0},
jpayne@69 24027 };
jpayne@69 24028 static PyType_Spec __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator_spec = {
jpayne@69 24029 "pysam.libctabixproxies.__pyx_scope_struct__attribute_string2iterator",
jpayne@69 24030 sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator),
jpayne@69 24031 0,
jpayne@69 24032 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
jpayne@69 24033 __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator_slots,
jpayne@69 24034 };
jpayne@69 24035 #else
jpayne@69 24036
jpayne@69 24037 static PyTypeObject __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator = {
jpayne@69 24038 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 24039 "pysam.libctabixproxies.""__pyx_scope_struct__attribute_string2iterator", /*tp_name*/
jpayne@69 24040 sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator), /*tp_basicsize*/
jpayne@69 24041 0, /*tp_itemsize*/
jpayne@69 24042 __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator, /*tp_dealloc*/
jpayne@69 24043 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 24044 0, /*tp_print*/
jpayne@69 24045 #endif
jpayne@69 24046 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 24047 0, /*tp_vectorcall_offset*/
jpayne@69 24048 #endif
jpayne@69 24049 0, /*tp_getattr*/
jpayne@69 24050 0, /*tp_setattr*/
jpayne@69 24051 #if PY_MAJOR_VERSION < 3
jpayne@69 24052 0, /*tp_compare*/
jpayne@69 24053 #endif
jpayne@69 24054 #if PY_MAJOR_VERSION >= 3
jpayne@69 24055 0, /*tp_as_async*/
jpayne@69 24056 #endif
jpayne@69 24057 0, /*tp_repr*/
jpayne@69 24058 0, /*tp_as_number*/
jpayne@69 24059 0, /*tp_as_sequence*/
jpayne@69 24060 0, /*tp_as_mapping*/
jpayne@69 24061 0, /*tp_hash*/
jpayne@69 24062 0, /*tp_call*/
jpayne@69 24063 0, /*tp_str*/
jpayne@69 24064 0, /*tp_getattro*/
jpayne@69 24065 0, /*tp_setattro*/
jpayne@69 24066 0, /*tp_as_buffer*/
jpayne@69 24067 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
jpayne@69 24068 0, /*tp_doc*/
jpayne@69 24069 __pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator, /*tp_traverse*/
jpayne@69 24070 0, /*tp_clear*/
jpayne@69 24071 0, /*tp_richcompare*/
jpayne@69 24072 0, /*tp_weaklistoffset*/
jpayne@69 24073 0, /*tp_iter*/
jpayne@69 24074 0, /*tp_iternext*/
jpayne@69 24075 0, /*tp_methods*/
jpayne@69 24076 0, /*tp_members*/
jpayne@69 24077 0, /*tp_getset*/
jpayne@69 24078 0, /*tp_base*/
jpayne@69 24079 0, /*tp_dict*/
jpayne@69 24080 0, /*tp_descr_get*/
jpayne@69 24081 0, /*tp_descr_set*/
jpayne@69 24082 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 24083 0, /*tp_dictoffset*/
jpayne@69 24084 #endif
jpayne@69 24085 0, /*tp_init*/
jpayne@69 24086 0, /*tp_alloc*/
jpayne@69 24087 __pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator, /*tp_new*/
jpayne@69 24088 0, /*tp_free*/
jpayne@69 24089 0, /*tp_is_gc*/
jpayne@69 24090 0, /*tp_bases*/
jpayne@69 24091 0, /*tp_mro*/
jpayne@69 24092 0, /*tp_cache*/
jpayne@69 24093 0, /*tp_subclasses*/
jpayne@69 24094 0, /*tp_weaklist*/
jpayne@69 24095 0, /*tp_del*/
jpayne@69 24096 0, /*tp_version_tag*/
jpayne@69 24097 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 24098 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24099 0, /*tp_finalize*/
jpayne@69 24100 #else
jpayne@69 24101 NULL, /*tp_finalize*/
jpayne@69 24102 #endif
jpayne@69 24103 #endif
jpayne@69 24104 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 24105 0, /*tp_vectorcall*/
jpayne@69 24106 #endif
jpayne@69 24107 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 24108 0, /*tp_print*/
jpayne@69 24109 #endif
jpayne@69 24110 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 24111 0, /*tp_watched*/
jpayne@69 24112 #endif
jpayne@69 24113 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 24114 0, /*tp_versions_used*/
jpayne@69 24115 #endif
jpayne@69 24116 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 24117 0, /*tp_pypy_flags*/
jpayne@69 24118 #endif
jpayne@69 24119 };
jpayne@69 24120 #endif
jpayne@69 24121
jpayne@69 24122 #if CYTHON_USE_FREELISTS
jpayne@69 24123 static struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *__pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator[8];
jpayne@69 24124 static int __pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator = 0;
jpayne@69 24125 #endif
jpayne@69 24126
jpayne@69 24127 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
jpayne@69 24128 PyObject *o;
jpayne@69 24129 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 24130 allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
jpayne@69 24131 o = alloc_func(t, 0);
jpayne@69 24132 #else
jpayne@69 24133 #if CYTHON_USE_FREELISTS
jpayne@69 24134 if (likely((int)(__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator)))) {
jpayne@69 24135 o = (PyObject*)__pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator[--__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator];
jpayne@69 24136 memset(o, 0, sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator));
jpayne@69 24137 (void) PyObject_INIT(o, t);
jpayne@69 24138 PyObject_GC_Track(o);
jpayne@69 24139 } else
jpayne@69 24140 #endif
jpayne@69 24141 {
jpayne@69 24142 o = (*t->tp_alloc)(t, 0);
jpayne@69 24143 if (unlikely(!o)) return 0;
jpayne@69 24144 }
jpayne@69 24145 #endif
jpayne@69 24146 return o;
jpayne@69 24147 }
jpayne@69 24148
jpayne@69 24149 static void __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator(PyObject *o) {
jpayne@69 24150 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *p = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *)o;
jpayne@69 24151 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24152 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
jpayne@69 24153 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator) {
jpayne@69 24154 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 24155 }
jpayne@69 24156 }
jpayne@69 24157 #endif
jpayne@69 24158 PyObject_GC_UnTrack(o);
jpayne@69 24159 Py_CLEAR(p->__pyx_v_f);
jpayne@69 24160 Py_CLEAR(p->__pyx_v_genexpr);
jpayne@69 24161 Py_CLEAR(p->__pyx_v_key);
jpayne@69 24162 Py_CLEAR(p->__pyx_v_s);
jpayne@69 24163 Py_CLEAR(p->__pyx_v_self);
jpayne@69 24164 Py_CLEAR(p->__pyx_v_value);
jpayne@69 24165 Py_CLEAR(p->__pyx_t_0);
jpayne@69 24166 #if CYTHON_USE_FREELISTS
jpayne@69 24167 if (((int)(__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator)))) {
jpayne@69 24168 __pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator[__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator++] = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *)o);
jpayne@69 24169 } else
jpayne@69 24170 #endif
jpayne@69 24171 {
jpayne@69 24172 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 24173 (*Py_TYPE(o)->tp_free)(o);
jpayne@69 24174 #else
jpayne@69 24175 {
jpayne@69 24176 freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
jpayne@69 24177 if (tp_free) tp_free(o);
jpayne@69 24178 }
jpayne@69 24179 #endif
jpayne@69 24180 }
jpayne@69 24181 }
jpayne@69 24182
jpayne@69 24183 static int __pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator(PyObject *o, visitproc v, void *a) {
jpayne@69 24184 int e;
jpayne@69 24185 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *p = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator *)o;
jpayne@69 24186 if (p->__pyx_v_f) {
jpayne@69 24187 e = (*v)(p->__pyx_v_f, a); if (e) return e;
jpayne@69 24188 }
jpayne@69 24189 if (p->__pyx_v_genexpr) {
jpayne@69 24190 e = (*v)(p->__pyx_v_genexpr, a); if (e) return e;
jpayne@69 24191 }
jpayne@69 24192 if (p->__pyx_v_key) {
jpayne@69 24193 e = (*v)(p->__pyx_v_key, a); if (e) return e;
jpayne@69 24194 }
jpayne@69 24195 if (p->__pyx_v_s) {
jpayne@69 24196 e = (*v)(p->__pyx_v_s, a); if (e) return e;
jpayne@69 24197 }
jpayne@69 24198 if (p->__pyx_v_self) {
jpayne@69 24199 e = (*v)(((PyObject *)p->__pyx_v_self), a); if (e) return e;
jpayne@69 24200 }
jpayne@69 24201 if (p->__pyx_v_value) {
jpayne@69 24202 e = (*v)(p->__pyx_v_value, a); if (e) return e;
jpayne@69 24203 }
jpayne@69 24204 if (p->__pyx_t_0) {
jpayne@69 24205 e = (*v)(p->__pyx_t_0, a); if (e) return e;
jpayne@69 24206 }
jpayne@69 24207 return 0;
jpayne@69 24208 }
jpayne@69 24209 #if CYTHON_USE_TYPE_SPECS
jpayne@69 24210 static PyType_Slot __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator_slots[] = {
jpayne@69 24211 {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator},
jpayne@69 24212 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator},
jpayne@69 24213 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator},
jpayne@69 24214 {0, 0},
jpayne@69 24215 };
jpayne@69 24216 static PyType_Spec __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator_spec = {
jpayne@69 24217 "pysam.libctabixproxies.__pyx_scope_struct_1_attribute_string2iterator",
jpayne@69 24218 sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator),
jpayne@69 24219 0,
jpayne@69 24220 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
jpayne@69 24221 __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator_slots,
jpayne@69 24222 };
jpayne@69 24223 #else
jpayne@69 24224
jpayne@69 24225 static PyTypeObject __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator = {
jpayne@69 24226 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 24227 "pysam.libctabixproxies.""__pyx_scope_struct_1_attribute_string2iterator", /*tp_name*/
jpayne@69 24228 sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator), /*tp_basicsize*/
jpayne@69 24229 0, /*tp_itemsize*/
jpayne@69 24230 __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator, /*tp_dealloc*/
jpayne@69 24231 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 24232 0, /*tp_print*/
jpayne@69 24233 #endif
jpayne@69 24234 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 24235 0, /*tp_vectorcall_offset*/
jpayne@69 24236 #endif
jpayne@69 24237 0, /*tp_getattr*/
jpayne@69 24238 0, /*tp_setattr*/
jpayne@69 24239 #if PY_MAJOR_VERSION < 3
jpayne@69 24240 0, /*tp_compare*/
jpayne@69 24241 #endif
jpayne@69 24242 #if PY_MAJOR_VERSION >= 3
jpayne@69 24243 0, /*tp_as_async*/
jpayne@69 24244 #endif
jpayne@69 24245 0, /*tp_repr*/
jpayne@69 24246 0, /*tp_as_number*/
jpayne@69 24247 0, /*tp_as_sequence*/
jpayne@69 24248 0, /*tp_as_mapping*/
jpayne@69 24249 0, /*tp_hash*/
jpayne@69 24250 0, /*tp_call*/
jpayne@69 24251 0, /*tp_str*/
jpayne@69 24252 0, /*tp_getattro*/
jpayne@69 24253 0, /*tp_setattro*/
jpayne@69 24254 0, /*tp_as_buffer*/
jpayne@69 24255 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
jpayne@69 24256 0, /*tp_doc*/
jpayne@69 24257 __pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator, /*tp_traverse*/
jpayne@69 24258 0, /*tp_clear*/
jpayne@69 24259 0, /*tp_richcompare*/
jpayne@69 24260 0, /*tp_weaklistoffset*/
jpayne@69 24261 0, /*tp_iter*/
jpayne@69 24262 0, /*tp_iternext*/
jpayne@69 24263 0, /*tp_methods*/
jpayne@69 24264 0, /*tp_members*/
jpayne@69 24265 0, /*tp_getset*/
jpayne@69 24266 0, /*tp_base*/
jpayne@69 24267 0, /*tp_dict*/
jpayne@69 24268 0, /*tp_descr_get*/
jpayne@69 24269 0, /*tp_descr_set*/
jpayne@69 24270 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 24271 0, /*tp_dictoffset*/
jpayne@69 24272 #endif
jpayne@69 24273 0, /*tp_init*/
jpayne@69 24274 0, /*tp_alloc*/
jpayne@69 24275 __pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator, /*tp_new*/
jpayne@69 24276 0, /*tp_free*/
jpayne@69 24277 0, /*tp_is_gc*/
jpayne@69 24278 0, /*tp_bases*/
jpayne@69 24279 0, /*tp_mro*/
jpayne@69 24280 0, /*tp_cache*/
jpayne@69 24281 0, /*tp_subclasses*/
jpayne@69 24282 0, /*tp_weaklist*/
jpayne@69 24283 0, /*tp_del*/
jpayne@69 24284 0, /*tp_version_tag*/
jpayne@69 24285 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 24286 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24287 0, /*tp_finalize*/
jpayne@69 24288 #else
jpayne@69 24289 NULL, /*tp_finalize*/
jpayne@69 24290 #endif
jpayne@69 24291 #endif
jpayne@69 24292 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 24293 0, /*tp_vectorcall*/
jpayne@69 24294 #endif
jpayne@69 24295 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 24296 0, /*tp_print*/
jpayne@69 24297 #endif
jpayne@69 24298 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 24299 0, /*tp_watched*/
jpayne@69 24300 #endif
jpayne@69 24301 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 24302 0, /*tp_versions_used*/
jpayne@69 24303 #endif
jpayne@69 24304 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 24305 0, /*tp_pypy_flags*/
jpayne@69 24306 #endif
jpayne@69 24307 };
jpayne@69 24308 #endif
jpayne@69 24309
jpayne@69 24310 #if CYTHON_USE_FREELISTS
jpayne@69 24311 static struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *__pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr[8];
jpayne@69 24312 static int __pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr = 0;
jpayne@69 24313 #endif
jpayne@69 24314
jpayne@69 24315 static PyObject *__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
jpayne@69 24316 PyObject *o;
jpayne@69 24317 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 24318 allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
jpayne@69 24319 o = alloc_func(t, 0);
jpayne@69 24320 #else
jpayne@69 24321 #if CYTHON_USE_FREELISTS
jpayne@69 24322 if (likely((int)(__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr)))) {
jpayne@69 24323 o = (PyObject*)__pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr[--__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr];
jpayne@69 24324 memset(o, 0, sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr));
jpayne@69 24325 (void) PyObject_INIT(o, t);
jpayne@69 24326 PyObject_GC_Track(o);
jpayne@69 24327 } else
jpayne@69 24328 #endif
jpayne@69 24329 {
jpayne@69 24330 o = (*t->tp_alloc)(t, 0);
jpayne@69 24331 if (unlikely(!o)) return 0;
jpayne@69 24332 }
jpayne@69 24333 #endif
jpayne@69 24334 return o;
jpayne@69 24335 }
jpayne@69 24336
jpayne@69 24337 static void __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr(PyObject *o) {
jpayne@69 24338 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *)o;
jpayne@69 24339 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24340 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && !__Pyx_PyObject_GC_IsFinalized(o)) {
jpayne@69 24341 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr) {
jpayne@69 24342 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 24343 }
jpayne@69 24344 }
jpayne@69 24345 #endif
jpayne@69 24346 PyObject_GC_UnTrack(o);
jpayne@69 24347 Py_CLEAR(p->__pyx_genexpr_arg_0);
jpayne@69 24348 Py_CLEAR(p->__pyx_v_x);
jpayne@69 24349 Py_CLEAR(p->__pyx_t_0);
jpayne@69 24350 #if CYTHON_USE_FREELISTS
jpayne@69 24351 if (((int)(__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr)))) {
jpayne@69 24352 __pyx_freelist_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr[__pyx_freecount_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr++] = ((struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *)o);
jpayne@69 24353 } else
jpayne@69 24354 #endif
jpayne@69 24355 {
jpayne@69 24356 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 24357 (*Py_TYPE(o)->tp_free)(o);
jpayne@69 24358 #else
jpayne@69 24359 {
jpayne@69 24360 freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
jpayne@69 24361 if (tp_free) tp_free(o);
jpayne@69 24362 }
jpayne@69 24363 #endif
jpayne@69 24364 }
jpayne@69 24365 }
jpayne@69 24366
jpayne@69 24367 static int __pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr(PyObject *o, visitproc v, void *a) {
jpayne@69 24368 int e;
jpayne@69 24369 struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *p = (struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr *)o;
jpayne@69 24370 if (p->__pyx_genexpr_arg_0) {
jpayne@69 24371 e = (*v)(p->__pyx_genexpr_arg_0, a); if (e) return e;
jpayne@69 24372 }
jpayne@69 24373 if (p->__pyx_v_x) {
jpayne@69 24374 e = (*v)(p->__pyx_v_x, a); if (e) return e;
jpayne@69 24375 }
jpayne@69 24376 if (p->__pyx_t_0) {
jpayne@69 24377 e = (*v)(p->__pyx_t_0, a); if (e) return e;
jpayne@69 24378 }
jpayne@69 24379 return 0;
jpayne@69 24380 }
jpayne@69 24381 #if CYTHON_USE_TYPE_SPECS
jpayne@69 24382 static PyType_Slot __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr_slots[] = {
jpayne@69 24383 {Py_tp_dealloc, (void *)__pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr},
jpayne@69 24384 {Py_tp_traverse, (void *)__pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr},
jpayne@69 24385 {Py_tp_new, (void *)__pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr},
jpayne@69 24386 {0, 0},
jpayne@69 24387 };
jpayne@69 24388 static PyType_Spec __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr_spec = {
jpayne@69 24389 "pysam.libctabixproxies.__pyx_scope_struct_2_genexpr",
jpayne@69 24390 sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr),
jpayne@69 24391 0,
jpayne@69 24392 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE,
jpayne@69 24393 __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr_slots,
jpayne@69 24394 };
jpayne@69 24395 #else
jpayne@69 24396
jpayne@69 24397 static PyTypeObject __pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr = {
jpayne@69 24398 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 24399 "pysam.libctabixproxies.""__pyx_scope_struct_2_genexpr", /*tp_name*/
jpayne@69 24400 sizeof(struct __pyx_obj_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr), /*tp_basicsize*/
jpayne@69 24401 0, /*tp_itemsize*/
jpayne@69 24402 __pyx_tp_dealloc_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr, /*tp_dealloc*/
jpayne@69 24403 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 24404 0, /*tp_print*/
jpayne@69 24405 #endif
jpayne@69 24406 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 24407 0, /*tp_vectorcall_offset*/
jpayne@69 24408 #endif
jpayne@69 24409 0, /*tp_getattr*/
jpayne@69 24410 0, /*tp_setattr*/
jpayne@69 24411 #if PY_MAJOR_VERSION < 3
jpayne@69 24412 0, /*tp_compare*/
jpayne@69 24413 #endif
jpayne@69 24414 #if PY_MAJOR_VERSION >= 3
jpayne@69 24415 0, /*tp_as_async*/
jpayne@69 24416 #endif
jpayne@69 24417 0, /*tp_repr*/
jpayne@69 24418 0, /*tp_as_number*/
jpayne@69 24419 0, /*tp_as_sequence*/
jpayne@69 24420 0, /*tp_as_mapping*/
jpayne@69 24421 0, /*tp_hash*/
jpayne@69 24422 0, /*tp_call*/
jpayne@69 24423 0, /*tp_str*/
jpayne@69 24424 0, /*tp_getattro*/
jpayne@69 24425 0, /*tp_setattro*/
jpayne@69 24426 0, /*tp_as_buffer*/
jpayne@69 24427 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
jpayne@69 24428 0, /*tp_doc*/
jpayne@69 24429 __pyx_tp_traverse_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr, /*tp_traverse*/
jpayne@69 24430 0, /*tp_clear*/
jpayne@69 24431 0, /*tp_richcompare*/
jpayne@69 24432 0, /*tp_weaklistoffset*/
jpayne@69 24433 0, /*tp_iter*/
jpayne@69 24434 0, /*tp_iternext*/
jpayne@69 24435 0, /*tp_methods*/
jpayne@69 24436 0, /*tp_members*/
jpayne@69 24437 0, /*tp_getset*/
jpayne@69 24438 0, /*tp_base*/
jpayne@69 24439 0, /*tp_dict*/
jpayne@69 24440 0, /*tp_descr_get*/
jpayne@69 24441 0, /*tp_descr_set*/
jpayne@69 24442 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 24443 0, /*tp_dictoffset*/
jpayne@69 24444 #endif
jpayne@69 24445 0, /*tp_init*/
jpayne@69 24446 0, /*tp_alloc*/
jpayne@69 24447 __pyx_tp_new_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr, /*tp_new*/
jpayne@69 24448 0, /*tp_free*/
jpayne@69 24449 0, /*tp_is_gc*/
jpayne@69 24450 0, /*tp_bases*/
jpayne@69 24451 0, /*tp_mro*/
jpayne@69 24452 0, /*tp_cache*/
jpayne@69 24453 0, /*tp_subclasses*/
jpayne@69 24454 0, /*tp_weaklist*/
jpayne@69 24455 0, /*tp_del*/
jpayne@69 24456 0, /*tp_version_tag*/
jpayne@69 24457 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 24458 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24459 0, /*tp_finalize*/
jpayne@69 24460 #else
jpayne@69 24461 NULL, /*tp_finalize*/
jpayne@69 24462 #endif
jpayne@69 24463 #endif
jpayne@69 24464 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 24465 0, /*tp_vectorcall*/
jpayne@69 24466 #endif
jpayne@69 24467 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 24468 0, /*tp_print*/
jpayne@69 24469 #endif
jpayne@69 24470 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 24471 0, /*tp_watched*/
jpayne@69 24472 #endif
jpayne@69 24473 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 24474 0, /*tp_versions_used*/
jpayne@69 24475 #endif
jpayne@69 24476 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 24477 0, /*tp_pypy_flags*/
jpayne@69 24478 #endif
jpayne@69 24479 };
jpayne@69 24480 #endif
jpayne@69 24481
jpayne@69 24482 #if CYTHON_USE_FREELISTS
jpayne@69 24483 static struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v *__pyx_freelist___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v[8];
jpayne@69 24484 static int __pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v = 0;
jpayne@69 24485 #endif
jpayne@69 24486
jpayne@69 24487 static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
jpayne@69 24488 PyObject *o;
jpayne@69 24489 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 24490 allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
jpayne@69 24491 o = alloc_func(t, 0);
jpayne@69 24492 #else
jpayne@69 24493 #if CYTHON_USE_FREELISTS
jpayne@69 24494 if (likely((int)(__pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v)))) {
jpayne@69 24495 o = (PyObject*)__pyx_freelist___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v[--__pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v];
jpayne@69 24496 memset(o, 0, sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v));
jpayne@69 24497 (void) PyObject_INIT(o, t);
jpayne@69 24498 } else
jpayne@69 24499 #endif
jpayne@69 24500 {
jpayne@69 24501 o = (*t->tp_alloc)(t, 0);
jpayne@69 24502 if (unlikely(!o)) return 0;
jpayne@69 24503 }
jpayne@69 24504 #endif
jpayne@69 24505 return o;
jpayne@69 24506 }
jpayne@69 24507
jpayne@69 24508 static void __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(PyObject *o) {
jpayne@69 24509 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24510 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
jpayne@69 24511 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v) {
jpayne@69 24512 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 24513 }
jpayne@69 24514 }
jpayne@69 24515 #endif
jpayne@69 24516 #if CYTHON_USE_FREELISTS
jpayne@69 24517 if (((int)(__pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v)))) {
jpayne@69 24518 __pyx_freelist___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v[__pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v++] = ((struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v *)o);
jpayne@69 24519 } else
jpayne@69 24520 #endif
jpayne@69 24521 {
jpayne@69 24522 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 24523 (*Py_TYPE(o)->tp_free)(o);
jpayne@69 24524 #else
jpayne@69 24525 {
jpayne@69 24526 freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
jpayne@69 24527 if (tp_free) tp_free(o);
jpayne@69 24528 }
jpayne@69 24529 #endif
jpayne@69 24530 }
jpayne@69 24531 }
jpayne@69 24532 #if CYTHON_USE_TYPE_SPECS
jpayne@69 24533 static PyType_Slot __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_slots[] = {
jpayne@69 24534 {Py_tp_dealloc, (void *)__pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v},
jpayne@69 24535 {Py_tp_new, (void *)__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v},
jpayne@69 24536 {0, 0},
jpayne@69 24537 };
jpayne@69 24538 static PyType_Spec __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_spec = {
jpayne@69 24539 "pysam.libctabixproxies.__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v",
jpayne@69 24540 sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v),
jpayne@69 24541 0,
jpayne@69 24542 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_FINALIZE,
jpayne@69 24543 __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_slots,
jpayne@69 24544 };
jpayne@69 24545 #else
jpayne@69 24546
jpayne@69 24547 static PyTypeObject __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v = {
jpayne@69 24548 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 24549 "pysam.libctabixproxies.""__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v", /*tp_name*/
jpayne@69 24550 sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v), /*tp_basicsize*/
jpayne@69 24551 0, /*tp_itemsize*/
jpayne@69 24552 __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v, /*tp_dealloc*/
jpayne@69 24553 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 24554 0, /*tp_print*/
jpayne@69 24555 #endif
jpayne@69 24556 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 24557 0, /*tp_vectorcall_offset*/
jpayne@69 24558 #endif
jpayne@69 24559 0, /*tp_getattr*/
jpayne@69 24560 0, /*tp_setattr*/
jpayne@69 24561 #if PY_MAJOR_VERSION < 3
jpayne@69 24562 0, /*tp_compare*/
jpayne@69 24563 #endif
jpayne@69 24564 #if PY_MAJOR_VERSION >= 3
jpayne@69 24565 0, /*tp_as_async*/
jpayne@69 24566 #endif
jpayne@69 24567 0, /*tp_repr*/
jpayne@69 24568 0, /*tp_as_number*/
jpayne@69 24569 0, /*tp_as_sequence*/
jpayne@69 24570 0, /*tp_as_mapping*/
jpayne@69 24571 0, /*tp_hash*/
jpayne@69 24572 0, /*tp_call*/
jpayne@69 24573 0, /*tp_str*/
jpayne@69 24574 0, /*tp_getattro*/
jpayne@69 24575 0, /*tp_setattro*/
jpayne@69 24576 0, /*tp_as_buffer*/
jpayne@69 24577 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
jpayne@69 24578 0, /*tp_doc*/
jpayne@69 24579 0, /*tp_traverse*/
jpayne@69 24580 0, /*tp_clear*/
jpayne@69 24581 0, /*tp_richcompare*/
jpayne@69 24582 0, /*tp_weaklistoffset*/
jpayne@69 24583 0, /*tp_iter*/
jpayne@69 24584 0, /*tp_iternext*/
jpayne@69 24585 0, /*tp_methods*/
jpayne@69 24586 0, /*tp_members*/
jpayne@69 24587 0, /*tp_getset*/
jpayne@69 24588 0, /*tp_base*/
jpayne@69 24589 0, /*tp_dict*/
jpayne@69 24590 0, /*tp_descr_get*/
jpayne@69 24591 0, /*tp_descr_set*/
jpayne@69 24592 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 24593 0, /*tp_dictoffset*/
jpayne@69 24594 #endif
jpayne@69 24595 0, /*tp_init*/
jpayne@69 24596 0, /*tp_alloc*/
jpayne@69 24597 __pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v, /*tp_new*/
jpayne@69 24598 0, /*tp_free*/
jpayne@69 24599 0, /*tp_is_gc*/
jpayne@69 24600 0, /*tp_bases*/
jpayne@69 24601 0, /*tp_mro*/
jpayne@69 24602 0, /*tp_cache*/
jpayne@69 24603 0, /*tp_subclasses*/
jpayne@69 24604 0, /*tp_weaklist*/
jpayne@69 24605 0, /*tp_del*/
jpayne@69 24606 0, /*tp_version_tag*/
jpayne@69 24607 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 24608 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24609 0, /*tp_finalize*/
jpayne@69 24610 #else
jpayne@69 24611 NULL, /*tp_finalize*/
jpayne@69 24612 #endif
jpayne@69 24613 #endif
jpayne@69 24614 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 24615 0, /*tp_vectorcall*/
jpayne@69 24616 #endif
jpayne@69 24617 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 24618 0, /*tp_print*/
jpayne@69 24619 #endif
jpayne@69 24620 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 24621 0, /*tp_watched*/
jpayne@69 24622 #endif
jpayne@69 24623 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 24624 0, /*tp_versions_used*/
jpayne@69 24625 #endif
jpayne@69 24626 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 24627 0, /*tp_pypy_flags*/
jpayne@69 24628 #endif
jpayne@69 24629 };
jpayne@69 24630 #endif
jpayne@69 24631
jpayne@69 24632 #if CYTHON_USE_FREELISTS
jpayne@69 24633 static struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v *__pyx_freelist___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v[8];
jpayne@69 24634 static int __pyx_freecount___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v = 0;
jpayne@69 24635 #endif
jpayne@69 24636
jpayne@69 24637 static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
jpayne@69 24638 PyObject *o;
jpayne@69 24639 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 24640 allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
jpayne@69 24641 o = alloc_func(t, 0);
jpayne@69 24642 #else
jpayne@69 24643 #if CYTHON_USE_FREELISTS
jpayne@69 24644 if (likely((int)(__pyx_freecount___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v)))) {
jpayne@69 24645 o = (PyObject*)__pyx_freelist___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v[--__pyx_freecount___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v];
jpayne@69 24646 memset(o, 0, sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v));
jpayne@69 24647 (void) PyObject_INIT(o, t);
jpayne@69 24648 } else
jpayne@69 24649 #endif
jpayne@69 24650 {
jpayne@69 24651 o = (*t->tp_alloc)(t, 0);
jpayne@69 24652 if (unlikely(!o)) return 0;
jpayne@69 24653 }
jpayne@69 24654 #endif
jpayne@69 24655 return o;
jpayne@69 24656 }
jpayne@69 24657
jpayne@69 24658 static void __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(PyObject *o) {
jpayne@69 24659 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24660 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
jpayne@69 24661 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v) {
jpayne@69 24662 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 24663 }
jpayne@69 24664 }
jpayne@69 24665 #endif
jpayne@69 24666 #if CYTHON_USE_FREELISTS
jpayne@69 24667 if (((int)(__pyx_freecount___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v)))) {
jpayne@69 24668 __pyx_freelist___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v[__pyx_freecount___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v++] = ((struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v *)o);
jpayne@69 24669 } else
jpayne@69 24670 #endif
jpayne@69 24671 {
jpayne@69 24672 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 24673 (*Py_TYPE(o)->tp_free)(o);
jpayne@69 24674 #else
jpayne@69 24675 {
jpayne@69 24676 freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
jpayne@69 24677 if (tp_free) tp_free(o);
jpayne@69 24678 }
jpayne@69 24679 #endif
jpayne@69 24680 }
jpayne@69 24681 }
jpayne@69 24682 #if CYTHON_USE_TYPE_SPECS
jpayne@69 24683 static PyType_Slot __pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_slots[] = {
jpayne@69 24684 {Py_tp_dealloc, (void *)__pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v},
jpayne@69 24685 {Py_tp_new, (void *)__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v},
jpayne@69 24686 {0, 0},
jpayne@69 24687 };
jpayne@69 24688 static PyType_Spec __pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_spec = {
jpayne@69 24689 "pysam.libctabixproxies.__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v",
jpayne@69 24690 sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v),
jpayne@69 24691 0,
jpayne@69 24692 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_FINALIZE,
jpayne@69 24693 __pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_slots,
jpayne@69 24694 };
jpayne@69 24695 #else
jpayne@69 24696
jpayne@69 24697 static PyTypeObject __pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v = {
jpayne@69 24698 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 24699 "pysam.libctabixproxies.""__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v", /*tp_name*/
jpayne@69 24700 sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v), /*tp_basicsize*/
jpayne@69 24701 0, /*tp_itemsize*/
jpayne@69 24702 __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v, /*tp_dealloc*/
jpayne@69 24703 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 24704 0, /*tp_print*/
jpayne@69 24705 #endif
jpayne@69 24706 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 24707 0, /*tp_vectorcall_offset*/
jpayne@69 24708 #endif
jpayne@69 24709 0, /*tp_getattr*/
jpayne@69 24710 0, /*tp_setattr*/
jpayne@69 24711 #if PY_MAJOR_VERSION < 3
jpayne@69 24712 0, /*tp_compare*/
jpayne@69 24713 #endif
jpayne@69 24714 #if PY_MAJOR_VERSION >= 3
jpayne@69 24715 0, /*tp_as_async*/
jpayne@69 24716 #endif
jpayne@69 24717 0, /*tp_repr*/
jpayne@69 24718 0, /*tp_as_number*/
jpayne@69 24719 0, /*tp_as_sequence*/
jpayne@69 24720 0, /*tp_as_mapping*/
jpayne@69 24721 0, /*tp_hash*/
jpayne@69 24722 0, /*tp_call*/
jpayne@69 24723 0, /*tp_str*/
jpayne@69 24724 0, /*tp_getattro*/
jpayne@69 24725 0, /*tp_setattro*/
jpayne@69 24726 0, /*tp_as_buffer*/
jpayne@69 24727 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
jpayne@69 24728 0, /*tp_doc*/
jpayne@69 24729 0, /*tp_traverse*/
jpayne@69 24730 0, /*tp_clear*/
jpayne@69 24731 0, /*tp_richcompare*/
jpayne@69 24732 0, /*tp_weaklistoffset*/
jpayne@69 24733 0, /*tp_iter*/
jpayne@69 24734 0, /*tp_iternext*/
jpayne@69 24735 0, /*tp_methods*/
jpayne@69 24736 0, /*tp_members*/
jpayne@69 24737 0, /*tp_getset*/
jpayne@69 24738 0, /*tp_base*/
jpayne@69 24739 0, /*tp_dict*/
jpayne@69 24740 0, /*tp_descr_get*/
jpayne@69 24741 0, /*tp_descr_set*/
jpayne@69 24742 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 24743 0, /*tp_dictoffset*/
jpayne@69 24744 #endif
jpayne@69 24745 0, /*tp_init*/
jpayne@69 24746 0, /*tp_alloc*/
jpayne@69 24747 __pyx_tp_new___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v, /*tp_new*/
jpayne@69 24748 0, /*tp_free*/
jpayne@69 24749 0, /*tp_is_gc*/
jpayne@69 24750 0, /*tp_bases*/
jpayne@69 24751 0, /*tp_mro*/
jpayne@69 24752 0, /*tp_cache*/
jpayne@69 24753 0, /*tp_subclasses*/
jpayne@69 24754 0, /*tp_weaklist*/
jpayne@69 24755 0, /*tp_del*/
jpayne@69 24756 0, /*tp_version_tag*/
jpayne@69 24757 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 24758 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24759 0, /*tp_finalize*/
jpayne@69 24760 #else
jpayne@69 24761 NULL, /*tp_finalize*/
jpayne@69 24762 #endif
jpayne@69 24763 #endif
jpayne@69 24764 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 24765 0, /*tp_vectorcall*/
jpayne@69 24766 #endif
jpayne@69 24767 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 24768 0, /*tp_print*/
jpayne@69 24769 #endif
jpayne@69 24770 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 24771 0, /*tp_watched*/
jpayne@69 24772 #endif
jpayne@69 24773 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 24774 0, /*tp_versions_used*/
jpayne@69 24775 #endif
jpayne@69 24776 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 24777 0, /*tp_pypy_flags*/
jpayne@69 24778 #endif
jpayne@69 24779 };
jpayne@69 24780 #endif
jpayne@69 24781
jpayne@69 24782 #if CYTHON_USE_FREELISTS
jpayne@69 24783 static struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v *__pyx_freelist___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v[8];
jpayne@69 24784 static int __pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v = 0;
jpayne@69 24785 #endif
jpayne@69 24786
jpayne@69 24787 static PyObject *__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
jpayne@69 24788 PyObject *o;
jpayne@69 24789 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 24790 allocfunc alloc_func = (allocfunc)PyType_GetSlot(t, Py_tp_alloc);
jpayne@69 24791 o = alloc_func(t, 0);
jpayne@69 24792 #else
jpayne@69 24793 #if CYTHON_USE_FREELISTS
jpayne@69 24794 if (likely((int)(__pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v > 0) & (int)(t->tp_basicsize == sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v)))) {
jpayne@69 24795 o = (PyObject*)__pyx_freelist___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v[--__pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v];
jpayne@69 24796 memset(o, 0, sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v));
jpayne@69 24797 (void) PyObject_INIT(o, t);
jpayne@69 24798 } else
jpayne@69 24799 #endif
jpayne@69 24800 {
jpayne@69 24801 o = (*t->tp_alloc)(t, 0);
jpayne@69 24802 if (unlikely(!o)) return 0;
jpayne@69 24803 }
jpayne@69 24804 #endif
jpayne@69 24805 return o;
jpayne@69 24806 }
jpayne@69 24807
jpayne@69 24808 static void __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(PyObject *o) {
jpayne@69 24809 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24810 if (unlikely((PY_VERSION_HEX >= 0x03080000 || __Pyx_PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)) && __Pyx_PyObject_GetSlot(o, tp_finalize, destructor)) && (!PyType_IS_GC(Py_TYPE(o)) || !__Pyx_PyObject_GC_IsFinalized(o))) {
jpayne@69 24811 if (__Pyx_PyObject_GetSlot(o, tp_dealloc, destructor) == __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v) {
jpayne@69 24812 if (PyObject_CallFinalizerFromDealloc(o)) return;
jpayne@69 24813 }
jpayne@69 24814 }
jpayne@69 24815 #endif
jpayne@69 24816 #if CYTHON_USE_FREELISTS
jpayne@69 24817 if (((int)(__pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v < 8) & (int)(Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v)))) {
jpayne@69 24818 __pyx_freelist___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v[__pyx_freecount___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v++] = ((struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v *)o);
jpayne@69 24819 } else
jpayne@69 24820 #endif
jpayne@69 24821 {
jpayne@69 24822 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 24823 (*Py_TYPE(o)->tp_free)(o);
jpayne@69 24824 #else
jpayne@69 24825 {
jpayne@69 24826 freefunc tp_free = (freefunc)PyType_GetSlot(Py_TYPE(o), Py_tp_free);
jpayne@69 24827 if (tp_free) tp_free(o);
jpayne@69 24828 }
jpayne@69 24829 #endif
jpayne@69 24830 }
jpayne@69 24831 }
jpayne@69 24832 #if CYTHON_USE_TYPE_SPECS
jpayne@69 24833 static PyType_Slot __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_slots[] = {
jpayne@69 24834 {Py_tp_dealloc, (void *)__pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v},
jpayne@69 24835 {Py_tp_new, (void *)__pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v},
jpayne@69 24836 {0, 0},
jpayne@69 24837 };
jpayne@69 24838 static PyType_Spec __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_spec = {
jpayne@69 24839 "pysam.libctabixproxies.__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v",
jpayne@69 24840 sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v),
jpayne@69 24841 0,
jpayne@69 24842 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_FINALIZE,
jpayne@69 24843 __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_slots,
jpayne@69 24844 };
jpayne@69 24845 #else
jpayne@69 24846
jpayne@69 24847 static PyTypeObject __pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v = {
jpayne@69 24848 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 24849 "pysam.libctabixproxies.""__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v", /*tp_name*/
jpayne@69 24850 sizeof(struct __pyx_obj___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v), /*tp_basicsize*/
jpayne@69 24851 0, /*tp_itemsize*/
jpayne@69 24852 __pyx_tp_dealloc___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v, /*tp_dealloc*/
jpayne@69 24853 #if PY_VERSION_HEX < 0x030800b4
jpayne@69 24854 0, /*tp_print*/
jpayne@69 24855 #endif
jpayne@69 24856 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 24857 0, /*tp_vectorcall_offset*/
jpayne@69 24858 #endif
jpayne@69 24859 0, /*tp_getattr*/
jpayne@69 24860 0, /*tp_setattr*/
jpayne@69 24861 #if PY_MAJOR_VERSION < 3
jpayne@69 24862 0, /*tp_compare*/
jpayne@69 24863 #endif
jpayne@69 24864 #if PY_MAJOR_VERSION >= 3
jpayne@69 24865 0, /*tp_as_async*/
jpayne@69 24866 #endif
jpayne@69 24867 0, /*tp_repr*/
jpayne@69 24868 0, /*tp_as_number*/
jpayne@69 24869 0, /*tp_as_sequence*/
jpayne@69 24870 0, /*tp_as_mapping*/
jpayne@69 24871 0, /*tp_hash*/
jpayne@69 24872 0, /*tp_call*/
jpayne@69 24873 0, /*tp_str*/
jpayne@69 24874 0, /*tp_getattro*/
jpayne@69 24875 0, /*tp_setattro*/
jpayne@69 24876 0, /*tp_as_buffer*/
jpayne@69 24877 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_FINALIZE, /*tp_flags*/
jpayne@69 24878 0, /*tp_doc*/
jpayne@69 24879 0, /*tp_traverse*/
jpayne@69 24880 0, /*tp_clear*/
jpayne@69 24881 0, /*tp_richcompare*/
jpayne@69 24882 0, /*tp_weaklistoffset*/
jpayne@69 24883 0, /*tp_iter*/
jpayne@69 24884 0, /*tp_iternext*/
jpayne@69 24885 0, /*tp_methods*/
jpayne@69 24886 0, /*tp_members*/
jpayne@69 24887 0, /*tp_getset*/
jpayne@69 24888 0, /*tp_base*/
jpayne@69 24889 0, /*tp_dict*/
jpayne@69 24890 0, /*tp_descr_get*/
jpayne@69 24891 0, /*tp_descr_set*/
jpayne@69 24892 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 24893 0, /*tp_dictoffset*/
jpayne@69 24894 #endif
jpayne@69 24895 0, /*tp_init*/
jpayne@69 24896 0, /*tp_alloc*/
jpayne@69 24897 __pyx_tp_new___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v, /*tp_new*/
jpayne@69 24898 0, /*tp_free*/
jpayne@69 24899 0, /*tp_is_gc*/
jpayne@69 24900 0, /*tp_bases*/
jpayne@69 24901 0, /*tp_mro*/
jpayne@69 24902 0, /*tp_cache*/
jpayne@69 24903 0, /*tp_subclasses*/
jpayne@69 24904 0, /*tp_weaklist*/
jpayne@69 24905 0, /*tp_del*/
jpayne@69 24906 0, /*tp_version_tag*/
jpayne@69 24907 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 24908 #if CYTHON_USE_TP_FINALIZE
jpayne@69 24909 0, /*tp_finalize*/
jpayne@69 24910 #else
jpayne@69 24911 NULL, /*tp_finalize*/
jpayne@69 24912 #endif
jpayne@69 24913 #endif
jpayne@69 24914 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 24915 0, /*tp_vectorcall*/
jpayne@69 24916 #endif
jpayne@69 24917 #if __PYX_NEED_TP_PRINT_SLOT == 1
jpayne@69 24918 0, /*tp_print*/
jpayne@69 24919 #endif
jpayne@69 24920 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 24921 0, /*tp_watched*/
jpayne@69 24922 #endif
jpayne@69 24923 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 24924 0, /*tp_versions_used*/
jpayne@69 24925 #endif
jpayne@69 24926 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 24927 0, /*tp_pypy_flags*/
jpayne@69 24928 #endif
jpayne@69 24929 };
jpayne@69 24930 #endif
jpayne@69 24931
jpayne@69 24932 static PyMethodDef __pyx_methods[] = {
jpayne@69 24933 {0, 0, 0, 0}
jpayne@69 24934 };
jpayne@69 24935 #ifndef CYTHON_SMALL_CODE
jpayne@69 24936 #if defined(__clang__)
jpayne@69 24937 #define CYTHON_SMALL_CODE
jpayne@69 24938 #elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
jpayne@69 24939 #define CYTHON_SMALL_CODE __attribute__((cold))
jpayne@69 24940 #else
jpayne@69 24941 #define CYTHON_SMALL_CODE
jpayne@69 24942 #endif
jpayne@69 24943 #endif
jpayne@69 24944 /* #### Code section: pystring_table ### */
jpayne@69 24945
jpayne@69 24946 static int __Pyx_CreateStringTabAndInitStrings(void) {
jpayne@69 24947 __Pyx_StringTabEntry __pyx_string_tab[] = {
jpayne@69 24948 {&__pyx_n_s_AssertionError, __pyx_k_AssertionError, sizeof(__pyx_k_AssertionError), 0, 0, 1, 1},
jpayne@69 24949 {&__pyx_n_s_BedProxy, __pyx_k_BedProxy, sizeof(__pyx_k_BedProxy), 0, 0, 1, 1},
jpayne@69 24950 {&__pyx_n_u_BedProxy, __pyx_k_BedProxy, sizeof(__pyx_k_BedProxy), 0, 1, 0, 1},
jpayne@69 24951 {&__pyx_n_s_BedProxy___reduce_cython, __pyx_k_BedProxy___reduce_cython, sizeof(__pyx_k_BedProxy___reduce_cython), 0, 0, 1, 1},
jpayne@69 24952 {&__pyx_n_s_BedProxy___setstate_cython, __pyx_k_BedProxy___setstate_cython, sizeof(__pyx_k_BedProxy___setstate_cython), 0, 0, 1, 1},
jpayne@69 24953 {&__pyx_n_s_BedProxy_getMaxFields, __pyx_k_BedProxy_getMaxFields, sizeof(__pyx_k_BedProxy_getMaxFields), 0, 0, 1, 1},
jpayne@69 24954 {&__pyx_n_s_BedProxy_getMinFields, __pyx_k_BedProxy_getMinFields, sizeof(__pyx_k_BedProxy_getMinFields), 0, 0, 1, 1},
jpayne@69 24955 {&__pyx_n_s_GFF3Proxy, __pyx_k_GFF3Proxy, sizeof(__pyx_k_GFF3Proxy), 0, 0, 1, 1},
jpayne@69 24956 {&__pyx_n_u_GFF3Proxy, __pyx_k_GFF3Proxy, sizeof(__pyx_k_GFF3Proxy), 0, 1, 0, 1},
jpayne@69 24957 {&__pyx_n_s_GFF3Proxy___reduce_cython, __pyx_k_GFF3Proxy___reduce_cython, sizeof(__pyx_k_GFF3Proxy___reduce_cython), 0, 0, 1, 1},
jpayne@69 24958 {&__pyx_n_s_GFF3Proxy___setstate_cython, __pyx_k_GFF3Proxy___setstate_cython, sizeof(__pyx_k_GFF3Proxy___setstate_cython), 0, 0, 1, 1},
jpayne@69 24959 {&__pyx_n_s_GFF3Proxy_attribute_string2itera, __pyx_k_GFF3Proxy_attribute_string2itera, sizeof(__pyx_k_GFF3Proxy_attribute_string2itera), 0, 0, 1, 1},
jpayne@69 24960 {&__pyx_n_s_GFF3Proxy_dict2attribute_string, __pyx_k_GFF3Proxy_dict2attribute_string, sizeof(__pyx_k_GFF3Proxy_dict2attribute_string), 0, 0, 1, 1},
jpayne@69 24961 {&__pyx_n_s_GTFProxy, __pyx_k_GTFProxy, sizeof(__pyx_k_GTFProxy), 0, 0, 1, 1},
jpayne@69 24962 {&__pyx_n_u_GTFProxy, __pyx_k_GTFProxy, sizeof(__pyx_k_GTFProxy), 0, 1, 0, 1},
jpayne@69 24963 {&__pyx_n_s_GTFProxy___reduce_cython, __pyx_k_GTFProxy___reduce_cython, sizeof(__pyx_k_GTFProxy___reduce_cython), 0, 0, 1, 1},
jpayne@69 24964 {&__pyx_n_s_GTFProxy___setstate_cython, __pyx_k_GTFProxy___setstate_cython, sizeof(__pyx_k_GTFProxy___setstate_cython), 0, 0, 1, 1},
jpayne@69 24965 {&__pyx_n_s_GTFProxy_asDict, __pyx_k_GTFProxy_asDict, sizeof(__pyx_k_GTFProxy_asDict), 0, 0, 1, 1},
jpayne@69 24966 {&__pyx_n_s_GTFProxy_as_dict, __pyx_k_GTFProxy_as_dict, sizeof(__pyx_k_GTFProxy_as_dict), 0, 0, 1, 1},
jpayne@69 24967 {&__pyx_n_s_GTFProxy_attribute_string2dict, __pyx_k_GTFProxy_attribute_string2dict, sizeof(__pyx_k_GTFProxy_attribute_string2dict), 0, 0, 1, 1},
jpayne@69 24968 {&__pyx_n_s_GTFProxy_attribute_string2iterat, __pyx_k_GTFProxy_attribute_string2iterat, sizeof(__pyx_k_GTFProxy_attribute_string2iterat), 0, 0, 1, 1},
jpayne@69 24969 {&__pyx_n_s_GTFProxy_dict2attribute_string, __pyx_k_GTFProxy_dict2attribute_string, sizeof(__pyx_k_GTFProxy_dict2attribute_string), 0, 0, 1, 1},
jpayne@69 24970 {&__pyx_n_s_GTFProxy_fromDict, __pyx_k_GTFProxy_fromDict, sizeof(__pyx_k_GTFProxy_fromDict), 0, 0, 1, 1},
jpayne@69 24971 {&__pyx_n_s_GTFProxy_from_dict, __pyx_k_GTFProxy_from_dict, sizeof(__pyx_k_GTFProxy_from_dict), 0, 0, 1, 1},
jpayne@69 24972 {&__pyx_n_s_GTFProxy_getMaxFields, __pyx_k_GTFProxy_getMaxFields, sizeof(__pyx_k_GTFProxy_getMaxFields), 0, 0, 1, 1},
jpayne@69 24973 {&__pyx_n_s_GTFProxy_getMinFields, __pyx_k_GTFProxy_getMinFields, sizeof(__pyx_k_GTFProxy_getMinFields), 0, 0, 1, 1},
jpayne@69 24974 {&__pyx_n_s_GTFProxy_invert, __pyx_k_GTFProxy_invert, sizeof(__pyx_k_GTFProxy_invert), 0, 0, 1, 1},
jpayne@69 24975 {&__pyx_n_s_GTFProxy_keys, __pyx_k_GTFProxy_keys, sizeof(__pyx_k_GTFProxy_keys), 0, 0, 1, 1},
jpayne@69 24976 {&__pyx_n_s_GTFProxy_setAttribute, __pyx_k_GTFProxy_setAttribute, sizeof(__pyx_k_GTFProxy_setAttribute), 0, 0, 1, 1},
jpayne@69 24977 {&__pyx_n_s_GTFProxy_to_dict, __pyx_k_GTFProxy_to_dict, sizeof(__pyx_k_GTFProxy_to_dict), 0, 0, 1, 1},
jpayne@69 24978 {&__pyx_kp_s_Incompatible_checksums_0x_x_vs_0, __pyx_k_Incompatible_checksums_0x_x_vs_0, sizeof(__pyx_k_Incompatible_checksums_0x_x_vs_0), 0, 0, 1, 0},
jpayne@69 24979 {&__pyx_n_s_IndexError, __pyx_k_IndexError, sizeof(__pyx_k_IndexError), 0, 0, 1, 1},
jpayne@69 24980 {&__pyx_n_s_KeyError, __pyx_k_KeyError, sizeof(__pyx_k_KeyError), 0, 0, 1, 1},
jpayne@69 24981 {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1},
jpayne@69 24982 {&__pyx_n_s_NamedTupleProxy, __pyx_k_NamedTupleProxy, sizeof(__pyx_k_NamedTupleProxy), 0, 0, 1, 1},
jpayne@69 24983 {&__pyx_n_u_NamedTupleProxy, __pyx_k_NamedTupleProxy, sizeof(__pyx_k_NamedTupleProxy), 0, 1, 0, 1},
jpayne@69 24984 {&__pyx_n_s_NamedTupleProxy___reduce_cython, __pyx_k_NamedTupleProxy___reduce_cython, sizeof(__pyx_k_NamedTupleProxy___reduce_cython), 0, 0, 1, 1},
jpayne@69 24985 {&__pyx_n_s_NamedTupleProxy___setstate_cytho, __pyx_k_NamedTupleProxy___setstate_cytho, sizeof(__pyx_k_NamedTupleProxy___setstate_cytho), 0, 0, 1, 1},
jpayne@69 24986 {&__pyx_n_s_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 0, 0, 1, 1},
jpayne@69 24987 {&__pyx_n_s_OrderedDict, __pyx_k_OrderedDict, sizeof(__pyx_k_OrderedDict), 0, 0, 1, 1},
jpayne@69 24988 {&__pyx_n_s_PickleError, __pyx_k_PickleError, sizeof(__pyx_k_PickleError), 0, 0, 1, 1},
jpayne@69 24989 {&__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr, __pyx_k_Pyx_CFunc_5pysam_16libctabixpr, sizeof(__pyx_k_Pyx_CFunc_5pysam_16libctabixpr), 0, 0, 1, 1},
jpayne@69 24990 {&__pyx_n_s_Pyx_CFunc_5pysam_16libctabixpr_2, __pyx_k_Pyx_CFunc_5pysam_16libctabixpr_2, sizeof(__pyx_k_Pyx_CFunc_5pysam_16libctabixpr_2), 0, 0, 1, 1},
jpayne@69 24991 {&__pyx_n_s_Pyx_CFunc_e2acea__5pysam_16lib, __pyx_k_Pyx_CFunc_e2acea__5pysam_16lib, sizeof(__pyx_k_Pyx_CFunc_e2acea__5pysam_16lib), 0, 0, 1, 1},
jpayne@69 24992 {&__pyx_n_s_StopIteration, __pyx_k_StopIteration, sizeof(__pyx_k_StopIteration), 0, 0, 1, 1},
jpayne@69 24993 {&__pyx_n_s_TupleProxy, __pyx_k_TupleProxy, sizeof(__pyx_k_TupleProxy), 0, 0, 1, 1},
jpayne@69 24994 {&__pyx_n_u_TupleProxy, __pyx_k_TupleProxy, sizeof(__pyx_k_TupleProxy), 0, 1, 0, 1},
jpayne@69 24995 {&__pyx_n_s_TupleProxyIterator, __pyx_k_TupleProxyIterator, sizeof(__pyx_k_TupleProxyIterator), 0, 0, 1, 1},
jpayne@69 24996 {&__pyx_n_s_TupleProxyIterator___reduce_cyth, __pyx_k_TupleProxyIterator___reduce_cyth, sizeof(__pyx_k_TupleProxyIterator___reduce_cyth), 0, 0, 1, 1},
jpayne@69 24997 {&__pyx_n_s_TupleProxyIterator___setstate_cy, __pyx_k_TupleProxyIterator___setstate_cy, sizeof(__pyx_k_TupleProxyIterator___setstate_cy), 0, 0, 1, 1},
jpayne@69 24998 {&__pyx_n_s_TupleProxy___copy, __pyx_k_TupleProxy___copy, sizeof(__pyx_k_TupleProxy___copy), 0, 0, 1, 1},
jpayne@69 24999 {&__pyx_n_s_TupleProxy___reduce_cython, __pyx_k_TupleProxy___reduce_cython, sizeof(__pyx_k_TupleProxy___reduce_cython), 0, 0, 1, 1},
jpayne@69 25000 {&__pyx_n_s_TupleProxy___setstate_cython, __pyx_k_TupleProxy___setstate_cython, sizeof(__pyx_k_TupleProxy___setstate_cython), 0, 0, 1, 1},
jpayne@69 25001 {&__pyx_n_s_TupleProxy__getindex, __pyx_k_TupleProxy__getindex, sizeof(__pyx_k_TupleProxy__getindex), 0, 0, 1, 1},
jpayne@69 25002 {&__pyx_n_s_TupleProxy__setindex, __pyx_k_TupleProxy__setindex, sizeof(__pyx_k_TupleProxy__setindex), 0, 0, 1, 1},
jpayne@69 25003 {&__pyx_n_s_TupleProxy_compare, __pyx_k_TupleProxy_compare, sizeof(__pyx_k_TupleProxy_compare), 0, 0, 1, 1},
jpayne@69 25004 {&__pyx_n_s_TupleProxy_getMaxFields, __pyx_k_TupleProxy_getMaxFields, sizeof(__pyx_k_TupleProxy_getMaxFields), 0, 0, 1, 1},
jpayne@69 25005 {&__pyx_n_s_TupleProxy_getMinFields, __pyx_k_TupleProxy_getMinFields, sizeof(__pyx_k_TupleProxy_getMinFields), 0, 0, 1, 1},
jpayne@69 25006 {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
jpayne@69 25007 {&__pyx_n_s_VCFProxy, __pyx_k_VCFProxy, sizeof(__pyx_k_VCFProxy), 0, 0, 1, 1},
jpayne@69 25008 {&__pyx_n_u_VCFProxy, __pyx_k_VCFProxy, sizeof(__pyx_k_VCFProxy), 0, 1, 0, 1},
jpayne@69 25009 {&__pyx_n_s_VCFProxy___reduce_cython, __pyx_k_VCFProxy___reduce_cython, sizeof(__pyx_k_VCFProxy___reduce_cython), 0, 0, 1, 1},
jpayne@69 25010 {&__pyx_n_s_VCFProxy___setstate_cython, __pyx_k_VCFProxy___setstate_cython, sizeof(__pyx_k_VCFProxy___setstate_cython), 0, 0, 1, 1},
jpayne@69 25011 {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
jpayne@69 25012 {&__pyx_kp_u__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 1, 0, 0},
jpayne@69 25013 {&__pyx_kp_b__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 0, 0, 0},
jpayne@69 25014 {&__pyx_kp_u__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 1, 0, 0},
jpayne@69 25015 {&__pyx_kp_u__13, __pyx_k__13, sizeof(__pyx_k__13), 0, 1, 0, 0},
jpayne@69 25016 {&__pyx_kp_u__14, __pyx_k__14, sizeof(__pyx_k__14), 0, 1, 0, 0},
jpayne@69 25017 {&__pyx_kp_u__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 1, 0, 0},
jpayne@69 25018 {&__pyx_kp_u__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 1, 0, 0},
jpayne@69 25019 {&__pyx_kp_u__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 1, 0, 0},
jpayne@69 25020 {&__pyx_kp_u__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 1, 0, 0},
jpayne@69 25021 {&__pyx_kp_u__21, __pyx_k__21, sizeof(__pyx_k__21), 0, 1, 0, 0},
jpayne@69 25022 {&__pyx_kp_u__23, __pyx_k__23, sizeof(__pyx_k__23), 0, 1, 0, 0},
jpayne@69 25023 {&__pyx_kp_u__26, __pyx_k__26, sizeof(__pyx_k__26), 0, 1, 0, 0},
jpayne@69 25024 {&__pyx_kp_u__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 1, 0, 0},
jpayne@69 25025 {&__pyx_n_s__32, __pyx_k__32, sizeof(__pyx_k__32), 0, 0, 1, 1},
jpayne@69 25026 {&__pyx_n_s__88, __pyx_k__88, sizeof(__pyx_k__88), 0, 0, 1, 1},
jpayne@69 25027 {&__pyx_n_s_aa, __pyx_k_aa, sizeof(__pyx_k_aa), 0, 0, 1, 1},
jpayne@69 25028 {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1},
jpayne@69 25029 {&__pyx_n_u_alt, __pyx_k_alt, sizeof(__pyx_k_alt), 0, 1, 0, 1},
jpayne@69 25030 {&__pyx_n_s_append, __pyx_k_append, sizeof(__pyx_k_append), 0, 0, 1, 1},
jpayne@69 25031 {&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
jpayne@69 25032 {&__pyx_n_s_asDict, __pyx_k_asDict, sizeof(__pyx_k_asDict), 0, 0, 1, 1},
jpayne@69 25033 {&__pyx_n_s_as_dict, __pyx_k_as_dict, sizeof(__pyx_k_as_dict), 0, 0, 1, 1},
jpayne@69 25034 {&__pyx_n_u_ascii, __pyx_k_ascii, sizeof(__pyx_k_ascii), 0, 1, 0, 1},
jpayne@69 25035 {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1},
jpayne@69 25036 {&__pyx_n_s_attribute_dict2string, __pyx_k_attribute_dict2string, sizeof(__pyx_k_attribute_dict2string), 0, 0, 1, 1},
jpayne@69 25037 {&__pyx_n_s_attribute_string, __pyx_k_attribute_string, sizeof(__pyx_k_attribute_string), 0, 0, 1, 1},
jpayne@69 25038 {&__pyx_n_s_attribute_string2dict, __pyx_k_attribute_string2dict, sizeof(__pyx_k_attribute_string2dict), 0, 0, 1, 1},
jpayne@69 25039 {&__pyx_n_s_attribute_string2iterator, __pyx_k_attribute_string2iterator, sizeof(__pyx_k_attribute_string2iterator), 0, 0, 1, 1},
jpayne@69 25040 {&__pyx_n_s_attribute_string2iterator_locals, __pyx_k_attribute_string2iterator_locals, sizeof(__pyx_k_attribute_string2iterator_locals), 0, 0, 1, 1},
jpayne@69 25041 {&__pyx_n_s_attributes, __pyx_k_attributes, sizeof(__pyx_k_attributes), 0, 0, 1, 1},
jpayne@69 25042 {&__pyx_n_u_attributes, __pyx_k_attributes, sizeof(__pyx_k_attributes), 0, 1, 0, 1},
jpayne@69 25043 {&__pyx_kp_u_bed_format_requires_at_least_thr, __pyx_k_bed_format_requires_at_least_thr, sizeof(__pyx_k_bed_format_requires_at_least_thr), 0, 1, 0, 0},
jpayne@69 25044 {&__pyx_n_u_blockCount, __pyx_k_blockCount, sizeof(__pyx_k_blockCount), 0, 1, 0, 1},
jpayne@69 25045 {&__pyx_n_u_blockSizes, __pyx_k_blockSizes, sizeof(__pyx_k_blockSizes), 0, 1, 0, 1},
jpayne@69 25046 {&__pyx_n_u_blockStarts, __pyx_k_blockStarts, sizeof(__pyx_k_blockStarts), 0, 1, 0, 1},
jpayne@69 25047 {&__pyx_n_s_cfunc_to_py, __pyx_k_cfunc_to_py, sizeof(__pyx_k_cfunc_to_py), 0, 0, 1, 1},
jpayne@69 25048 {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1},
jpayne@69 25049 {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
jpayne@69 25050 {&__pyx_n_s_close, __pyx_k_close, sizeof(__pyx_k_close), 0, 0, 1, 1},
jpayne@69 25051 {&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1},
jpayne@69 25052 {&__pyx_n_s_compare, __pyx_k_compare, sizeof(__pyx_k_compare), 0, 0, 1, 1},
jpayne@69 25053 {&__pyx_kp_u_comparison_of_modified_TupleProx, __pyx_k_comparison_of_modified_TupleProx, sizeof(__pyx_k_comparison_of_modified_TupleProx), 0, 1, 0, 0},
jpayne@69 25054 {&__pyx_n_s_contig, __pyx_k_contig, sizeof(__pyx_k_contig), 0, 0, 1, 1},
jpayne@69 25055 {&__pyx_n_u_contig, __pyx_k_contig, sizeof(__pyx_k_contig), 0, 1, 0, 1},
jpayne@69 25056 {&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1},
jpayne@69 25057 {&__pyx_n_s_copy_2, __pyx_k_copy_2, sizeof(__pyx_k_copy_2), 0, 0, 1, 1},
jpayne@69 25058 {&__pyx_kp_u_copying_modified_tuples_is_not_i, __pyx_k_copying_modified_tuples_is_not_i, sizeof(__pyx_k_copying_modified_tuples_is_not_i), 0, 1, 0, 0},
jpayne@69 25059 {&__pyx_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
jpayne@69 25060 {&__pyx_n_s_decode, __pyx_k_decode, sizeof(__pyx_k_decode), 0, 0, 1, 1},
jpayne@69 25061 {&__pyx_n_s_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 0, 1, 1},
jpayne@69 25062 {&__pyx_n_s_dict2attribute_string, __pyx_k_dict2attribute_string, sizeof(__pyx_k_dict2attribute_string), 0, 0, 1, 1},
jpayne@69 25063 {&__pyx_n_s_dict_2, __pyx_k_dict_2, sizeof(__pyx_k_dict_2), 0, 0, 1, 1},
jpayne@69 25064 {&__pyx_kp_u_disable, __pyx_k_disable, sizeof(__pyx_k_disable), 0, 1, 0, 0},
jpayne@69 25065 {&__pyx_kp_u_enable, __pyx_k_enable, sizeof(__pyx_k_enable), 0, 1, 0, 0},
jpayne@69 25066 {&__pyx_n_s_encoding, __pyx_k_encoding, sizeof(__pyx_k_encoding), 0, 0, 1, 1},
jpayne@69 25067 {&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
jpayne@69 25068 {&__pyx_n_u_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 1, 0, 1},
jpayne@69 25069 {&__pyx_n_s_endswith, __pyx_k_endswith, sizeof(__pyx_k_endswith), 0, 0, 1, 1},
jpayne@69 25070 {&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
jpayne@69 25071 {&__pyx_n_s_feature, __pyx_k_feature, sizeof(__pyx_k_feature), 0, 0, 1, 1},
jpayne@69 25072 {&__pyx_n_u_feature, __pyx_k_feature, sizeof(__pyx_k_feature), 0, 1, 0, 1},
jpayne@69 25073 {&__pyx_kp_u_field_s_not_set, __pyx_k_field_s_not_set, sizeof(__pyx_k_field_s_not_set), 0, 1, 0, 0},
jpayne@69 25074 {&__pyx_n_s_fields, __pyx_k_fields, sizeof(__pyx_k_fields), 0, 0, 1, 1},
jpayne@69 25075 {&__pyx_n_u_filter, __pyx_k_filter, sizeof(__pyx_k_filter), 0, 1, 0, 1},
jpayne@69 25076 {&__pyx_n_s_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 0, 1, 1},
jpayne@69 25077 {&__pyx_n_u_format, __pyx_k_format, sizeof(__pyx_k_format), 0, 1, 0, 1},
jpayne@69 25078 {&__pyx_n_s_frame, __pyx_k_frame, sizeof(__pyx_k_frame), 0, 0, 1, 1},
jpayne@69 25079 {&__pyx_n_u_frame, __pyx_k_frame, sizeof(__pyx_k_frame), 0, 1, 0, 1},
jpayne@69 25080 {&__pyx_n_s_fromDict, __pyx_k_fromDict, sizeof(__pyx_k_fromDict), 0, 0, 1, 1},
jpayne@69 25081 {&__pyx_n_s_from_dict, __pyx_k_from_dict, sizeof(__pyx_k_from_dict), 0, 0, 1, 1},
jpayne@69 25082 {&__pyx_kp_u_gc, __pyx_k_gc, sizeof(__pyx_k_gc), 0, 1, 0, 0},
jpayne@69 25083 {&__pyx_n_s_genexpr, __pyx_k_genexpr, sizeof(__pyx_k_genexpr), 0, 0, 1, 1},
jpayne@69 25084 {&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
jpayne@69 25085 {&__pyx_n_s_getMaxFields, __pyx_k_getMaxFields, sizeof(__pyx_k_getMaxFields), 0, 0, 1, 1},
jpayne@69 25086 {&__pyx_n_s_getMinFields, __pyx_k_getMinFields, sizeof(__pyx_k_getMinFields), 0, 0, 1, 1},
jpayne@69 25087 {&__pyx_n_s_getattr, __pyx_k_getattr, sizeof(__pyx_k_getattr), 0, 0, 1, 1},
jpayne@69 25088 {&__pyx_n_s_getindex, __pyx_k_getindex, sizeof(__pyx_k_getindex), 0, 0, 1, 1},
jpayne@69 25089 {&__pyx_n_s_getstate, __pyx_k_getstate, sizeof(__pyx_k_getstate), 0, 0, 1, 1},
jpayne@69 25090 {&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
jpayne@69 25091 {&__pyx_n_u_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 1, 0, 1},
jpayne@69 25092 {&__pyx_n_s_idx, __pyx_k_idx, sizeof(__pyx_k_idx), 0, 0, 1, 1},
jpayne@69 25093 {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
jpayne@69 25094 {&__pyx_kp_u_incomplete_line_at_s, __pyx_k_incomplete_line_at_s, sizeof(__pyx_k_incomplete_line_at_s), 0, 1, 0, 0},
jpayne@69 25095 {&__pyx_n_s_index, __pyx_k_index, sizeof(__pyx_k_index), 0, 0, 1, 1},
jpayne@69 25096 {&__pyx_n_s_indices, __pyx_k_indices, sizeof(__pyx_k_indices), 0, 0, 1, 1},
jpayne@69 25097 {&__pyx_n_u_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 1, 0, 1},
jpayne@69 25098 {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1},
jpayne@69 25099 {&__pyx_n_s_invert, __pyx_k_invert, sizeof(__pyx_k_invert), 0, 0, 1, 1},
jpayne@69 25100 {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1},
jpayne@69 25101 {&__pyx_kp_u_isenabled, __pyx_k_isenabled, sizeof(__pyx_k_isenabled), 0, 1, 0, 0},
jpayne@69 25102 {&__pyx_n_u_itemRGB, __pyx_k_itemRGB, sizeof(__pyx_k_itemRGB), 0, 1, 0, 1},
jpayne@69 25103 {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1},
jpayne@69 25104 {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
jpayne@69 25105 {&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
jpayne@69 25106 {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
jpayne@69 25107 {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1},
jpayne@69 25108 {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
jpayne@69 25109 {&__pyx_n_s_lcontig, __pyx_k_lcontig, sizeof(__pyx_k_lcontig), 0, 0, 1, 1},
jpayne@69 25110 {&__pyx_kp_u_length_of_buffer_i_number_of_byt, __pyx_k_length_of_buffer_i_number_of_byt, sizeof(__pyx_k_length_of_buffer_i_number_of_byt), 0, 1, 0, 0},
jpayne@69 25111 {&__pyx_kp_u_list_index_out_of_range, __pyx_k_list_index_out_of_range, sizeof(__pyx_k_list_index_out_of_range), 0, 1, 0, 0},
jpayne@69 25112 {&__pyx_kp_u_list_index_out_of_range_i_i, __pyx_k_list_index_out_of_range_i_i, sizeof(__pyx_k_list_index_out_of_range_i_i), 0, 1, 0, 0},
jpayne@69 25113 {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
jpayne@69 25114 {&__pyx_n_s_map_key2field, __pyx_k_map_key2field, sizeof(__pyx_k_map_key2field), 0, 0, 1, 1},
jpayne@69 25115 {&__pyx_n_s_n, __pyx_k_n, sizeof(__pyx_k_n), 0, 0, 1, 1},
jpayne@69 25116 {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
jpayne@69 25117 {&__pyx_n_u_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 1, 0, 1},
jpayne@69 25118 {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
jpayne@69 25119 {&__pyx_n_s_new, __pyx_k_new, sizeof(__pyx_k_new), 0, 0, 1, 1},
jpayne@69 25120 {&__pyx_kp_s_no_default___reduce___due_to_non, __pyx_k_no_default___reduce___due_to_non, sizeof(__pyx_k_no_default___reduce___due_to_non), 0, 0, 1, 0},
jpayne@69 25121 {&__pyx_kp_u_op_0_isn_t_implemented_yet, __pyx_k_op_0_isn_t_implemented_yet, sizeof(__pyx_k_op_0_isn_t_implemented_yet), 0, 1, 0, 0},
jpayne@69 25122 {&__pyx_n_s_other, __pyx_k_other, sizeof(__pyx_k_other), 0, 0, 1, 1},
jpayne@69 25123 {&__pyx_kp_u_out_of_memory, __pyx_k_out_of_memory, sizeof(__pyx_k_out_of_memory), 0, 1, 0, 0},
jpayne@69 25124 {&__pyx_kp_u_out_of_memory_in_TupleProxy_copy, __pyx_k_out_of_memory_in_TupleProxy_copy, sizeof(__pyx_k_out_of_memory_in_TupleProxy_copy), 0, 1, 0, 0},
jpayne@69 25125 {&__pyx_kp_u_out_of_memory_in_TupleProxy_upda, __pyx_k_out_of_memory_in_TupleProxy_upda, sizeof(__pyx_k_out_of_memory_in_TupleProxy_upda), 0, 1, 0, 0},
jpayne@69 25126 {&__pyx_kp_u_parsing_error_fewer_than_i_field, __pyx_k_parsing_error_fewer_than_i_field, sizeof(__pyx_k_parsing_error_fewer_than_i_field), 0, 1, 0, 0},
jpayne@69 25127 {&__pyx_kp_u_parsing_error_more_than_i_fields, __pyx_k_parsing_error_more_than_i_fields, sizeof(__pyx_k_parsing_error_more_than_i_fields), 0, 1, 0, 0},
jpayne@69 25128 {&__pyx_n_s_pickle, __pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 0, 1, 1},
jpayne@69 25129 {&__pyx_n_u_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 1, 0, 1},
jpayne@69 25130 {&__pyx_n_s_proxy, __pyx_k_proxy, sizeof(__pyx_k_proxy), 0, 0, 1, 1},
jpayne@69 25131 {&__pyx_n_s_pysam_libctabixproxies, __pyx_k_pysam_libctabixproxies, sizeof(__pyx_k_pysam_libctabixproxies), 0, 0, 1, 1},
jpayne@69 25132 {&__pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_k_pysam_libctabixproxies_pyx, sizeof(__pyx_k_pysam_libctabixproxies_pyx), 0, 0, 1, 0},
jpayne@69 25133 {&__pyx_n_s_pyx_PickleError, __pyx_k_pyx_PickleError, sizeof(__pyx_k_pyx_PickleError), 0, 0, 1, 1},
jpayne@69 25134 {&__pyx_n_s_pyx_checksum, __pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 0, 1, 1},
jpayne@69 25135 {&__pyx_n_s_pyx_result, __pyx_k_pyx_result, sizeof(__pyx_k_pyx_result), 0, 0, 1, 1},
jpayne@69 25136 {&__pyx_n_s_pyx_state, __pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 0, 1, 1},
jpayne@69 25137 {&__pyx_n_s_pyx_type, __pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 0, 1, 1},
jpayne@69 25138 {&__pyx_n_s_pyx_unpickle_TupleProxyIterato, __pyx_k_pyx_unpickle_TupleProxyIterato, sizeof(__pyx_k_pyx_unpickle_TupleProxyIterato), 0, 0, 1, 1},
jpayne@69 25139 {&__pyx_n_s_pyx_vtable, __pyx_k_pyx_vtable, sizeof(__pyx_k_pyx_vtable), 0, 0, 1, 1},
jpayne@69 25140 {&__pyx_n_u_qual, __pyx_k_qual, sizeof(__pyx_k_qual), 0, 1, 0, 1},
jpayne@69 25141 {&__pyx_n_s_quote, __pyx_k_quote, sizeof(__pyx_k_quote), 0, 0, 1, 1},
jpayne@69 25142 {&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
jpayne@69 25143 {&__pyx_n_s_reduce, __pyx_k_reduce, sizeof(__pyx_k_reduce), 0, 0, 1, 1},
jpayne@69 25144 {&__pyx_n_s_reduce_cython, __pyx_k_reduce_cython, sizeof(__pyx_k_reduce_cython), 0, 0, 1, 1},
jpayne@69 25145 {&__pyx_n_s_reduce_ex, __pyx_k_reduce_ex, sizeof(__pyx_k_reduce_ex), 0, 0, 1, 1},
jpayne@69 25146 {&__pyx_n_u_ref, __pyx_k_ref, sizeof(__pyx_k_ref), 0, 1, 0, 1},
jpayne@69 25147 {&__pyx_kp_u_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 1, 0, 0},
jpayne@69 25148 {&__pyx_n_s_s_2, __pyx_k_s_2, sizeof(__pyx_k_s_2), 0, 0, 1, 1},
jpayne@69 25149 {&__pyx_n_s_score, __pyx_k_score, sizeof(__pyx_k_score), 0, 0, 1, 1},
jpayne@69 25150 {&__pyx_n_u_score, __pyx_k_score, sizeof(__pyx_k_score), 0, 1, 0, 1},
jpayne@69 25151 {&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
jpayne@69 25152 {&__pyx_n_s_send, __pyx_k_send, sizeof(__pyx_k_send), 0, 0, 1, 1},
jpayne@69 25153 {&__pyx_n_s_separator, __pyx_k_separator, sizeof(__pyx_k_separator), 0, 0, 1, 1},
jpayne@69 25154 {&__pyx_n_s_setAttribute, __pyx_k_setAttribute, sizeof(__pyx_k_setAttribute), 0, 0, 1, 1},
jpayne@69 25155 {&__pyx_n_s_setindex, __pyx_k_setindex, sizeof(__pyx_k_setindex), 0, 0, 1, 1},
jpayne@69 25156 {&__pyx_n_s_setitem, __pyx_k_setitem, sizeof(__pyx_k_setitem), 0, 0, 1, 1},
jpayne@69 25157 {&__pyx_n_s_setstate, __pyx_k_setstate, sizeof(__pyx_k_setstate), 0, 0, 1, 1},
jpayne@69 25158 {&__pyx_n_s_setstate_cython, __pyx_k_setstate_cython, sizeof(__pyx_k_setstate_cython), 0, 0, 1, 1},
jpayne@69 25159 {&__pyx_n_s_source, __pyx_k_source, sizeof(__pyx_k_source), 0, 0, 1, 1},
jpayne@69 25160 {&__pyx_n_u_source, __pyx_k_source, sizeof(__pyx_k_source), 0, 1, 0, 1},
jpayne@69 25161 {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1},
jpayne@69 25162 {&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1},
jpayne@69 25163 {&__pyx_n_s_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 0, 1, 1},
jpayne@69 25164 {&__pyx_n_u_start, __pyx_k_start, sizeof(__pyx_k_start), 0, 1, 0, 1},
jpayne@69 25165 {&__pyx_n_s_state, __pyx_k_state, sizeof(__pyx_k_state), 0, 0, 1, 1},
jpayne@69 25166 {&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1},
jpayne@69 25167 {&__pyx_n_s_strand, __pyx_k_strand, sizeof(__pyx_k_strand), 0, 0, 1, 1},
jpayne@69 25168 {&__pyx_n_u_strand, __pyx_k_strand, sizeof(__pyx_k_strand), 0, 1, 0, 1},
jpayne@69 25169 {&__pyx_kp_s_stringsource, __pyx_k_stringsource, sizeof(__pyx_k_stringsource), 0, 0, 1, 0},
jpayne@69 25170 {&__pyx_n_s_strip, __pyx_k_strip, sizeof(__pyx_k_strip), 0, 0, 1, 1},
jpayne@69 25171 {&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
jpayne@69 25172 {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
jpayne@69 25173 {&__pyx_n_u_thickEnd, __pyx_k_thickEnd, sizeof(__pyx_k_thickEnd), 0, 1, 0, 1},
jpayne@69 25174 {&__pyx_n_u_thickStart, __pyx_k_thickStart, sizeof(__pyx_k_thickStart), 0, 1, 0, 1},
jpayne@69 25175 {&__pyx_n_s_throw, __pyx_k_throw, sizeof(__pyx_k_throw), 0, 0, 1, 1},
jpayne@69 25176 {&__pyx_n_s_tmp, __pyx_k_tmp, sizeof(__pyx_k_tmp), 0, 0, 1, 1},
jpayne@69 25177 {&__pyx_n_s_toDot, __pyx_k_toDot, sizeof(__pyx_k_toDot), 0, 0, 1, 1},
jpayne@69 25178 {&__pyx_n_s_to_dict, __pyx_k_to_dict, sizeof(__pyx_k_to_dict), 0, 0, 1, 1},
jpayne@69 25179 {&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
jpayne@69 25180 {&__pyx_n_s_use_setstate, __pyx_k_use_setstate, sizeof(__pyx_k_use_setstate), 0, 0, 1, 1},
jpayne@69 25181 {&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
jpayne@69 25182 {&__pyx_n_s_value, __pyx_k_value, sizeof(__pyx_k_value), 0, 0, 1, 1},
jpayne@69 25183 {&__pyx_n_s_wrap, __pyx_k_wrap, sizeof(__pyx_k_wrap), 0, 0, 1, 1},
jpayne@69 25184 {&__pyx_n_s_x, __pyx_k_x, sizeof(__pyx_k_x), 0, 0, 1, 1},
jpayne@69 25185 {&__pyx_n_s_xrange, __pyx_k_xrange, sizeof(__pyx_k_xrange), 0, 0, 1, 1},
jpayne@69 25186 {0, 0, 0, 0, 0, 0, 0}
jpayne@69 25187 };
jpayne@69 25188 return __Pyx_InitStrings(__pyx_string_tab);
jpayne@69 25189 }
jpayne@69 25190 /* #### Code section: cached_builtins ### */
jpayne@69 25191 static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
jpayne@69 25192 __pyx_builtin_NotImplementedError = __Pyx_GetBuiltinName(__pyx_n_s_NotImplementedError); if (!__pyx_builtin_NotImplementedError) __PYX_ERR(0, 67, __pyx_L1_error)
jpayne@69 25193 __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 126, __pyx_L1_error)
jpayne@69 25194 __pyx_builtin_AssertionError = __Pyx_GetBuiltinName(__pyx_n_s_AssertionError); if (!__pyx_builtin_AssertionError) __PYX_ERR(0, 168, __pyx_L1_error)
jpayne@69 25195 __pyx_builtin_IndexError = __Pyx_GetBuiltinName(__pyx_n_s_IndexError); if (!__pyx_builtin_IndexError) __PYX_ERR(0, 245, __pyx_L1_error)
jpayne@69 25196 __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 261, __pyx_L1_error)
jpayne@69 25197 #if PY_MAJOR_VERSION >= 3
jpayne@69 25198 __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_xrange) __PYX_ERR(0, 312, __pyx_L1_error)
jpayne@69 25199 #else
jpayne@69 25200 __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s_xrange); if (!__pyx_builtin_xrange) __PYX_ERR(0, 312, __pyx_L1_error)
jpayne@69 25201 #endif
jpayne@69 25202 __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error)
jpayne@69 25203 __pyx_builtin_StopIteration = __Pyx_GetBuiltinName(__pyx_n_s_StopIteration); if (!__pyx_builtin_StopIteration) __PYX_ERR(0, 339, __pyx_L1_error)
jpayne@69 25204 __pyx_builtin_KeyError = __Pyx_GetBuiltinName(__pyx_n_s_KeyError); if (!__pyx_builtin_KeyError) __PYX_ERR(0, 369, __pyx_L1_error)
jpayne@69 25205 __pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 497, __pyx_L1_error)
jpayne@69 25206 __pyx_builtin_MemoryError = __Pyx_GetBuiltinName(__pyx_n_s_MemoryError); if (!__pyx_builtin_MemoryError) __PYX_ERR(3, 120, __pyx_L1_error)
jpayne@69 25207 return 0;
jpayne@69 25208 __pyx_L1_error:;
jpayne@69 25209 return -1;
jpayne@69 25210 }
jpayne@69 25211 /* #### Code section: cached_constants ### */
jpayne@69 25212
jpayne@69 25213 static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
jpayne@69 25214 __Pyx_RefNannyDeclarations
jpayne@69 25215 __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
jpayne@69 25216
jpayne@69 25217 /* "cfunc.to_py":67
jpayne@69 25218 * @cname("__Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v")
jpayne@69 25219 * cdef object __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(object (*f)(object) ):
jpayne@69 25220 * def wrap(object v): # <<<<<<<<<<<<<<
jpayne@69 25221 * """wrap(v)"""
jpayne@69 25222 * return f(v)
jpayne@69 25223 */
jpayne@69 25224 __pyx_tuple_ = PyTuple_Pack(1, __pyx_n_s_v); if (unlikely(!__pyx_tuple_)) __PYX_ERR(1, 67, __pyx_L1_error)
jpayne@69 25225 __Pyx_GOTREF(__pyx_tuple_);
jpayne@69 25226 __Pyx_GIVEREF(__pyx_tuple_);
jpayne@69 25227 __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple_, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 67, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(1, 67, __pyx_L1_error)
jpayne@69 25228 __pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple_, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 67, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(1, 67, __pyx_L1_error)
jpayne@69 25229 __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple_, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_wrap, 67, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(1, 67, __pyx_L1_error)
jpayne@69 25230
jpayne@69 25231 /* "pysam/libctabixproxies.pyx":67
jpayne@69 25232 * def __copy__(self):
jpayne@69 25233 * if self.is_modified:
jpayne@69 25234 * raise NotImplementedError( # <<<<<<<<<<<<<<
jpayne@69 25235 * "copying modified tuples is not implemented")
jpayne@69 25236 * cdef TupleProxy n = type(self)()
jpayne@69 25237 */
jpayne@69 25238 __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_copying_modified_tuples_is_not_i); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 67, __pyx_L1_error)
jpayne@69 25239 __Pyx_GOTREF(__pyx_tuple__5);
jpayne@69 25240 __Pyx_GIVEREF(__pyx_tuple__5);
jpayne@69 25241
jpayne@69 25242 /* "pysam/libctabixproxies.pyx":79
jpayne@69 25243 * '''
jpayne@69 25244 * if self.is_modified or other.is_modified:
jpayne@69 25245 * raise NotImplementedError( # <<<<<<<<<<<<<<
jpayne@69 25246 * 'comparison of modified TupleProxies is not implemented')
jpayne@69 25247 * if self.data == other.data:
jpayne@69 25248 */
jpayne@69 25249 __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_comparison_of_modified_TupleProx); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 79, __pyx_L1_error)
jpayne@69 25250 __Pyx_GOTREF(__pyx_tuple__6);
jpayne@69 25251 __Pyx_GIVEREF(__pyx_tuple__6);
jpayne@69 25252
jpayne@69 25253 /* "pysam/libctabixproxies.pyx":126
jpayne@69 25254 * self.data = <char*>malloc(s)
jpayne@69 25255 * if self.data == NULL:
jpayne@69 25256 * raise ValueError("out of memory in TupleProxy.copy()") # <<<<<<<<<<<<<<
jpayne@69 25257 * memcpy(<char*>self.data, buffer, s)
jpayne@69 25258 *
jpayne@69 25259 */
jpayne@69 25260 __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_out_of_memory_in_TupleProxy_copy); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 126, __pyx_L1_error)
jpayne@69 25261 __Pyx_GOTREF(__pyx_tuple__7);
jpayne@69 25262 __Pyx_GIVEREF(__pyx_tuple__7);
jpayne@69 25263
jpayne@69 25264 /* "pysam/libctabixproxies.pyx":207
jpayne@69 25265 * self.fields = <char **>calloc(max_fields, sizeof(char *))
jpayne@69 25266 * if self.fields == NULL:
jpayne@69 25267 * raise ValueError("out of memory in TupleProxy.update()") # <<<<<<<<<<<<<<
jpayne@69 25268 *
jpayne@69 25269 * #################################
jpayne@69 25270 */
jpayne@69 25271 __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_u_out_of_memory_in_TupleProxy_upda); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 207, __pyx_L1_error)
jpayne@69 25272 __Pyx_GOTREF(__pyx_tuple__8);
jpayne@69 25273 __Pyx_GIVEREF(__pyx_tuple__8);
jpayne@69 25274
jpayne@69 25275 /* "pysam/libctabixproxies.pyx":245
jpayne@69 25276 * i += self.nfields
jpayne@69 25277 * if i < 0:
jpayne@69 25278 * raise IndexError("list index out of range") # <<<<<<<<<<<<<<
jpayne@69 25279 * # apply offset - separating a fixed number
jpayne@69 25280 * # of fields from a variable number such as in VCF
jpayne@69 25281 */
jpayne@69 25282 __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_u_list_index_out_of_range); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 245, __pyx_L1_error)
jpayne@69 25283 __Pyx_GOTREF(__pyx_tuple__9);
jpayne@69 25284 __Pyx_GIVEREF(__pyx_tuple__9);
jpayne@69 25285
jpayne@69 25286 /* "pysam/libctabixproxies.pyx":287
jpayne@69 25287 * self.fields[idx] = <char*>malloc((strlen( tmp ) + 1) * sizeof(char))
jpayne@69 25288 * if self.fields[idx] == NULL:
jpayne@69 25289 * raise ValueError("out of memory" ) # <<<<<<<<<<<<<<
jpayne@69 25290 * strcpy(self.fields[idx], tmp)
jpayne@69 25291 *
jpayne@69 25292 */
jpayne@69 25293 __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_u_out_of_memory); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 287, __pyx_L1_error)
jpayne@69 25294 __Pyx_GOTREF(__pyx_tuple__10);
jpayne@69 25295 __Pyx_GIVEREF(__pyx_tuple__10);
jpayne@69 25296
jpayne@69 25297 /* "pysam/libctabixproxies.pyx":587
jpayne@69 25298 * # strip semicolon (GTF files without a space after the last semicolon)
jpayne@69 25299 * if f.endswith(";"):
jpayne@69 25300 * f = f[:-1] # <<<<<<<<<<<<<<
jpayne@69 25301 *
jpayne@69 25302 * # split at most once in order to avoid separating
jpayne@69 25303 */
jpayne@69 25304 __pyx_slice__20 = PySlice_New(Py_None, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__20)) __PYX_ERR(0, 587, __pyx_L1_error)
jpayne@69 25305 __Pyx_GOTREF(__pyx_slice__20);
jpayne@69 25306 __Pyx_GIVEREF(__pyx_slice__20);
jpayne@69 25307
jpayne@69 25308 /* "pysam/libctabixproxies.pyx":591
jpayne@69 25309 * # split at most once in order to avoid separating
jpayne@69 25310 * # multi-word values
jpayne@69 25311 * d = [x.strip() for x in f.split(" ", 1)] # <<<<<<<<<<<<<<
jpayne@69 25312 *
jpayne@69 25313 * n, v = d[0], d[1]
jpayne@69 25314 */
jpayne@69 25315 __pyx_tuple__22 = PyTuple_Pack(2, __pyx_kp_u__21, __pyx_int_1); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 591, __pyx_L1_error)
jpayne@69 25316 __Pyx_GOTREF(__pyx_tuple__22);
jpayne@69 25317 __Pyx_GIVEREF(__pyx_tuple__22);
jpayne@69 25318
jpayne@69 25319 /* "pysam/libctabixproxies.pyx":598
jpayne@69 25320 *
jpayne@69 25321 * if v[0] == '"' and v[-1] == '"':
jpayne@69 25322 * v = v[1:-1] # <<<<<<<<<<<<<<
jpayne@69 25323 * else:
jpayne@69 25324 * ## try to convert to a value
jpayne@69 25325 */
jpayne@69 25326 __pyx_slice__24 = PySlice_New(__pyx_int_1, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__24)) __PYX_ERR(0, 598, __pyx_L1_error)
jpayne@69 25327 __Pyx_GOTREF(__pyx_slice__24);
jpayne@69 25328 __Pyx_GIVEREF(__pyx_slice__24);
jpayne@69 25329
jpayne@69 25330 /* "pysam/libctabixproxies.pyx":617
jpayne@69 25331 * # Only called if there *isn't* an attribute with this name
jpayne@69 25332 * cdef int idx
jpayne@69 25333 * idx, f = self.map_key2field.get(key, (-1, None)) # <<<<<<<<<<<<<<
jpayne@69 25334 * if idx >= 0:
jpayne@69 25335 * # deal with known attributes (fields 0-8)
jpayne@69 25336 */
jpayne@69 25337 __pyx_tuple__25 = PyTuple_Pack(2, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 617, __pyx_L1_error)
jpayne@69 25338 __Pyx_GOTREF(__pyx_tuple__25);
jpayne@69 25339 __Pyx_GIVEREF(__pyx_tuple__25);
jpayne@69 25340
jpayne@69 25341 /* "pysam/libctabixproxies.pyx":688
jpayne@69 25342 * continue
jpayne@69 25343 *
jpayne@69 25344 * key, value = f.split("=", 1) # <<<<<<<<<<<<<<
jpayne@69 25345 * value = value.strip()
jpayne@69 25346 *
jpayne@69 25347 */
jpayne@69 25348 __pyx_tuple__29 = PyTuple_Pack(2, __pyx_kp_u__28, __pyx_int_1); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 688, __pyx_L1_error)
jpayne@69 25349 __Pyx_GOTREF(__pyx_tuple__29);
jpayne@69 25350 __Pyx_GIVEREF(__pyx_tuple__29);
jpayne@69 25351
jpayne@69 25352 /* "pysam/libctabixproxies.pyx":738
jpayne@69 25353 *
jpayne@69 25354 * if self.nfields < 3:
jpayne@69 25355 * raise ValueError( # <<<<<<<<<<<<<<
jpayne@69 25356 * "bed format requires at least three columns")
jpayne@69 25357 *
jpayne@69 25358 */
jpayne@69 25359 __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_u_bed_format_requires_at_least_thr); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 738, __pyx_L1_error)
jpayne@69 25360 __Pyx_GOTREF(__pyx_tuple__30);
jpayne@69 25361 __Pyx_GIVEREF(__pyx_tuple__30);
jpayne@69 25362
jpayne@69 25363 /* "(tree fragment)":4
jpayne@69 25364 * cdef object __pyx_PickleError
jpayne@69 25365 * cdef object __pyx_result
jpayne@69 25366 * if __pyx_checksum not in (0x0eb9d08, 0x60f8e6c, 0xd13f98c): # <<<<<<<<<<<<<<
jpayne@69 25367 * from pickle import PickleError as __pyx_PickleError
jpayne@69 25368 * raise __pyx_PickleError, "Incompatible checksums (0x%x vs (0x0eb9d08, 0x60f8e6c, 0xd13f98c) = (index, proxy))" % __pyx_checksum
jpayne@69 25369 */
jpayne@69 25370 __pyx_tuple__31 = PyTuple_Pack(3, __pyx_int_15441160, __pyx_int_101682796, __pyx_int_219412876); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(1, 4, __pyx_L1_error)
jpayne@69 25371 __Pyx_GOTREF(__pyx_tuple__31);
jpayne@69 25372 __Pyx_GIVEREF(__pyx_tuple__31);
jpayne@69 25373
jpayne@69 25374 /* "pysam/libctabixproxies.pyx":65
jpayne@69 25375 * free(self.fields)
jpayne@69 25376 *
jpayne@69 25377 * def __copy__(self): # <<<<<<<<<<<<<<
jpayne@69 25378 * if self.is_modified:
jpayne@69 25379 * raise NotImplementedError(
jpayne@69 25380 */
jpayne@69 25381 __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_n); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 65, __pyx_L1_error)
jpayne@69 25382 __Pyx_GOTREF(__pyx_tuple__33);
jpayne@69 25383 __Pyx_GIVEREF(__pyx_tuple__33);
jpayne@69 25384 __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_copy_2, 65, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 65, __pyx_L1_error)
jpayne@69 25385
jpayne@69 25386 /* "pysam/libctabixproxies.pyx":73
jpayne@69 25387 * return n
jpayne@69 25388 *
jpayne@69 25389 * def compare(self, TupleProxy other): # <<<<<<<<<<<<<<
jpayne@69 25390 * '''return -1,0,1, if contents in this are binary
jpayne@69 25391 * <,=,> to *other*
jpayne@69 25392 */
jpayne@69 25393 __pyx_tuple__35 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_other); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 73, __pyx_L1_error)
jpayne@69 25394 __Pyx_GOTREF(__pyx_tuple__35);
jpayne@69 25395 __Pyx_GIVEREF(__pyx_tuple__35);
jpayne@69 25396 __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_compare, 73, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 73, __pyx_L1_error)
jpayne@69 25397
jpayne@69 25398 /* "pysam/libctabixproxies.pyx":136
jpayne@69 25399 * self.update(self.data, nbytes)
jpayne@69 25400 *
jpayne@69 25401 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 25402 * '''return minimum number of fields.'''
jpayne@69 25403 * # 1 is not a valid tabix entry, but TupleProxy
jpayne@69 25404 */
jpayne@69 25405 __pyx_tuple__37 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 25406 __Pyx_GOTREF(__pyx_tuple__37);
jpayne@69 25407 __Pyx_GIVEREF(__pyx_tuple__37);
jpayne@69 25408 __pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_getMinFields, 136, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 25409
jpayne@69 25410 /* "pysam/libctabixproxies.pyx":142
jpayne@69 25411 * return 1
jpayne@69 25412 *
jpayne@69 25413 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 25414 * '''return maximum number of fields. Return
jpayne@69 25415 * 0 for unknown length.'''
jpayne@69 25416 */
jpayne@69 25417 __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_getMaxFields, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 142, __pyx_L1_error)
jpayne@69 25418
jpayne@69 25419 /* "pysam/libctabixproxies.pyx":239
jpayne@69 25420 * (self.getMinFields(), buffer))
jpayne@69 25421 *
jpayne@69 25422 * def _getindex(self, int index): # <<<<<<<<<<<<<<
jpayne@69 25423 * '''return item at idx index'''
jpayne@69 25424 * cdef int i = index
jpayne@69 25425 */
jpayne@69 25426 __pyx_tuple__40 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_index, __pyx_n_s_i); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 239, __pyx_L1_error)
jpayne@69 25427 __Pyx_GOTREF(__pyx_tuple__40);
jpayne@69 25428 __Pyx_GIVEREF(__pyx_tuple__40);
jpayne@69 25429 __pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_getindex, 239, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 239, __pyx_L1_error)
jpayne@69 25430
jpayne@69 25431 /* "pysam/libctabixproxies.pyx":265
jpayne@69 25432 * return result
jpayne@69 25433 *
jpayne@69 25434 * def _setindex(self, index, value): # <<<<<<<<<<<<<<
jpayne@69 25435 * '''set item at idx index.'''
jpayne@69 25436 * cdef int idx = index
jpayne@69 25437 */
jpayne@69 25438 __pyx_tuple__42 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_index, __pyx_n_s_value, __pyx_n_s_idx, __pyx_n_s_tmp); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(0, 265, __pyx_L1_error)
jpayne@69 25439 __Pyx_GOTREF(__pyx_tuple__42);
jpayne@69 25440 __Pyx_GIVEREF(__pyx_tuple__42);
jpayne@69 25441 __pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_setindex, 265, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 265, __pyx_L1_error)
jpayne@69 25442
jpayne@69 25443 /* "(tree fragment)":1
jpayne@69 25444 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 25445 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25446 * def __setstate_cython__(self, __pyx_state):
jpayne@69 25447 */
jpayne@69 25448 __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25449
jpayne@69 25450 /* "(tree fragment)":3
jpayne@69 25451 * def __reduce_cython__(self):
jpayne@69 25452 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25453 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 25454 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25455 */
jpayne@69 25456 __pyx_tuple__45 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_pyx_state); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 25457 __Pyx_GOTREF(__pyx_tuple__45);
jpayne@69 25458 __Pyx_GIVEREF(__pyx_tuple__45);
jpayne@69 25459 __pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 25460
jpayne@69 25461 /* "(tree fragment)":1
jpayne@69 25462 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 25463 * cdef tuple state
jpayne@69 25464 * cdef object _dict
jpayne@69 25465 */
jpayne@69 25466 __pyx_tuple__47 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_state, __pyx_n_s_dict_2, __pyx_n_s_use_setstate); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25467 __Pyx_GOTREF(__pyx_tuple__47);
jpayne@69 25468 __Pyx_GIVEREF(__pyx_tuple__47);
jpayne@69 25469 __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25470
jpayne@69 25471 /* "(tree fragment)":16
jpayne@69 25472 * else:
jpayne@69 25473 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, state)
jpayne@69 25474 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 25475 * __pyx_unpickle_TupleProxyIterator__set_state(self, __pyx_state)
jpayne@69 25476 */
jpayne@69 25477 __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(1, 16, __pyx_L1_error)
jpayne@69 25478
jpayne@69 25479 /* "pysam/libctabixproxies.pyx":345
jpayne@69 25480 *
jpayne@69 25481 *
jpayne@69 25482 * def toDot(v): # <<<<<<<<<<<<<<
jpayne@69 25483 * '''convert value to '.' if None'''
jpayne@69 25484 * if v is None:
jpayne@69 25485 */
jpayne@69 25486 __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple_, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_toDot, 345, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 345, __pyx_L1_error)
jpayne@69 25487
jpayne@69 25488 /* "pysam/libctabixproxies.pyx":352
jpayne@69 25489 * return str(v)
jpayne@69 25490 *
jpayne@69 25491 * def quote(v): # <<<<<<<<<<<<<<
jpayne@69 25492 * '''return a quoted attribute.'''
jpayne@69 25493 * if isinstance(v, str):
jpayne@69 25494 */
jpayne@69 25495 __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple_, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_quote, 352, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 352, __pyx_L1_error)
jpayne@69 25496
jpayne@69 25497 /* "(tree fragment)":1
jpayne@69 25498 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 25499 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25500 * def __setstate_cython__(self, __pyx_state):
jpayne@69 25501 */
jpayne@69 25502 __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25503
jpayne@69 25504 /* "(tree fragment)":3
jpayne@69 25505 * def __reduce_cython__(self):
jpayne@69 25506 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25507 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 25508 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25509 */
jpayne@69 25510 __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 25511
jpayne@69 25512 /* "pysam/libctabixproxies.pyx":449
jpayne@69 25513 * self.attribute_dict = None
jpayne@69 25514 *
jpayne@69 25515 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 25516 * '''return minimum number of fields.'''
jpayne@69 25517 * return 9
jpayne@69 25518 */
jpayne@69 25519 __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_getMinFields, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 449, __pyx_L1_error)
jpayne@69 25520
jpayne@69 25521 /* "pysam/libctabixproxies.pyx":453
jpayne@69 25522 * return 9
jpayne@69 25523 *
jpayne@69 25524 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 25525 * '''return max number of fields.'''
jpayne@69 25526 * return 9
jpayne@69 25527 */
jpayne@69 25528 __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_getMaxFields, 453, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 453, __pyx_L1_error)
jpayne@69 25529
jpayne@69 25530 /* "pysam/libctabixproxies.pyx":457
jpayne@69 25531 * return 9
jpayne@69 25532 *
jpayne@69 25533 * def to_dict(self): # <<<<<<<<<<<<<<
jpayne@69 25534 * """parse attributes - return as dict
jpayne@69 25535 *
jpayne@69 25536 */
jpayne@69 25537 __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_to_dict, 457, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 457, __pyx_L1_error)
jpayne@69 25538
jpayne@69 25539 /* "pysam/libctabixproxies.pyx":468
jpayne@69 25540 * return self.attribute_dict
jpayne@69 25541 *
jpayne@69 25542 * def as_dict(self): # <<<<<<<<<<<<<<
jpayne@69 25543 * """deprecated: use :meth:`to_dict`
jpayne@69 25544 * """
jpayne@69 25545 */
jpayne@69 25546 __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_as_dict, 468, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 468, __pyx_L1_error)
jpayne@69 25547
jpayne@69 25548 /* "pysam/libctabixproxies.pyx":473
jpayne@69 25549 * return self.to_dict()
jpayne@69 25550 *
jpayne@69 25551 * def from_dict(self, d): # <<<<<<<<<<<<<<
jpayne@69 25552 * '''set attributes from a dictionary.'''
jpayne@69 25553 * self.attribute_dict = None
jpayne@69 25554 */
jpayne@69 25555 __pyx_tuple__58 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_d, __pyx_n_s_attribute_string); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(0, 473, __pyx_L1_error)
jpayne@69 25556 __Pyx_GOTREF(__pyx_tuple__58);
jpayne@69 25557 __Pyx_GIVEREF(__pyx_tuple__58);
jpayne@69 25558 __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__58, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_from_dict, 473, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 473, __pyx_L1_error)
jpayne@69 25559
jpayne@69 25560 /* "pysam/libctabixproxies.pyx":499
jpayne@69 25561 * return super().__str__()
jpayne@69 25562 *
jpayne@69 25563 * def invert(self, int lcontig): # <<<<<<<<<<<<<<
jpayne@69 25564 * '''invert coordinates to negative strand coordinates
jpayne@69 25565 *
jpayne@69 25566 */
jpayne@69 25567 __pyx_tuple__60 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_lcontig, __pyx_n_s_start, __pyx_n_s_end); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(0, 499, __pyx_L1_error)
jpayne@69 25568 __Pyx_GOTREF(__pyx_tuple__60);
jpayne@69 25569 __Pyx_GIVEREF(__pyx_tuple__60);
jpayne@69 25570 __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_invert, 499, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 499, __pyx_L1_error)
jpayne@69 25571
jpayne@69 25572 /* "pysam/libctabixproxies.pyx":510
jpayne@69 25573 * self.start, self.end = lcontig - end, lcontig - start
jpayne@69 25574 *
jpayne@69 25575 * def keys(self): # <<<<<<<<<<<<<<
jpayne@69 25576 * '''return a list of attributes defined in this entry.'''
jpayne@69 25577 * if not self.attribute_dict:
jpayne@69 25578 */
jpayne@69 25579 __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_keys, 510, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 510, __pyx_L1_error)
jpayne@69 25580
jpayne@69 25581 /* "pysam/libctabixproxies.pyx":520
jpayne@69 25582 * return self.__getattr__(key)
jpayne@69 25583 *
jpayne@69 25584 * def setAttribute(self, name, value): # <<<<<<<<<<<<<<
jpayne@69 25585 * '''convenience method to set an attribute.
jpayne@69 25586 * '''
jpayne@69 25587 */
jpayne@69 25588 __pyx_tuple__63 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_value); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 520, __pyx_L1_error)
jpayne@69 25589 __Pyx_GOTREF(__pyx_tuple__63);
jpayne@69 25590 __Pyx_GIVEREF(__pyx_tuple__63);
jpayne@69 25591 __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_setAttribute, 520, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 520, __pyx_L1_error)
jpayne@69 25592
jpayne@69 25593 /* "pysam/libctabixproxies.pyx":529
jpayne@69 25594 * self.is_modified = True
jpayne@69 25595 *
jpayne@69 25596 * def attribute_string2dict(self, s): # <<<<<<<<<<<<<<
jpayne@69 25597 * return collections.OrderedDict(
jpayne@69 25598 * self.attribute_string2iterator(s))
jpayne@69 25599 */
jpayne@69 25600 __pyx_tuple__65 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_s_2); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 529, __pyx_L1_error)
jpayne@69 25601 __Pyx_GOTREF(__pyx_tuple__65);
jpayne@69 25602 __Pyx_GIVEREF(__pyx_tuple__65);
jpayne@69 25603 __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_attribute_string2dict, 529, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 529, __pyx_L1_error)
jpayne@69 25604
jpayne@69 25605 /* "pysam/libctabixproxies.pyx":553
jpayne@69 25606 * raise NotImplementedError(err_msg)
jpayne@69 25607 *
jpayne@69 25608 * def dict2attribute_string(self, d): # <<<<<<<<<<<<<<
jpayne@69 25609 * """convert dictionary to attribute string in GTF format.
jpayne@69 25610 *
jpayne@69 25611 */
jpayne@69 25612 __pyx_tuple__67 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_d, __pyx_n_s_aa, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(0, 553, __pyx_L1_error)
jpayne@69 25613 __Pyx_GOTREF(__pyx_tuple__67);
jpayne@69 25614 __Pyx_GIVEREF(__pyx_tuple__67);
jpayne@69 25615 __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_dict2attribute_string, 553, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 553, __pyx_L1_error)
jpayne@69 25616
jpayne@69 25617 /* "pysam/libctabixproxies.pyx":566
jpayne@69 25618 * return self.separator.join(aa) + ";"
jpayne@69 25619 *
jpayne@69 25620 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 25621 * """convert attribute string in GTF format to records
jpayne@69 25622 * and iterate over key, value pairs.
jpayne@69 25623 */
jpayne@69 25624 __pyx_tuple__69 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_s_2, __pyx_n_s_attributes, __pyx_n_s_fields, __pyx_n_s_f, __pyx_n_s_d, __pyx_n_s_n, __pyx_n_s_v, __pyx_n_s_x, __pyx_n_s_x); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 25625 __Pyx_GOTREF(__pyx_tuple__69);
jpayne@69 25626 __Pyx_GIVEREF(__pyx_tuple__69);
jpayne@69 25627 __pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_attribute_string2iterator, 566, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 25628
jpayne@69 25629 /* "pysam/libctabixproxies.pyx":666
jpayne@69 25630 *
jpayne@69 25631 * # for backwards compatibility
jpayne@69 25632 * def asDict(self, *args, **kwargs): # <<<<<<<<<<<<<<
jpayne@69 25633 * return self.to_dict(*args, **kwargs)
jpayne@69 25634 *
jpayne@69 25635 */
jpayne@69 25636 __pyx_tuple__70 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__70)) __PYX_ERR(0, 666, __pyx_L1_error)
jpayne@69 25637 __Pyx_GOTREF(__pyx_tuple__70);
jpayne@69 25638 __Pyx_GIVEREF(__pyx_tuple__70);
jpayne@69 25639 __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_asDict, 666, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 666, __pyx_L1_error)
jpayne@69 25640
jpayne@69 25641 /* "pysam/libctabixproxies.pyx":669
jpayne@69 25642 * return self.to_dict(*args, **kwargs)
jpayne@69 25643 *
jpayne@69 25644 * def fromDict(self, *args, **kwargs): # <<<<<<<<<<<<<<
jpayne@69 25645 * return self.from_dict(*args, **kwargs)
jpayne@69 25646 *
jpayne@69 25647 */
jpayne@69 25648 __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_fromDict, 669, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 669, __pyx_L1_error)
jpayne@69 25649
jpayne@69 25650 /* "(tree fragment)":1
jpayne@69 25651 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 25652 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25653 * def __setstate_cython__(self, __pyx_state):
jpayne@69 25654 */
jpayne@69 25655 __pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25656
jpayne@69 25657 /* "(tree fragment)":3
jpayne@69 25658 * def __reduce_cython__(self):
jpayne@69 25659 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25660 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 25661 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25662 */
jpayne@69 25663 __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 25664
jpayne@69 25665 /* "pysam/libctabixproxies.pyx":675
jpayne@69 25666 * cdef class GFF3Proxy(GTFProxy):
jpayne@69 25667 *
jpayne@69 25668 * def dict2attribute_string(self, d): # <<<<<<<<<<<<<<
jpayne@69 25669 * """convert dictionary to attribute string."""
jpayne@69 25670 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 25671 */
jpayne@69 25672 __pyx_tuple__75 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_d, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 675, __pyx_L1_error)
jpayne@69 25673 __Pyx_GOTREF(__pyx_tuple__75);
jpayne@69 25674 __Pyx_GIVEREF(__pyx_tuple__75);
jpayne@69 25675 __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_dict2attribute_string, 675, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 675, __pyx_L1_error)
jpayne@69 25676
jpayne@69 25677 /* "pysam/libctabixproxies.pyx":679
jpayne@69 25678 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 25679 *
jpayne@69 25680 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 25681 * """convert attribute string in GFF3 format to records
jpayne@69 25682 * and iterate over key, value pairs.
jpayne@69 25683 */
jpayne@69 25684 __pyx_tuple__77 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_s_2, __pyx_n_s_f, __pyx_n_s_key, __pyx_n_s_value, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 25685 __Pyx_GOTREF(__pyx_tuple__77);
jpayne@69 25686 __Pyx_GIVEREF(__pyx_tuple__77);
jpayne@69 25687 __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_GENERATOR, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_attribute_string2iterator, 679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 25688
jpayne@69 25689 /* "(tree fragment)":1
jpayne@69 25690 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 25691 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25692 * def __setstate_cython__(self, __pyx_state):
jpayne@69 25693 */
jpayne@69 25694 __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25695
jpayne@69 25696 /* "(tree fragment)":3
jpayne@69 25697 * def __reduce_cython__(self):
jpayne@69 25698 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25699 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 25700 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25701 */
jpayne@69 25702 __pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 25703
jpayne@69 25704 /* "pysam/libctabixproxies.pyx":722
jpayne@69 25705 * 'blockStarts': (11, str), }
jpayne@69 25706 *
jpayne@69 25707 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 25708 * '''return minimum number of fields.'''
jpayne@69 25709 * return 3
jpayne@69 25710 */
jpayne@69 25711 __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_getMinFields, 722, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 722, __pyx_L1_error)
jpayne@69 25712
jpayne@69 25713 /* "pysam/libctabixproxies.pyx":726
jpayne@69 25714 * return 3
jpayne@69 25715 *
jpayne@69 25716 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 25717 * '''return max number of fields.'''
jpayne@69 25718 * return 12
jpayne@69 25719 */
jpayne@69 25720 __pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_pysam_libctabixproxies_pyx, __pyx_n_s_getMaxFields, 726, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(0, 726, __pyx_L1_error)
jpayne@69 25721
jpayne@69 25722 /* "(tree fragment)":1
jpayne@69 25723 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 25724 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25725 * def __setstate_cython__(self, __pyx_state):
jpayne@69 25726 */
jpayne@69 25727 __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25728
jpayne@69 25729 /* "(tree fragment)":3
jpayne@69 25730 * def __reduce_cython__(self):
jpayne@69 25731 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25732 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 25733 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25734 */
jpayne@69 25735 __pyx_codeobj__83 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__83)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 25736
jpayne@69 25737 /* "(tree fragment)":1
jpayne@69 25738 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 25739 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25740 * def __setstate_cython__(self, __pyx_state):
jpayne@69 25741 */
jpayne@69 25742 __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_reduce_cython, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25743
jpayne@69 25744 /* "(tree fragment)":3
jpayne@69 25745 * def __reduce_cython__(self):
jpayne@69 25746 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25747 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 25748 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 25749 */
jpayne@69 25750 __pyx_codeobj__85 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_setstate_cython, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__85)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 25751
jpayne@69 25752 /* "(tree fragment)":1
jpayne@69 25753 * def __pyx_unpickle_TupleProxyIterator(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 25754 * cdef object __pyx_PickleError
jpayne@69 25755 * cdef object __pyx_result
jpayne@69 25756 */
jpayne@69 25757 __pyx_tuple__86 = PyTuple_Pack(5, __pyx_n_s_pyx_type, __pyx_n_s_pyx_checksum, __pyx_n_s_pyx_state, __pyx_n_s_pyx_PickleError, __pyx_n_s_pyx_result); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25758 __Pyx_GOTREF(__pyx_tuple__86);
jpayne@69 25759 __Pyx_GIVEREF(__pyx_tuple__86);
jpayne@69 25760 __pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_stringsource, __pyx_n_s_pyx_unpickle_TupleProxyIterato, 1, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 25761 __Pyx_RefNannyFinishContext();
jpayne@69 25762 return 0;
jpayne@69 25763 __pyx_L1_error:;
jpayne@69 25764 __Pyx_RefNannyFinishContext();
jpayne@69 25765 return -1;
jpayne@69 25766 }
jpayne@69 25767 /* #### Code section: init_constants ### */
jpayne@69 25768
jpayne@69 25769 static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) {
jpayne@69 25770 if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error);
jpayne@69 25771 __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25772 __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25773 __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25774 __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25775 __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25776 __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25777 __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25778 __pyx_int_7 = PyInt_FromLong(7); if (unlikely(!__pyx_int_7)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25779 __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25780 __pyx_int_9 = PyInt_FromLong(9); if (unlikely(!__pyx_int_9)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25781 __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25782 __pyx_int_11 = PyInt_FromLong(11); if (unlikely(!__pyx_int_11)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25783 __pyx_int_15441160 = PyInt_FromLong(15441160L); if (unlikely(!__pyx_int_15441160)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25784 __pyx_int_101682796 = PyInt_FromLong(101682796L); if (unlikely(!__pyx_int_101682796)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25785 __pyx_int_219412876 = PyInt_FromLong(219412876L); if (unlikely(!__pyx_int_219412876)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25786 __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25787 return 0;
jpayne@69 25788 __pyx_L1_error:;
jpayne@69 25789 return -1;
jpayne@69 25790 }
jpayne@69 25791 /* #### Code section: init_globals ### */
jpayne@69 25792
jpayne@69 25793 static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
jpayne@69 25794 /* AssertionsEnabled.init */
jpayne@69 25795 if (likely(__Pyx_init_assertions_enabled() == 0)); else
jpayne@69 25796
jpayne@69 25797 if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 25798
jpayne@69 25799 return 0;
jpayne@69 25800 __pyx_L1_error:;
jpayne@69 25801 return -1;
jpayne@69 25802 }
jpayne@69 25803 /* #### Code section: init_module ### */
jpayne@69 25804
jpayne@69 25805 static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
jpayne@69 25806 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
jpayne@69 25807 static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
jpayne@69 25808 static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
jpayne@69 25809 static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
jpayne@69 25810 static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
jpayne@69 25811 static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/
jpayne@69 25812
jpayne@69 25813 static int __Pyx_modinit_global_init_code(void) {
jpayne@69 25814 __Pyx_RefNannyDeclarations
jpayne@69 25815 __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0);
jpayne@69 25816 /*--- Global init code ---*/
jpayne@69 25817 __Pyx_RefNannyFinishContext();
jpayne@69 25818 return 0;
jpayne@69 25819 }
jpayne@69 25820
jpayne@69 25821 static int __Pyx_modinit_variable_export_code(void) {
jpayne@69 25822 __Pyx_RefNannyDeclarations
jpayne@69 25823 __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0);
jpayne@69 25824 /*--- Variable export code ---*/
jpayne@69 25825 __Pyx_RefNannyFinishContext();
jpayne@69 25826 return 0;
jpayne@69 25827 }
jpayne@69 25828
jpayne@69 25829 static int __Pyx_modinit_function_export_code(void) {
jpayne@69 25830 __Pyx_RefNannyDeclarations
jpayne@69 25831 __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0);
jpayne@69 25832 /*--- Function export code ---*/
jpayne@69 25833 __Pyx_RefNannyFinishContext();
jpayne@69 25834 return 0;
jpayne@69 25835 }
jpayne@69 25836
jpayne@69 25837 static int __Pyx_modinit_type_init_code(void) {
jpayne@69 25838 __Pyx_RefNannyDeclarations
jpayne@69 25839 PyObject *__pyx_t_1 = NULL;
jpayne@69 25840 int __pyx_lineno = 0;
jpayne@69 25841 const char *__pyx_filename = NULL;
jpayne@69 25842 int __pyx_clineno = 0;
jpayne@69 25843 __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
jpayne@69 25844 /*--- Type init code ---*/
jpayne@69 25845 __pyx_vtabptr_5pysam_16libctabixproxies_TupleProxy = &__pyx_vtable_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 25846 __pyx_vtable_5pysam_16libctabixproxies_TupleProxy.getMaxFields = (int (*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, int __pyx_skip_dispatch))__pyx_f_5pysam_16libctabixproxies_10TupleProxy_getMaxFields;
jpayne@69 25847 __pyx_vtable_5pysam_16libctabixproxies_TupleProxy.getMinFields = (int (*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, int __pyx_skip_dispatch))__pyx_f_5pysam_16libctabixproxies_10TupleProxy_getMinFields;
jpayne@69 25848 __pyx_vtable_5pysam_16libctabixproxies_TupleProxy.take = (PyObject *(*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t))__pyx_f_5pysam_16libctabixproxies_10TupleProxy_take;
jpayne@69 25849 __pyx_vtable_5pysam_16libctabixproxies_TupleProxy.present = (PyObject *(*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t))__pyx_f_5pysam_16libctabixproxies_10TupleProxy_present;
jpayne@69 25850 __pyx_vtable_5pysam_16libctabixproxies_TupleProxy.copy = (PyObject *(*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t, struct __pyx_opt_args_5pysam_16libctabixproxies_10TupleProxy_copy *__pyx_optional_args))__pyx_f_5pysam_16libctabixproxies_10TupleProxy_copy;
jpayne@69 25851 __pyx_vtable_5pysam_16libctabixproxies_TupleProxy.update = (PyObject *(*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t))__pyx_f_5pysam_16libctabixproxies_10TupleProxy_update;
jpayne@69 25852 #if CYTHON_USE_TYPE_SPECS
jpayne@69 25853 __pyx_ptype_5pysam_16libctabixproxies_TupleProxy = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies_TupleProxy_spec, NULL); if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies_TupleProxy)) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25854 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies_TupleProxy_spec, __pyx_ptype_5pysam_16libctabixproxies_TupleProxy) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25855 #else
jpayne@69 25856 __pyx_ptype_5pysam_16libctabixproxies_TupleProxy = &__pyx_type_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 25857 #endif
jpayne@69 25858 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25859 #endif
jpayne@69 25860 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 25861 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25862 #endif
jpayne@69 25863 #if PY_MAJOR_VERSION < 3
jpayne@69 25864 __pyx_ptype_5pysam_16libctabixproxies_TupleProxy->tp_print = 0;
jpayne@69 25865 #endif
jpayne@69 25866 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25867 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_5pysam_16libctabixproxies_TupleProxy->tp_dictoffset && __pyx_ptype_5pysam_16libctabixproxies_TupleProxy->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 25868 __pyx_ptype_5pysam_16libctabixproxies_TupleProxy->tp_getattro = __Pyx_PyObject_GenericGetAttr;
jpayne@69 25869 }
jpayne@69 25870 #endif
jpayne@69 25871 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 25872 {
jpayne@69 25873 PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, "__setitem__"); if (unlikely(!wrapper)) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25874 if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
jpayne@69 25875 __pyx_wrapperbase_5pysam_16libctabixproxies_10TupleProxy_20__setitem__ = *((PyWrapperDescrObject *)wrapper)->d_base;
jpayne@69 25876 __pyx_wrapperbase_5pysam_16libctabixproxies_10TupleProxy_20__setitem__.doc = __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_20__setitem__;
jpayne@69 25877 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5pysam_16libctabixproxies_10TupleProxy_20__setitem__;
jpayne@69 25878 }
jpayne@69 25879 }
jpayne@69 25880 #endif
jpayne@69 25881 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 25882 {
jpayne@69 25883 PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, "__str__"); if (unlikely(!wrapper)) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25884 if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
jpayne@69 25885 __pyx_wrapperbase_5pysam_16libctabixproxies_10TupleProxy_26__str__ = *((PyWrapperDescrObject *)wrapper)->d_base;
jpayne@69 25886 __pyx_wrapperbase_5pysam_16libctabixproxies_10TupleProxy_26__str__.doc = __pyx_doc_5pysam_16libctabixproxies_10TupleProxy_26__str__;
jpayne@69 25887 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5pysam_16libctabixproxies_10TupleProxy_26__str__;
jpayne@69 25888 }
jpayne@69 25889 }
jpayne@69 25890 #endif
jpayne@69 25891 if (__Pyx_SetVtable(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, __pyx_vtabptr_5pysam_16libctabixproxies_TupleProxy) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25892 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25893 if (__Pyx_MergeVtables(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25894 #endif
jpayne@69 25895 if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TupleProxy, (PyObject *) __pyx_ptype_5pysam_16libctabixproxies_TupleProxy) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25896 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25897 if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_5pysam_16libctabixproxies_TupleProxy) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
jpayne@69 25898 #endif
jpayne@69 25899 #if CYTHON_USE_TYPE_SPECS
jpayne@69 25900 __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies_TupleProxyIterator_spec, NULL); if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator)) __PYX_ERR(0, 329, __pyx_L1_error)
jpayne@69 25901 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies_TupleProxyIterator_spec, __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator) < 0) __PYX_ERR(0, 329, __pyx_L1_error)
jpayne@69 25902 #else
jpayne@69 25903 __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator = &__pyx_type_5pysam_16libctabixproxies_TupleProxyIterator;
jpayne@69 25904 #endif
jpayne@69 25905 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25906 #endif
jpayne@69 25907 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 25908 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator) < 0) __PYX_ERR(0, 329, __pyx_L1_error)
jpayne@69 25909 #endif
jpayne@69 25910 #if PY_MAJOR_VERSION < 3
jpayne@69 25911 __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator->tp_print = 0;
jpayne@69 25912 #endif
jpayne@69 25913 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25914 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator->tp_dictoffset && __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 25915 __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator->tp_getattro = __Pyx_PyObject_GenericGetAttr;
jpayne@69 25916 }
jpayne@69 25917 #endif
jpayne@69 25918 if (PyObject_SetAttr(__pyx_m, __pyx_n_s_TupleProxyIterator, (PyObject *) __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator) < 0) __PYX_ERR(0, 329, __pyx_L1_error)
jpayne@69 25919 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25920 if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator) < 0) __PYX_ERR(0, 329, __pyx_L1_error)
jpayne@69 25921 #endif
jpayne@69 25922 __pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy = &__pyx_vtable_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 25923 __pyx_vtable_5pysam_16libctabixproxies_NamedTupleProxy.__pyx_base = *__pyx_vtabptr_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 25924 #if CYTHON_USE_TYPE_SPECS
jpayne@69 25925 __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25926 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 25927 __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies_NamedTupleProxy_spec, __pyx_t_1);
jpayne@69 25928 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 25929 if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy)) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25930 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies_NamedTupleProxy_spec, __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy) < 0) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25931 #else
jpayne@69 25932 __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy = &__pyx_type_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 25933 #endif
jpayne@69 25934 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25935 __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy->tp_base = __pyx_ptype_5pysam_16libctabixproxies_TupleProxy;
jpayne@69 25936 #endif
jpayne@69 25937 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 25938 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy) < 0) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25939 #endif
jpayne@69 25940 #if PY_MAJOR_VERSION < 3
jpayne@69 25941 __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy->tp_print = 0;
jpayne@69 25942 #endif
jpayne@69 25943 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 25944 {
jpayne@69 25945 PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy, "__setattr__"); if (unlikely(!wrapper)) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25946 if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
jpayne@69 25947 __pyx_wrapperbase_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
jpayne@69 25948 __pyx_wrapperbase_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__.doc = __pyx_doc_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__;
jpayne@69 25949 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5pysam_16libctabixproxies_15NamedTupleProxy___setattr__;
jpayne@69 25950 }
jpayne@69 25951 }
jpayne@69 25952 #endif
jpayne@69 25953 if (__Pyx_SetVtable(__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy, __pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy) < 0) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25954 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25955 if (__Pyx_MergeVtables(__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy) < 0) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25956 #endif
jpayne@69 25957 if (PyObject_SetAttr(__pyx_m, __pyx_n_s_NamedTupleProxy, (PyObject *) __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy) < 0) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25958 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25959 if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy) < 0) __PYX_ERR(0, 360, __pyx_L1_error)
jpayne@69 25960 #endif
jpayne@69 25961 __pyx_vtabptr_5pysam_16libctabixproxies_GTFProxy = &__pyx_vtable_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 25962 __pyx_vtable_5pysam_16libctabixproxies_GTFProxy.__pyx_base = *__pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 25963 __pyx_vtable_5pysam_16libctabixproxies_GTFProxy.__pyx_base.__pyx_base.getMaxFields = (int (*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, int __pyx_skip_dispatch))__pyx_f_5pysam_16libctabixproxies_8GTFProxy_getMaxFields;
jpayne@69 25964 __pyx_vtable_5pysam_16libctabixproxies_GTFProxy.__pyx_base.__pyx_base.getMinFields = (int (*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, int __pyx_skip_dispatch))__pyx_f_5pysam_16libctabixproxies_8GTFProxy_getMinFields;
jpayne@69 25965 #if CYTHON_USE_TYPE_SPECS
jpayne@69 25966 __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 25967 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 25968 __pyx_ptype_5pysam_16libctabixproxies_GTFProxy = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies_GTFProxy_spec, __pyx_t_1);
jpayne@69 25969 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 25970 if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies_GTFProxy)) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 25971 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies_GTFProxy_spec, __pyx_ptype_5pysam_16libctabixproxies_GTFProxy) < 0) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 25972 #else
jpayne@69 25973 __pyx_ptype_5pysam_16libctabixproxies_GTFProxy = &__pyx_type_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 25974 #endif
jpayne@69 25975 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 25976 __pyx_ptype_5pysam_16libctabixproxies_GTFProxy->tp_base = __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 25977 #endif
jpayne@69 25978 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 25979 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy) < 0) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 25980 #endif
jpayne@69 25981 #if PY_MAJOR_VERSION < 3
jpayne@69 25982 __pyx_ptype_5pysam_16libctabixproxies_GTFProxy->tp_print = 0;
jpayne@69 25983 #endif
jpayne@69 25984 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 25985 {
jpayne@69 25986 PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, "__getattr__"); if (unlikely(!wrapper)) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 25987 if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
jpayne@69 25988 __pyx_wrapperbase_5pysam_16libctabixproxies_8GTFProxy_33__getattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
jpayne@69 25989 __pyx_wrapperbase_5pysam_16libctabixproxies_8GTFProxy_33__getattr__.doc = __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_33__getattr__;
jpayne@69 25990 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5pysam_16libctabixproxies_8GTFProxy_33__getattr__;
jpayne@69 25991 }
jpayne@69 25992 }
jpayne@69 25993 #endif
jpayne@69 25994 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 25995 {
jpayne@69 25996 PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, "__setattr__"); if (unlikely(!wrapper)) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 25997 if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
jpayne@69 25998 __pyx_wrapperbase_5pysam_16libctabixproxies_8GTFProxy_35__setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
jpayne@69 25999 __pyx_wrapperbase_5pysam_16libctabixproxies_8GTFProxy_35__setattr__.doc = __pyx_doc_5pysam_16libctabixproxies_8GTFProxy_35__setattr__;
jpayne@69 26000 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5pysam_16libctabixproxies_8GTFProxy_35__setattr__;
jpayne@69 26001 }
jpayne@69 26002 }
jpayne@69 26003 #endif
jpayne@69 26004 if (__Pyx_SetVtable(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_vtabptr_5pysam_16libctabixproxies_GTFProxy) < 0) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 26005 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26006 if (__Pyx_MergeVtables(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy) < 0) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 26007 #endif
jpayne@69 26008 if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GTFProxy, (PyObject *) __pyx_ptype_5pysam_16libctabixproxies_GTFProxy) < 0) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 26009 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26010 if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_5pysam_16libctabixproxies_GTFProxy) < 0) __PYX_ERR(0, 415, __pyx_L1_error)
jpayne@69 26011 #endif
jpayne@69 26012 __pyx_vtabptr_5pysam_16libctabixproxies_GFF3Proxy = &__pyx_vtable_5pysam_16libctabixproxies_GFF3Proxy;
jpayne@69 26013 __pyx_vtable_5pysam_16libctabixproxies_GFF3Proxy.__pyx_base = *__pyx_vtabptr_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 26014 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26015 __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 673, __pyx_L1_error)
jpayne@69 26016 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 26017 __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies_GFF3Proxy_spec, __pyx_t_1);
jpayne@69 26018 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 26019 if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy)) __PYX_ERR(0, 673, __pyx_L1_error)
jpayne@69 26020 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies_GFF3Proxy_spec, __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
jpayne@69 26021 #else
jpayne@69 26022 __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy = &__pyx_type_5pysam_16libctabixproxies_GFF3Proxy;
jpayne@69 26023 #endif
jpayne@69 26024 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26025 __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy->tp_base = __pyx_ptype_5pysam_16libctabixproxies_GTFProxy;
jpayne@69 26026 #endif
jpayne@69 26027 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26028 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
jpayne@69 26029 #endif
jpayne@69 26030 #if PY_MAJOR_VERSION < 3
jpayne@69 26031 __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy->tp_print = 0;
jpayne@69 26032 #endif
jpayne@69 26033 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26034 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy->tp_dictoffset && __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26035 __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy->tp_getattro = __Pyx_PyObject_GenericGetAttr;
jpayne@69 26036 }
jpayne@69 26037 #endif
jpayne@69 26038 if (__Pyx_SetVtable(__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy, __pyx_vtabptr_5pysam_16libctabixproxies_GFF3Proxy) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
jpayne@69 26039 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26040 if (__Pyx_MergeVtables(__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
jpayne@69 26041 #endif
jpayne@69 26042 if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GFF3Proxy, (PyObject *) __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
jpayne@69 26043 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26044 if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
jpayne@69 26045 #endif
jpayne@69 26046 __pyx_vtabptr_5pysam_16libctabixproxies_BedProxy = &__pyx_vtable_5pysam_16libctabixproxies_BedProxy;
jpayne@69 26047 __pyx_vtable_5pysam_16libctabixproxies_BedProxy.__pyx_base = *__pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 26048 __pyx_vtable_5pysam_16libctabixproxies_BedProxy.__pyx_base.__pyx_base.getMaxFields = (int (*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, int __pyx_skip_dispatch))__pyx_f_5pysam_16libctabixproxies_8BedProxy_getMaxFields;
jpayne@69 26049 __pyx_vtable_5pysam_16libctabixproxies_BedProxy.__pyx_base.__pyx_base.getMinFields = (int (*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, int __pyx_skip_dispatch))__pyx_f_5pysam_16libctabixproxies_8BedProxy_getMinFields;
jpayne@69 26050 __pyx_vtable_5pysam_16libctabixproxies_BedProxy.__pyx_base.__pyx_base.update = (PyObject *(*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t))__pyx_f_5pysam_16libctabixproxies_8BedProxy_update;
jpayne@69 26051 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26052 __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26053 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 26054 __pyx_ptype_5pysam_16libctabixproxies_BedProxy = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies_BedProxy_spec, __pyx_t_1);
jpayne@69 26055 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 26056 if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies_BedProxy)) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26057 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies_BedProxy_spec, __pyx_ptype_5pysam_16libctabixproxies_BedProxy) < 0) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26058 #else
jpayne@69 26059 __pyx_ptype_5pysam_16libctabixproxies_BedProxy = &__pyx_type_5pysam_16libctabixproxies_BedProxy;
jpayne@69 26060 #endif
jpayne@69 26061 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26062 __pyx_ptype_5pysam_16libctabixproxies_BedProxy->tp_base = __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 26063 #endif
jpayne@69 26064 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26065 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies_BedProxy) < 0) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26066 #endif
jpayne@69 26067 #if PY_MAJOR_VERSION < 3
jpayne@69 26068 __pyx_ptype_5pysam_16libctabixproxies_BedProxy->tp_print = 0;
jpayne@69 26069 #endif
jpayne@69 26070 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26071 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_5pysam_16libctabixproxies_BedProxy->tp_dictoffset && __pyx_ptype_5pysam_16libctabixproxies_BedProxy->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26072 __pyx_ptype_5pysam_16libctabixproxies_BedProxy->tp_getattro = __Pyx_PyObject_GenericGetAttr;
jpayne@69 26073 }
jpayne@69 26074 #endif
jpayne@69 26075 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 26076 {
jpayne@69 26077 PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_BedProxy, "__setattr__"); if (unlikely(!wrapper)) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26078 if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
jpayne@69 26079 __pyx_wrapperbase_5pysam_16libctabixproxies_8BedProxy_6__setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
jpayne@69 26080 __pyx_wrapperbase_5pysam_16libctabixproxies_8BedProxy_6__setattr__.doc = __pyx_doc_5pysam_16libctabixproxies_8BedProxy_6__setattr__;
jpayne@69 26081 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5pysam_16libctabixproxies_8BedProxy_6__setattr__;
jpayne@69 26082 }
jpayne@69 26083 }
jpayne@69 26084 #endif
jpayne@69 26085 if (__Pyx_SetVtable(__pyx_ptype_5pysam_16libctabixproxies_BedProxy, __pyx_vtabptr_5pysam_16libctabixproxies_BedProxy) < 0) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26086 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26087 if (__Pyx_MergeVtables(__pyx_ptype_5pysam_16libctabixproxies_BedProxy) < 0) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26088 #endif
jpayne@69 26089 if (PyObject_SetAttr(__pyx_m, __pyx_n_s_BedProxy, (PyObject *) __pyx_ptype_5pysam_16libctabixproxies_BedProxy) < 0) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26090 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26091 if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_5pysam_16libctabixproxies_BedProxy) < 0) __PYX_ERR(0, 703, __pyx_L1_error)
jpayne@69 26092 #endif
jpayne@69 26093 __pyx_vtabptr_5pysam_16libctabixproxies_VCFProxy = &__pyx_vtable_5pysam_16libctabixproxies_VCFProxy;
jpayne@69 26094 __pyx_vtable_5pysam_16libctabixproxies_VCFProxy.__pyx_base = *__pyx_vtabptr_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 26095 __pyx_vtable_5pysam_16libctabixproxies_VCFProxy.__pyx_base.__pyx_base.update = (PyObject *(*)(struct __pyx_obj_5pysam_16libctabixproxies_TupleProxy *, char *, size_t))__pyx_f_5pysam_16libctabixproxies_8VCFProxy_update;
jpayne@69 26096 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26097 __pyx_t_1 = PyTuple_Pack(1, (PyObject *)__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26098 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 26099 __pyx_ptype_5pysam_16libctabixproxies_VCFProxy = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies_VCFProxy_spec, __pyx_t_1);
jpayne@69 26100 __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 26101 if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies_VCFProxy)) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26102 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies_VCFProxy_spec, __pyx_ptype_5pysam_16libctabixproxies_VCFProxy) < 0) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26103 #else
jpayne@69 26104 __pyx_ptype_5pysam_16libctabixproxies_VCFProxy = &__pyx_type_5pysam_16libctabixproxies_VCFProxy;
jpayne@69 26105 #endif
jpayne@69 26106 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26107 __pyx_ptype_5pysam_16libctabixproxies_VCFProxy->tp_base = __pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy;
jpayne@69 26108 #endif
jpayne@69 26109 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26110 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies_VCFProxy) < 0) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26111 #endif
jpayne@69 26112 #if PY_MAJOR_VERSION < 3
jpayne@69 26113 __pyx_ptype_5pysam_16libctabixproxies_VCFProxy->tp_print = 0;
jpayne@69 26114 #endif
jpayne@69 26115 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26116 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_5pysam_16libctabixproxies_VCFProxy->tp_dictoffset && __pyx_ptype_5pysam_16libctabixproxies_VCFProxy->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26117 __pyx_ptype_5pysam_16libctabixproxies_VCFProxy->tp_getattro = __Pyx_PyObject_GenericGetAttr;
jpayne@69 26118 }
jpayne@69 26119 #endif
jpayne@69 26120 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 26121 {
jpayne@69 26122 PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_VCFProxy, "__len__"); if (unlikely(!wrapper)) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26123 if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
jpayne@69 26124 __pyx_wrapperbase_5pysam_16libctabixproxies_8VCFProxy_2__len__ = *((PyWrapperDescrObject *)wrapper)->d_base;
jpayne@69 26125 __pyx_wrapperbase_5pysam_16libctabixproxies_8VCFProxy_2__len__.doc = __pyx_doc_5pysam_16libctabixproxies_8VCFProxy_2__len__;
jpayne@69 26126 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5pysam_16libctabixproxies_8VCFProxy_2__len__;
jpayne@69 26127 }
jpayne@69 26128 }
jpayne@69 26129 #endif
jpayne@69 26130 #if CYTHON_UPDATE_DESCRIPTOR_DOC
jpayne@69 26131 {
jpayne@69 26132 PyObject *wrapper = PyObject_GetAttrString((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_VCFProxy, "__setattr__"); if (unlikely(!wrapper)) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26133 if (__Pyx_IS_TYPE(wrapper, &PyWrapperDescr_Type)) {
jpayne@69 26134 __pyx_wrapperbase_5pysam_16libctabixproxies_8VCFProxy_4__setattr__ = *((PyWrapperDescrObject *)wrapper)->d_base;
jpayne@69 26135 __pyx_wrapperbase_5pysam_16libctabixproxies_8VCFProxy_4__setattr__.doc = __pyx_doc_5pysam_16libctabixproxies_8VCFProxy_4__setattr__;
jpayne@69 26136 ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_5pysam_16libctabixproxies_8VCFProxy_4__setattr__;
jpayne@69 26137 }
jpayne@69 26138 }
jpayne@69 26139 #endif
jpayne@69 26140 if (__Pyx_SetVtable(__pyx_ptype_5pysam_16libctabixproxies_VCFProxy, __pyx_vtabptr_5pysam_16libctabixproxies_VCFProxy) < 0) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26141 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26142 if (__Pyx_MergeVtables(__pyx_ptype_5pysam_16libctabixproxies_VCFProxy) < 0) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26143 #endif
jpayne@69 26144 if (PyObject_SetAttr(__pyx_m, __pyx_n_s_VCFProxy, (PyObject *) __pyx_ptype_5pysam_16libctabixproxies_VCFProxy) < 0) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26145 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26146 if (__Pyx_setup_reduce((PyObject *) __pyx_ptype_5pysam_16libctabixproxies_VCFProxy) < 0) __PYX_ERR(0, 776, __pyx_L1_error)
jpayne@69 26147 #endif
jpayne@69 26148 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26149 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator_spec, NULL); if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator)) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 26150 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator_spec, __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator) < 0) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 26151 #else
jpayne@69 26152 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator = &__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator;
jpayne@69 26153 #endif
jpayne@69 26154 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26155 #endif
jpayne@69 26156 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26157 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator) < 0) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 26158 #endif
jpayne@69 26159 #if PY_MAJOR_VERSION < 3
jpayne@69 26160 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator->tp_print = 0;
jpayne@69 26161 #endif
jpayne@69 26162 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26163 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator->tp_dictoffset && __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26164 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct__attribute_string2iterator->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
jpayne@69 26165 }
jpayne@69 26166 #endif
jpayne@69 26167 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26168 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator_spec, NULL); if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator)) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 26169 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator_spec, __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator) < 0) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 26170 #else
jpayne@69 26171 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator = &__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator;
jpayne@69 26172 #endif
jpayne@69 26173 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26174 #endif
jpayne@69 26175 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26176 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator) < 0) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 26177 #endif
jpayne@69 26178 #if PY_MAJOR_VERSION < 3
jpayne@69 26179 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator->tp_print = 0;
jpayne@69 26180 #endif
jpayne@69 26181 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26182 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator->tp_dictoffset && __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26183 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_1_attribute_string2iterator->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
jpayne@69 26184 }
jpayne@69 26185 #endif
jpayne@69 26186 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26187 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr_spec, NULL); if (unlikely(!__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr)) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 26188 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr_spec, __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr) < 0) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 26189 #else
jpayne@69 26190 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr = &__pyx_type_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr;
jpayne@69 26191 #endif
jpayne@69 26192 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26193 #endif
jpayne@69 26194 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26195 if (__Pyx_PyType_Ready(__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr) < 0) __PYX_ERR(0, 684, __pyx_L1_error)
jpayne@69 26196 #endif
jpayne@69 26197 #if PY_MAJOR_VERSION < 3
jpayne@69 26198 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr->tp_print = 0;
jpayne@69 26199 #endif
jpayne@69 26200 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26201 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr->tp_dictoffset && __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26202 __pyx_ptype_5pysam_16libctabixproxies___pyx_scope_struct_2_genexpr->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
jpayne@69 26203 }
jpayne@69 26204 #endif
jpayne@69 26205 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26206 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_spec, NULL); if (unlikely(!__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v)) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26207 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v_spec, __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v) < 0) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26208 #else
jpayne@69 26209 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v = &__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v;
jpayne@69 26210 #endif
jpayne@69 26211 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26212 #endif
jpayne@69 26213 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26214 if (__Pyx_PyType_Ready(__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v) < 0) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26215 #endif
jpayne@69 26216 #if PY_MAJOR_VERSION < 3
jpayne@69 26217 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v->tp_print = 0;
jpayne@69 26218 #endif
jpayne@69 26219 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26220 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v->tp_dictoffset && __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26221 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
jpayne@69 26222 }
jpayne@69 26223 #endif
jpayne@69 26224 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26225 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_spec, NULL); if (unlikely(!__pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v)) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26226 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v_spec, __pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v) < 0) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26227 #else
jpayne@69 26228 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v = &__pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v;
jpayne@69 26229 #endif
jpayne@69 26230 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26231 #endif
jpayne@69 26232 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26233 if (__Pyx_PyType_Ready(__pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v) < 0) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26234 #endif
jpayne@69 26235 #if PY_MAJOR_VERSION < 3
jpayne@69 26236 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v->tp_print = 0;
jpayne@69 26237 #endif
jpayne@69 26238 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26239 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v->tp_dictoffset && __pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26240 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
jpayne@69 26241 }
jpayne@69 26242 #endif
jpayne@69 26243 #if CYTHON_USE_TYPE_SPECS
jpayne@69 26244 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v = (PyTypeObject *) __Pyx_PyType_FromModuleAndSpec(__pyx_m, &__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_spec, NULL); if (unlikely(!__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v)) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26245 if (__Pyx_fix_up_extension_type_from_spec(&__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v_spec, __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v) < 0) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26246 #else
jpayne@69 26247 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v = &__pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v;
jpayne@69 26248 #endif
jpayne@69 26249 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26250 #endif
jpayne@69 26251 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 26252 if (__Pyx_PyType_Ready(__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v) < 0) __PYX_ERR(1, 66, __pyx_L1_error)
jpayne@69 26253 #endif
jpayne@69 26254 #if PY_MAJOR_VERSION < 3
jpayne@69 26255 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v->tp_print = 0;
jpayne@69 26256 #endif
jpayne@69 26257 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26258 if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v->tp_dictoffset && __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 26259 __pyx_ptype___pyx_scope_struct____Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v->tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
jpayne@69 26260 }
jpayne@69 26261 #endif
jpayne@69 26262 __Pyx_RefNannyFinishContext();
jpayne@69 26263 return 0;
jpayne@69 26264 __pyx_L1_error:;
jpayne@69 26265 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 26266 __Pyx_RefNannyFinishContext();
jpayne@69 26267 return -1;
jpayne@69 26268 }
jpayne@69 26269
jpayne@69 26270 static int __Pyx_modinit_type_import_code(void) {
jpayne@69 26271 __Pyx_RefNannyDeclarations
jpayne@69 26272 PyObject *__pyx_t_1 = NULL;
jpayne@69 26273 int __pyx_lineno = 0;
jpayne@69 26274 const char *__pyx_filename = NULL;
jpayne@69 26275 int __pyx_clineno = 0;
jpayne@69 26276 __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
jpayne@69 26277 /*--- Type import code ---*/
jpayne@69 26278 __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(4, 9, __pyx_L1_error)
jpayne@69 26279 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 26280 __pyx_ptype_7cpython_4type_type = __Pyx_ImportType_3_0_11(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
jpayne@69 26281 #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
jpayne@69 26282 sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyTypeObject),
jpayne@69 26283 #elif CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26284 sizeof(PyTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyTypeObject),
jpayne@69 26285 #else
jpayne@69 26286 sizeof(PyHeapTypeObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyHeapTypeObject),
jpayne@69 26287 #endif
jpayne@69 26288 __Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(4, 9, __pyx_L1_error)
jpayne@69 26289 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 26290 __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 8, __pyx_L1_error)
jpayne@69 26291 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 26292 __pyx_ptype_7cpython_4bool_bool = __Pyx_ImportType_3_0_11(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "bool", sizeof(PyBoolObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyBoolObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_7cpython_4bool_bool) __PYX_ERR(5, 8, __pyx_L1_error)
jpayne@69 26293 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 26294 __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(6, 15, __pyx_L1_error)
jpayne@69 26295 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 26296 __pyx_ptype_7cpython_7complex_complex = __Pyx_ImportType_3_0_11(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "complex", sizeof(PyComplexObject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(PyComplexObject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_7cpython_7complex_complex) __PYX_ERR(6, 15, __pyx_L1_error)
jpayne@69 26297 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 26298 __pyx_t_1 = PyImport_ImportModule("array"); if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 69, __pyx_L1_error)
jpayne@69 26299 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 26300 __pyx_ptype_7cpython_5array_array = __Pyx_ImportType_3_0_11(__pyx_t_1, "array", "array", sizeof(arrayobject), __PYX_GET_STRUCT_ALIGNMENT_3_0_11(arrayobject),__Pyx_ImportType_CheckSize_Warn_3_0_11); if (!__pyx_ptype_7cpython_5array_array) __PYX_ERR(3, 69, __pyx_L1_error)
jpayne@69 26301 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 26302 __Pyx_RefNannyFinishContext();
jpayne@69 26303 return 0;
jpayne@69 26304 __pyx_L1_error:;
jpayne@69 26305 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 26306 __Pyx_RefNannyFinishContext();
jpayne@69 26307 return -1;
jpayne@69 26308 }
jpayne@69 26309
jpayne@69 26310 static int __Pyx_modinit_variable_import_code(void) {
jpayne@69 26311 __Pyx_RefNannyDeclarations
jpayne@69 26312 __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0);
jpayne@69 26313 /*--- Variable import code ---*/
jpayne@69 26314 __Pyx_RefNannyFinishContext();
jpayne@69 26315 return 0;
jpayne@69 26316 }
jpayne@69 26317
jpayne@69 26318 static int __Pyx_modinit_function_import_code(void) {
jpayne@69 26319 __Pyx_RefNannyDeclarations
jpayne@69 26320 PyObject *__pyx_t_1 = NULL;
jpayne@69 26321 int __pyx_lineno = 0;
jpayne@69 26322 const char *__pyx_filename = NULL;
jpayne@69 26323 int __pyx_clineno = 0;
jpayne@69 26324 __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0);
jpayne@69 26325 /*--- Function import code ---*/
jpayne@69 26326 __pyx_t_1 = PyImport_ImportModule("pysam.libcutils"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26327 __Pyx_GOTREF(__pyx_t_1);
jpayne@69 26328 if (__Pyx_ImportFunction_3_0_11(__pyx_t_1, "charptr_to_str", (void (**)(void))&__pyx_f_5pysam_9libcutils_charptr_to_str, "PyObject *(char const *, struct __pyx_opt_args_5pysam_9libcutils_charptr_to_str *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26329 if (__Pyx_ImportFunction_3_0_11(__pyx_t_1, "force_str", (void (**)(void))&__pyx_f_5pysam_9libcutils_force_str, "PyObject *(PyObject *, struct __pyx_opt_args_5pysam_9libcutils_force_str *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26330 if (__Pyx_ImportFunction_3_0_11(__pyx_t_1, "force_bytes", (void (**)(void))&__pyx_f_5pysam_9libcutils_force_bytes, "PyObject *(PyObject *, struct __pyx_opt_args_5pysam_9libcutils_force_bytes *__pyx_optional_args)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26331 if (__Pyx_ImportFunction_3_0_11(__pyx_t_1, "encode_filename", (void (**)(void))&__pyx_f_5pysam_9libcutils_encode_filename, "PyObject *(PyObject *)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26332 if (__Pyx_ImportFunction_3_0_11(__pyx_t_1, "from_string_and_size", (void (**)(void))&__pyx_f_5pysam_9libcutils_from_string_and_size, "PyObject *(char const *, size_t)") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26333 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
jpayne@69 26334 __Pyx_RefNannyFinishContext();
jpayne@69 26335 return 0;
jpayne@69 26336 __pyx_L1_error:;
jpayne@69 26337 __Pyx_XDECREF(__pyx_t_1);
jpayne@69 26338 __Pyx_RefNannyFinishContext();
jpayne@69 26339 return -1;
jpayne@69 26340 }
jpayne@69 26341
jpayne@69 26342
jpayne@69 26343 #if PY_MAJOR_VERSION >= 3
jpayne@69 26344 #if CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 26345 static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
jpayne@69 26346 static int __pyx_pymod_exec_libctabixproxies(PyObject* module); /*proto*/
jpayne@69 26347 static PyModuleDef_Slot __pyx_moduledef_slots[] = {
jpayne@69 26348 {Py_mod_create, (void*)__pyx_pymod_create},
jpayne@69 26349 {Py_mod_exec, (void*)__pyx_pymod_exec_libctabixproxies},
jpayne@69 26350 {0, NULL}
jpayne@69 26351 };
jpayne@69 26352 #endif
jpayne@69 26353
jpayne@69 26354 #ifdef __cplusplus
jpayne@69 26355 namespace {
jpayne@69 26356 struct PyModuleDef __pyx_moduledef =
jpayne@69 26357 #else
jpayne@69 26358 static struct PyModuleDef __pyx_moduledef =
jpayne@69 26359 #endif
jpayne@69 26360 {
jpayne@69 26361 PyModuleDef_HEAD_INIT,
jpayne@69 26362 "libctabixproxies",
jpayne@69 26363 0, /* m_doc */
jpayne@69 26364 #if CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 26365 0, /* m_size */
jpayne@69 26366 #elif CYTHON_USE_MODULE_STATE
jpayne@69 26367 sizeof(__pyx_mstate), /* m_size */
jpayne@69 26368 #else
jpayne@69 26369 -1, /* m_size */
jpayne@69 26370 #endif
jpayne@69 26371 __pyx_methods /* m_methods */,
jpayne@69 26372 #if CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 26373 __pyx_moduledef_slots, /* m_slots */
jpayne@69 26374 #else
jpayne@69 26375 NULL, /* m_reload */
jpayne@69 26376 #endif
jpayne@69 26377 #if CYTHON_USE_MODULE_STATE
jpayne@69 26378 __pyx_m_traverse, /* m_traverse */
jpayne@69 26379 __pyx_m_clear, /* m_clear */
jpayne@69 26380 NULL /* m_free */
jpayne@69 26381 #else
jpayne@69 26382 NULL, /* m_traverse */
jpayne@69 26383 NULL, /* m_clear */
jpayne@69 26384 NULL /* m_free */
jpayne@69 26385 #endif
jpayne@69 26386 };
jpayne@69 26387 #ifdef __cplusplus
jpayne@69 26388 } /* anonymous namespace */
jpayne@69 26389 #endif
jpayne@69 26390 #endif
jpayne@69 26391
jpayne@69 26392 #ifndef CYTHON_NO_PYINIT_EXPORT
jpayne@69 26393 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
jpayne@69 26394 #elif PY_MAJOR_VERSION < 3
jpayne@69 26395 #ifdef __cplusplus
jpayne@69 26396 #define __Pyx_PyMODINIT_FUNC extern "C" void
jpayne@69 26397 #else
jpayne@69 26398 #define __Pyx_PyMODINIT_FUNC void
jpayne@69 26399 #endif
jpayne@69 26400 #else
jpayne@69 26401 #ifdef __cplusplus
jpayne@69 26402 #define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
jpayne@69 26403 #else
jpayne@69 26404 #define __Pyx_PyMODINIT_FUNC PyObject *
jpayne@69 26405 #endif
jpayne@69 26406 #endif
jpayne@69 26407
jpayne@69 26408
jpayne@69 26409 #if PY_MAJOR_VERSION < 3
jpayne@69 26410 __Pyx_PyMODINIT_FUNC initlibctabixproxies(void) CYTHON_SMALL_CODE; /*proto*/
jpayne@69 26411 __Pyx_PyMODINIT_FUNC initlibctabixproxies(void)
jpayne@69 26412 #else
jpayne@69 26413 __Pyx_PyMODINIT_FUNC PyInit_libctabixproxies(void) CYTHON_SMALL_CODE; /*proto*/
jpayne@69 26414 __Pyx_PyMODINIT_FUNC PyInit_libctabixproxies(void)
jpayne@69 26415 #if CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 26416 {
jpayne@69 26417 return PyModuleDef_Init(&__pyx_moduledef);
jpayne@69 26418 }
jpayne@69 26419 static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
jpayne@69 26420 #if PY_VERSION_HEX >= 0x030700A1
jpayne@69 26421 static PY_INT64_T main_interpreter_id = -1;
jpayne@69 26422 PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
jpayne@69 26423 if (main_interpreter_id == -1) {
jpayne@69 26424 main_interpreter_id = current_id;
jpayne@69 26425 return (unlikely(current_id == -1)) ? -1 : 0;
jpayne@69 26426 } else if (unlikely(main_interpreter_id != current_id))
jpayne@69 26427 #else
jpayne@69 26428 static PyInterpreterState *main_interpreter = NULL;
jpayne@69 26429 PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
jpayne@69 26430 if (!main_interpreter) {
jpayne@69 26431 main_interpreter = current_interpreter;
jpayne@69 26432 } else if (unlikely(main_interpreter != current_interpreter))
jpayne@69 26433 #endif
jpayne@69 26434 {
jpayne@69 26435 PyErr_SetString(
jpayne@69 26436 PyExc_ImportError,
jpayne@69 26437 "Interpreter change detected - this module can only be loaded into one interpreter per process.");
jpayne@69 26438 return -1;
jpayne@69 26439 }
jpayne@69 26440 return 0;
jpayne@69 26441 }
jpayne@69 26442 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26443 static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none)
jpayne@69 26444 #else
jpayne@69 26445 static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none)
jpayne@69 26446 #endif
jpayne@69 26447 {
jpayne@69 26448 PyObject *value = PyObject_GetAttrString(spec, from_name);
jpayne@69 26449 int result = 0;
jpayne@69 26450 if (likely(value)) {
jpayne@69 26451 if (allow_none || value != Py_None) {
jpayne@69 26452 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26453 result = PyModule_AddObject(module, to_name, value);
jpayne@69 26454 #else
jpayne@69 26455 result = PyDict_SetItemString(moddict, to_name, value);
jpayne@69 26456 #endif
jpayne@69 26457 }
jpayne@69 26458 Py_DECREF(value);
jpayne@69 26459 } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
jpayne@69 26460 PyErr_Clear();
jpayne@69 26461 } else {
jpayne@69 26462 result = -1;
jpayne@69 26463 }
jpayne@69 26464 return result;
jpayne@69 26465 }
jpayne@69 26466 static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) {
jpayne@69 26467 PyObject *module = NULL, *moddict, *modname;
jpayne@69 26468 CYTHON_UNUSED_VAR(def);
jpayne@69 26469 if (__Pyx_check_single_interpreter())
jpayne@69 26470 return NULL;
jpayne@69 26471 if (__pyx_m)
jpayne@69 26472 return __Pyx_NewRef(__pyx_m);
jpayne@69 26473 modname = PyObject_GetAttrString(spec, "name");
jpayne@69 26474 if (unlikely(!modname)) goto bad;
jpayne@69 26475 module = PyModule_NewObject(modname);
jpayne@69 26476 Py_DECREF(modname);
jpayne@69 26477 if (unlikely(!module)) goto bad;
jpayne@69 26478 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 26479 moddict = module;
jpayne@69 26480 #else
jpayne@69 26481 moddict = PyModule_GetDict(module);
jpayne@69 26482 if (unlikely(!moddict)) goto bad;
jpayne@69 26483 #endif
jpayne@69 26484 if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
jpayne@69 26485 if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
jpayne@69 26486 if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
jpayne@69 26487 if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
jpayne@69 26488 return module;
jpayne@69 26489 bad:
jpayne@69 26490 Py_XDECREF(module);
jpayne@69 26491 return NULL;
jpayne@69 26492 }
jpayne@69 26493
jpayne@69 26494
jpayne@69 26495 static CYTHON_SMALL_CODE int __pyx_pymod_exec_libctabixproxies(PyObject *__pyx_pyinit_module)
jpayne@69 26496 #endif
jpayne@69 26497 #endif
jpayne@69 26498 {
jpayne@69 26499 int stringtab_initialized = 0;
jpayne@69 26500 #if CYTHON_USE_MODULE_STATE
jpayne@69 26501 int pystate_addmodule_run = 0;
jpayne@69 26502 #endif
jpayne@69 26503 PyObject *__pyx_t_1 = NULL;
jpayne@69 26504 PyObject *__pyx_t_2 = NULL;
jpayne@69 26505 PyObject *__pyx_t_3 = NULL;
jpayne@69 26506 PyObject *__pyx_t_4 = NULL;
jpayne@69 26507 PyObject *__pyx_t_5 = NULL;
jpayne@69 26508 int __pyx_lineno = 0;
jpayne@69 26509 const char *__pyx_filename = NULL;
jpayne@69 26510 int __pyx_clineno = 0;
jpayne@69 26511 __Pyx_RefNannyDeclarations
jpayne@69 26512 #if CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 26513 if (__pyx_m) {
jpayne@69 26514 if (__pyx_m == __pyx_pyinit_module) return 0;
jpayne@69 26515 PyErr_SetString(PyExc_RuntimeError, "Module 'libctabixproxies' has already been imported. Re-initialisation is not supported.");
jpayne@69 26516 return -1;
jpayne@69 26517 }
jpayne@69 26518 #elif PY_MAJOR_VERSION >= 3
jpayne@69 26519 if (__pyx_m) return __Pyx_NewRef(__pyx_m);
jpayne@69 26520 #endif
jpayne@69 26521 /*--- Module creation code ---*/
jpayne@69 26522 #if CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 26523 __pyx_m = __pyx_pyinit_module;
jpayne@69 26524 Py_INCREF(__pyx_m);
jpayne@69 26525 #else
jpayne@69 26526 #if PY_MAJOR_VERSION < 3
jpayne@69 26527 __pyx_m = Py_InitModule4("libctabixproxies", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
jpayne@69 26528 if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26529 #elif CYTHON_USE_MODULE_STATE
jpayne@69 26530 __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26531 {
jpayne@69 26532 int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef);
jpayne@69 26533 __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "libctabixproxies" pseudovariable */
jpayne@69 26534 if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26535 pystate_addmodule_run = 1;
jpayne@69 26536 }
jpayne@69 26537 #else
jpayne@69 26538 __pyx_m = PyModule_Create(&__pyx_moduledef);
jpayne@69 26539 if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26540 #endif
jpayne@69 26541 #endif
jpayne@69 26542 CYTHON_UNUSED_VAR(__pyx_t_1);
jpayne@69 26543 __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26544 Py_INCREF(__pyx_d);
jpayne@69 26545 __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26546 __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26547 if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26548 #if CYTHON_REFNANNY
jpayne@69 26549 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
jpayne@69 26550 if (!__Pyx_RefNanny) {
jpayne@69 26551 PyErr_Clear();
jpayne@69 26552 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
jpayne@69 26553 if (!__Pyx_RefNanny)
jpayne@69 26554 Py_FatalError("failed to import 'refnanny' module");
jpayne@69 26555 }
jpayne@69 26556 #endif
jpayne@69 26557 __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_libctabixproxies(void)", 0);
jpayne@69 26558 if (__Pyx_check_binary_version(__PYX_LIMITED_VERSION_HEX, __Pyx_get_runtime_version(), CYTHON_COMPILING_IN_LIMITED_API) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26559 #ifdef __Pxy_PyFrame_Initialize_Offsets
jpayne@69 26560 __Pxy_PyFrame_Initialize_Offsets();
jpayne@69 26561 #endif
jpayne@69 26562 __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26563 __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26564 __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26565 #ifdef __Pyx_CyFunction_USED
jpayne@69 26566 if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26567 #endif
jpayne@69 26568 #ifdef __Pyx_FusedFunction_USED
jpayne@69 26569 if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26570 #endif
jpayne@69 26571 #ifdef __Pyx_Coroutine_USED
jpayne@69 26572 if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26573 #endif
jpayne@69 26574 #ifdef __Pyx_Generator_USED
jpayne@69 26575 if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26576 #endif
jpayne@69 26577 #ifdef __Pyx_AsyncGen_USED
jpayne@69 26578 if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26579 #endif
jpayne@69 26580 #ifdef __Pyx_StopAsyncIteration_USED
jpayne@69 26581 if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26582 #endif
jpayne@69 26583 /*--- Library function declarations ---*/
jpayne@69 26584 /*--- Threads initialization code ---*/
jpayne@69 26585 #if defined(WITH_THREAD) && PY_VERSION_HEX < 0x030700F0 && defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
jpayne@69 26586 PyEval_InitThreads();
jpayne@69 26587 #endif
jpayne@69 26588 /*--- Initialize various global constants etc. ---*/
jpayne@69 26589 if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26590 stringtab_initialized = 1;
jpayne@69 26591 if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26592 #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
jpayne@69 26593 if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26594 #endif
jpayne@69 26595 if (__pyx_module_is_main_pysam__libctabixproxies) {
jpayne@69 26596 if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name_2, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26597 }
jpayne@69 26598 #if PY_MAJOR_VERSION >= 3
jpayne@69 26599 {
jpayne@69 26600 PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26601 if (!PyDict_GetItemString(modules, "pysam.libctabixproxies")) {
jpayne@69 26602 if (unlikely((PyDict_SetItemString(modules, "pysam.libctabixproxies", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26603 }
jpayne@69 26604 }
jpayne@69 26605 #endif
jpayne@69 26606 /*--- Builtin init code ---*/
jpayne@69 26607 if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26608 /*--- Constants init code ---*/
jpayne@69 26609 if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26610 /*--- Global type/function init code ---*/
jpayne@69 26611 (void)__Pyx_modinit_global_init_code();
jpayne@69 26612 (void)__Pyx_modinit_variable_export_code();
jpayne@69 26613 (void)__Pyx_modinit_function_export_code();
jpayne@69 26614 if (unlikely((__Pyx_modinit_type_init_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26615 if (unlikely((__Pyx_modinit_type_import_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26616 (void)__Pyx_modinit_variable_import_code();
jpayne@69 26617 if (unlikely((__Pyx_modinit_function_import_code() < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26618 /*--- Execution code ---*/
jpayne@69 26619 #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
jpayne@69 26620 if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 26621 #endif
jpayne@69 26622
jpayne@69 26623 /* "pysam/libctabixproxies.pyx":11
jpayne@69 26624 * from pysam.libcutils cimport encode_filename, from_string_and_size
jpayne@69 26625 *
jpayne@69 26626 * import collections # <<<<<<<<<<<<<<
jpayne@69 26627 * import copy
jpayne@69 26628 *
jpayne@69 26629 */
jpayne@69 26630 __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_collections, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
jpayne@69 26631 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26632 if (PyDict_SetItem(__pyx_d, __pyx_n_s_collections, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
jpayne@69 26633 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26634
jpayne@69 26635 /* "pysam/libctabixproxies.pyx":12
jpayne@69 26636 *
jpayne@69 26637 * import collections
jpayne@69 26638 * import copy # <<<<<<<<<<<<<<
jpayne@69 26639 *
jpayne@69 26640 *
jpayne@69 26641 */
jpayne@69 26642 __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_copy, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
jpayne@69 26643 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26644 if (PyDict_SetItem(__pyx_d, __pyx_n_s_copy, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
jpayne@69 26645 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26646
jpayne@69 26647 /* "pysam/libctabixproxies.pyx":65
jpayne@69 26648 * free(self.fields)
jpayne@69 26649 *
jpayne@69 26650 * def __copy__(self): # <<<<<<<<<<<<<<
jpayne@69 26651 * if self.is_modified:
jpayne@69 26652 * raise NotImplementedError(
jpayne@69 26653 */
jpayne@69 26654 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_5__copy__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxy___copy, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__34)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error)
jpayne@69 26655 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26656 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, __pyx_n_s_copy_2, __pyx_t_2) < 0) __PYX_ERR(0, 65, __pyx_L1_error)
jpayne@69 26657 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26658 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 26659
jpayne@69 26660 /* "pysam/libctabixproxies.pyx":73
jpayne@69 26661 * return n
jpayne@69 26662 *
jpayne@69 26663 * def compare(self, TupleProxy other): # <<<<<<<<<<<<<<
jpayne@69 26664 * '''return -1,0,1, if contents in this are binary
jpayne@69 26665 * <,=,> to *other*
jpayne@69 26666 */
jpayne@69 26667 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_7compare, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxy_compare, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__36)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error)
jpayne@69 26668 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26669 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, __pyx_n_s_compare, __pyx_t_2) < 0) __PYX_ERR(0, 73, __pyx_L1_error)
jpayne@69 26670 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26671 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 26672
jpayne@69 26673 /* "pysam/libctabixproxies.pyx":136
jpayne@69 26674 * self.update(self.data, nbytes)
jpayne@69 26675 *
jpayne@69 26676 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 26677 * '''return minimum number of fields.'''
jpayne@69 26678 * # 1 is not a valid tabix entry, but TupleProxy
jpayne@69 26679 */
jpayne@69 26680 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_11getMinFields, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxy_getMinFields, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 26681 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26682 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, __pyx_n_s_getMinFields, __pyx_t_2) < 0) __PYX_ERR(0, 136, __pyx_L1_error)
jpayne@69 26683 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26684 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 26685
jpayne@69 26686 /* "pysam/libctabixproxies.pyx":142
jpayne@69 26687 * return 1
jpayne@69 26688 *
jpayne@69 26689 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 26690 * '''return maximum number of fields. Return
jpayne@69 26691 * 0 for unknown length.'''
jpayne@69 26692 */
jpayne@69 26693 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_13getMaxFields, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxy_getMaxFields, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 142, __pyx_L1_error)
jpayne@69 26694 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26695 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, __pyx_n_s_getMaxFields, __pyx_t_2) < 0) __PYX_ERR(0, 142, __pyx_L1_error)
jpayne@69 26696 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26697 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 26698
jpayne@69 26699 /* "pysam/libctabixproxies.pyx":239
jpayne@69 26700 * (self.getMinFields(), buffer))
jpayne@69 26701 *
jpayne@69 26702 * def _getindex(self, int index): # <<<<<<<<<<<<<<
jpayne@69 26703 * '''return item at idx index'''
jpayne@69 26704 * cdef int i = index
jpayne@69 26705 */
jpayne@69 26706 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_15_getindex, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxy__getindex, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 239, __pyx_L1_error)
jpayne@69 26707 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26708 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, __pyx_n_s_getindex, __pyx_t_2) < 0) __PYX_ERR(0, 239, __pyx_L1_error)
jpayne@69 26709 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26710 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 26711
jpayne@69 26712 /* "pysam/libctabixproxies.pyx":265
jpayne@69 26713 * return result
jpayne@69 26714 *
jpayne@69 26715 * def _setindex(self, index, value): # <<<<<<<<<<<<<<
jpayne@69 26716 * '''set item at idx index.'''
jpayne@69 26717 * cdef int idx = index
jpayne@69 26718 */
jpayne@69 26719 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_19_setindex, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxy__setindex, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error)
jpayne@69 26720 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26721 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxy, __pyx_n_s_setindex, __pyx_t_2) < 0) __PYX_ERR(0, 265, __pyx_L1_error)
jpayne@69 26722 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26723 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_TupleProxy);
jpayne@69 26724
jpayne@69 26725 /* "(tree fragment)":1
jpayne@69 26726 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 26727 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 26728 * def __setstate_cython__(self, __pyx_state):
jpayne@69 26729 */
jpayne@69 26730 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_29__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxy___reduce_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 26731 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26732 if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 26733 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26734
jpayne@69 26735 /* "(tree fragment)":3
jpayne@69 26736 * def __reduce_cython__(self):
jpayne@69 26737 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 26738 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 26739 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 26740 */
jpayne@69 26741 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_10TupleProxy_31__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxy___setstate_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 26742 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26743 if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 26744 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26745
jpayne@69 26746 /* "(tree fragment)":1
jpayne@69 26747 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 26748 * cdef tuple state
jpayne@69 26749 * cdef object _dict
jpayne@69 26750 */
jpayne@69 26751 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_18TupleProxyIterator_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxyIterator___reduce_cyth, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 26752 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26753 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 26754 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26755 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator);
jpayne@69 26756
jpayne@69 26757 /* "(tree fragment)":16
jpayne@69 26758 * else:
jpayne@69 26759 * return __pyx_unpickle_TupleProxyIterator, (type(self), 0x0eb9d08, state)
jpayne@69 26760 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 26761 * __pyx_unpickle_TupleProxyIterator__set_state(self, __pyx_state)
jpayne@69 26762 */
jpayne@69 26763 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_18TupleProxyIterator_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_TupleProxyIterator___setstate_cy, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 16, __pyx_L1_error)
jpayne@69 26764 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26765 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 16, __pyx_L1_error)
jpayne@69 26766 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26767 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_TupleProxyIterator);
jpayne@69 26768
jpayne@69 26769 /* "pysam/libctabixproxies.pyx":345
jpayne@69 26770 *
jpayne@69 26771 *
jpayne@69 26772 * def toDot(v): # <<<<<<<<<<<<<<
jpayne@69 26773 * '''convert value to '.' if None'''
jpayne@69 26774 * if v is None:
jpayne@69 26775 */
jpayne@69 26776 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_1toDot, 0, __pyx_n_s_toDot, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L1_error)
jpayne@69 26777 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26778 if (PyDict_SetItem(__pyx_d, __pyx_n_s_toDot, __pyx_t_2) < 0) __PYX_ERR(0, 345, __pyx_L1_error)
jpayne@69 26779 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26780
jpayne@69 26781 /* "pysam/libctabixproxies.pyx":352
jpayne@69 26782 * return str(v)
jpayne@69 26783 *
jpayne@69 26784 * def quote(v): # <<<<<<<<<<<<<<
jpayne@69 26785 * '''return a quoted attribute.'''
jpayne@69 26786 * if isinstance(v, str):
jpayne@69 26787 */
jpayne@69 26788 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_3quote, 0, __pyx_n_s_quote, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 352, __pyx_L1_error)
jpayne@69 26789 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26790 if (PyDict_SetItem(__pyx_d, __pyx_n_s_quote, __pyx_t_2) < 0) __PYX_ERR(0, 352, __pyx_L1_error)
jpayne@69 26791 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26792
jpayne@69 26793 /* "pysam/libctabixproxies.pyx":362
jpayne@69 26794 * cdef class NamedTupleProxy(TupleProxy):
jpayne@69 26795 *
jpayne@69 26796 * map_key2field = {} # <<<<<<<<<<<<<<
jpayne@69 26797 *
jpayne@69 26798 * def __setattr__(self, key, value):
jpayne@69 26799 */
jpayne@69 26800 __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error)
jpayne@69 26801 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26802 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy, __pyx_n_s_map_key2field, __pyx_t_2) < 0) __PYX_ERR(0, 362, __pyx_L1_error)
jpayne@69 26803 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26804 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_NamedTupleProxy);
jpayne@69 26805
jpayne@69 26806 /* "(tree fragment)":1
jpayne@69 26807 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 26808 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 26809 * def __setstate_cython__(self, __pyx_state):
jpayne@69 26810 */
jpayne@69 26811 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_15NamedTupleProxy_5__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_NamedTupleProxy___reduce_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 26812 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26813 if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 26814 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26815
jpayne@69 26816 /* "(tree fragment)":3
jpayne@69 26817 * def __reduce_cython__(self):
jpayne@69 26818 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 26819 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 26820 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 26821 */
jpayne@69 26822 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_15NamedTupleProxy_7__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_NamedTupleProxy___setstate_cytho, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 26823 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26824 if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 26825 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 26826
jpayne@69 26827 /* "pysam/libctabixproxies.pyx":428
jpayne@69 26828 *
jpayne@69 26829 * '''
jpayne@69 26830 * separator = "; " # <<<<<<<<<<<<<<
jpayne@69 26831 *
jpayne@69 26832 * # first value is field index, the tuple contains conversion
jpayne@69 26833 */
jpayne@69 26834 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_separator, __pyx_kp_u__19) < 0) __PYX_ERR(0, 428, __pyx_L1_error)
jpayne@69 26835 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 26836
jpayne@69 26837 /* "pysam/libctabixproxies.pyx":435
jpayne@69 26838 * # interval string representation)
jpayne@69 26839 * map_key2field = {
jpayne@69 26840 * 'contig' : (0, (str, str)), # <<<<<<<<<<<<<<
jpayne@69 26841 * 'source' : (1, (dot_or_str, str)),
jpayne@69 26842 * 'feature': (2, (dot_or_str, str)),
jpayne@69 26843 */
jpayne@69 26844 __pyx_t_2 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 26845 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 26846 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 26847 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 26848 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 26849 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 26850 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 435, __pyx_L1_error);
jpayne@69 26851 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 26852 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 26853 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 435, __pyx_L1_error);
jpayne@69 26854 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 26855 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 26856 __Pyx_INCREF(__pyx_int_0);
jpayne@69 26857 __Pyx_GIVEREF(__pyx_int_0);
jpayne@69 26858 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0)) __PYX_ERR(0, 435, __pyx_L1_error);
jpayne@69 26859 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 26860 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 435, __pyx_L1_error);
jpayne@69 26861 __pyx_t_3 = 0;
jpayne@69 26862 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_contig, __pyx_t_4) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 26863 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 26864
jpayne@69 26865 /* "pysam/libctabixproxies.pyx":436
jpayne@69 26866 * map_key2field = {
jpayne@69 26867 * 'contig' : (0, (str, str)),
jpayne@69 26868 * 'source' : (1, (dot_or_str, str)), # <<<<<<<<<<<<<<
jpayne@69 26869 * 'feature': (2, (dot_or_str, str)),
jpayne@69 26870 * 'start' : (3, (from1based, to1based)),
jpayne@69 26871 */
jpayne@69 26872 __pyx_t_4 = __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(__pyx_f_5pysam_16libctabixproxies_dot_or_str); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L1_error)
jpayne@69 26873 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 26874 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 436, __pyx_L1_error)
jpayne@69 26875 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 26876 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 26877 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(0, 436, __pyx_L1_error);
jpayne@69 26878 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 26879 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 26880 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 436, __pyx_L1_error);
jpayne@69 26881 __pyx_t_4 = 0;
jpayne@69 26882 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 436, __pyx_L1_error)
jpayne@69 26883 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 26884 __Pyx_INCREF(__pyx_int_1);
jpayne@69 26885 __Pyx_GIVEREF(__pyx_int_1);
jpayne@69 26886 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_1)) __PYX_ERR(0, 436, __pyx_L1_error);
jpayne@69 26887 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 26888 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 436, __pyx_L1_error);
jpayne@69 26889 __pyx_t_3 = 0;
jpayne@69 26890 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_source, __pyx_t_4) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 26891 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 26892
jpayne@69 26893 /* "pysam/libctabixproxies.pyx":437
jpayne@69 26894 * 'contig' : (0, (str, str)),
jpayne@69 26895 * 'source' : (1, (dot_or_str, str)),
jpayne@69 26896 * 'feature': (2, (dot_or_str, str)), # <<<<<<<<<<<<<<
jpayne@69 26897 * 'start' : (3, (from1based, to1based)),
jpayne@69 26898 * 'end' : (4, (int, int)),
jpayne@69 26899 */
jpayne@69 26900 __pyx_t_4 = __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(__pyx_f_5pysam_16libctabixproxies_dot_or_str); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error)
jpayne@69 26901 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 26902 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error)
jpayne@69 26903 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 26904 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 26905 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error);
jpayne@69 26906 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 26907 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 26908 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 437, __pyx_L1_error);
jpayne@69 26909 __pyx_t_4 = 0;
jpayne@69 26910 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 437, __pyx_L1_error)
jpayne@69 26911 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 26912 __Pyx_INCREF(__pyx_int_2);
jpayne@69 26913 __Pyx_GIVEREF(__pyx_int_2);
jpayne@69 26914 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_2)) __PYX_ERR(0, 437, __pyx_L1_error);
jpayne@69 26915 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 26916 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 437, __pyx_L1_error);
jpayne@69 26917 __pyx_t_3 = 0;
jpayne@69 26918 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_feature, __pyx_t_4) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 26919 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 26920
jpayne@69 26921 /* "pysam/libctabixproxies.pyx":438
jpayne@69 26922 * 'source' : (1, (dot_or_str, str)),
jpayne@69 26923 * 'feature': (2, (dot_or_str, str)),
jpayne@69 26924 * 'start' : (3, (from1based, to1based)), # <<<<<<<<<<<<<<
jpayne@69 26925 * 'end' : (4, (int, int)),
jpayne@69 26926 * 'score' : (5, (dot_or_float, toDot)),
jpayne@69 26927 */
jpayne@69 26928 __pyx_t_4 = __Pyx_CFunc_e2acea__5pysam_16libctabixproxies_int__lParenobject__r__etc_to_py_1v(__pyx_f_5pysam_16libctabixproxies_from1based); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 438, __pyx_L1_error)
jpayne@69 26929 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 26930 __pyx_t_3 = __Pyx_CFunc_5pysam_16libctabixproxies_unicode__lParenint__rParen_to_py_1v(__pyx_f_5pysam_16libctabixproxies_to1based); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L1_error)
jpayne@69 26931 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 26932 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 438, __pyx_L1_error)
jpayne@69 26933 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 26934 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 26935 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4)) __PYX_ERR(0, 438, __pyx_L1_error);
jpayne@69 26936 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 26937 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3)) __PYX_ERR(0, 438, __pyx_L1_error);
jpayne@69 26938 __pyx_t_4 = 0;
jpayne@69 26939 __pyx_t_3 = 0;
jpayne@69 26940 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 438, __pyx_L1_error)
jpayne@69 26941 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 26942 __Pyx_INCREF(__pyx_int_3);
jpayne@69 26943 __Pyx_GIVEREF(__pyx_int_3);
jpayne@69 26944 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_3)) __PYX_ERR(0, 438, __pyx_L1_error);
jpayne@69 26945 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 26946 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5)) __PYX_ERR(0, 438, __pyx_L1_error);
jpayne@69 26947 __pyx_t_5 = 0;
jpayne@69 26948 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_start, __pyx_t_3) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 26949 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 26950
jpayne@69 26951 /* "pysam/libctabixproxies.pyx":439
jpayne@69 26952 * 'feature': (2, (dot_or_str, str)),
jpayne@69 26953 * 'start' : (3, (from1based, to1based)),
jpayne@69 26954 * 'end' : (4, (int, int)), # <<<<<<<<<<<<<<
jpayne@69 26955 * 'score' : (5, (dot_or_float, toDot)),
jpayne@69 26956 * 'strand' : (6, (dot_or_str, str)),
jpayne@69 26957 */
jpayne@69 26958 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 439, __pyx_L1_error)
jpayne@69 26959 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 26960 __Pyx_INCREF((PyObject *)(&PyInt_Type));
jpayne@69 26961 __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
jpayne@69 26962 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 439, __pyx_L1_error);
jpayne@69 26963 __Pyx_INCREF((PyObject *)(&PyInt_Type));
jpayne@69 26964 __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
jpayne@69 26965 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 439, __pyx_L1_error);
jpayne@69 26966 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 439, __pyx_L1_error)
jpayne@69 26967 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 26968 __Pyx_INCREF(__pyx_int_4);
jpayne@69 26969 __Pyx_GIVEREF(__pyx_int_4);
jpayne@69 26970 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_4)) __PYX_ERR(0, 439, __pyx_L1_error);
jpayne@69 26971 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 26972 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3)) __PYX_ERR(0, 439, __pyx_L1_error);
jpayne@69 26973 __pyx_t_3 = 0;
jpayne@69 26974 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_end, __pyx_t_5) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 26975 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 26976
jpayne@69 26977 /* "pysam/libctabixproxies.pyx":440
jpayne@69 26978 * 'start' : (3, (from1based, to1based)),
jpayne@69 26979 * 'end' : (4, (int, int)),
jpayne@69 26980 * 'score' : (5, (dot_or_float, toDot)), # <<<<<<<<<<<<<<
jpayne@69 26981 * 'strand' : (6, (dot_or_str, str)),
jpayne@69 26982 * 'frame' : (7, (dot_or_int, toDot)),
jpayne@69 26983 */
jpayne@69 26984 __pyx_t_5 = __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(__pyx_f_5pysam_16libctabixproxies_dot_or_float); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 440, __pyx_L1_error)
jpayne@69 26985 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 26986 __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_toDot); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error)
jpayne@69 26987 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 26988 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 440, __pyx_L1_error)
jpayne@69 26989 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 26990 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 26991 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5)) __PYX_ERR(0, 440, __pyx_L1_error);
jpayne@69 26992 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 26993 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error);
jpayne@69 26994 __pyx_t_5 = 0;
jpayne@69 26995 __pyx_t_3 = 0;
jpayne@69 26996 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 440, __pyx_L1_error)
jpayne@69 26997 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 26998 __Pyx_INCREF(__pyx_int_5);
jpayne@69 26999 __Pyx_GIVEREF(__pyx_int_5);
jpayne@69 27000 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_5)) __PYX_ERR(0, 440, __pyx_L1_error);
jpayne@69 27001 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 27002 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4)) __PYX_ERR(0, 440, __pyx_L1_error);
jpayne@69 27003 __pyx_t_4 = 0;
jpayne@69 27004 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_score, __pyx_t_3) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 27005 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 27006
jpayne@69 27007 /* "pysam/libctabixproxies.pyx":441
jpayne@69 27008 * 'end' : (4, (int, int)),
jpayne@69 27009 * 'score' : (5, (dot_or_float, toDot)),
jpayne@69 27010 * 'strand' : (6, (dot_or_str, str)), # <<<<<<<<<<<<<<
jpayne@69 27011 * 'frame' : (7, (dot_or_int, toDot)),
jpayne@69 27012 * 'attributes': (8, (str, str))}
jpayne@69 27013 */
jpayne@69 27014 __pyx_t_3 = __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(__pyx_f_5pysam_16libctabixproxies_dot_or_str); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error)
jpayne@69 27015 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 27016 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 441, __pyx_L1_error)
jpayne@69 27017 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 27018 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 27019 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error);
jpayne@69 27020 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27021 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27022 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 441, __pyx_L1_error);
jpayne@69 27023 __pyx_t_3 = 0;
jpayne@69 27024 __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 441, __pyx_L1_error)
jpayne@69 27025 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 27026 __Pyx_INCREF(__pyx_int_6);
jpayne@69 27027 __Pyx_GIVEREF(__pyx_int_6);
jpayne@69 27028 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_6)) __PYX_ERR(0, 441, __pyx_L1_error);
jpayne@69 27029 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 27030 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4)) __PYX_ERR(0, 441, __pyx_L1_error);
jpayne@69 27031 __pyx_t_4 = 0;
jpayne@69 27032 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_strand, __pyx_t_3) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 27033 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
jpayne@69 27034
jpayne@69 27035 /* "pysam/libctabixproxies.pyx":442
jpayne@69 27036 * 'score' : (5, (dot_or_float, toDot)),
jpayne@69 27037 * 'strand' : (6, (dot_or_str, str)),
jpayne@69 27038 * 'frame' : (7, (dot_or_int, toDot)), # <<<<<<<<<<<<<<
jpayne@69 27039 * 'attributes': (8, (str, str))}
jpayne@69 27040 *
jpayne@69 27041 */
jpayne@69 27042 __pyx_t_3 = __Pyx_CFunc_5pysam_16libctabixproxies_object__lParenobject__rParen_to_py_1v(__pyx_f_5pysam_16libctabixproxies_dot_or_int); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 442, __pyx_L1_error)
jpayne@69 27043 __Pyx_GOTREF(__pyx_t_3);
jpayne@69 27044 __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_toDot); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error)
jpayne@69 27045 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 27046 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 442, __pyx_L1_error)
jpayne@69 27047 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27048 __Pyx_GIVEREF(__pyx_t_3);
jpayne@69 27049 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3)) __PYX_ERR(0, 442, __pyx_L1_error);
jpayne@69 27050 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 27051 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error);
jpayne@69 27052 __pyx_t_3 = 0;
jpayne@69 27053 __pyx_t_4 = 0;
jpayne@69 27054 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 442, __pyx_L1_error)
jpayne@69 27055 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 27056 __Pyx_INCREF(__pyx_int_7);
jpayne@69 27057 __Pyx_GIVEREF(__pyx_int_7);
jpayne@69 27058 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_7)) __PYX_ERR(0, 442, __pyx_L1_error);
jpayne@69 27059 __Pyx_GIVEREF(__pyx_t_5);
jpayne@69 27060 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5)) __PYX_ERR(0, 442, __pyx_L1_error);
jpayne@69 27061 __pyx_t_5 = 0;
jpayne@69 27062 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_frame, __pyx_t_4) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 27063 __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
jpayne@69 27064
jpayne@69 27065 /* "pysam/libctabixproxies.pyx":443
jpayne@69 27066 * 'strand' : (6, (dot_or_str, str)),
jpayne@69 27067 * 'frame' : (7, (dot_or_int, toDot)),
jpayne@69 27068 * 'attributes': (8, (str, str))} # <<<<<<<<<<<<<<
jpayne@69 27069 *
jpayne@69 27070 * def __cinit__(self):
jpayne@69 27071 */
jpayne@69 27072 __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error)
jpayne@69 27073 __Pyx_GOTREF(__pyx_t_4);
jpayne@69 27074 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27075 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27076 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 443, __pyx_L1_error);
jpayne@69 27077 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27078 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27079 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 443, __pyx_L1_error);
jpayne@69 27080 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error)
jpayne@69 27081 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27082 __Pyx_INCREF(__pyx_int_8);
jpayne@69 27083 __Pyx_GIVEREF(__pyx_int_8);
jpayne@69 27084 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_8)) __PYX_ERR(0, 443, __pyx_L1_error);
jpayne@69 27085 __Pyx_GIVEREF(__pyx_t_4);
jpayne@69 27086 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4)) __PYX_ERR(0, 443, __pyx_L1_error);
jpayne@69 27087 __pyx_t_4 = 0;
jpayne@69 27088 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_attributes, __pyx_t_5) < 0) __PYX_ERR(0, 435, __pyx_L1_error)
jpayne@69 27089 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27090 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_map_key2field, __pyx_t_2) < 0) __PYX_ERR(0, 434, __pyx_L1_error)
jpayne@69 27091 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27092 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27093
jpayne@69 27094 /* "pysam/libctabixproxies.pyx":449
jpayne@69 27095 * self.attribute_dict = None
jpayne@69 27096 *
jpayne@69 27097 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 27098 * '''return minimum number of fields.'''
jpayne@69 27099 * return 9
jpayne@69 27100 */
jpayne@69 27101 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_3getMinFields, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_getMinFields, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 449, __pyx_L1_error)
jpayne@69 27102 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27103 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_getMinFields, __pyx_t_2) < 0) __PYX_ERR(0, 449, __pyx_L1_error)
jpayne@69 27104 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27105 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27106
jpayne@69 27107 /* "pysam/libctabixproxies.pyx":453
jpayne@69 27108 * return 9
jpayne@69 27109 *
jpayne@69 27110 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 27111 * '''return max number of fields.'''
jpayne@69 27112 * return 9
jpayne@69 27113 */
jpayne@69 27114 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_5getMaxFields, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_getMaxFields, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error)
jpayne@69 27115 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27116 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_getMaxFields, __pyx_t_2) < 0) __PYX_ERR(0, 453, __pyx_L1_error)
jpayne@69 27117 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27118 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27119
jpayne@69 27120 /* "pysam/libctabixproxies.pyx":457
jpayne@69 27121 * return 9
jpayne@69 27122 *
jpayne@69 27123 * def to_dict(self): # <<<<<<<<<<<<<<
jpayne@69 27124 * """parse attributes - return as dict
jpayne@69 27125 *
jpayne@69 27126 */
jpayne@69 27127 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_7to_dict, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_to_dict, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error)
jpayne@69 27128 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27129 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_to_dict, __pyx_t_2) < 0) __PYX_ERR(0, 457, __pyx_L1_error)
jpayne@69 27130 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27131 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27132
jpayne@69 27133 /* "pysam/libctabixproxies.pyx":468
jpayne@69 27134 * return self.attribute_dict
jpayne@69 27135 *
jpayne@69 27136 * def as_dict(self): # <<<<<<<<<<<<<<
jpayne@69 27137 * """deprecated: use :meth:`to_dict`
jpayne@69 27138 * """
jpayne@69 27139 */
jpayne@69 27140 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_9as_dict, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_as_dict, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 468, __pyx_L1_error)
jpayne@69 27141 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27142 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_as_dict, __pyx_t_2) < 0) __PYX_ERR(0, 468, __pyx_L1_error)
jpayne@69 27143 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27144 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27145
jpayne@69 27146 /* "pysam/libctabixproxies.pyx":473
jpayne@69 27147 * return self.to_dict()
jpayne@69 27148 *
jpayne@69 27149 * def from_dict(self, d): # <<<<<<<<<<<<<<
jpayne@69 27150 * '''set attributes from a dictionary.'''
jpayne@69 27151 * self.attribute_dict = None
jpayne@69 27152 */
jpayne@69 27153 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_11from_dict, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_from_dict, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 473, __pyx_L1_error)
jpayne@69 27154 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27155 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_from_dict, __pyx_t_2) < 0) __PYX_ERR(0, 473, __pyx_L1_error)
jpayne@69 27156 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27157 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27158
jpayne@69 27159 /* "pysam/libctabixproxies.pyx":499
jpayne@69 27160 * return super().__str__()
jpayne@69 27161 *
jpayne@69 27162 * def invert(self, int lcontig): # <<<<<<<<<<<<<<
jpayne@69 27163 * '''invert coordinates to negative strand coordinates
jpayne@69 27164 *
jpayne@69 27165 */
jpayne@69 27166 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_15invert, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_invert, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 499, __pyx_L1_error)
jpayne@69 27167 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27168 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_invert, __pyx_t_2) < 0) __PYX_ERR(0, 499, __pyx_L1_error)
jpayne@69 27169 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27170 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27171
jpayne@69 27172 /* "pysam/libctabixproxies.pyx":510
jpayne@69 27173 * self.start, self.end = lcontig - end, lcontig - start
jpayne@69 27174 *
jpayne@69 27175 * def keys(self): # <<<<<<<<<<<<<<
jpayne@69 27176 * '''return a list of attributes defined in this entry.'''
jpayne@69 27177 * if not self.attribute_dict:
jpayne@69 27178 */
jpayne@69 27179 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_17keys, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_keys, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 510, __pyx_L1_error)
jpayne@69 27180 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27181 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_keys, __pyx_t_2) < 0) __PYX_ERR(0, 510, __pyx_L1_error)
jpayne@69 27182 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27183 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27184
jpayne@69 27185 /* "pysam/libctabixproxies.pyx":520
jpayne@69 27186 * return self.__getattr__(key)
jpayne@69 27187 *
jpayne@69 27188 * def setAttribute(self, name, value): # <<<<<<<<<<<<<<
jpayne@69 27189 * '''convenience method to set an attribute.
jpayne@69 27190 * '''
jpayne@69 27191 */
jpayne@69 27192 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_21setAttribute, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_setAttribute, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L1_error)
jpayne@69 27193 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27194 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_setAttribute, __pyx_t_2) < 0) __PYX_ERR(0, 520, __pyx_L1_error)
jpayne@69 27195 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27196 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27197
jpayne@69 27198 /* "pysam/libctabixproxies.pyx":529
jpayne@69 27199 * self.is_modified = True
jpayne@69 27200 *
jpayne@69 27201 * def attribute_string2dict(self, s): # <<<<<<<<<<<<<<
jpayne@69 27202 * return collections.OrderedDict(
jpayne@69 27203 * self.attribute_string2iterator(s))
jpayne@69 27204 */
jpayne@69 27205 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_23attribute_string2dict, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_attribute_string2dict, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 529, __pyx_L1_error)
jpayne@69 27206 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27207 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_attribute_string2dict, __pyx_t_2) < 0) __PYX_ERR(0, 529, __pyx_L1_error)
jpayne@69 27208 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27209 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27210
jpayne@69 27211 /* "pysam/libctabixproxies.pyx":553
jpayne@69 27212 * raise NotImplementedError(err_msg)
jpayne@69 27213 *
jpayne@69 27214 * def dict2attribute_string(self, d): # <<<<<<<<<<<<<<
jpayne@69 27215 * """convert dictionary to attribute string in GTF format.
jpayne@69 27216 *
jpayne@69 27217 */
jpayne@69 27218 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_29dict2attribute_string, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_dict2attribute_string, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 553, __pyx_L1_error)
jpayne@69 27219 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27220 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_dict2attribute_string, __pyx_t_2) < 0) __PYX_ERR(0, 553, __pyx_L1_error)
jpayne@69 27221 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27222 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27223
jpayne@69 27224 /* "pysam/libctabixproxies.pyx":566
jpayne@69 27225 * return self.separator.join(aa) + ";"
jpayne@69 27226 *
jpayne@69 27227 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 27228 * """convert attribute string in GTF format to records
jpayne@69 27229 * and iterate over key, value pairs.
jpayne@69 27230 */
jpayne@69 27231 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_31attribute_string2iterator, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_attribute_string2iterat, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 27232 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27233 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_attribute_string2iterator, __pyx_t_2) < 0) __PYX_ERR(0, 566, __pyx_L1_error)
jpayne@69 27234 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27235 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27236
jpayne@69 27237 /* "pysam/libctabixproxies.pyx":666
jpayne@69 27238 *
jpayne@69 27239 * # for backwards compatibility
jpayne@69 27240 * def asDict(self, *args, **kwargs): # <<<<<<<<<<<<<<
jpayne@69 27241 * return self.to_dict(*args, **kwargs)
jpayne@69 27242 *
jpayne@69 27243 */
jpayne@69 27244 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_38asDict, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_asDict, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__71)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 666, __pyx_L1_error)
jpayne@69 27245 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27246 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_asDict, __pyx_t_2) < 0) __PYX_ERR(0, 666, __pyx_L1_error)
jpayne@69 27247 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27248 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27249
jpayne@69 27250 /* "pysam/libctabixproxies.pyx":669
jpayne@69 27251 * return self.to_dict(*args, **kwargs)
jpayne@69 27252 *
jpayne@69 27253 * def fromDict(self, *args, **kwargs): # <<<<<<<<<<<<<<
jpayne@69 27254 * return self.from_dict(*args, **kwargs)
jpayne@69 27255 *
jpayne@69 27256 */
jpayne@69 27257 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_40fromDict, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy_fromDict, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 669, __pyx_L1_error)
jpayne@69 27258 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27259 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GTFProxy, __pyx_n_s_fromDict, __pyx_t_2) < 0) __PYX_ERR(0, 669, __pyx_L1_error)
jpayne@69 27260 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27261 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GTFProxy);
jpayne@69 27262
jpayne@69 27263 /* "(tree fragment)":1
jpayne@69 27264 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 27265 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27266 * def __setstate_cython__(self, __pyx_state):
jpayne@69 27267 */
jpayne@69 27268 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_42__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy___reduce_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__73)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27269 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27270 if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27271 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27272
jpayne@69 27273 /* "(tree fragment)":3
jpayne@69 27274 * def __reduce_cython__(self):
jpayne@69 27275 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27276 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 27277 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27278 */
jpayne@69 27279 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8GTFProxy_44__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GTFProxy___setstate_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 27280 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27281 if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 27282 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27283
jpayne@69 27284 /* "pysam/libctabixproxies.pyx":675
jpayne@69 27285 * cdef class GFF3Proxy(GTFProxy):
jpayne@69 27286 *
jpayne@69 27287 * def dict2attribute_string(self, d): # <<<<<<<<<<<<<<
jpayne@69 27288 * """convert dictionary to attribute string."""
jpayne@69 27289 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 27290 */
jpayne@69 27291 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_9GFF3Proxy_1dict2attribute_string, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GFF3Proxy_dict2attribute_string, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__76)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 675, __pyx_L1_error)
jpayne@69 27292 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27293 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy, __pyx_n_s_dict2attribute_string, __pyx_t_2) < 0) __PYX_ERR(0, 675, __pyx_L1_error)
jpayne@69 27294 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27295 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy);
jpayne@69 27296
jpayne@69 27297 /* "pysam/libctabixproxies.pyx":679
jpayne@69 27298 * return ";".join(["{}={}".format(k, v) for k, v in d.items()])
jpayne@69 27299 *
jpayne@69 27300 * def attribute_string2iterator(self, s): # <<<<<<<<<<<<<<
jpayne@69 27301 * """convert attribute string in GFF3 format to records
jpayne@69 27302 * and iterate over key, value pairs.
jpayne@69 27303 */
jpayne@69 27304 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_9GFF3Proxy_3attribute_string2iterator, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GFF3Proxy_attribute_string2itera, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 27305 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27306 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy, __pyx_n_s_attribute_string2iterator, __pyx_t_2) < 0) __PYX_ERR(0, 679, __pyx_L1_error)
jpayne@69 27307 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27308 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_GFF3Proxy);
jpayne@69 27309
jpayne@69 27310 /* "(tree fragment)":1
jpayne@69 27311 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 27312 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27313 * def __setstate_cython__(self, __pyx_state):
jpayne@69 27314 */
jpayne@69 27315 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_9GFF3Proxy_6__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GFF3Proxy___reduce_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27316 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27317 if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27318 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27319
jpayne@69 27320 /* "(tree fragment)":3
jpayne@69 27321 * def __reduce_cython__(self):
jpayne@69 27322 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27323 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 27324 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27325 */
jpayne@69 27326 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_9GFF3Proxy_8__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_GFF3Proxy___setstate_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__79)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 27327 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27328 if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 27329 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27330
jpayne@69 27331 /* "pysam/libctabixproxies.pyx":709
jpayne@69 27332 * '''
jpayne@69 27333 * map_key2field = {
jpayne@69 27334 * 'contig' : (0, str), # <<<<<<<<<<<<<<
jpayne@69 27335 * 'start' : (1, int),
jpayne@69 27336 * 'end' : (2, int),
jpayne@69 27337 */
jpayne@69 27338 __pyx_t_2 = __Pyx_PyDict_NewPresized(12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27339 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27340 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27341 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27342 __Pyx_INCREF(__pyx_int_0);
jpayne@69 27343 __Pyx_GIVEREF(__pyx_int_0);
jpayne@69 27344 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0)) __PYX_ERR(0, 709, __pyx_L1_error);
jpayne@69 27345 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27346 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27347 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 709, __pyx_L1_error);
jpayne@69 27348 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_contig, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27349 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27350
jpayne@69 27351 /* "pysam/libctabixproxies.pyx":710
jpayne@69 27352 * map_key2field = {
jpayne@69 27353 * 'contig' : (0, str),
jpayne@69 27354 * 'start' : (1, int), # <<<<<<<<<<<<<<
jpayne@69 27355 * 'end' : (2, int),
jpayne@69 27356 * 'name' : (3, str),
jpayne@69 27357 */
jpayne@69 27358 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 710, __pyx_L1_error)
jpayne@69 27359 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27360 __Pyx_INCREF(__pyx_int_1);
jpayne@69 27361 __Pyx_GIVEREF(__pyx_int_1);
jpayne@69 27362 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_1)) __PYX_ERR(0, 710, __pyx_L1_error);
jpayne@69 27363 __Pyx_INCREF((PyObject *)(&PyInt_Type));
jpayne@69 27364 __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
jpayne@69 27365 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 710, __pyx_L1_error);
jpayne@69 27366 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_start, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27367 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27368
jpayne@69 27369 /* "pysam/libctabixproxies.pyx":711
jpayne@69 27370 * 'contig' : (0, str),
jpayne@69 27371 * 'start' : (1, int),
jpayne@69 27372 * 'end' : (2, int), # <<<<<<<<<<<<<<
jpayne@69 27373 * 'name' : (3, str),
jpayne@69 27374 * 'score' : (4, float),
jpayne@69 27375 */
jpayne@69 27376 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 711, __pyx_L1_error)
jpayne@69 27377 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27378 __Pyx_INCREF(__pyx_int_2);
jpayne@69 27379 __Pyx_GIVEREF(__pyx_int_2);
jpayne@69 27380 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_2)) __PYX_ERR(0, 711, __pyx_L1_error);
jpayne@69 27381 __Pyx_INCREF((PyObject *)(&PyInt_Type));
jpayne@69 27382 __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
jpayne@69 27383 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 711, __pyx_L1_error);
jpayne@69 27384 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_end, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27385 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27386
jpayne@69 27387 /* "pysam/libctabixproxies.pyx":712
jpayne@69 27388 * 'start' : (1, int),
jpayne@69 27389 * 'end' : (2, int),
jpayne@69 27390 * 'name' : (3, str), # <<<<<<<<<<<<<<
jpayne@69 27391 * 'score' : (4, float),
jpayne@69 27392 * 'strand' : (5, str),
jpayne@69 27393 */
jpayne@69 27394 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 712, __pyx_L1_error)
jpayne@69 27395 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27396 __Pyx_INCREF(__pyx_int_3);
jpayne@69 27397 __Pyx_GIVEREF(__pyx_int_3);
jpayne@69 27398 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_3)) __PYX_ERR(0, 712, __pyx_L1_error);
jpayne@69 27399 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27400 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27401 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 712, __pyx_L1_error);
jpayne@69 27402 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_name, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27403 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27404
jpayne@69 27405 /* "pysam/libctabixproxies.pyx":713
jpayne@69 27406 * 'end' : (2, int),
jpayne@69 27407 * 'name' : (3, str),
jpayne@69 27408 * 'score' : (4, float), # <<<<<<<<<<<<<<
jpayne@69 27409 * 'strand' : (5, str),
jpayne@69 27410 * 'thickStart' : (6, int),
jpayne@69 27411 */
jpayne@69 27412 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 713, __pyx_L1_error)
jpayne@69 27413 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27414 __Pyx_INCREF(__pyx_int_4);
jpayne@69 27415 __Pyx_GIVEREF(__pyx_int_4);
jpayne@69 27416 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_4)) __PYX_ERR(0, 713, __pyx_L1_error);
jpayne@69 27417 __Pyx_INCREF((PyObject *)(&PyFloat_Type));
jpayne@69 27418 __Pyx_GIVEREF((PyObject *)(&PyFloat_Type));
jpayne@69 27419 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyFloat_Type)))) __PYX_ERR(0, 713, __pyx_L1_error);
jpayne@69 27420 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_score, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27421 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27422
jpayne@69 27423 /* "pysam/libctabixproxies.pyx":714
jpayne@69 27424 * 'name' : (3, str),
jpayne@69 27425 * 'score' : (4, float),
jpayne@69 27426 * 'strand' : (5, str), # <<<<<<<<<<<<<<
jpayne@69 27427 * 'thickStart' : (6, int),
jpayne@69 27428 * 'thickEnd' : (7, int),
jpayne@69 27429 */
jpayne@69 27430 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 714, __pyx_L1_error)
jpayne@69 27431 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27432 __Pyx_INCREF(__pyx_int_5);
jpayne@69 27433 __Pyx_GIVEREF(__pyx_int_5);
jpayne@69 27434 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_5)) __PYX_ERR(0, 714, __pyx_L1_error);
jpayne@69 27435 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27436 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27437 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 714, __pyx_L1_error);
jpayne@69 27438 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_strand, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27439 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27440
jpayne@69 27441 /* "pysam/libctabixproxies.pyx":715
jpayne@69 27442 * 'score' : (4, float),
jpayne@69 27443 * 'strand' : (5, str),
jpayne@69 27444 * 'thickStart' : (6, int), # <<<<<<<<<<<<<<
jpayne@69 27445 * 'thickEnd' : (7, int),
jpayne@69 27446 * 'itemRGB' : (8, str),
jpayne@69 27447 */
jpayne@69 27448 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 715, __pyx_L1_error)
jpayne@69 27449 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27450 __Pyx_INCREF(__pyx_int_6);
jpayne@69 27451 __Pyx_GIVEREF(__pyx_int_6);
jpayne@69 27452 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_6)) __PYX_ERR(0, 715, __pyx_L1_error);
jpayne@69 27453 __Pyx_INCREF((PyObject *)(&PyInt_Type));
jpayne@69 27454 __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
jpayne@69 27455 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 715, __pyx_L1_error);
jpayne@69 27456 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_thickStart, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27457 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27458
jpayne@69 27459 /* "pysam/libctabixproxies.pyx":716
jpayne@69 27460 * 'strand' : (5, str),
jpayne@69 27461 * 'thickStart' : (6, int),
jpayne@69 27462 * 'thickEnd' : (7, int), # <<<<<<<<<<<<<<
jpayne@69 27463 * 'itemRGB' : (8, str),
jpayne@69 27464 * 'blockCount': (9, int),
jpayne@69 27465 */
jpayne@69 27466 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 716, __pyx_L1_error)
jpayne@69 27467 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27468 __Pyx_INCREF(__pyx_int_7);
jpayne@69 27469 __Pyx_GIVEREF(__pyx_int_7);
jpayne@69 27470 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_7)) __PYX_ERR(0, 716, __pyx_L1_error);
jpayne@69 27471 __Pyx_INCREF((PyObject *)(&PyInt_Type));
jpayne@69 27472 __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
jpayne@69 27473 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 716, __pyx_L1_error);
jpayne@69 27474 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_thickEnd, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27475 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27476
jpayne@69 27477 /* "pysam/libctabixproxies.pyx":717
jpayne@69 27478 * 'thickStart' : (6, int),
jpayne@69 27479 * 'thickEnd' : (7, int),
jpayne@69 27480 * 'itemRGB' : (8, str), # <<<<<<<<<<<<<<
jpayne@69 27481 * 'blockCount': (9, int),
jpayne@69 27482 * 'blockSizes': (10, str),
jpayne@69 27483 */
jpayne@69 27484 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 717, __pyx_L1_error)
jpayne@69 27485 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27486 __Pyx_INCREF(__pyx_int_8);
jpayne@69 27487 __Pyx_GIVEREF(__pyx_int_8);
jpayne@69 27488 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_8)) __PYX_ERR(0, 717, __pyx_L1_error);
jpayne@69 27489 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27490 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27491 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 717, __pyx_L1_error);
jpayne@69 27492 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_itemRGB, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27493 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27494
jpayne@69 27495 /* "pysam/libctabixproxies.pyx":718
jpayne@69 27496 * 'thickEnd' : (7, int),
jpayne@69 27497 * 'itemRGB' : (8, str),
jpayne@69 27498 * 'blockCount': (9, int), # <<<<<<<<<<<<<<
jpayne@69 27499 * 'blockSizes': (10, str),
jpayne@69 27500 * 'blockStarts': (11, str), }
jpayne@69 27501 */
jpayne@69 27502 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 718, __pyx_L1_error)
jpayne@69 27503 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27504 __Pyx_INCREF(__pyx_int_9);
jpayne@69 27505 __Pyx_GIVEREF(__pyx_int_9);
jpayne@69 27506 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_9)) __PYX_ERR(0, 718, __pyx_L1_error);
jpayne@69 27507 __Pyx_INCREF((PyObject *)(&PyInt_Type));
jpayne@69 27508 __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
jpayne@69 27509 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 718, __pyx_L1_error);
jpayne@69 27510 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_blockCount, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27511 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27512
jpayne@69 27513 /* "pysam/libctabixproxies.pyx":719
jpayne@69 27514 * 'itemRGB' : (8, str),
jpayne@69 27515 * 'blockCount': (9, int),
jpayne@69 27516 * 'blockSizes': (10, str), # <<<<<<<<<<<<<<
jpayne@69 27517 * 'blockStarts': (11, str), }
jpayne@69 27518 *
jpayne@69 27519 */
jpayne@69 27520 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L1_error)
jpayne@69 27521 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27522 __Pyx_INCREF(__pyx_int_10);
jpayne@69 27523 __Pyx_GIVEREF(__pyx_int_10);
jpayne@69 27524 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_10)) __PYX_ERR(0, 719, __pyx_L1_error);
jpayne@69 27525 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27526 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27527 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 719, __pyx_L1_error);
jpayne@69 27528 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_blockSizes, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27529 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27530
jpayne@69 27531 /* "pysam/libctabixproxies.pyx":720
jpayne@69 27532 * 'blockCount': (9, int),
jpayne@69 27533 * 'blockSizes': (10, str),
jpayne@69 27534 * 'blockStarts': (11, str), } # <<<<<<<<<<<<<<
jpayne@69 27535 *
jpayne@69 27536 * cpdef int getMinFields(self):
jpayne@69 27537 */
jpayne@69 27538 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 720, __pyx_L1_error)
jpayne@69 27539 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27540 __Pyx_INCREF(__pyx_int_11);
jpayne@69 27541 __Pyx_GIVEREF(__pyx_int_11);
jpayne@69 27542 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_11)) __PYX_ERR(0, 720, __pyx_L1_error);
jpayne@69 27543 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27544 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27545 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 720, __pyx_L1_error);
jpayne@69 27546 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_blockStarts, __pyx_t_5) < 0) __PYX_ERR(0, 709, __pyx_L1_error)
jpayne@69 27547 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27548 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_BedProxy, __pyx_n_s_map_key2field, __pyx_t_2) < 0) __PYX_ERR(0, 708, __pyx_L1_error)
jpayne@69 27549 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27550 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_BedProxy);
jpayne@69 27551
jpayne@69 27552 /* "pysam/libctabixproxies.pyx":722
jpayne@69 27553 * 'blockStarts': (11, str), }
jpayne@69 27554 *
jpayne@69 27555 * cpdef int getMinFields(self): # <<<<<<<<<<<<<<
jpayne@69 27556 * '''return minimum number of fields.'''
jpayne@69 27557 * return 3
jpayne@69 27558 */
jpayne@69 27559 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8BedProxy_1getMinFields, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_BedProxy_getMinFields, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__80)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 722, __pyx_L1_error)
jpayne@69 27560 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27561 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_BedProxy, __pyx_n_s_getMinFields, __pyx_t_2) < 0) __PYX_ERR(0, 722, __pyx_L1_error)
jpayne@69 27562 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27563 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_BedProxy);
jpayne@69 27564
jpayne@69 27565 /* "pysam/libctabixproxies.pyx":726
jpayne@69 27566 * return 3
jpayne@69 27567 *
jpayne@69 27568 * cpdef int getMaxFields(self): # <<<<<<<<<<<<<<
jpayne@69 27569 * '''return max number of fields.'''
jpayne@69 27570 * return 12
jpayne@69 27571 */
jpayne@69 27572 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8BedProxy_3getMaxFields, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_BedProxy_getMaxFields, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__81)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 726, __pyx_L1_error)
jpayne@69 27573 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27574 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_BedProxy, __pyx_n_s_getMaxFields, __pyx_t_2) < 0) __PYX_ERR(0, 726, __pyx_L1_error)
jpayne@69 27575 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27576 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_BedProxy);
jpayne@69 27577
jpayne@69 27578 /* "(tree fragment)":1
jpayne@69 27579 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 27580 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27581 * def __setstate_cython__(self, __pyx_state):
jpayne@69 27582 */
jpayne@69 27583 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8BedProxy_9__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_BedProxy___reduce_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__82)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27584 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27585 if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27586 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27587
jpayne@69 27588 /* "(tree fragment)":3
jpayne@69 27589 * def __reduce_cython__(self):
jpayne@69 27590 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27591 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 27592 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27593 */
jpayne@69 27594 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8BedProxy_11__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_BedProxy___setstate_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__83)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 27595 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27596 if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 27597 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27598
jpayne@69 27599 /* "pysam/libctabixproxies.pyx":783
jpayne@69 27600 * '''
jpayne@69 27601 * map_key2field = {
jpayne@69 27602 * 'contig' : (0, str), # <<<<<<<<<<<<<<
jpayne@69 27603 * 'pos' : (1, int),
jpayne@69 27604 * 'id' : (2, str),
jpayne@69 27605 */
jpayne@69 27606 __pyx_t_2 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27607 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27608 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27609 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27610 __Pyx_INCREF(__pyx_int_0);
jpayne@69 27611 __Pyx_GIVEREF(__pyx_int_0);
jpayne@69 27612 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_0)) __PYX_ERR(0, 783, __pyx_L1_error);
jpayne@69 27613 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27614 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27615 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 783, __pyx_L1_error);
jpayne@69 27616 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_contig, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27617 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27618
jpayne@69 27619 /* "pysam/libctabixproxies.pyx":784
jpayne@69 27620 * map_key2field = {
jpayne@69 27621 * 'contig' : (0, str),
jpayne@69 27622 * 'pos' : (1, int), # <<<<<<<<<<<<<<
jpayne@69 27623 * 'id' : (2, str),
jpayne@69 27624 * 'ref' : (3, str),
jpayne@69 27625 */
jpayne@69 27626 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 784, __pyx_L1_error)
jpayne@69 27627 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27628 __Pyx_INCREF(__pyx_int_1);
jpayne@69 27629 __Pyx_GIVEREF(__pyx_int_1);
jpayne@69 27630 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_1)) __PYX_ERR(0, 784, __pyx_L1_error);
jpayne@69 27631 __Pyx_INCREF((PyObject *)(&PyInt_Type));
jpayne@69 27632 __Pyx_GIVEREF((PyObject *)(&PyInt_Type));
jpayne@69 27633 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyInt_Type)))) __PYX_ERR(0, 784, __pyx_L1_error);
jpayne@69 27634 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_pos, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27635 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27636
jpayne@69 27637 /* "pysam/libctabixproxies.pyx":785
jpayne@69 27638 * 'contig' : (0, str),
jpayne@69 27639 * 'pos' : (1, int),
jpayne@69 27640 * 'id' : (2, str), # <<<<<<<<<<<<<<
jpayne@69 27641 * 'ref' : (3, str),
jpayne@69 27642 * 'alt' : (4, str),
jpayne@69 27643 */
jpayne@69 27644 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 785, __pyx_L1_error)
jpayne@69 27645 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27646 __Pyx_INCREF(__pyx_int_2);
jpayne@69 27647 __Pyx_GIVEREF(__pyx_int_2);
jpayne@69 27648 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_2)) __PYX_ERR(0, 785, __pyx_L1_error);
jpayne@69 27649 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27650 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27651 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 785, __pyx_L1_error);
jpayne@69 27652 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_id, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27653 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27654
jpayne@69 27655 /* "pysam/libctabixproxies.pyx":786
jpayne@69 27656 * 'pos' : (1, int),
jpayne@69 27657 * 'id' : (2, str),
jpayne@69 27658 * 'ref' : (3, str), # <<<<<<<<<<<<<<
jpayne@69 27659 * 'alt' : (4, str),
jpayne@69 27660 * 'qual' : (5, str),
jpayne@69 27661 */
jpayne@69 27662 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 786, __pyx_L1_error)
jpayne@69 27663 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27664 __Pyx_INCREF(__pyx_int_3);
jpayne@69 27665 __Pyx_GIVEREF(__pyx_int_3);
jpayne@69 27666 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_3)) __PYX_ERR(0, 786, __pyx_L1_error);
jpayne@69 27667 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27668 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27669 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 786, __pyx_L1_error);
jpayne@69 27670 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_ref, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27671 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27672
jpayne@69 27673 /* "pysam/libctabixproxies.pyx":787
jpayne@69 27674 * 'id' : (2, str),
jpayne@69 27675 * 'ref' : (3, str),
jpayne@69 27676 * 'alt' : (4, str), # <<<<<<<<<<<<<<
jpayne@69 27677 * 'qual' : (5, str),
jpayne@69 27678 * 'filter' : (6, str),
jpayne@69 27679 */
jpayne@69 27680 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L1_error)
jpayne@69 27681 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27682 __Pyx_INCREF(__pyx_int_4);
jpayne@69 27683 __Pyx_GIVEREF(__pyx_int_4);
jpayne@69 27684 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_4)) __PYX_ERR(0, 787, __pyx_L1_error);
jpayne@69 27685 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27686 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27687 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 787, __pyx_L1_error);
jpayne@69 27688 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_alt, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27689 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27690
jpayne@69 27691 /* "pysam/libctabixproxies.pyx":788
jpayne@69 27692 * 'ref' : (3, str),
jpayne@69 27693 * 'alt' : (4, str),
jpayne@69 27694 * 'qual' : (5, str), # <<<<<<<<<<<<<<
jpayne@69 27695 * 'filter' : (6, str),
jpayne@69 27696 * 'info' : (7, str),
jpayne@69 27697 */
jpayne@69 27698 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 788, __pyx_L1_error)
jpayne@69 27699 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27700 __Pyx_INCREF(__pyx_int_5);
jpayne@69 27701 __Pyx_GIVEREF(__pyx_int_5);
jpayne@69 27702 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_5)) __PYX_ERR(0, 788, __pyx_L1_error);
jpayne@69 27703 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27704 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27705 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 788, __pyx_L1_error);
jpayne@69 27706 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_qual, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27707 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27708
jpayne@69 27709 /* "pysam/libctabixproxies.pyx":789
jpayne@69 27710 * 'alt' : (4, str),
jpayne@69 27711 * 'qual' : (5, str),
jpayne@69 27712 * 'filter' : (6, str), # <<<<<<<<<<<<<<
jpayne@69 27713 * 'info' : (7, str),
jpayne@69 27714 * 'format' : (8, str) }
jpayne@69 27715 */
jpayne@69 27716 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 789, __pyx_L1_error)
jpayne@69 27717 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27718 __Pyx_INCREF(__pyx_int_6);
jpayne@69 27719 __Pyx_GIVEREF(__pyx_int_6);
jpayne@69 27720 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_6)) __PYX_ERR(0, 789, __pyx_L1_error);
jpayne@69 27721 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27722 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27723 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 789, __pyx_L1_error);
jpayne@69 27724 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_filter, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27725 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27726
jpayne@69 27727 /* "pysam/libctabixproxies.pyx":790
jpayne@69 27728 * 'qual' : (5, str),
jpayne@69 27729 * 'filter' : (6, str),
jpayne@69 27730 * 'info' : (7, str), # <<<<<<<<<<<<<<
jpayne@69 27731 * 'format' : (8, str) }
jpayne@69 27732 *
jpayne@69 27733 */
jpayne@69 27734 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 790, __pyx_L1_error)
jpayne@69 27735 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27736 __Pyx_INCREF(__pyx_int_7);
jpayne@69 27737 __Pyx_GIVEREF(__pyx_int_7);
jpayne@69 27738 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_7)) __PYX_ERR(0, 790, __pyx_L1_error);
jpayne@69 27739 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27740 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27741 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 790, __pyx_L1_error);
jpayne@69 27742 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_info, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27743 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27744
jpayne@69 27745 /* "pysam/libctabixproxies.pyx":791
jpayne@69 27746 * 'filter' : (6, str),
jpayne@69 27747 * 'info' : (7, str),
jpayne@69 27748 * 'format' : (8, str) } # <<<<<<<<<<<<<<
jpayne@69 27749 *
jpayne@69 27750 * def __cinit__(self):
jpayne@69 27751 */
jpayne@69 27752 __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 791, __pyx_L1_error)
jpayne@69 27753 __Pyx_GOTREF(__pyx_t_5);
jpayne@69 27754 __Pyx_INCREF(__pyx_int_8);
jpayne@69 27755 __Pyx_GIVEREF(__pyx_int_8);
jpayne@69 27756 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_int_8)) __PYX_ERR(0, 791, __pyx_L1_error);
jpayne@69 27757 __Pyx_INCREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27758 __Pyx_GIVEREF((PyObject *)(&PyUnicode_Type));
jpayne@69 27759 if (__Pyx_PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)(&PyUnicode_Type)))) __PYX_ERR(0, 791, __pyx_L1_error);
jpayne@69 27760 if (PyDict_SetItem(__pyx_t_2, __pyx_n_u_format, __pyx_t_5) < 0) __PYX_ERR(0, 783, __pyx_L1_error)
jpayne@69 27761 __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
jpayne@69 27762 if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_5pysam_16libctabixproxies_VCFProxy, __pyx_n_s_map_key2field, __pyx_t_2) < 0) __PYX_ERR(0, 782, __pyx_L1_error)
jpayne@69 27763 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27764 PyType_Modified(__pyx_ptype_5pysam_16libctabixproxies_VCFProxy);
jpayne@69 27765
jpayne@69 27766 /* "(tree fragment)":1
jpayne@69 27767 * def __reduce_cython__(self): # <<<<<<<<<<<<<<
jpayne@69 27768 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27769 * def __setstate_cython__(self, __pyx_state):
jpayne@69 27770 */
jpayne@69 27771 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8VCFProxy_7__reduce_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VCFProxy___reduce_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__84)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27772 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27773 if (PyDict_SetItem(__pyx_d, __pyx_n_s_reduce_cython, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27774 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27775
jpayne@69 27776 /* "(tree fragment)":3
jpayne@69 27777 * def __reduce_cython__(self):
jpayne@69 27778 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27779 * def __setstate_cython__(self, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 27780 * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
jpayne@69 27781 */
jpayne@69 27782 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_8VCFProxy_9__setstate_cython__, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_VCFProxy___setstate_cython, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__85)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 27783 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27784 if (PyDict_SetItem(__pyx_d, __pyx_n_s_setstate_cython, __pyx_t_2) < 0) __PYX_ERR(1, 3, __pyx_L1_error)
jpayne@69 27785 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27786
jpayne@69 27787 /* "pysam/libctabixproxies.pyx":829
jpayne@69 27788 *
jpayne@69 27789 *
jpayne@69 27790 * __all__ = [ # <<<<<<<<<<<<<<
jpayne@69 27791 * "TupleProxy",
jpayne@69 27792 * "NamedTupleProxy",
jpayne@69 27793 */
jpayne@69 27794 __pyx_t_2 = PyList_New(6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 829, __pyx_L1_error)
jpayne@69 27795 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27796 __Pyx_INCREF(__pyx_n_u_TupleProxy);
jpayne@69 27797 __Pyx_GIVEREF(__pyx_n_u_TupleProxy);
jpayne@69 27798 if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_u_TupleProxy)) __PYX_ERR(0, 829, __pyx_L1_error);
jpayne@69 27799 __Pyx_INCREF(__pyx_n_u_NamedTupleProxy);
jpayne@69 27800 __Pyx_GIVEREF(__pyx_n_u_NamedTupleProxy);
jpayne@69 27801 if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_NamedTupleProxy)) __PYX_ERR(0, 829, __pyx_L1_error);
jpayne@69 27802 __Pyx_INCREF(__pyx_n_u_GTFProxy);
jpayne@69 27803 __Pyx_GIVEREF(__pyx_n_u_GTFProxy);
jpayne@69 27804 if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_GTFProxy)) __PYX_ERR(0, 829, __pyx_L1_error);
jpayne@69 27805 __Pyx_INCREF(__pyx_n_u_GFF3Proxy);
jpayne@69 27806 __Pyx_GIVEREF(__pyx_n_u_GFF3Proxy);
jpayne@69 27807 if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_u_GFF3Proxy)) __PYX_ERR(0, 829, __pyx_L1_error);
jpayne@69 27808 __Pyx_INCREF(__pyx_n_u_BedProxy);
jpayne@69 27809 __Pyx_GIVEREF(__pyx_n_u_BedProxy);
jpayne@69 27810 if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 4, __pyx_n_u_BedProxy)) __PYX_ERR(0, 829, __pyx_L1_error);
jpayne@69 27811 __Pyx_INCREF(__pyx_n_u_VCFProxy);
jpayne@69 27812 __Pyx_GIVEREF(__pyx_n_u_VCFProxy);
jpayne@69 27813 if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 5, __pyx_n_u_VCFProxy)) __PYX_ERR(0, 829, __pyx_L1_error);
jpayne@69 27814 if (PyDict_SetItem(__pyx_d, __pyx_n_s_all, __pyx_t_2) < 0) __PYX_ERR(0, 829, __pyx_L1_error)
jpayne@69 27815 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27816
jpayne@69 27817 /* "(tree fragment)":1
jpayne@69 27818 * def __pyx_unpickle_TupleProxyIterator(__pyx_type, long __pyx_checksum, __pyx_state): # <<<<<<<<<<<<<<
jpayne@69 27819 * cdef object __pyx_PickleError
jpayne@69 27820 * cdef object __pyx_result
jpayne@69 27821 */
jpayne@69 27822 __pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_5pysam_16libctabixproxies_5__pyx_unpickle_TupleProxyIterator, 0, __pyx_n_s_pyx_unpickle_TupleProxyIterato, NULL, __pyx_n_s_pysam_libctabixproxies, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27823 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27824 if (PyDict_SetItem(__pyx_d, __pyx_n_s_pyx_unpickle_TupleProxyIterato, __pyx_t_2) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
jpayne@69 27825 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27826
jpayne@69 27827 /* "pysam/libctabixproxies.pyx":1
jpayne@69 27828 * from cpython cimport PyBytes_FromStringAndSize # <<<<<<<<<<<<<<
jpayne@69 27829 *
jpayne@69 27830 * from libc.stdio cimport printf, feof, fgets
jpayne@69 27831 */
jpayne@69 27832 __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 27833 __Pyx_GOTREF(__pyx_t_2);
jpayne@69 27834 if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
jpayne@69 27835 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
jpayne@69 27836
jpayne@69 27837 /*--- Wrapped vars code ---*/
jpayne@69 27838
jpayne@69 27839 goto __pyx_L0;
jpayne@69 27840 __pyx_L1_error:;
jpayne@69 27841 __Pyx_XDECREF(__pyx_t_2);
jpayne@69 27842 __Pyx_XDECREF(__pyx_t_3);
jpayne@69 27843 __Pyx_XDECREF(__pyx_t_4);
jpayne@69 27844 __Pyx_XDECREF(__pyx_t_5);
jpayne@69 27845 if (__pyx_m) {
jpayne@69 27846 if (__pyx_d && stringtab_initialized) {
jpayne@69 27847 __Pyx_AddTraceback("init pysam.libctabixproxies", __pyx_clineno, __pyx_lineno, __pyx_filename);
jpayne@69 27848 }
jpayne@69 27849 #if !CYTHON_USE_MODULE_STATE
jpayne@69 27850 Py_CLEAR(__pyx_m);
jpayne@69 27851 #else
jpayne@69 27852 Py_DECREF(__pyx_m);
jpayne@69 27853 if (pystate_addmodule_run) {
jpayne@69 27854 PyObject *tp, *value, *tb;
jpayne@69 27855 PyErr_Fetch(&tp, &value, &tb);
jpayne@69 27856 PyState_RemoveModule(&__pyx_moduledef);
jpayne@69 27857 PyErr_Restore(tp, value, tb);
jpayne@69 27858 }
jpayne@69 27859 #endif
jpayne@69 27860 } else if (!PyErr_Occurred()) {
jpayne@69 27861 PyErr_SetString(PyExc_ImportError, "init pysam.libctabixproxies");
jpayne@69 27862 }
jpayne@69 27863 __pyx_L0:;
jpayne@69 27864 __Pyx_RefNannyFinishContext();
jpayne@69 27865 #if CYTHON_PEP489_MULTI_PHASE_INIT
jpayne@69 27866 return (__pyx_m != NULL) ? 0 : -1;
jpayne@69 27867 #elif PY_MAJOR_VERSION >= 3
jpayne@69 27868 return __pyx_m;
jpayne@69 27869 #else
jpayne@69 27870 return;
jpayne@69 27871 #endif
jpayne@69 27872 }
jpayne@69 27873 /* #### Code section: cleanup_globals ### */
jpayne@69 27874 /* #### Code section: cleanup_module ### */
jpayne@69 27875 /* #### Code section: main_method ### */
jpayne@69 27876 /* #### Code section: utility_code_pragmas ### */
jpayne@69 27877 #ifdef _MSC_VER
jpayne@69 27878 #pragma warning( push )
jpayne@69 27879 /* Warning 4127: conditional expression is constant
jpayne@69 27880 * Cython uses constant conditional expressions to allow in inline functions to be optimized at
jpayne@69 27881 * compile-time, so this warning is not useful
jpayne@69 27882 */
jpayne@69 27883 #pragma warning( disable : 4127 )
jpayne@69 27884 #endif
jpayne@69 27885
jpayne@69 27886
jpayne@69 27887
jpayne@69 27888 /* #### Code section: utility_code_def ### */
jpayne@69 27889
jpayne@69 27890 /* --- Runtime support code --- */
jpayne@69 27891 /* Refnanny */
jpayne@69 27892 #if CYTHON_REFNANNY
jpayne@69 27893 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
jpayne@69 27894 PyObject *m = NULL, *p = NULL;
jpayne@69 27895 void *r = NULL;
jpayne@69 27896 m = PyImport_ImportModule(modname);
jpayne@69 27897 if (!m) goto end;
jpayne@69 27898 p = PyObject_GetAttrString(m, "RefNannyAPI");
jpayne@69 27899 if (!p) goto end;
jpayne@69 27900 r = PyLong_AsVoidPtr(p);
jpayne@69 27901 end:
jpayne@69 27902 Py_XDECREF(p);
jpayne@69 27903 Py_XDECREF(m);
jpayne@69 27904 return (__Pyx_RefNannyAPIStruct *)r;
jpayne@69 27905 }
jpayne@69 27906 #endif
jpayne@69 27907
jpayne@69 27908 /* PyErrExceptionMatches */
jpayne@69 27909 #if CYTHON_FAST_THREAD_STATE
jpayne@69 27910 static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
jpayne@69 27911 Py_ssize_t i, n;
jpayne@69 27912 n = PyTuple_GET_SIZE(tuple);
jpayne@69 27913 #if PY_MAJOR_VERSION >= 3
jpayne@69 27914 for (i=0; i<n; i++) {
jpayne@69 27915 if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
jpayne@69 27916 }
jpayne@69 27917 #endif
jpayne@69 27918 for (i=0; i<n; i++) {
jpayne@69 27919 if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1;
jpayne@69 27920 }
jpayne@69 27921 return 0;
jpayne@69 27922 }
jpayne@69 27923 static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) {
jpayne@69 27924 int result;
jpayne@69 27925 PyObject *exc_type;
jpayne@69 27926 #if PY_VERSION_HEX >= 0x030C00A6
jpayne@69 27927 PyObject *current_exception = tstate->current_exception;
jpayne@69 27928 if (unlikely(!current_exception)) return 0;
jpayne@69 27929 exc_type = (PyObject*) Py_TYPE(current_exception);
jpayne@69 27930 if (exc_type == err) return 1;
jpayne@69 27931 #else
jpayne@69 27932 exc_type = tstate->curexc_type;
jpayne@69 27933 if (exc_type == err) return 1;
jpayne@69 27934 if (unlikely(!exc_type)) return 0;
jpayne@69 27935 #endif
jpayne@69 27936 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 27937 Py_INCREF(exc_type);
jpayne@69 27938 #endif
jpayne@69 27939 if (unlikely(PyTuple_Check(err))) {
jpayne@69 27940 result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
jpayne@69 27941 } else {
jpayne@69 27942 result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
jpayne@69 27943 }
jpayne@69 27944 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 27945 Py_DECREF(exc_type);
jpayne@69 27946 #endif
jpayne@69 27947 return result;
jpayne@69 27948 }
jpayne@69 27949 #endif
jpayne@69 27950
jpayne@69 27951 /* PyErrFetchRestore */
jpayne@69 27952 #if CYTHON_FAST_THREAD_STATE
jpayne@69 27953 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
jpayne@69 27954 #if PY_VERSION_HEX >= 0x030C00A6
jpayne@69 27955 PyObject *tmp_value;
jpayne@69 27956 assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value)));
jpayne@69 27957 if (value) {
jpayne@69 27958 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 27959 if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb))
jpayne@69 27960 #endif
jpayne@69 27961 PyException_SetTraceback(value, tb);
jpayne@69 27962 }
jpayne@69 27963 tmp_value = tstate->current_exception;
jpayne@69 27964 tstate->current_exception = value;
jpayne@69 27965 Py_XDECREF(tmp_value);
jpayne@69 27966 Py_XDECREF(type);
jpayne@69 27967 Py_XDECREF(tb);
jpayne@69 27968 #else
jpayne@69 27969 PyObject *tmp_type, *tmp_value, *tmp_tb;
jpayne@69 27970 tmp_type = tstate->curexc_type;
jpayne@69 27971 tmp_value = tstate->curexc_value;
jpayne@69 27972 tmp_tb = tstate->curexc_traceback;
jpayne@69 27973 tstate->curexc_type = type;
jpayne@69 27974 tstate->curexc_value = value;
jpayne@69 27975 tstate->curexc_traceback = tb;
jpayne@69 27976 Py_XDECREF(tmp_type);
jpayne@69 27977 Py_XDECREF(tmp_value);
jpayne@69 27978 Py_XDECREF(tmp_tb);
jpayne@69 27979 #endif
jpayne@69 27980 }
jpayne@69 27981 static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
jpayne@69 27982 #if PY_VERSION_HEX >= 0x030C00A6
jpayne@69 27983 PyObject* exc_value;
jpayne@69 27984 exc_value = tstate->current_exception;
jpayne@69 27985 tstate->current_exception = 0;
jpayne@69 27986 *value = exc_value;
jpayne@69 27987 *type = NULL;
jpayne@69 27988 *tb = NULL;
jpayne@69 27989 if (exc_value) {
jpayne@69 27990 *type = (PyObject*) Py_TYPE(exc_value);
jpayne@69 27991 Py_INCREF(*type);
jpayne@69 27992 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 27993 *tb = ((PyBaseExceptionObject*) exc_value)->traceback;
jpayne@69 27994 Py_XINCREF(*tb);
jpayne@69 27995 #else
jpayne@69 27996 *tb = PyException_GetTraceback(exc_value);
jpayne@69 27997 #endif
jpayne@69 27998 }
jpayne@69 27999 #else
jpayne@69 28000 *type = tstate->curexc_type;
jpayne@69 28001 *value = tstate->curexc_value;
jpayne@69 28002 *tb = tstate->curexc_traceback;
jpayne@69 28003 tstate->curexc_type = 0;
jpayne@69 28004 tstate->curexc_value = 0;
jpayne@69 28005 tstate->curexc_traceback = 0;
jpayne@69 28006 #endif
jpayne@69 28007 }
jpayne@69 28008 #endif
jpayne@69 28009
jpayne@69 28010 /* PyObjectGetAttrStr */
jpayne@69 28011 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 28012 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
jpayne@69 28013 PyTypeObject* tp = Py_TYPE(obj);
jpayne@69 28014 if (likely(tp->tp_getattro))
jpayne@69 28015 return tp->tp_getattro(obj, attr_name);
jpayne@69 28016 #if PY_MAJOR_VERSION < 3
jpayne@69 28017 if (likely(tp->tp_getattr))
jpayne@69 28018 return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
jpayne@69 28019 #endif
jpayne@69 28020 return PyObject_GetAttr(obj, attr_name);
jpayne@69 28021 }
jpayne@69 28022 #endif
jpayne@69 28023
jpayne@69 28024 /* PyObjectGetAttrStrNoError */
jpayne@69 28025 #if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
jpayne@69 28026 static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
jpayne@69 28027 __Pyx_PyThreadState_declare
jpayne@69 28028 __Pyx_PyThreadState_assign
jpayne@69 28029 if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
jpayne@69 28030 __Pyx_PyErr_Clear();
jpayne@69 28031 }
jpayne@69 28032 #endif
jpayne@69 28033 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
jpayne@69 28034 PyObject *result;
jpayne@69 28035 #if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
jpayne@69 28036 (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
jpayne@69 28037 return result;
jpayne@69 28038 #else
jpayne@69 28039 #if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
jpayne@69 28040 PyTypeObject* tp = Py_TYPE(obj);
jpayne@69 28041 if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
jpayne@69 28042 return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1);
jpayne@69 28043 }
jpayne@69 28044 #endif
jpayne@69 28045 result = __Pyx_PyObject_GetAttrStr(obj, attr_name);
jpayne@69 28046 if (unlikely(!result)) {
jpayne@69 28047 __Pyx_PyObject_GetAttrStr_ClearAttributeError();
jpayne@69 28048 }
jpayne@69 28049 return result;
jpayne@69 28050 #endif
jpayne@69 28051 }
jpayne@69 28052
jpayne@69 28053 /* GetBuiltinName */
jpayne@69 28054 static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
jpayne@69 28055 PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name);
jpayne@69 28056 if (unlikely(!result) && !PyErr_Occurred()) {
jpayne@69 28057 PyErr_Format(PyExc_NameError,
jpayne@69 28058 #if PY_MAJOR_VERSION >= 3
jpayne@69 28059 "name '%U' is not defined", name);
jpayne@69 28060 #else
jpayne@69 28061 "name '%.200s' is not defined", PyString_AS_STRING(name));
jpayne@69 28062 #endif
jpayne@69 28063 }
jpayne@69 28064 return result;
jpayne@69 28065 }
jpayne@69 28066
jpayne@69 28067 /* TupleAndListFromArray */
jpayne@69 28068 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 28069 static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) {
jpayne@69 28070 PyObject *v;
jpayne@69 28071 Py_ssize_t i;
jpayne@69 28072 for (i = 0; i < length; i++) {
jpayne@69 28073 v = dest[i] = src[i];
jpayne@69 28074 Py_INCREF(v);
jpayne@69 28075 }
jpayne@69 28076 }
jpayne@69 28077 static CYTHON_INLINE PyObject *
jpayne@69 28078 __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n)
jpayne@69 28079 {
jpayne@69 28080 PyObject *res;
jpayne@69 28081 if (n <= 0) {
jpayne@69 28082 Py_INCREF(__pyx_empty_tuple);
jpayne@69 28083 return __pyx_empty_tuple;
jpayne@69 28084 }
jpayne@69 28085 res = PyTuple_New(n);
jpayne@69 28086 if (unlikely(res == NULL)) return NULL;
jpayne@69 28087 __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n);
jpayne@69 28088 return res;
jpayne@69 28089 }
jpayne@69 28090 static CYTHON_INLINE PyObject *
jpayne@69 28091 __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n)
jpayne@69 28092 {
jpayne@69 28093 PyObject *res;
jpayne@69 28094 if (n <= 0) {
jpayne@69 28095 return PyList_New(0);
jpayne@69 28096 }
jpayne@69 28097 res = PyList_New(n);
jpayne@69 28098 if (unlikely(res == NULL)) return NULL;
jpayne@69 28099 __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n);
jpayne@69 28100 return res;
jpayne@69 28101 }
jpayne@69 28102 #endif
jpayne@69 28103
jpayne@69 28104 /* BytesEquals */
jpayne@69 28105 static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
jpayne@69 28106 #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 28107 return PyObject_RichCompareBool(s1, s2, equals);
jpayne@69 28108 #else
jpayne@69 28109 if (s1 == s2) {
jpayne@69 28110 return (equals == Py_EQ);
jpayne@69 28111 } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) {
jpayne@69 28112 const char *ps1, *ps2;
jpayne@69 28113 Py_ssize_t length = PyBytes_GET_SIZE(s1);
jpayne@69 28114 if (length != PyBytes_GET_SIZE(s2))
jpayne@69 28115 return (equals == Py_NE);
jpayne@69 28116 ps1 = PyBytes_AS_STRING(s1);
jpayne@69 28117 ps2 = PyBytes_AS_STRING(s2);
jpayne@69 28118 if (ps1[0] != ps2[0]) {
jpayne@69 28119 return (equals == Py_NE);
jpayne@69 28120 } else if (length == 1) {
jpayne@69 28121 return (equals == Py_EQ);
jpayne@69 28122 } else {
jpayne@69 28123 int result;
jpayne@69 28124 #if CYTHON_USE_UNICODE_INTERNALS && (PY_VERSION_HEX < 0x030B0000)
jpayne@69 28125 Py_hash_t hash1, hash2;
jpayne@69 28126 hash1 = ((PyBytesObject*)s1)->ob_shash;
jpayne@69 28127 hash2 = ((PyBytesObject*)s2)->ob_shash;
jpayne@69 28128 if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
jpayne@69 28129 return (equals == Py_NE);
jpayne@69 28130 }
jpayne@69 28131 #endif
jpayne@69 28132 result = memcmp(ps1, ps2, (size_t)length);
jpayne@69 28133 return (equals == Py_EQ) ? (result == 0) : (result != 0);
jpayne@69 28134 }
jpayne@69 28135 } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) {
jpayne@69 28136 return (equals == Py_NE);
jpayne@69 28137 } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) {
jpayne@69 28138 return (equals == Py_NE);
jpayne@69 28139 } else {
jpayne@69 28140 int result;
jpayne@69 28141 PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
jpayne@69 28142 if (!py_result)
jpayne@69 28143 return -1;
jpayne@69 28144 result = __Pyx_PyObject_IsTrue(py_result);
jpayne@69 28145 Py_DECREF(py_result);
jpayne@69 28146 return result;
jpayne@69 28147 }
jpayne@69 28148 #endif
jpayne@69 28149 }
jpayne@69 28150
jpayne@69 28151 /* UnicodeEquals */
jpayne@69 28152 static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
jpayne@69 28153 #if CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 28154 return PyObject_RichCompareBool(s1, s2, equals);
jpayne@69 28155 #else
jpayne@69 28156 #if PY_MAJOR_VERSION < 3
jpayne@69 28157 PyObject* owned_ref = NULL;
jpayne@69 28158 #endif
jpayne@69 28159 int s1_is_unicode, s2_is_unicode;
jpayne@69 28160 if (s1 == s2) {
jpayne@69 28161 goto return_eq;
jpayne@69 28162 }
jpayne@69 28163 s1_is_unicode = PyUnicode_CheckExact(s1);
jpayne@69 28164 s2_is_unicode = PyUnicode_CheckExact(s2);
jpayne@69 28165 #if PY_MAJOR_VERSION < 3
jpayne@69 28166 if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) {
jpayne@69 28167 owned_ref = PyUnicode_FromObject(s2);
jpayne@69 28168 if (unlikely(!owned_ref))
jpayne@69 28169 return -1;
jpayne@69 28170 s2 = owned_ref;
jpayne@69 28171 s2_is_unicode = 1;
jpayne@69 28172 } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) {
jpayne@69 28173 owned_ref = PyUnicode_FromObject(s1);
jpayne@69 28174 if (unlikely(!owned_ref))
jpayne@69 28175 return -1;
jpayne@69 28176 s1 = owned_ref;
jpayne@69 28177 s1_is_unicode = 1;
jpayne@69 28178 } else if (((!s2_is_unicode) & (!s1_is_unicode))) {
jpayne@69 28179 return __Pyx_PyBytes_Equals(s1, s2, equals);
jpayne@69 28180 }
jpayne@69 28181 #endif
jpayne@69 28182 if (s1_is_unicode & s2_is_unicode) {
jpayne@69 28183 Py_ssize_t length;
jpayne@69 28184 int kind;
jpayne@69 28185 void *data1, *data2;
jpayne@69 28186 if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0))
jpayne@69 28187 return -1;
jpayne@69 28188 length = __Pyx_PyUnicode_GET_LENGTH(s1);
jpayne@69 28189 if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) {
jpayne@69 28190 goto return_ne;
jpayne@69 28191 }
jpayne@69 28192 #if CYTHON_USE_UNICODE_INTERNALS
jpayne@69 28193 {
jpayne@69 28194 Py_hash_t hash1, hash2;
jpayne@69 28195 #if CYTHON_PEP393_ENABLED
jpayne@69 28196 hash1 = ((PyASCIIObject*)s1)->hash;
jpayne@69 28197 hash2 = ((PyASCIIObject*)s2)->hash;
jpayne@69 28198 #else
jpayne@69 28199 hash1 = ((PyUnicodeObject*)s1)->hash;
jpayne@69 28200 hash2 = ((PyUnicodeObject*)s2)->hash;
jpayne@69 28201 #endif
jpayne@69 28202 if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
jpayne@69 28203 goto return_ne;
jpayne@69 28204 }
jpayne@69 28205 }
jpayne@69 28206 #endif
jpayne@69 28207 kind = __Pyx_PyUnicode_KIND(s1);
jpayne@69 28208 if (kind != __Pyx_PyUnicode_KIND(s2)) {
jpayne@69 28209 goto return_ne;
jpayne@69 28210 }
jpayne@69 28211 data1 = __Pyx_PyUnicode_DATA(s1);
jpayne@69 28212 data2 = __Pyx_PyUnicode_DATA(s2);
jpayne@69 28213 if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) {
jpayne@69 28214 goto return_ne;
jpayne@69 28215 } else if (length == 1) {
jpayne@69 28216 goto return_eq;
jpayne@69 28217 } else {
jpayne@69 28218 int result = memcmp(data1, data2, (size_t)(length * kind));
jpayne@69 28219 #if PY_MAJOR_VERSION < 3
jpayne@69 28220 Py_XDECREF(owned_ref);
jpayne@69 28221 #endif
jpayne@69 28222 return (equals == Py_EQ) ? (result == 0) : (result != 0);
jpayne@69 28223 }
jpayne@69 28224 } else if ((s1 == Py_None) & s2_is_unicode) {
jpayne@69 28225 goto return_ne;
jpayne@69 28226 } else if ((s2 == Py_None) & s1_is_unicode) {
jpayne@69 28227 goto return_ne;
jpayne@69 28228 } else {
jpayne@69 28229 int result;
jpayne@69 28230 PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
jpayne@69 28231 #if PY_MAJOR_VERSION < 3
jpayne@69 28232 Py_XDECREF(owned_ref);
jpayne@69 28233 #endif
jpayne@69 28234 if (!py_result)
jpayne@69 28235 return -1;
jpayne@69 28236 result = __Pyx_PyObject_IsTrue(py_result);
jpayne@69 28237 Py_DECREF(py_result);
jpayne@69 28238 return result;
jpayne@69 28239 }
jpayne@69 28240 return_eq:
jpayne@69 28241 #if PY_MAJOR_VERSION < 3
jpayne@69 28242 Py_XDECREF(owned_ref);
jpayne@69 28243 #endif
jpayne@69 28244 return (equals == Py_EQ);
jpayne@69 28245 return_ne:
jpayne@69 28246 #if PY_MAJOR_VERSION < 3
jpayne@69 28247 Py_XDECREF(owned_ref);
jpayne@69 28248 #endif
jpayne@69 28249 return (equals == Py_NE);
jpayne@69 28250 #endif
jpayne@69 28251 }
jpayne@69 28252
jpayne@69 28253 /* fastcall */
jpayne@69 28254 #if CYTHON_METH_FASTCALL
jpayne@69 28255 static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s)
jpayne@69 28256 {
jpayne@69 28257 Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames);
jpayne@69 28258 for (i = 0; i < n; i++)
jpayne@69 28259 {
jpayne@69 28260 if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i];
jpayne@69 28261 }
jpayne@69 28262 for (i = 0; i < n; i++)
jpayne@69 28263 {
jpayne@69 28264 int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ);
jpayne@69 28265 if (unlikely(eq != 0)) {
jpayne@69 28266 if (unlikely(eq < 0)) return NULL;
jpayne@69 28267 return kwvalues[i];
jpayne@69 28268 }
jpayne@69 28269 }
jpayne@69 28270 return NULL;
jpayne@69 28271 }
jpayne@69 28272 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
jpayne@69 28273 CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
jpayne@69 28274 Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
jpayne@69 28275 PyObject *dict;
jpayne@69 28276 dict = PyDict_New();
jpayne@69 28277 if (unlikely(!dict))
jpayne@69 28278 return NULL;
jpayne@69 28279 for (i=0; i<nkwargs; i++) {
jpayne@69 28280 PyObject *key = PyTuple_GET_ITEM(kwnames, i);
jpayne@69 28281 if (unlikely(PyDict_SetItem(dict, key, kwvalues[i]) < 0))
jpayne@69 28282 goto bad;
jpayne@69 28283 }
jpayne@69 28284 return dict;
jpayne@69 28285 bad:
jpayne@69 28286 Py_DECREF(dict);
jpayne@69 28287 return NULL;
jpayne@69 28288 }
jpayne@69 28289 #endif
jpayne@69 28290 #endif
jpayne@69 28291
jpayne@69 28292 /* RaiseDoubleKeywords */
jpayne@69 28293 static void __Pyx_RaiseDoubleKeywordsError(
jpayne@69 28294 const char* func_name,
jpayne@69 28295 PyObject* kw_name)
jpayne@69 28296 {
jpayne@69 28297 PyErr_Format(PyExc_TypeError,
jpayne@69 28298 #if PY_MAJOR_VERSION >= 3
jpayne@69 28299 "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
jpayne@69 28300 #else
jpayne@69 28301 "%s() got multiple values for keyword argument '%s'", func_name,
jpayne@69 28302 PyString_AsString(kw_name));
jpayne@69 28303 #endif
jpayne@69 28304 }
jpayne@69 28305
jpayne@69 28306 /* ParseKeywords */
jpayne@69 28307 static int __Pyx_ParseOptionalKeywords(
jpayne@69 28308 PyObject *kwds,
jpayne@69 28309 PyObject *const *kwvalues,
jpayne@69 28310 PyObject **argnames[],
jpayne@69 28311 PyObject *kwds2,
jpayne@69 28312 PyObject *values[],
jpayne@69 28313 Py_ssize_t num_pos_args,
jpayne@69 28314 const char* function_name)
jpayne@69 28315 {
jpayne@69 28316 PyObject *key = 0, *value = 0;
jpayne@69 28317 Py_ssize_t pos = 0;
jpayne@69 28318 PyObject*** name;
jpayne@69 28319 PyObject*** first_kw_arg = argnames + num_pos_args;
jpayne@69 28320 int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds));
jpayne@69 28321 while (1) {
jpayne@69 28322 Py_XDECREF(key); key = NULL;
jpayne@69 28323 Py_XDECREF(value); value = NULL;
jpayne@69 28324 if (kwds_is_tuple) {
jpayne@69 28325 Py_ssize_t size;
jpayne@69 28326 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 28327 size = PyTuple_GET_SIZE(kwds);
jpayne@69 28328 #else
jpayne@69 28329 size = PyTuple_Size(kwds);
jpayne@69 28330 if (size < 0) goto bad;
jpayne@69 28331 #endif
jpayne@69 28332 if (pos >= size) break;
jpayne@69 28333 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 28334 key = __Pyx_PySequence_ITEM(kwds, pos);
jpayne@69 28335 if (!key) goto bad;
jpayne@69 28336 #elif CYTHON_ASSUME_SAFE_MACROS
jpayne@69 28337 key = PyTuple_GET_ITEM(kwds, pos);
jpayne@69 28338 #else
jpayne@69 28339 key = PyTuple_GetItem(kwds, pos);
jpayne@69 28340 if (!key) goto bad;
jpayne@69 28341 #endif
jpayne@69 28342 value = kwvalues[pos];
jpayne@69 28343 pos++;
jpayne@69 28344 }
jpayne@69 28345 else
jpayne@69 28346 {
jpayne@69 28347 if (!PyDict_Next(kwds, &pos, &key, &value)) break;
jpayne@69 28348 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 28349 Py_INCREF(key);
jpayne@69 28350 #endif
jpayne@69 28351 }
jpayne@69 28352 name = first_kw_arg;
jpayne@69 28353 while (*name && (**name != key)) name++;
jpayne@69 28354 if (*name) {
jpayne@69 28355 values[name-argnames] = value;
jpayne@69 28356 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 28357 Py_INCREF(value);
jpayne@69 28358 Py_DECREF(key);
jpayne@69 28359 #endif
jpayne@69 28360 key = NULL;
jpayne@69 28361 value = NULL;
jpayne@69 28362 continue;
jpayne@69 28363 }
jpayne@69 28364 #if !CYTHON_AVOID_BORROWED_REFS
jpayne@69 28365 Py_INCREF(key);
jpayne@69 28366 #endif
jpayne@69 28367 Py_INCREF(value);
jpayne@69 28368 name = first_kw_arg;
jpayne@69 28369 #if PY_MAJOR_VERSION < 3
jpayne@69 28370 if (likely(PyString_Check(key))) {
jpayne@69 28371 while (*name) {
jpayne@69 28372 if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
jpayne@69 28373 && _PyString_Eq(**name, key)) {
jpayne@69 28374 values[name-argnames] = value;
jpayne@69 28375 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 28376 value = NULL;
jpayne@69 28377 #endif
jpayne@69 28378 break;
jpayne@69 28379 }
jpayne@69 28380 name++;
jpayne@69 28381 }
jpayne@69 28382 if (*name) continue;
jpayne@69 28383 else {
jpayne@69 28384 PyObject*** argname = argnames;
jpayne@69 28385 while (argname != first_kw_arg) {
jpayne@69 28386 if ((**argname == key) || (
jpayne@69 28387 (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
jpayne@69 28388 && _PyString_Eq(**argname, key))) {
jpayne@69 28389 goto arg_passed_twice;
jpayne@69 28390 }
jpayne@69 28391 argname++;
jpayne@69 28392 }
jpayne@69 28393 }
jpayne@69 28394 } else
jpayne@69 28395 #endif
jpayne@69 28396 if (likely(PyUnicode_Check(key))) {
jpayne@69 28397 while (*name) {
jpayne@69 28398 int cmp = (
jpayne@69 28399 #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
jpayne@69 28400 (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
jpayne@69 28401 #endif
jpayne@69 28402 PyUnicode_Compare(**name, key)
jpayne@69 28403 );
jpayne@69 28404 if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
jpayne@69 28405 if (cmp == 0) {
jpayne@69 28406 values[name-argnames] = value;
jpayne@69 28407 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 28408 value = NULL;
jpayne@69 28409 #endif
jpayne@69 28410 break;
jpayne@69 28411 }
jpayne@69 28412 name++;
jpayne@69 28413 }
jpayne@69 28414 if (*name) continue;
jpayne@69 28415 else {
jpayne@69 28416 PyObject*** argname = argnames;
jpayne@69 28417 while (argname != first_kw_arg) {
jpayne@69 28418 int cmp = (**argname == key) ? 0 :
jpayne@69 28419 #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
jpayne@69 28420 (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
jpayne@69 28421 #endif
jpayne@69 28422 PyUnicode_Compare(**argname, key);
jpayne@69 28423 if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
jpayne@69 28424 if (cmp == 0) goto arg_passed_twice;
jpayne@69 28425 argname++;
jpayne@69 28426 }
jpayne@69 28427 }
jpayne@69 28428 } else
jpayne@69 28429 goto invalid_keyword_type;
jpayne@69 28430 if (kwds2) {
jpayne@69 28431 if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
jpayne@69 28432 } else {
jpayne@69 28433 goto invalid_keyword;
jpayne@69 28434 }
jpayne@69 28435 }
jpayne@69 28436 Py_XDECREF(key);
jpayne@69 28437 Py_XDECREF(value);
jpayne@69 28438 return 0;
jpayne@69 28439 arg_passed_twice:
jpayne@69 28440 __Pyx_RaiseDoubleKeywordsError(function_name, key);
jpayne@69 28441 goto bad;
jpayne@69 28442 invalid_keyword_type:
jpayne@69 28443 PyErr_Format(PyExc_TypeError,
jpayne@69 28444 "%.200s() keywords must be strings", function_name);
jpayne@69 28445 goto bad;
jpayne@69 28446 invalid_keyword:
jpayne@69 28447 #if PY_MAJOR_VERSION < 3
jpayne@69 28448 PyErr_Format(PyExc_TypeError,
jpayne@69 28449 "%.200s() got an unexpected keyword argument '%.200s'",
jpayne@69 28450 function_name, PyString_AsString(key));
jpayne@69 28451 #else
jpayne@69 28452 PyErr_Format(PyExc_TypeError,
jpayne@69 28453 "%s() got an unexpected keyword argument '%U'",
jpayne@69 28454 function_name, key);
jpayne@69 28455 #endif
jpayne@69 28456 bad:
jpayne@69 28457 Py_XDECREF(key);
jpayne@69 28458 Py_XDECREF(value);
jpayne@69 28459 return -1;
jpayne@69 28460 }
jpayne@69 28461
jpayne@69 28462 /* RaiseArgTupleInvalid */
jpayne@69 28463 static void __Pyx_RaiseArgtupleInvalid(
jpayne@69 28464 const char* func_name,
jpayne@69 28465 int exact,
jpayne@69 28466 Py_ssize_t num_min,
jpayne@69 28467 Py_ssize_t num_max,
jpayne@69 28468 Py_ssize_t num_found)
jpayne@69 28469 {
jpayne@69 28470 Py_ssize_t num_expected;
jpayne@69 28471 const char *more_or_less;
jpayne@69 28472 if (num_found < num_min) {
jpayne@69 28473 num_expected = num_min;
jpayne@69 28474 more_or_less = "at least";
jpayne@69 28475 } else {
jpayne@69 28476 num_expected = num_max;
jpayne@69 28477 more_or_less = "at most";
jpayne@69 28478 }
jpayne@69 28479 if (exact) {
jpayne@69 28480 more_or_less = "exactly";
jpayne@69 28481 }
jpayne@69 28482 PyErr_Format(PyExc_TypeError,
jpayne@69 28483 "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)",
jpayne@69 28484 func_name, more_or_less, num_expected,
jpayne@69 28485 (num_expected == 1) ? "" : "s", num_found);
jpayne@69 28486 }
jpayne@69 28487
jpayne@69 28488 /* FixUpExtensionType */
jpayne@69 28489 #if CYTHON_USE_TYPE_SPECS
jpayne@69 28490 static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) {
jpayne@69 28491 #if PY_VERSION_HEX > 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 28492 CYTHON_UNUSED_VAR(spec);
jpayne@69 28493 CYTHON_UNUSED_VAR(type);
jpayne@69 28494 #else
jpayne@69 28495 const PyType_Slot *slot = spec->slots;
jpayne@69 28496 while (slot && slot->slot && slot->slot != Py_tp_members)
jpayne@69 28497 slot++;
jpayne@69 28498 if (slot && slot->slot == Py_tp_members) {
jpayne@69 28499 int changed = 0;
jpayne@69 28500 #if !(PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON)
jpayne@69 28501 const
jpayne@69 28502 #endif
jpayne@69 28503 PyMemberDef *memb = (PyMemberDef*) slot->pfunc;
jpayne@69 28504 while (memb && memb->name) {
jpayne@69 28505 if (memb->name[0] == '_' && memb->name[1] == '_') {
jpayne@69 28506 #if PY_VERSION_HEX < 0x030900b1
jpayne@69 28507 if (strcmp(memb->name, "__weaklistoffset__") == 0) {
jpayne@69 28508 assert(memb->type == T_PYSSIZET);
jpayne@69 28509 assert(memb->flags == READONLY);
jpayne@69 28510 type->tp_weaklistoffset = memb->offset;
jpayne@69 28511 changed = 1;
jpayne@69 28512 }
jpayne@69 28513 else if (strcmp(memb->name, "__dictoffset__") == 0) {
jpayne@69 28514 assert(memb->type == T_PYSSIZET);
jpayne@69 28515 assert(memb->flags == READONLY);
jpayne@69 28516 type->tp_dictoffset = memb->offset;
jpayne@69 28517 changed = 1;
jpayne@69 28518 }
jpayne@69 28519 #if CYTHON_METH_FASTCALL
jpayne@69 28520 else if (strcmp(memb->name, "__vectorcalloffset__") == 0) {
jpayne@69 28521 assert(memb->type == T_PYSSIZET);
jpayne@69 28522 assert(memb->flags == READONLY);
jpayne@69 28523 #if PY_VERSION_HEX >= 0x030800b4
jpayne@69 28524 type->tp_vectorcall_offset = memb->offset;
jpayne@69 28525 #else
jpayne@69 28526 type->tp_print = (printfunc) memb->offset;
jpayne@69 28527 #endif
jpayne@69 28528 changed = 1;
jpayne@69 28529 }
jpayne@69 28530 #endif
jpayne@69 28531 #else
jpayne@69 28532 if ((0));
jpayne@69 28533 #endif
jpayne@69 28534 #if PY_VERSION_HEX <= 0x030900b1 && CYTHON_COMPILING_IN_CPYTHON
jpayne@69 28535 else if (strcmp(memb->name, "__module__") == 0) {
jpayne@69 28536 PyObject *descr;
jpayne@69 28537 assert(memb->type == T_OBJECT);
jpayne@69 28538 assert(memb->flags == 0 || memb->flags == READONLY);
jpayne@69 28539 descr = PyDescr_NewMember(type, memb);
jpayne@69 28540 if (unlikely(!descr))
jpayne@69 28541 return -1;
jpayne@69 28542 if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) {
jpayne@69 28543 Py_DECREF(descr);
jpayne@69 28544 return -1;
jpayne@69 28545 }
jpayne@69 28546 Py_DECREF(descr);
jpayne@69 28547 changed = 1;
jpayne@69 28548 }
jpayne@69 28549 #endif
jpayne@69 28550 }
jpayne@69 28551 memb++;
jpayne@69 28552 }
jpayne@69 28553 if (changed)
jpayne@69 28554 PyType_Modified(type);
jpayne@69 28555 }
jpayne@69 28556 #endif
jpayne@69 28557 return 0;
jpayne@69 28558 }
jpayne@69 28559 #endif
jpayne@69 28560
jpayne@69 28561 /* FetchSharedCythonModule */
jpayne@69 28562 static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
jpayne@69 28563 return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
jpayne@69 28564 }
jpayne@69 28565
jpayne@69 28566 /* FetchCommonType */
jpayne@69 28567 static int __Pyx_VerifyCachedType(PyObject *cached_type,
jpayne@69 28568 const char *name,
jpayne@69 28569 Py_ssize_t basicsize,
jpayne@69 28570 Py_ssize_t expected_basicsize) {
jpayne@69 28571 if (!PyType_Check(cached_type)) {
jpayne@69 28572 PyErr_Format(PyExc_TypeError,
jpayne@69 28573 "Shared Cython type %.200s is not a type object", name);
jpayne@69 28574 return -1;
jpayne@69 28575 }
jpayne@69 28576 if (basicsize != expected_basicsize) {
jpayne@69 28577 PyErr_Format(PyExc_TypeError,
jpayne@69 28578 "Shared Cython type %.200s has the wrong size, try recompiling",
jpayne@69 28579 name);
jpayne@69 28580 return -1;
jpayne@69 28581 }
jpayne@69 28582 return 0;
jpayne@69 28583 }
jpayne@69 28584 #if !CYTHON_USE_TYPE_SPECS
jpayne@69 28585 static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
jpayne@69 28586 PyObject* abi_module;
jpayne@69 28587 const char* object_name;
jpayne@69 28588 PyTypeObject *cached_type = NULL;
jpayne@69 28589 abi_module = __Pyx_FetchSharedCythonABIModule();
jpayne@69 28590 if (!abi_module) return NULL;
jpayne@69 28591 object_name = strrchr(type->tp_name, '.');
jpayne@69 28592 object_name = object_name ? object_name+1 : type->tp_name;
jpayne@69 28593 cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name);
jpayne@69 28594 if (cached_type) {
jpayne@69 28595 if (__Pyx_VerifyCachedType(
jpayne@69 28596 (PyObject *)cached_type,
jpayne@69 28597 object_name,
jpayne@69 28598 cached_type->tp_basicsize,
jpayne@69 28599 type->tp_basicsize) < 0) {
jpayne@69 28600 goto bad;
jpayne@69 28601 }
jpayne@69 28602 goto done;
jpayne@69 28603 }
jpayne@69 28604 if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
jpayne@69 28605 PyErr_Clear();
jpayne@69 28606 if (PyType_Ready(type) < 0) goto bad;
jpayne@69 28607 if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0)
jpayne@69 28608 goto bad;
jpayne@69 28609 Py_INCREF(type);
jpayne@69 28610 cached_type = type;
jpayne@69 28611 done:
jpayne@69 28612 Py_DECREF(abi_module);
jpayne@69 28613 return cached_type;
jpayne@69 28614 bad:
jpayne@69 28615 Py_XDECREF(cached_type);
jpayne@69 28616 cached_type = NULL;
jpayne@69 28617 goto done;
jpayne@69 28618 }
jpayne@69 28619 #else
jpayne@69 28620 static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) {
jpayne@69 28621 PyObject *abi_module, *cached_type = NULL;
jpayne@69 28622 const char* object_name = strrchr(spec->name, '.');
jpayne@69 28623 object_name = object_name ? object_name+1 : spec->name;
jpayne@69 28624 abi_module = __Pyx_FetchSharedCythonABIModule();
jpayne@69 28625 if (!abi_module) return NULL;
jpayne@69 28626 cached_type = PyObject_GetAttrString(abi_module, object_name);
jpayne@69 28627 if (cached_type) {
jpayne@69 28628 Py_ssize_t basicsize;
jpayne@69 28629 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 28630 PyObject *py_basicsize;
jpayne@69 28631 py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__");
jpayne@69 28632 if (unlikely(!py_basicsize)) goto bad;
jpayne@69 28633 basicsize = PyLong_AsSsize_t(py_basicsize);
jpayne@69 28634 Py_DECREF(py_basicsize);
jpayne@69 28635 py_basicsize = 0;
jpayne@69 28636 if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
jpayne@69 28637 #else
jpayne@69 28638 basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1;
jpayne@69 28639 #endif
jpayne@69 28640 if (__Pyx_VerifyCachedType(
jpayne@69 28641 cached_type,
jpayne@69 28642 object_name,
jpayne@69 28643 basicsize,
jpayne@69 28644 spec->basicsize) < 0) {
jpayne@69 28645 goto bad;
jpayne@69 28646 }
jpayne@69 28647 goto done;
jpayne@69 28648 }
jpayne@69 28649 if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
jpayne@69 28650 PyErr_Clear();
jpayne@69 28651 CYTHON_UNUSED_VAR(module);
jpayne@69 28652 cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases);
jpayne@69 28653 if (unlikely(!cached_type)) goto bad;
jpayne@69 28654 if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad;
jpayne@69 28655 if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad;
jpayne@69 28656 done:
jpayne@69 28657 Py_DECREF(abi_module);
jpayne@69 28658 assert(cached_type == NULL || PyType_Check(cached_type));
jpayne@69 28659 return (PyTypeObject *) cached_type;
jpayne@69 28660 bad:
jpayne@69 28661 Py_XDECREF(cached_type);
jpayne@69 28662 cached_type = NULL;
jpayne@69 28663 goto done;
jpayne@69 28664 }
jpayne@69 28665 #endif
jpayne@69 28666
jpayne@69 28667 /* PyVectorcallFastCallDict */
jpayne@69 28668 #if CYTHON_METH_FASTCALL
jpayne@69 28669 static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
jpayne@69 28670 {
jpayne@69 28671 PyObject *res = NULL;
jpayne@69 28672 PyObject *kwnames;
jpayne@69 28673 PyObject **newargs;
jpayne@69 28674 PyObject **kwvalues;
jpayne@69 28675 Py_ssize_t i, pos;
jpayne@69 28676 size_t j;
jpayne@69 28677 PyObject *key, *value;
jpayne@69 28678 unsigned long keys_are_strings;
jpayne@69 28679 Py_ssize_t nkw = PyDict_GET_SIZE(kw);
jpayne@69 28680 newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0]));
jpayne@69 28681 if (unlikely(newargs == NULL)) {
jpayne@69 28682 PyErr_NoMemory();
jpayne@69 28683 return NULL;
jpayne@69 28684 }
jpayne@69 28685 for (j = 0; j < nargs; j++) newargs[j] = args[j];
jpayne@69 28686 kwnames = PyTuple_New(nkw);
jpayne@69 28687 if (unlikely(kwnames == NULL)) {
jpayne@69 28688 PyMem_Free(newargs);
jpayne@69 28689 return NULL;
jpayne@69 28690 }
jpayne@69 28691 kwvalues = newargs + nargs;
jpayne@69 28692 pos = i = 0;
jpayne@69 28693 keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS;
jpayne@69 28694 while (PyDict_Next(kw, &pos, &key, &value)) {
jpayne@69 28695 keys_are_strings &= Py_TYPE(key)->tp_flags;
jpayne@69 28696 Py_INCREF(key);
jpayne@69 28697 Py_INCREF(value);
jpayne@69 28698 PyTuple_SET_ITEM(kwnames, i, key);
jpayne@69 28699 kwvalues[i] = value;
jpayne@69 28700 i++;
jpayne@69 28701 }
jpayne@69 28702 if (unlikely(!keys_are_strings)) {
jpayne@69 28703 PyErr_SetString(PyExc_TypeError, "keywords must be strings");
jpayne@69 28704 goto cleanup;
jpayne@69 28705 }
jpayne@69 28706 res = vc(func, newargs, nargs, kwnames);
jpayne@69 28707 cleanup:
jpayne@69 28708 Py_DECREF(kwnames);
jpayne@69 28709 for (i = 0; i < nkw; i++)
jpayne@69 28710 Py_DECREF(kwvalues[i]);
jpayne@69 28711 PyMem_Free(newargs);
jpayne@69 28712 return res;
jpayne@69 28713 }
jpayne@69 28714 static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
jpayne@69 28715 {
jpayne@69 28716 if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) {
jpayne@69 28717 return vc(func, args, nargs, NULL);
jpayne@69 28718 }
jpayne@69 28719 return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw);
jpayne@69 28720 }
jpayne@69 28721 #endif
jpayne@69 28722
jpayne@69 28723 /* CythonFunctionShared */
jpayne@69 28724 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 28725 static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
jpayne@69 28726 if (__Pyx_CyFunction_Check(func)) {
jpayne@69 28727 return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
jpayne@69 28728 } else if (PyCFunction_Check(func)) {
jpayne@69 28729 return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
jpayne@69 28730 }
jpayne@69 28731 return 0;
jpayne@69 28732 }
jpayne@69 28733 #else
jpayne@69 28734 static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
jpayne@69 28735 return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
jpayne@69 28736 }
jpayne@69 28737 #endif
jpayne@69 28738 static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
jpayne@69 28739 #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 28740 __Pyx_Py_XDECREF_SET(
jpayne@69 28741 __Pyx_CyFunction_GetClassObj(f),
jpayne@69 28742 ((classobj) ? __Pyx_NewRef(classobj) : NULL));
jpayne@69 28743 #else
jpayne@69 28744 __Pyx_Py_XDECREF_SET(
jpayne@69 28745 ((PyCMethodObject *) (f))->mm_class,
jpayne@69 28746 (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL));
jpayne@69 28747 #endif
jpayne@69 28748 }
jpayne@69 28749 static PyObject *
jpayne@69 28750 __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure)
jpayne@69 28751 {
jpayne@69 28752 CYTHON_UNUSED_VAR(closure);
jpayne@69 28753 if (unlikely(op->func_doc == NULL)) {
jpayne@69 28754 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 28755 op->func_doc = PyObject_GetAttrString(op->func, "__doc__");
jpayne@69 28756 if (unlikely(!op->func_doc)) return NULL;
jpayne@69 28757 #else
jpayne@69 28758 if (((PyCFunctionObject*)op)->m_ml->ml_doc) {
jpayne@69 28759 #if PY_MAJOR_VERSION >= 3
jpayne@69 28760 op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
jpayne@69 28761 #else
jpayne@69 28762 op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc);
jpayne@69 28763 #endif
jpayne@69 28764 if (unlikely(op->func_doc == NULL))
jpayne@69 28765 return NULL;
jpayne@69 28766 } else {
jpayne@69 28767 Py_INCREF(Py_None);
jpayne@69 28768 return Py_None;
jpayne@69 28769 }
jpayne@69 28770 #endif
jpayne@69 28771 }
jpayne@69 28772 Py_INCREF(op->func_doc);
jpayne@69 28773 return op->func_doc;
jpayne@69 28774 }
jpayne@69 28775 static int
jpayne@69 28776 __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context)
jpayne@69 28777 {
jpayne@69 28778 CYTHON_UNUSED_VAR(context);
jpayne@69 28779 if (value == NULL) {
jpayne@69 28780 value = Py_None;
jpayne@69 28781 }
jpayne@69 28782 Py_INCREF(value);
jpayne@69 28783 __Pyx_Py_XDECREF_SET(op->func_doc, value);
jpayne@69 28784 return 0;
jpayne@69 28785 }
jpayne@69 28786 static PyObject *
jpayne@69 28787 __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context)
jpayne@69 28788 {
jpayne@69 28789 CYTHON_UNUSED_VAR(context);
jpayne@69 28790 if (unlikely(op->func_name == NULL)) {
jpayne@69 28791 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 28792 op->func_name = PyObject_GetAttrString(op->func, "__name__");
jpayne@69 28793 #elif PY_MAJOR_VERSION >= 3
jpayne@69 28794 op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
jpayne@69 28795 #else
jpayne@69 28796 op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name);
jpayne@69 28797 #endif
jpayne@69 28798 if (unlikely(op->func_name == NULL))
jpayne@69 28799 return NULL;
jpayne@69 28800 }
jpayne@69 28801 Py_INCREF(op->func_name);
jpayne@69 28802 return op->func_name;
jpayne@69 28803 }
jpayne@69 28804 static int
jpayne@69 28805 __Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context)
jpayne@69 28806 {
jpayne@69 28807 CYTHON_UNUSED_VAR(context);
jpayne@69 28808 #if PY_MAJOR_VERSION >= 3
jpayne@69 28809 if (unlikely(value == NULL || !PyUnicode_Check(value)))
jpayne@69 28810 #else
jpayne@69 28811 if (unlikely(value == NULL || !PyString_Check(value)))
jpayne@69 28812 #endif
jpayne@69 28813 {
jpayne@69 28814 PyErr_SetString(PyExc_TypeError,
jpayne@69 28815 "__name__ must be set to a string object");
jpayne@69 28816 return -1;
jpayne@69 28817 }
jpayne@69 28818 Py_INCREF(value);
jpayne@69 28819 __Pyx_Py_XDECREF_SET(op->func_name, value);
jpayne@69 28820 return 0;
jpayne@69 28821 }
jpayne@69 28822 static PyObject *
jpayne@69 28823 __Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context)
jpayne@69 28824 {
jpayne@69 28825 CYTHON_UNUSED_VAR(context);
jpayne@69 28826 Py_INCREF(op->func_qualname);
jpayne@69 28827 return op->func_qualname;
jpayne@69 28828 }
jpayne@69 28829 static int
jpayne@69 28830 __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context)
jpayne@69 28831 {
jpayne@69 28832 CYTHON_UNUSED_VAR(context);
jpayne@69 28833 #if PY_MAJOR_VERSION >= 3
jpayne@69 28834 if (unlikely(value == NULL || !PyUnicode_Check(value)))
jpayne@69 28835 #else
jpayne@69 28836 if (unlikely(value == NULL || !PyString_Check(value)))
jpayne@69 28837 #endif
jpayne@69 28838 {
jpayne@69 28839 PyErr_SetString(PyExc_TypeError,
jpayne@69 28840 "__qualname__ must be set to a string object");
jpayne@69 28841 return -1;
jpayne@69 28842 }
jpayne@69 28843 Py_INCREF(value);
jpayne@69 28844 __Pyx_Py_XDECREF_SET(op->func_qualname, value);
jpayne@69 28845 return 0;
jpayne@69 28846 }
jpayne@69 28847 static PyObject *
jpayne@69 28848 __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context)
jpayne@69 28849 {
jpayne@69 28850 CYTHON_UNUSED_VAR(context);
jpayne@69 28851 if (unlikely(op->func_dict == NULL)) {
jpayne@69 28852 op->func_dict = PyDict_New();
jpayne@69 28853 if (unlikely(op->func_dict == NULL))
jpayne@69 28854 return NULL;
jpayne@69 28855 }
jpayne@69 28856 Py_INCREF(op->func_dict);
jpayne@69 28857 return op->func_dict;
jpayne@69 28858 }
jpayne@69 28859 static int
jpayne@69 28860 __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context)
jpayne@69 28861 {
jpayne@69 28862 CYTHON_UNUSED_VAR(context);
jpayne@69 28863 if (unlikely(value == NULL)) {
jpayne@69 28864 PyErr_SetString(PyExc_TypeError,
jpayne@69 28865 "function's dictionary may not be deleted");
jpayne@69 28866 return -1;
jpayne@69 28867 }
jpayne@69 28868 if (unlikely(!PyDict_Check(value))) {
jpayne@69 28869 PyErr_SetString(PyExc_TypeError,
jpayne@69 28870 "setting function's dictionary to a non-dict");
jpayne@69 28871 return -1;
jpayne@69 28872 }
jpayne@69 28873 Py_INCREF(value);
jpayne@69 28874 __Pyx_Py_XDECREF_SET(op->func_dict, value);
jpayne@69 28875 return 0;
jpayne@69 28876 }
jpayne@69 28877 static PyObject *
jpayne@69 28878 __Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context)
jpayne@69 28879 {
jpayne@69 28880 CYTHON_UNUSED_VAR(context);
jpayne@69 28881 Py_INCREF(op->func_globals);
jpayne@69 28882 return op->func_globals;
jpayne@69 28883 }
jpayne@69 28884 static PyObject *
jpayne@69 28885 __Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context)
jpayne@69 28886 {
jpayne@69 28887 CYTHON_UNUSED_VAR(op);
jpayne@69 28888 CYTHON_UNUSED_VAR(context);
jpayne@69 28889 Py_INCREF(Py_None);
jpayne@69 28890 return Py_None;
jpayne@69 28891 }
jpayne@69 28892 static PyObject *
jpayne@69 28893 __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context)
jpayne@69 28894 {
jpayne@69 28895 PyObject* result = (op->func_code) ? op->func_code : Py_None;
jpayne@69 28896 CYTHON_UNUSED_VAR(context);
jpayne@69 28897 Py_INCREF(result);
jpayne@69 28898 return result;
jpayne@69 28899 }
jpayne@69 28900 static int
jpayne@69 28901 __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) {
jpayne@69 28902 int result = 0;
jpayne@69 28903 PyObject *res = op->defaults_getter((PyObject *) op);
jpayne@69 28904 if (unlikely(!res))
jpayne@69 28905 return -1;
jpayne@69 28906 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 28907 op->defaults_tuple = PyTuple_GET_ITEM(res, 0);
jpayne@69 28908 Py_INCREF(op->defaults_tuple);
jpayne@69 28909 op->defaults_kwdict = PyTuple_GET_ITEM(res, 1);
jpayne@69 28910 Py_INCREF(op->defaults_kwdict);
jpayne@69 28911 #else
jpayne@69 28912 op->defaults_tuple = __Pyx_PySequence_ITEM(res, 0);
jpayne@69 28913 if (unlikely(!op->defaults_tuple)) result = -1;
jpayne@69 28914 else {
jpayne@69 28915 op->defaults_kwdict = __Pyx_PySequence_ITEM(res, 1);
jpayne@69 28916 if (unlikely(!op->defaults_kwdict)) result = -1;
jpayne@69 28917 }
jpayne@69 28918 #endif
jpayne@69 28919 Py_DECREF(res);
jpayne@69 28920 return result;
jpayne@69 28921 }
jpayne@69 28922 static int
jpayne@69 28923 __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
jpayne@69 28924 CYTHON_UNUSED_VAR(context);
jpayne@69 28925 if (!value) {
jpayne@69 28926 value = Py_None;
jpayne@69 28927 } else if (unlikely(value != Py_None && !PyTuple_Check(value))) {
jpayne@69 28928 PyErr_SetString(PyExc_TypeError,
jpayne@69 28929 "__defaults__ must be set to a tuple object");
jpayne@69 28930 return -1;
jpayne@69 28931 }
jpayne@69 28932 PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not "
jpayne@69 28933 "currently affect the values used in function calls", 1);
jpayne@69 28934 Py_INCREF(value);
jpayne@69 28935 __Pyx_Py_XDECREF_SET(op->defaults_tuple, value);
jpayne@69 28936 return 0;
jpayne@69 28937 }
jpayne@69 28938 static PyObject *
jpayne@69 28939 __Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) {
jpayne@69 28940 PyObject* result = op->defaults_tuple;
jpayne@69 28941 CYTHON_UNUSED_VAR(context);
jpayne@69 28942 if (unlikely(!result)) {
jpayne@69 28943 if (op->defaults_getter) {
jpayne@69 28944 if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
jpayne@69 28945 result = op->defaults_tuple;
jpayne@69 28946 } else {
jpayne@69 28947 result = Py_None;
jpayne@69 28948 }
jpayne@69 28949 }
jpayne@69 28950 Py_INCREF(result);
jpayne@69 28951 return result;
jpayne@69 28952 }
jpayne@69 28953 static int
jpayne@69 28954 __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
jpayne@69 28955 CYTHON_UNUSED_VAR(context);
jpayne@69 28956 if (!value) {
jpayne@69 28957 value = Py_None;
jpayne@69 28958 } else if (unlikely(value != Py_None && !PyDict_Check(value))) {
jpayne@69 28959 PyErr_SetString(PyExc_TypeError,
jpayne@69 28960 "__kwdefaults__ must be set to a dict object");
jpayne@69 28961 return -1;
jpayne@69 28962 }
jpayne@69 28963 PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not "
jpayne@69 28964 "currently affect the values used in function calls", 1);
jpayne@69 28965 Py_INCREF(value);
jpayne@69 28966 __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value);
jpayne@69 28967 return 0;
jpayne@69 28968 }
jpayne@69 28969 static PyObject *
jpayne@69 28970 __Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) {
jpayne@69 28971 PyObject* result = op->defaults_kwdict;
jpayne@69 28972 CYTHON_UNUSED_VAR(context);
jpayne@69 28973 if (unlikely(!result)) {
jpayne@69 28974 if (op->defaults_getter) {
jpayne@69 28975 if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL;
jpayne@69 28976 result = op->defaults_kwdict;
jpayne@69 28977 } else {
jpayne@69 28978 result = Py_None;
jpayne@69 28979 }
jpayne@69 28980 }
jpayne@69 28981 Py_INCREF(result);
jpayne@69 28982 return result;
jpayne@69 28983 }
jpayne@69 28984 static int
jpayne@69 28985 __Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
jpayne@69 28986 CYTHON_UNUSED_VAR(context);
jpayne@69 28987 if (!value || value == Py_None) {
jpayne@69 28988 value = NULL;
jpayne@69 28989 } else if (unlikely(!PyDict_Check(value))) {
jpayne@69 28990 PyErr_SetString(PyExc_TypeError,
jpayne@69 28991 "__annotations__ must be set to a dict object");
jpayne@69 28992 return -1;
jpayne@69 28993 }
jpayne@69 28994 Py_XINCREF(value);
jpayne@69 28995 __Pyx_Py_XDECREF_SET(op->func_annotations, value);
jpayne@69 28996 return 0;
jpayne@69 28997 }
jpayne@69 28998 static PyObject *
jpayne@69 28999 __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) {
jpayne@69 29000 PyObject* result = op->func_annotations;
jpayne@69 29001 CYTHON_UNUSED_VAR(context);
jpayne@69 29002 if (unlikely(!result)) {
jpayne@69 29003 result = PyDict_New();
jpayne@69 29004 if (unlikely(!result)) return NULL;
jpayne@69 29005 op->func_annotations = result;
jpayne@69 29006 }
jpayne@69 29007 Py_INCREF(result);
jpayne@69 29008 return result;
jpayne@69 29009 }
jpayne@69 29010 static PyObject *
jpayne@69 29011 __Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) {
jpayne@69 29012 int is_coroutine;
jpayne@69 29013 CYTHON_UNUSED_VAR(context);
jpayne@69 29014 if (op->func_is_coroutine) {
jpayne@69 29015 return __Pyx_NewRef(op->func_is_coroutine);
jpayne@69 29016 }
jpayne@69 29017 is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE;
jpayne@69 29018 #if PY_VERSION_HEX >= 0x03050000
jpayne@69 29019 if (is_coroutine) {
jpayne@69 29020 PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine;
jpayne@69 29021 fromlist = PyList_New(1);
jpayne@69 29022 if (unlikely(!fromlist)) return NULL;
jpayne@69 29023 Py_INCREF(marker);
jpayne@69 29024 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 29025 PyList_SET_ITEM(fromlist, 0, marker);
jpayne@69 29026 #else
jpayne@69 29027 if (unlikely(PyList_SetItem(fromlist, 0, marker) < 0)) {
jpayne@69 29028 Py_DECREF(marker);
jpayne@69 29029 Py_DECREF(fromlist);
jpayne@69 29030 return NULL;
jpayne@69 29031 }
jpayne@69 29032 #endif
jpayne@69 29033 module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0);
jpayne@69 29034 Py_DECREF(fromlist);
jpayne@69 29035 if (unlikely(!module)) goto ignore;
jpayne@69 29036 op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker);
jpayne@69 29037 Py_DECREF(module);
jpayne@69 29038 if (likely(op->func_is_coroutine)) {
jpayne@69 29039 return __Pyx_NewRef(op->func_is_coroutine);
jpayne@69 29040 }
jpayne@69 29041 ignore:
jpayne@69 29042 PyErr_Clear();
jpayne@69 29043 }
jpayne@69 29044 #endif
jpayne@69 29045 op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine);
jpayne@69 29046 return __Pyx_NewRef(op->func_is_coroutine);
jpayne@69 29047 }
jpayne@69 29048 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29049 static PyObject *
jpayne@69 29050 __Pyx_CyFunction_get_module(__pyx_CyFunctionObject *op, void *context) {
jpayne@69 29051 CYTHON_UNUSED_VAR(context);
jpayne@69 29052 return PyObject_GetAttrString(op->func, "__module__");
jpayne@69 29053 }
jpayne@69 29054 static int
jpayne@69 29055 __Pyx_CyFunction_set_module(__pyx_CyFunctionObject *op, PyObject* value, void *context) {
jpayne@69 29056 CYTHON_UNUSED_VAR(context);
jpayne@69 29057 return PyObject_SetAttrString(op->func, "__module__", value);
jpayne@69 29058 }
jpayne@69 29059 #endif
jpayne@69 29060 static PyGetSetDef __pyx_CyFunction_getsets[] = {
jpayne@69 29061 {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
jpayne@69 29062 {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
jpayne@69 29063 {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
jpayne@69 29064 {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
jpayne@69 29065 {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
jpayne@69 29066 {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
jpayne@69 29067 {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
jpayne@69 29068 {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
jpayne@69 29069 {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
jpayne@69 29070 {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
jpayne@69 29071 {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
jpayne@69 29072 {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
jpayne@69 29073 {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
jpayne@69 29074 {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
jpayne@69 29075 {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0},
jpayne@69 29076 {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0},
jpayne@69 29077 {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0},
jpayne@69 29078 {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0},
jpayne@69 29079 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29080 {"__module__", (getter)__Pyx_CyFunction_get_module, (setter)__Pyx_CyFunction_set_module, 0, 0},
jpayne@69 29081 #endif
jpayne@69 29082 {0, 0, 0, 0, 0}
jpayne@69 29083 };
jpayne@69 29084 static PyMemberDef __pyx_CyFunction_members[] = {
jpayne@69 29085 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29086 {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0},
jpayne@69 29087 #endif
jpayne@69 29088 #if CYTHON_USE_TYPE_SPECS
jpayne@69 29089 {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0},
jpayne@69 29090 #if CYTHON_METH_FASTCALL
jpayne@69 29091 #if CYTHON_BACKPORT_VECTORCALL
jpayne@69 29092 {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0},
jpayne@69 29093 #else
jpayne@69 29094 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29095 {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0},
jpayne@69 29096 #endif
jpayne@69 29097 #endif
jpayne@69 29098 #endif
jpayne@69 29099 #if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29100 {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0},
jpayne@69 29101 #else
jpayne@69 29102 {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0},
jpayne@69 29103 #endif
jpayne@69 29104 #endif
jpayne@69 29105 {0, 0, 0, 0, 0}
jpayne@69 29106 };
jpayne@69 29107 static PyObject *
jpayne@69 29108 __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args)
jpayne@69 29109 {
jpayne@69 29110 CYTHON_UNUSED_VAR(args);
jpayne@69 29111 #if PY_MAJOR_VERSION >= 3
jpayne@69 29112 Py_INCREF(m->func_qualname);
jpayne@69 29113 return m->func_qualname;
jpayne@69 29114 #else
jpayne@69 29115 return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name);
jpayne@69 29116 #endif
jpayne@69 29117 }
jpayne@69 29118 static PyMethodDef __pyx_CyFunction_methods[] = {
jpayne@69 29119 {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
jpayne@69 29120 {0, 0, 0, 0}
jpayne@69 29121 };
jpayne@69 29122 #if PY_VERSION_HEX < 0x030500A0 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29123 #define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
jpayne@69 29124 #else
jpayne@69 29125 #define __Pyx_CyFunction_weakreflist(cyfunc) (((PyCFunctionObject*)cyfunc)->m_weakreflist)
jpayne@69 29126 #endif
jpayne@69 29127 static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
jpayne@69 29128 PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
jpayne@69 29129 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29130 PyCFunctionObject *cf = (PyCFunctionObject*) op;
jpayne@69 29131 #endif
jpayne@69 29132 if (unlikely(op == NULL))
jpayne@69 29133 return NULL;
jpayne@69 29134 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29135 op->func = PyCFunction_NewEx(ml, (PyObject*)op, module);
jpayne@69 29136 if (unlikely(!op->func)) return NULL;
jpayne@69 29137 #endif
jpayne@69 29138 op->flags = flags;
jpayne@69 29139 __Pyx_CyFunction_weakreflist(op) = NULL;
jpayne@69 29140 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29141 cf->m_ml = ml;
jpayne@69 29142 cf->m_self = (PyObject *) op;
jpayne@69 29143 #endif
jpayne@69 29144 Py_XINCREF(closure);
jpayne@69 29145 op->func_closure = closure;
jpayne@69 29146 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29147 Py_XINCREF(module);
jpayne@69 29148 cf->m_module = module;
jpayne@69 29149 #endif
jpayne@69 29150 op->func_dict = NULL;
jpayne@69 29151 op->func_name = NULL;
jpayne@69 29152 Py_INCREF(qualname);
jpayne@69 29153 op->func_qualname = qualname;
jpayne@69 29154 op->func_doc = NULL;
jpayne@69 29155 #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29156 op->func_classobj = NULL;
jpayne@69 29157 #else
jpayne@69 29158 ((PyCMethodObject*)op)->mm_class = NULL;
jpayne@69 29159 #endif
jpayne@69 29160 op->func_globals = globals;
jpayne@69 29161 Py_INCREF(op->func_globals);
jpayne@69 29162 Py_XINCREF(code);
jpayne@69 29163 op->func_code = code;
jpayne@69 29164 op->defaults_pyobjects = 0;
jpayne@69 29165 op->defaults_size = 0;
jpayne@69 29166 op->defaults = NULL;
jpayne@69 29167 op->defaults_tuple = NULL;
jpayne@69 29168 op->defaults_kwdict = NULL;
jpayne@69 29169 op->defaults_getter = NULL;
jpayne@69 29170 op->func_annotations = NULL;
jpayne@69 29171 op->func_is_coroutine = NULL;
jpayne@69 29172 #if CYTHON_METH_FASTCALL
jpayne@69 29173 switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) {
jpayne@69 29174 case METH_NOARGS:
jpayne@69 29175 __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS;
jpayne@69 29176 break;
jpayne@69 29177 case METH_O:
jpayne@69 29178 __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O;
jpayne@69 29179 break;
jpayne@69 29180 case METH_METHOD | METH_FASTCALL | METH_KEYWORDS:
jpayne@69 29181 __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD;
jpayne@69 29182 break;
jpayne@69 29183 case METH_FASTCALL | METH_KEYWORDS:
jpayne@69 29184 __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS;
jpayne@69 29185 break;
jpayne@69 29186 case METH_VARARGS | METH_KEYWORDS:
jpayne@69 29187 __Pyx_CyFunction_func_vectorcall(op) = NULL;
jpayne@69 29188 break;
jpayne@69 29189 default:
jpayne@69 29190 PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
jpayne@69 29191 Py_DECREF(op);
jpayne@69 29192 return NULL;
jpayne@69 29193 }
jpayne@69 29194 #endif
jpayne@69 29195 return (PyObject *) op;
jpayne@69 29196 }
jpayne@69 29197 static int
jpayne@69 29198 __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
jpayne@69 29199 {
jpayne@69 29200 Py_CLEAR(m->func_closure);
jpayne@69 29201 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29202 Py_CLEAR(m->func);
jpayne@69 29203 #else
jpayne@69 29204 Py_CLEAR(((PyCFunctionObject*)m)->m_module);
jpayne@69 29205 #endif
jpayne@69 29206 Py_CLEAR(m->func_dict);
jpayne@69 29207 Py_CLEAR(m->func_name);
jpayne@69 29208 Py_CLEAR(m->func_qualname);
jpayne@69 29209 Py_CLEAR(m->func_doc);
jpayne@69 29210 Py_CLEAR(m->func_globals);
jpayne@69 29211 Py_CLEAR(m->func_code);
jpayne@69 29212 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29213 #if PY_VERSION_HEX < 0x030900B1
jpayne@69 29214 Py_CLEAR(__Pyx_CyFunction_GetClassObj(m));
jpayne@69 29215 #else
jpayne@69 29216 {
jpayne@69 29217 PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class;
jpayne@69 29218 ((PyCMethodObject *) (m))->mm_class = NULL;
jpayne@69 29219 Py_XDECREF(cls);
jpayne@69 29220 }
jpayne@69 29221 #endif
jpayne@69 29222 #endif
jpayne@69 29223 Py_CLEAR(m->defaults_tuple);
jpayne@69 29224 Py_CLEAR(m->defaults_kwdict);
jpayne@69 29225 Py_CLEAR(m->func_annotations);
jpayne@69 29226 Py_CLEAR(m->func_is_coroutine);
jpayne@69 29227 if (m->defaults) {
jpayne@69 29228 PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
jpayne@69 29229 int i;
jpayne@69 29230 for (i = 0; i < m->defaults_pyobjects; i++)
jpayne@69 29231 Py_XDECREF(pydefaults[i]);
jpayne@69 29232 PyObject_Free(m->defaults);
jpayne@69 29233 m->defaults = NULL;
jpayne@69 29234 }
jpayne@69 29235 return 0;
jpayne@69 29236 }
jpayne@69 29237 static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m)
jpayne@69 29238 {
jpayne@69 29239 if (__Pyx_CyFunction_weakreflist(m) != NULL)
jpayne@69 29240 PyObject_ClearWeakRefs((PyObject *) m);
jpayne@69 29241 __Pyx_CyFunction_clear(m);
jpayne@69 29242 __Pyx_PyHeapTypeObject_GC_Del(m);
jpayne@69 29243 }
jpayne@69 29244 static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
jpayne@69 29245 {
jpayne@69 29246 PyObject_GC_UnTrack(m);
jpayne@69 29247 __Pyx__CyFunction_dealloc(m);
jpayne@69 29248 }
jpayne@69 29249 static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
jpayne@69 29250 {
jpayne@69 29251 Py_VISIT(m->func_closure);
jpayne@69 29252 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29253 Py_VISIT(m->func);
jpayne@69 29254 #else
jpayne@69 29255 Py_VISIT(((PyCFunctionObject*)m)->m_module);
jpayne@69 29256 #endif
jpayne@69 29257 Py_VISIT(m->func_dict);
jpayne@69 29258 Py_VISIT(m->func_name);
jpayne@69 29259 Py_VISIT(m->func_qualname);
jpayne@69 29260 Py_VISIT(m->func_doc);
jpayne@69 29261 Py_VISIT(m->func_globals);
jpayne@69 29262 Py_VISIT(m->func_code);
jpayne@69 29263 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29264 Py_VISIT(__Pyx_CyFunction_GetClassObj(m));
jpayne@69 29265 #endif
jpayne@69 29266 Py_VISIT(m->defaults_tuple);
jpayne@69 29267 Py_VISIT(m->defaults_kwdict);
jpayne@69 29268 Py_VISIT(m->func_is_coroutine);
jpayne@69 29269 if (m->defaults) {
jpayne@69 29270 PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
jpayne@69 29271 int i;
jpayne@69 29272 for (i = 0; i < m->defaults_pyobjects; i++)
jpayne@69 29273 Py_VISIT(pydefaults[i]);
jpayne@69 29274 }
jpayne@69 29275 return 0;
jpayne@69 29276 }
jpayne@69 29277 static PyObject*
jpayne@69 29278 __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
jpayne@69 29279 {
jpayne@69 29280 #if PY_MAJOR_VERSION >= 3
jpayne@69 29281 return PyUnicode_FromFormat("<cyfunction %U at %p>",
jpayne@69 29282 op->func_qualname, (void *)op);
jpayne@69 29283 #else
jpayne@69 29284 return PyString_FromFormat("<cyfunction %s at %p>",
jpayne@69 29285 PyString_AsString(op->func_qualname), (void *)op);
jpayne@69 29286 #endif
jpayne@69 29287 }
jpayne@69 29288 static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) {
jpayne@69 29289 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29290 PyObject *f = ((__pyx_CyFunctionObject*)func)->func;
jpayne@69 29291 PyObject *py_name = NULL;
jpayne@69 29292 PyCFunction meth;
jpayne@69 29293 int flags;
jpayne@69 29294 meth = PyCFunction_GetFunction(f);
jpayne@69 29295 if (unlikely(!meth)) return NULL;
jpayne@69 29296 flags = PyCFunction_GetFlags(f);
jpayne@69 29297 if (unlikely(flags < 0)) return NULL;
jpayne@69 29298 #else
jpayne@69 29299 PyCFunctionObject* f = (PyCFunctionObject*)func;
jpayne@69 29300 PyCFunction meth = f->m_ml->ml_meth;
jpayne@69 29301 int flags = f->m_ml->ml_flags;
jpayne@69 29302 #endif
jpayne@69 29303 Py_ssize_t size;
jpayne@69 29304 switch (flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) {
jpayne@69 29305 case METH_VARARGS:
jpayne@69 29306 if (likely(kw == NULL || PyDict_Size(kw) == 0))
jpayne@69 29307 return (*meth)(self, arg);
jpayne@69 29308 break;
jpayne@69 29309 case METH_VARARGS | METH_KEYWORDS:
jpayne@69 29310 return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw);
jpayne@69 29311 case METH_NOARGS:
jpayne@69 29312 if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
jpayne@69 29313 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 29314 size = PyTuple_GET_SIZE(arg);
jpayne@69 29315 #else
jpayne@69 29316 size = PyTuple_Size(arg);
jpayne@69 29317 if (unlikely(size < 0)) return NULL;
jpayne@69 29318 #endif
jpayne@69 29319 if (likely(size == 0))
jpayne@69 29320 return (*meth)(self, NULL);
jpayne@69 29321 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29322 py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
jpayne@69 29323 if (!py_name) return NULL;
jpayne@69 29324 PyErr_Format(PyExc_TypeError,
jpayne@69 29325 "%.200S() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
jpayne@69 29326 py_name, size);
jpayne@69 29327 Py_DECREF(py_name);
jpayne@69 29328 #else
jpayne@69 29329 PyErr_Format(PyExc_TypeError,
jpayne@69 29330 "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
jpayne@69 29331 f->m_ml->ml_name, size);
jpayne@69 29332 #endif
jpayne@69 29333 return NULL;
jpayne@69 29334 }
jpayne@69 29335 break;
jpayne@69 29336 case METH_O:
jpayne@69 29337 if (likely(kw == NULL || PyDict_Size(kw) == 0)) {
jpayne@69 29338 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 29339 size = PyTuple_GET_SIZE(arg);
jpayne@69 29340 #else
jpayne@69 29341 size = PyTuple_Size(arg);
jpayne@69 29342 if (unlikely(size < 0)) return NULL;
jpayne@69 29343 #endif
jpayne@69 29344 if (likely(size == 1)) {
jpayne@69 29345 PyObject *result, *arg0;
jpayne@69 29346 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 29347 arg0 = PyTuple_GET_ITEM(arg, 0);
jpayne@69 29348 #else
jpayne@69 29349 arg0 = __Pyx_PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
jpayne@69 29350 #endif
jpayne@69 29351 result = (*meth)(self, arg0);
jpayne@69 29352 #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
jpayne@69 29353 Py_DECREF(arg0);
jpayne@69 29354 #endif
jpayne@69 29355 return result;
jpayne@69 29356 }
jpayne@69 29357 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29358 py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
jpayne@69 29359 if (!py_name) return NULL;
jpayne@69 29360 PyErr_Format(PyExc_TypeError,
jpayne@69 29361 "%.200S() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
jpayne@69 29362 py_name, size);
jpayne@69 29363 Py_DECREF(py_name);
jpayne@69 29364 #else
jpayne@69 29365 PyErr_Format(PyExc_TypeError,
jpayne@69 29366 "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
jpayne@69 29367 f->m_ml->ml_name, size);
jpayne@69 29368 #endif
jpayne@69 29369 return NULL;
jpayne@69 29370 }
jpayne@69 29371 break;
jpayne@69 29372 default:
jpayne@69 29373 PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction");
jpayne@69 29374 return NULL;
jpayne@69 29375 }
jpayne@69 29376 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29377 py_name = __Pyx_CyFunction_get_name((__pyx_CyFunctionObject*)func, NULL);
jpayne@69 29378 if (!py_name) return NULL;
jpayne@69 29379 PyErr_Format(PyExc_TypeError, "%.200S() takes no keyword arguments",
jpayne@69 29380 py_name);
jpayne@69 29381 Py_DECREF(py_name);
jpayne@69 29382 #else
jpayne@69 29383 PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
jpayne@69 29384 f->m_ml->ml_name);
jpayne@69 29385 #endif
jpayne@69 29386 return NULL;
jpayne@69 29387 }
jpayne@69 29388 static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
jpayne@69 29389 PyObject *self, *result;
jpayne@69 29390 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 29391 self = PyCFunction_GetSelf(((__pyx_CyFunctionObject*)func)->func);
jpayne@69 29392 if (unlikely(!self) && PyErr_Occurred()) return NULL;
jpayne@69 29393 #else
jpayne@69 29394 self = ((PyCFunctionObject*)func)->m_self;
jpayne@69 29395 #endif
jpayne@69 29396 result = __Pyx_CyFunction_CallMethod(func, self, arg, kw);
jpayne@69 29397 return result;
jpayne@69 29398 }
jpayne@69 29399 static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) {
jpayne@69 29400 PyObject *result;
jpayne@69 29401 __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func;
jpayne@69 29402 #if CYTHON_METH_FASTCALL
jpayne@69 29403 __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
jpayne@69 29404 if (vc) {
jpayne@69 29405 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 29406 return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
jpayne@69 29407 #else
jpayne@69 29408 (void) &__Pyx_PyVectorcall_FastCallDict;
jpayne@69 29409 return PyVectorcall_Call(func, args, kw);
jpayne@69 29410 #endif
jpayne@69 29411 }
jpayne@69 29412 #endif
jpayne@69 29413 if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
jpayne@69 29414 Py_ssize_t argc;
jpayne@69 29415 PyObject *new_args;
jpayne@69 29416 PyObject *self;
jpayne@69 29417 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 29418 argc = PyTuple_GET_SIZE(args);
jpayne@69 29419 #else
jpayne@69 29420 argc = PyTuple_Size(args);
jpayne@69 29421 if (unlikely(!argc) < 0) return NULL;
jpayne@69 29422 #endif
jpayne@69 29423 new_args = PyTuple_GetSlice(args, 1, argc);
jpayne@69 29424 if (unlikely(!new_args))
jpayne@69 29425 return NULL;
jpayne@69 29426 self = PyTuple_GetItem(args, 0);
jpayne@69 29427 if (unlikely(!self)) {
jpayne@69 29428 Py_DECREF(new_args);
jpayne@69 29429 #if PY_MAJOR_VERSION > 2
jpayne@69 29430 PyErr_Format(PyExc_TypeError,
jpayne@69 29431 "unbound method %.200S() needs an argument",
jpayne@69 29432 cyfunc->func_qualname);
jpayne@69 29433 #else
jpayne@69 29434 PyErr_SetString(PyExc_TypeError,
jpayne@69 29435 "unbound method needs an argument");
jpayne@69 29436 #endif
jpayne@69 29437 return NULL;
jpayne@69 29438 }
jpayne@69 29439 result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
jpayne@69 29440 Py_DECREF(new_args);
jpayne@69 29441 } else {
jpayne@69 29442 result = __Pyx_CyFunction_Call(func, args, kw);
jpayne@69 29443 }
jpayne@69 29444 return result;
jpayne@69 29445 }
jpayne@69 29446 #if CYTHON_METH_FASTCALL
jpayne@69 29447 static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames)
jpayne@69 29448 {
jpayne@69 29449 int ret = 0;
jpayne@69 29450 if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) {
jpayne@69 29451 if (unlikely(nargs < 1)) {
jpayne@69 29452 PyErr_Format(PyExc_TypeError, "%.200s() needs an argument",
jpayne@69 29453 ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
jpayne@69 29454 return -1;
jpayne@69 29455 }
jpayne@69 29456 ret = 1;
jpayne@69 29457 }
jpayne@69 29458 if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) {
jpayne@69 29459 PyErr_Format(PyExc_TypeError,
jpayne@69 29460 "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name);
jpayne@69 29461 return -1;
jpayne@69 29462 }
jpayne@69 29463 return ret;
jpayne@69 29464 }
jpayne@69 29465 static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
jpayne@69 29466 {
jpayne@69 29467 __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
jpayne@69 29468 PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
jpayne@69 29469 #if CYTHON_BACKPORT_VECTORCALL
jpayne@69 29470 Py_ssize_t nargs = (Py_ssize_t)nargsf;
jpayne@69 29471 #else
jpayne@69 29472 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
jpayne@69 29473 #endif
jpayne@69 29474 PyObject *self;
jpayne@69 29475 switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
jpayne@69 29476 case 1:
jpayne@69 29477 self = args[0];
jpayne@69 29478 args += 1;
jpayne@69 29479 nargs -= 1;
jpayne@69 29480 break;
jpayne@69 29481 case 0:
jpayne@69 29482 self = ((PyCFunctionObject*)cyfunc)->m_self;
jpayne@69 29483 break;
jpayne@69 29484 default:
jpayne@69 29485 return NULL;
jpayne@69 29486 }
jpayne@69 29487 if (unlikely(nargs != 0)) {
jpayne@69 29488 PyErr_Format(PyExc_TypeError,
jpayne@69 29489 "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)",
jpayne@69 29490 def->ml_name, nargs);
jpayne@69 29491 return NULL;
jpayne@69 29492 }
jpayne@69 29493 return def->ml_meth(self, NULL);
jpayne@69 29494 }
jpayne@69 29495 static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
jpayne@69 29496 {
jpayne@69 29497 __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
jpayne@69 29498 PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
jpayne@69 29499 #if CYTHON_BACKPORT_VECTORCALL
jpayne@69 29500 Py_ssize_t nargs = (Py_ssize_t)nargsf;
jpayne@69 29501 #else
jpayne@69 29502 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
jpayne@69 29503 #endif
jpayne@69 29504 PyObject *self;
jpayne@69 29505 switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) {
jpayne@69 29506 case 1:
jpayne@69 29507 self = args[0];
jpayne@69 29508 args += 1;
jpayne@69 29509 nargs -= 1;
jpayne@69 29510 break;
jpayne@69 29511 case 0:
jpayne@69 29512 self = ((PyCFunctionObject*)cyfunc)->m_self;
jpayne@69 29513 break;
jpayne@69 29514 default:
jpayne@69 29515 return NULL;
jpayne@69 29516 }
jpayne@69 29517 if (unlikely(nargs != 1)) {
jpayne@69 29518 PyErr_Format(PyExc_TypeError,
jpayne@69 29519 "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)",
jpayne@69 29520 def->ml_name, nargs);
jpayne@69 29521 return NULL;
jpayne@69 29522 }
jpayne@69 29523 return def->ml_meth(self, args[0]);
jpayne@69 29524 }
jpayne@69 29525 static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
jpayne@69 29526 {
jpayne@69 29527 __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
jpayne@69 29528 PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
jpayne@69 29529 #if CYTHON_BACKPORT_VECTORCALL
jpayne@69 29530 Py_ssize_t nargs = (Py_ssize_t)nargsf;
jpayne@69 29531 #else
jpayne@69 29532 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
jpayne@69 29533 #endif
jpayne@69 29534 PyObject *self;
jpayne@69 29535 switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
jpayne@69 29536 case 1:
jpayne@69 29537 self = args[0];
jpayne@69 29538 args += 1;
jpayne@69 29539 nargs -= 1;
jpayne@69 29540 break;
jpayne@69 29541 case 0:
jpayne@69 29542 self = ((PyCFunctionObject*)cyfunc)->m_self;
jpayne@69 29543 break;
jpayne@69 29544 default:
jpayne@69 29545 return NULL;
jpayne@69 29546 }
jpayne@69 29547 return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
jpayne@69 29548 }
jpayne@69 29549 static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
jpayne@69 29550 {
jpayne@69 29551 __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func;
jpayne@69 29552 PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml;
jpayne@69 29553 PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc);
jpayne@69 29554 #if CYTHON_BACKPORT_VECTORCALL
jpayne@69 29555 Py_ssize_t nargs = (Py_ssize_t)nargsf;
jpayne@69 29556 #else
jpayne@69 29557 Py_ssize_t nargs = PyVectorcall_NARGS(nargsf);
jpayne@69 29558 #endif
jpayne@69 29559 PyObject *self;
jpayne@69 29560 switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) {
jpayne@69 29561 case 1:
jpayne@69 29562 self = args[0];
jpayne@69 29563 args += 1;
jpayne@69 29564 nargs -= 1;
jpayne@69 29565 break;
jpayne@69 29566 case 0:
jpayne@69 29567 self = ((PyCFunctionObject*)cyfunc)->m_self;
jpayne@69 29568 break;
jpayne@69 29569 default:
jpayne@69 29570 return NULL;
jpayne@69 29571 }
jpayne@69 29572 return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames);
jpayne@69 29573 }
jpayne@69 29574 #endif
jpayne@69 29575 #if CYTHON_USE_TYPE_SPECS
jpayne@69 29576 static PyType_Slot __pyx_CyFunctionType_slots[] = {
jpayne@69 29577 {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc},
jpayne@69 29578 {Py_tp_repr, (void *)__Pyx_CyFunction_repr},
jpayne@69 29579 {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod},
jpayne@69 29580 {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse},
jpayne@69 29581 {Py_tp_clear, (void *)__Pyx_CyFunction_clear},
jpayne@69 29582 {Py_tp_methods, (void *)__pyx_CyFunction_methods},
jpayne@69 29583 {Py_tp_members, (void *)__pyx_CyFunction_members},
jpayne@69 29584 {Py_tp_getset, (void *)__pyx_CyFunction_getsets},
jpayne@69 29585 {Py_tp_descr_get, (void *)__Pyx_PyMethod_New},
jpayne@69 29586 {0, 0},
jpayne@69 29587 };
jpayne@69 29588 static PyType_Spec __pyx_CyFunctionType_spec = {
jpayne@69 29589 __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
jpayne@69 29590 sizeof(__pyx_CyFunctionObject),
jpayne@69 29591 0,
jpayne@69 29592 #ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
jpayne@69 29593 Py_TPFLAGS_METHOD_DESCRIPTOR |
jpayne@69 29594 #endif
jpayne@69 29595 #if (defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL)
jpayne@69 29596 _Py_TPFLAGS_HAVE_VECTORCALL |
jpayne@69 29597 #endif
jpayne@69 29598 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
jpayne@69 29599 __pyx_CyFunctionType_slots
jpayne@69 29600 };
jpayne@69 29601 #else
jpayne@69 29602 static PyTypeObject __pyx_CyFunctionType_type = {
jpayne@69 29603 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 29604 __PYX_TYPE_MODULE_PREFIX "cython_function_or_method",
jpayne@69 29605 sizeof(__pyx_CyFunctionObject),
jpayne@69 29606 0,
jpayne@69 29607 (destructor) __Pyx_CyFunction_dealloc,
jpayne@69 29608 #if !CYTHON_METH_FASTCALL
jpayne@69 29609 0,
jpayne@69 29610 #elif CYTHON_BACKPORT_VECTORCALL
jpayne@69 29611 (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall),
jpayne@69 29612 #else
jpayne@69 29613 offsetof(PyCFunctionObject, vectorcall),
jpayne@69 29614 #endif
jpayne@69 29615 0,
jpayne@69 29616 0,
jpayne@69 29617 #if PY_MAJOR_VERSION < 3
jpayne@69 29618 0,
jpayne@69 29619 #else
jpayne@69 29620 0,
jpayne@69 29621 #endif
jpayne@69 29622 (reprfunc) __Pyx_CyFunction_repr,
jpayne@69 29623 0,
jpayne@69 29624 0,
jpayne@69 29625 0,
jpayne@69 29626 0,
jpayne@69 29627 __Pyx_CyFunction_CallAsMethod,
jpayne@69 29628 0,
jpayne@69 29629 0,
jpayne@69 29630 0,
jpayne@69 29631 0,
jpayne@69 29632 #ifdef Py_TPFLAGS_METHOD_DESCRIPTOR
jpayne@69 29633 Py_TPFLAGS_METHOD_DESCRIPTOR |
jpayne@69 29634 #endif
jpayne@69 29635 #if defined(_Py_TPFLAGS_HAVE_VECTORCALL) && CYTHON_METH_FASTCALL
jpayne@69 29636 _Py_TPFLAGS_HAVE_VECTORCALL |
jpayne@69 29637 #endif
jpayne@69 29638 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE,
jpayne@69 29639 0,
jpayne@69 29640 (traverseproc) __Pyx_CyFunction_traverse,
jpayne@69 29641 (inquiry) __Pyx_CyFunction_clear,
jpayne@69 29642 0,
jpayne@69 29643 #if PY_VERSION_HEX < 0x030500A0
jpayne@69 29644 offsetof(__pyx_CyFunctionObject, func_weakreflist),
jpayne@69 29645 #else
jpayne@69 29646 offsetof(PyCFunctionObject, m_weakreflist),
jpayne@69 29647 #endif
jpayne@69 29648 0,
jpayne@69 29649 0,
jpayne@69 29650 __pyx_CyFunction_methods,
jpayne@69 29651 __pyx_CyFunction_members,
jpayne@69 29652 __pyx_CyFunction_getsets,
jpayne@69 29653 0,
jpayne@69 29654 0,
jpayne@69 29655 __Pyx_PyMethod_New,
jpayne@69 29656 0,
jpayne@69 29657 offsetof(__pyx_CyFunctionObject, func_dict),
jpayne@69 29658 0,
jpayne@69 29659 0,
jpayne@69 29660 0,
jpayne@69 29661 0,
jpayne@69 29662 0,
jpayne@69 29663 0,
jpayne@69 29664 0,
jpayne@69 29665 0,
jpayne@69 29666 0,
jpayne@69 29667 0,
jpayne@69 29668 0,
jpayne@69 29669 0,
jpayne@69 29670 #if PY_VERSION_HEX >= 0x030400a1
jpayne@69 29671 0,
jpayne@69 29672 #endif
jpayne@69 29673 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 29674 0,
jpayne@69 29675 #endif
jpayne@69 29676 #if __PYX_NEED_TP_PRINT_SLOT
jpayne@69 29677 0,
jpayne@69 29678 #endif
jpayne@69 29679 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 29680 0,
jpayne@69 29681 #endif
jpayne@69 29682 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 29683 0,
jpayne@69 29684 #endif
jpayne@69 29685 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 29686 0,
jpayne@69 29687 #endif
jpayne@69 29688 };
jpayne@69 29689 #endif
jpayne@69 29690 static int __pyx_CyFunction_init(PyObject *module) {
jpayne@69 29691 #if CYTHON_USE_TYPE_SPECS
jpayne@69 29692 __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL);
jpayne@69 29693 #else
jpayne@69 29694 CYTHON_UNUSED_VAR(module);
jpayne@69 29695 __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type);
jpayne@69 29696 #endif
jpayne@69 29697 if (unlikely(__pyx_CyFunctionType == NULL)) {
jpayne@69 29698 return -1;
jpayne@69 29699 }
jpayne@69 29700 return 0;
jpayne@69 29701 }
jpayne@69 29702 static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
jpayne@69 29703 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
jpayne@69 29704 m->defaults = PyObject_Malloc(size);
jpayne@69 29705 if (unlikely(!m->defaults))
jpayne@69 29706 return PyErr_NoMemory();
jpayne@69 29707 memset(m->defaults, 0, size);
jpayne@69 29708 m->defaults_pyobjects = pyobjects;
jpayne@69 29709 m->defaults_size = size;
jpayne@69 29710 return m->defaults;
jpayne@69 29711 }
jpayne@69 29712 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
jpayne@69 29713 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
jpayne@69 29714 m->defaults_tuple = tuple;
jpayne@69 29715 Py_INCREF(tuple);
jpayne@69 29716 }
jpayne@69 29717 static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) {
jpayne@69 29718 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
jpayne@69 29719 m->defaults_kwdict = dict;
jpayne@69 29720 Py_INCREF(dict);
jpayne@69 29721 }
jpayne@69 29722 static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) {
jpayne@69 29723 __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
jpayne@69 29724 m->func_annotations = dict;
jpayne@69 29725 Py_INCREF(dict);
jpayne@69 29726 }
jpayne@69 29727
jpayne@69 29728 /* CythonFunction */
jpayne@69 29729 static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname,
jpayne@69 29730 PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
jpayne@69 29731 PyObject *op = __Pyx_CyFunction_Init(
jpayne@69 29732 PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType),
jpayne@69 29733 ml, flags, qualname, closure, module, globals, code
jpayne@69 29734 );
jpayne@69 29735 if (likely(op)) {
jpayne@69 29736 PyObject_GC_Track(op);
jpayne@69 29737 }
jpayne@69 29738 return op;
jpayne@69 29739 }
jpayne@69 29740
jpayne@69 29741 /* WriteUnraisableException */
jpayne@69 29742 static void __Pyx_WriteUnraisable(const char *name, int clineno,
jpayne@69 29743 int lineno, const char *filename,
jpayne@69 29744 int full_traceback, int nogil) {
jpayne@69 29745 PyObject *old_exc, *old_val, *old_tb;
jpayne@69 29746 PyObject *ctx;
jpayne@69 29747 __Pyx_PyThreadState_declare
jpayne@69 29748 #ifdef WITH_THREAD
jpayne@69 29749 PyGILState_STATE state;
jpayne@69 29750 if (nogil)
jpayne@69 29751 state = PyGILState_Ensure();
jpayne@69 29752 else state = (PyGILState_STATE)0;
jpayne@69 29753 #endif
jpayne@69 29754 CYTHON_UNUSED_VAR(clineno);
jpayne@69 29755 CYTHON_UNUSED_VAR(lineno);
jpayne@69 29756 CYTHON_UNUSED_VAR(filename);
jpayne@69 29757 CYTHON_MAYBE_UNUSED_VAR(nogil);
jpayne@69 29758 __Pyx_PyThreadState_assign
jpayne@69 29759 __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
jpayne@69 29760 if (full_traceback) {
jpayne@69 29761 Py_XINCREF(old_exc);
jpayne@69 29762 Py_XINCREF(old_val);
jpayne@69 29763 Py_XINCREF(old_tb);
jpayne@69 29764 __Pyx_ErrRestore(old_exc, old_val, old_tb);
jpayne@69 29765 PyErr_PrintEx(0);
jpayne@69 29766 }
jpayne@69 29767 #if PY_MAJOR_VERSION < 3
jpayne@69 29768 ctx = PyString_FromString(name);
jpayne@69 29769 #else
jpayne@69 29770 ctx = PyUnicode_FromString(name);
jpayne@69 29771 #endif
jpayne@69 29772 __Pyx_ErrRestore(old_exc, old_val, old_tb);
jpayne@69 29773 if (!ctx) {
jpayne@69 29774 PyErr_WriteUnraisable(Py_None);
jpayne@69 29775 } else {
jpayne@69 29776 PyErr_WriteUnraisable(ctx);
jpayne@69 29777 Py_DECREF(ctx);
jpayne@69 29778 }
jpayne@69 29779 #ifdef WITH_THREAD
jpayne@69 29780 if (nogil)
jpayne@69 29781 PyGILState_Release(state);
jpayne@69 29782 #endif
jpayne@69 29783 }
jpayne@69 29784
jpayne@69 29785 /* KeywordStringCheck */
jpayne@69 29786 static int __Pyx_CheckKeywordStrings(
jpayne@69 29787 PyObject *kw,
jpayne@69 29788 const char* function_name,
jpayne@69 29789 int kw_allowed)
jpayne@69 29790 {
jpayne@69 29791 PyObject* key = 0;
jpayne@69 29792 Py_ssize_t pos = 0;
jpayne@69 29793 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 29794 if (!kw_allowed && PyDict_Next(kw, &pos, &key, 0))
jpayne@69 29795 goto invalid_keyword;
jpayne@69 29796 return 1;
jpayne@69 29797 #else
jpayne@69 29798 if (CYTHON_METH_FASTCALL && likely(PyTuple_Check(kw))) {
jpayne@69 29799 Py_ssize_t kwsize;
jpayne@69 29800 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 29801 kwsize = PyTuple_GET_SIZE(kw);
jpayne@69 29802 #else
jpayne@69 29803 kwsize = PyTuple_Size(kw);
jpayne@69 29804 if (kwsize < 0) return 0;
jpayne@69 29805 #endif
jpayne@69 29806 if (unlikely(kwsize == 0))
jpayne@69 29807 return 1;
jpayne@69 29808 if (!kw_allowed) {
jpayne@69 29809 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 29810 key = PyTuple_GET_ITEM(kw, 0);
jpayne@69 29811 #else
jpayne@69 29812 key = PyTuple_GetItem(kw, pos);
jpayne@69 29813 if (!key) return 0;
jpayne@69 29814 #endif
jpayne@69 29815 goto invalid_keyword;
jpayne@69 29816 }
jpayne@69 29817 #if PY_VERSION_HEX < 0x03090000
jpayne@69 29818 for (pos = 0; pos < kwsize; pos++) {
jpayne@69 29819 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 29820 key = PyTuple_GET_ITEM(kw, pos);
jpayne@69 29821 #else
jpayne@69 29822 key = PyTuple_GetItem(kw, pos);
jpayne@69 29823 if (!key) return 0;
jpayne@69 29824 #endif
jpayne@69 29825 if (unlikely(!PyUnicode_Check(key)))
jpayne@69 29826 goto invalid_keyword_type;
jpayne@69 29827 }
jpayne@69 29828 #endif
jpayne@69 29829 return 1;
jpayne@69 29830 }
jpayne@69 29831 while (PyDict_Next(kw, &pos, &key, 0)) {
jpayne@69 29832 #if PY_MAJOR_VERSION < 3
jpayne@69 29833 if (unlikely(!PyString_Check(key)))
jpayne@69 29834 #endif
jpayne@69 29835 if (unlikely(!PyUnicode_Check(key)))
jpayne@69 29836 goto invalid_keyword_type;
jpayne@69 29837 }
jpayne@69 29838 if (!kw_allowed && unlikely(key))
jpayne@69 29839 goto invalid_keyword;
jpayne@69 29840 return 1;
jpayne@69 29841 invalid_keyword_type:
jpayne@69 29842 PyErr_Format(PyExc_TypeError,
jpayne@69 29843 "%.200s() keywords must be strings", function_name);
jpayne@69 29844 return 0;
jpayne@69 29845 #endif
jpayne@69 29846 invalid_keyword:
jpayne@69 29847 #if PY_MAJOR_VERSION < 3
jpayne@69 29848 PyErr_Format(PyExc_TypeError,
jpayne@69 29849 "%.200s() got an unexpected keyword argument '%.200s'",
jpayne@69 29850 function_name, PyString_AsString(key));
jpayne@69 29851 #else
jpayne@69 29852 PyErr_Format(PyExc_TypeError,
jpayne@69 29853 "%s() got an unexpected keyword argument '%U'",
jpayne@69 29854 function_name, key);
jpayne@69 29855 #endif
jpayne@69 29856 return 0;
jpayne@69 29857 }
jpayne@69 29858
jpayne@69 29859 /* PyObjectCall */
jpayne@69 29860 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 29861 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
jpayne@69 29862 PyObject *result;
jpayne@69 29863 ternaryfunc call = Py_TYPE(func)->tp_call;
jpayne@69 29864 if (unlikely(!call))
jpayne@69 29865 return PyObject_Call(func, arg, kw);
jpayne@69 29866 #if PY_MAJOR_VERSION < 3
jpayne@69 29867 if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
jpayne@69 29868 return NULL;
jpayne@69 29869 #else
jpayne@69 29870 if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
jpayne@69 29871 return NULL;
jpayne@69 29872 #endif
jpayne@69 29873 result = (*call)(func, arg, kw);
jpayne@69 29874 Py_LeaveRecursiveCall();
jpayne@69 29875 if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
jpayne@69 29876 PyErr_SetString(
jpayne@69 29877 PyExc_SystemError,
jpayne@69 29878 "NULL result without error in PyObject_Call");
jpayne@69 29879 }
jpayne@69 29880 return result;
jpayne@69 29881 }
jpayne@69 29882 #endif
jpayne@69 29883
jpayne@69 29884 /* RaiseException */
jpayne@69 29885 #if PY_MAJOR_VERSION < 3
jpayne@69 29886 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
jpayne@69 29887 __Pyx_PyThreadState_declare
jpayne@69 29888 CYTHON_UNUSED_VAR(cause);
jpayne@69 29889 Py_XINCREF(type);
jpayne@69 29890 if (!value || value == Py_None)
jpayne@69 29891 value = NULL;
jpayne@69 29892 else
jpayne@69 29893 Py_INCREF(value);
jpayne@69 29894 if (!tb || tb == Py_None)
jpayne@69 29895 tb = NULL;
jpayne@69 29896 else {
jpayne@69 29897 Py_INCREF(tb);
jpayne@69 29898 if (!PyTraceBack_Check(tb)) {
jpayne@69 29899 PyErr_SetString(PyExc_TypeError,
jpayne@69 29900 "raise: arg 3 must be a traceback or None");
jpayne@69 29901 goto raise_error;
jpayne@69 29902 }
jpayne@69 29903 }
jpayne@69 29904 if (PyType_Check(type)) {
jpayne@69 29905 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 29906 if (!value) {
jpayne@69 29907 Py_INCREF(Py_None);
jpayne@69 29908 value = Py_None;
jpayne@69 29909 }
jpayne@69 29910 #endif
jpayne@69 29911 PyErr_NormalizeException(&type, &value, &tb);
jpayne@69 29912 } else {
jpayne@69 29913 if (value) {
jpayne@69 29914 PyErr_SetString(PyExc_TypeError,
jpayne@69 29915 "instance exception may not have a separate value");
jpayne@69 29916 goto raise_error;
jpayne@69 29917 }
jpayne@69 29918 value = type;
jpayne@69 29919 type = (PyObject*) Py_TYPE(type);
jpayne@69 29920 Py_INCREF(type);
jpayne@69 29921 if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
jpayne@69 29922 PyErr_SetString(PyExc_TypeError,
jpayne@69 29923 "raise: exception class must be a subclass of BaseException");
jpayne@69 29924 goto raise_error;
jpayne@69 29925 }
jpayne@69 29926 }
jpayne@69 29927 __Pyx_PyThreadState_assign
jpayne@69 29928 __Pyx_ErrRestore(type, value, tb);
jpayne@69 29929 return;
jpayne@69 29930 raise_error:
jpayne@69 29931 Py_XDECREF(value);
jpayne@69 29932 Py_XDECREF(type);
jpayne@69 29933 Py_XDECREF(tb);
jpayne@69 29934 return;
jpayne@69 29935 }
jpayne@69 29936 #else
jpayne@69 29937 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
jpayne@69 29938 PyObject* owned_instance = NULL;
jpayne@69 29939 if (tb == Py_None) {
jpayne@69 29940 tb = 0;
jpayne@69 29941 } else if (tb && !PyTraceBack_Check(tb)) {
jpayne@69 29942 PyErr_SetString(PyExc_TypeError,
jpayne@69 29943 "raise: arg 3 must be a traceback or None");
jpayne@69 29944 goto bad;
jpayne@69 29945 }
jpayne@69 29946 if (value == Py_None)
jpayne@69 29947 value = 0;
jpayne@69 29948 if (PyExceptionInstance_Check(type)) {
jpayne@69 29949 if (value) {
jpayne@69 29950 PyErr_SetString(PyExc_TypeError,
jpayne@69 29951 "instance exception may not have a separate value");
jpayne@69 29952 goto bad;
jpayne@69 29953 }
jpayne@69 29954 value = type;
jpayne@69 29955 type = (PyObject*) Py_TYPE(value);
jpayne@69 29956 } else if (PyExceptionClass_Check(type)) {
jpayne@69 29957 PyObject *instance_class = NULL;
jpayne@69 29958 if (value && PyExceptionInstance_Check(value)) {
jpayne@69 29959 instance_class = (PyObject*) Py_TYPE(value);
jpayne@69 29960 if (instance_class != type) {
jpayne@69 29961 int is_subclass = PyObject_IsSubclass(instance_class, type);
jpayne@69 29962 if (!is_subclass) {
jpayne@69 29963 instance_class = NULL;
jpayne@69 29964 } else if (unlikely(is_subclass == -1)) {
jpayne@69 29965 goto bad;
jpayne@69 29966 } else {
jpayne@69 29967 type = instance_class;
jpayne@69 29968 }
jpayne@69 29969 }
jpayne@69 29970 }
jpayne@69 29971 if (!instance_class) {
jpayne@69 29972 PyObject *args;
jpayne@69 29973 if (!value)
jpayne@69 29974 args = PyTuple_New(0);
jpayne@69 29975 else if (PyTuple_Check(value)) {
jpayne@69 29976 Py_INCREF(value);
jpayne@69 29977 args = value;
jpayne@69 29978 } else
jpayne@69 29979 args = PyTuple_Pack(1, value);
jpayne@69 29980 if (!args)
jpayne@69 29981 goto bad;
jpayne@69 29982 owned_instance = PyObject_Call(type, args, NULL);
jpayne@69 29983 Py_DECREF(args);
jpayne@69 29984 if (!owned_instance)
jpayne@69 29985 goto bad;
jpayne@69 29986 value = owned_instance;
jpayne@69 29987 if (!PyExceptionInstance_Check(value)) {
jpayne@69 29988 PyErr_Format(PyExc_TypeError,
jpayne@69 29989 "calling %R should have returned an instance of "
jpayne@69 29990 "BaseException, not %R",
jpayne@69 29991 type, Py_TYPE(value));
jpayne@69 29992 goto bad;
jpayne@69 29993 }
jpayne@69 29994 }
jpayne@69 29995 } else {
jpayne@69 29996 PyErr_SetString(PyExc_TypeError,
jpayne@69 29997 "raise: exception class must be a subclass of BaseException");
jpayne@69 29998 goto bad;
jpayne@69 29999 }
jpayne@69 30000 if (cause) {
jpayne@69 30001 PyObject *fixed_cause;
jpayne@69 30002 if (cause == Py_None) {
jpayne@69 30003 fixed_cause = NULL;
jpayne@69 30004 } else if (PyExceptionClass_Check(cause)) {
jpayne@69 30005 fixed_cause = PyObject_CallObject(cause, NULL);
jpayne@69 30006 if (fixed_cause == NULL)
jpayne@69 30007 goto bad;
jpayne@69 30008 } else if (PyExceptionInstance_Check(cause)) {
jpayne@69 30009 fixed_cause = cause;
jpayne@69 30010 Py_INCREF(fixed_cause);
jpayne@69 30011 } else {
jpayne@69 30012 PyErr_SetString(PyExc_TypeError,
jpayne@69 30013 "exception causes must derive from "
jpayne@69 30014 "BaseException");
jpayne@69 30015 goto bad;
jpayne@69 30016 }
jpayne@69 30017 PyException_SetCause(value, fixed_cause);
jpayne@69 30018 }
jpayne@69 30019 PyErr_SetObject(type, value);
jpayne@69 30020 if (tb) {
jpayne@69 30021 #if PY_VERSION_HEX >= 0x030C00A6
jpayne@69 30022 PyException_SetTraceback(value, tb);
jpayne@69 30023 #elif CYTHON_FAST_THREAD_STATE
jpayne@69 30024 PyThreadState *tstate = __Pyx_PyThreadState_Current;
jpayne@69 30025 PyObject* tmp_tb = tstate->curexc_traceback;
jpayne@69 30026 if (tb != tmp_tb) {
jpayne@69 30027 Py_INCREF(tb);
jpayne@69 30028 tstate->curexc_traceback = tb;
jpayne@69 30029 Py_XDECREF(tmp_tb);
jpayne@69 30030 }
jpayne@69 30031 #else
jpayne@69 30032 PyObject *tmp_type, *tmp_value, *tmp_tb;
jpayne@69 30033 PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
jpayne@69 30034 Py_INCREF(tb);
jpayne@69 30035 PyErr_Restore(tmp_type, tmp_value, tb);
jpayne@69 30036 Py_XDECREF(tmp_tb);
jpayne@69 30037 #endif
jpayne@69 30038 }
jpayne@69 30039 bad:
jpayne@69 30040 Py_XDECREF(owned_instance);
jpayne@69 30041 return;
jpayne@69 30042 }
jpayne@69 30043 #endif
jpayne@69 30044
jpayne@69 30045 /* PyFunctionFastCall */
jpayne@69 30046 #if CYTHON_FAST_PYCALL && !CYTHON_VECTORCALL
jpayne@69 30047 static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
jpayne@69 30048 PyObject *globals) {
jpayne@69 30049 PyFrameObject *f;
jpayne@69 30050 PyThreadState *tstate = __Pyx_PyThreadState_Current;
jpayne@69 30051 PyObject **fastlocals;
jpayne@69 30052 Py_ssize_t i;
jpayne@69 30053 PyObject *result;
jpayne@69 30054 assert(globals != NULL);
jpayne@69 30055 /* XXX Perhaps we should create a specialized
jpayne@69 30056 PyFrame_New() that doesn't take locals, but does
jpayne@69 30057 take builtins without sanity checking them.
jpayne@69 30058 */
jpayne@69 30059 assert(tstate != NULL);
jpayne@69 30060 f = PyFrame_New(tstate, co, globals, NULL);
jpayne@69 30061 if (f == NULL) {
jpayne@69 30062 return NULL;
jpayne@69 30063 }
jpayne@69 30064 fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
jpayne@69 30065 for (i = 0; i < na; i++) {
jpayne@69 30066 Py_INCREF(*args);
jpayne@69 30067 fastlocals[i] = *args++;
jpayne@69 30068 }
jpayne@69 30069 result = PyEval_EvalFrameEx(f,0);
jpayne@69 30070 ++tstate->recursion_depth;
jpayne@69 30071 Py_DECREF(f);
jpayne@69 30072 --tstate->recursion_depth;
jpayne@69 30073 return result;
jpayne@69 30074 }
jpayne@69 30075 static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) {
jpayne@69 30076 PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func);
jpayne@69 30077 PyObject *globals = PyFunction_GET_GLOBALS(func);
jpayne@69 30078 PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
jpayne@69 30079 PyObject *closure;
jpayne@69 30080 #if PY_MAJOR_VERSION >= 3
jpayne@69 30081 PyObject *kwdefs;
jpayne@69 30082 #endif
jpayne@69 30083 PyObject *kwtuple, **k;
jpayne@69 30084 PyObject **d;
jpayne@69 30085 Py_ssize_t nd;
jpayne@69 30086 Py_ssize_t nk;
jpayne@69 30087 PyObject *result;
jpayne@69 30088 assert(kwargs == NULL || PyDict_Check(kwargs));
jpayne@69 30089 nk = kwargs ? PyDict_Size(kwargs) : 0;
jpayne@69 30090 #if PY_MAJOR_VERSION < 3
jpayne@69 30091 if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
jpayne@69 30092 return NULL;
jpayne@69 30093 }
jpayne@69 30094 #else
jpayne@69 30095 if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
jpayne@69 30096 return NULL;
jpayne@69 30097 }
jpayne@69 30098 #endif
jpayne@69 30099 if (
jpayne@69 30100 #if PY_MAJOR_VERSION >= 3
jpayne@69 30101 co->co_kwonlyargcount == 0 &&
jpayne@69 30102 #endif
jpayne@69 30103 likely(kwargs == NULL || nk == 0) &&
jpayne@69 30104 co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) {
jpayne@69 30105 if (argdefs == NULL && co->co_argcount == nargs) {
jpayne@69 30106 result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals);
jpayne@69 30107 goto done;
jpayne@69 30108 }
jpayne@69 30109 else if (nargs == 0 && argdefs != NULL
jpayne@69 30110 && co->co_argcount == Py_SIZE(argdefs)) {
jpayne@69 30111 /* function called with no arguments, but all parameters have
jpayne@69 30112 a default value: use default values as arguments .*/
jpayne@69 30113 args = &PyTuple_GET_ITEM(argdefs, 0);
jpayne@69 30114 result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals);
jpayne@69 30115 goto done;
jpayne@69 30116 }
jpayne@69 30117 }
jpayne@69 30118 if (kwargs != NULL) {
jpayne@69 30119 Py_ssize_t pos, i;
jpayne@69 30120 kwtuple = PyTuple_New(2 * nk);
jpayne@69 30121 if (kwtuple == NULL) {
jpayne@69 30122 result = NULL;
jpayne@69 30123 goto done;
jpayne@69 30124 }
jpayne@69 30125 k = &PyTuple_GET_ITEM(kwtuple, 0);
jpayne@69 30126 pos = i = 0;
jpayne@69 30127 while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) {
jpayne@69 30128 Py_INCREF(k[i]);
jpayne@69 30129 Py_INCREF(k[i+1]);
jpayne@69 30130 i += 2;
jpayne@69 30131 }
jpayne@69 30132 nk = i / 2;
jpayne@69 30133 }
jpayne@69 30134 else {
jpayne@69 30135 kwtuple = NULL;
jpayne@69 30136 k = NULL;
jpayne@69 30137 }
jpayne@69 30138 closure = PyFunction_GET_CLOSURE(func);
jpayne@69 30139 #if PY_MAJOR_VERSION >= 3
jpayne@69 30140 kwdefs = PyFunction_GET_KW_DEFAULTS(func);
jpayne@69 30141 #endif
jpayne@69 30142 if (argdefs != NULL) {
jpayne@69 30143 d = &PyTuple_GET_ITEM(argdefs, 0);
jpayne@69 30144 nd = Py_SIZE(argdefs);
jpayne@69 30145 }
jpayne@69 30146 else {
jpayne@69 30147 d = NULL;
jpayne@69 30148 nd = 0;
jpayne@69 30149 }
jpayne@69 30150 #if PY_MAJOR_VERSION >= 3
jpayne@69 30151 result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
jpayne@69 30152 args, (int)nargs,
jpayne@69 30153 k, (int)nk,
jpayne@69 30154 d, (int)nd, kwdefs, closure);
jpayne@69 30155 #else
jpayne@69 30156 result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
jpayne@69 30157 args, (int)nargs,
jpayne@69 30158 k, (int)nk,
jpayne@69 30159 d, (int)nd, closure);
jpayne@69 30160 #endif
jpayne@69 30161 Py_XDECREF(kwtuple);
jpayne@69 30162 done:
jpayne@69 30163 Py_LeaveRecursiveCall();
jpayne@69 30164 return result;
jpayne@69 30165 }
jpayne@69 30166 #endif
jpayne@69 30167
jpayne@69 30168 /* PyObjectCallMethO */
jpayne@69 30169 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 30170 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
jpayne@69 30171 PyObject *self, *result;
jpayne@69 30172 PyCFunction cfunc;
jpayne@69 30173 cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
jpayne@69 30174 self = __Pyx_CyOrPyCFunction_GET_SELF(func);
jpayne@69 30175 #if PY_MAJOR_VERSION < 3
jpayne@69 30176 if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
jpayne@69 30177 return NULL;
jpayne@69 30178 #else
jpayne@69 30179 if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
jpayne@69 30180 return NULL;
jpayne@69 30181 #endif
jpayne@69 30182 result = cfunc(self, arg);
jpayne@69 30183 Py_LeaveRecursiveCall();
jpayne@69 30184 if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
jpayne@69 30185 PyErr_SetString(
jpayne@69 30186 PyExc_SystemError,
jpayne@69 30187 "NULL result without error in PyObject_Call");
jpayne@69 30188 }
jpayne@69 30189 return result;
jpayne@69 30190 }
jpayne@69 30191 #endif
jpayne@69 30192
jpayne@69 30193 /* PyObjectFastCall */
jpayne@69 30194 #if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 30195 static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
jpayne@69 30196 PyObject *argstuple;
jpayne@69 30197 PyObject *result = 0;
jpayne@69 30198 size_t i;
jpayne@69 30199 argstuple = PyTuple_New((Py_ssize_t)nargs);
jpayne@69 30200 if (unlikely(!argstuple)) return NULL;
jpayne@69 30201 for (i = 0; i < nargs; i++) {
jpayne@69 30202 Py_INCREF(args[i]);
jpayne@69 30203 if (__Pyx_PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]) < 0) goto bad;
jpayne@69 30204 }
jpayne@69 30205 result = __Pyx_PyObject_Call(func, argstuple, kwargs);
jpayne@69 30206 bad:
jpayne@69 30207 Py_DECREF(argstuple);
jpayne@69 30208 return result;
jpayne@69 30209 }
jpayne@69 30210 #endif
jpayne@69 30211 static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
jpayne@69 30212 Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
jpayne@69 30213 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 30214 if (nargs == 0 && kwargs == NULL) {
jpayne@69 30215 if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
jpayne@69 30216 return __Pyx_PyObject_CallMethO(func, NULL);
jpayne@69 30217 }
jpayne@69 30218 else if (nargs == 1 && kwargs == NULL) {
jpayne@69 30219 if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
jpayne@69 30220 return __Pyx_PyObject_CallMethO(func, args[0]);
jpayne@69 30221 }
jpayne@69 30222 #endif
jpayne@69 30223 #if PY_VERSION_HEX < 0x030800B1
jpayne@69 30224 #if CYTHON_FAST_PYCCALL
jpayne@69 30225 if (PyCFunction_Check(func)) {
jpayne@69 30226 if (kwargs) {
jpayne@69 30227 return _PyCFunction_FastCallDict(func, args, nargs, kwargs);
jpayne@69 30228 } else {
jpayne@69 30229 return _PyCFunction_FastCallKeywords(func, args, nargs, NULL);
jpayne@69 30230 }
jpayne@69 30231 }
jpayne@69 30232 #if PY_VERSION_HEX >= 0x030700A1
jpayne@69 30233 if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) {
jpayne@69 30234 return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL);
jpayne@69 30235 }
jpayne@69 30236 #endif
jpayne@69 30237 #endif
jpayne@69 30238 #if CYTHON_FAST_PYCALL
jpayne@69 30239 if (PyFunction_Check(func)) {
jpayne@69 30240 return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs);
jpayne@69 30241 }
jpayne@69 30242 #endif
jpayne@69 30243 #endif
jpayne@69 30244 if (kwargs == NULL) {
jpayne@69 30245 #if CYTHON_VECTORCALL
jpayne@69 30246 #if PY_VERSION_HEX < 0x03090000
jpayne@69 30247 vectorcallfunc f = _PyVectorcall_Function(func);
jpayne@69 30248 #else
jpayne@69 30249 vectorcallfunc f = PyVectorcall_Function(func);
jpayne@69 30250 #endif
jpayne@69 30251 if (f) {
jpayne@69 30252 return f(func, args, (size_t)nargs, NULL);
jpayne@69 30253 }
jpayne@69 30254 #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
jpayne@69 30255 if (__Pyx_CyFunction_CheckExact(func)) {
jpayne@69 30256 __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
jpayne@69 30257 if (f) return f(func, args, (size_t)nargs, NULL);
jpayne@69 30258 }
jpayne@69 30259 #endif
jpayne@69 30260 }
jpayne@69 30261 if (nargs == 0) {
jpayne@69 30262 return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
jpayne@69 30263 }
jpayne@69 30264 #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 30265 return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
jpayne@69 30266 #else
jpayne@69 30267 return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
jpayne@69 30268 #endif
jpayne@69 30269 }
jpayne@69 30270
jpayne@69 30271 /* ExtTypeTest */
jpayne@69 30272 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
jpayne@69 30273 __Pyx_TypeName obj_type_name;
jpayne@69 30274 __Pyx_TypeName type_name;
jpayne@69 30275 if (unlikely(!type)) {
jpayne@69 30276 PyErr_SetString(PyExc_SystemError, "Missing type object");
jpayne@69 30277 return 0;
jpayne@69 30278 }
jpayne@69 30279 if (likely(__Pyx_TypeCheck(obj, type)))
jpayne@69 30280 return 1;
jpayne@69 30281 obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
jpayne@69 30282 type_name = __Pyx_PyType_GetName(type);
jpayne@69 30283 PyErr_Format(PyExc_TypeError,
jpayne@69 30284 "Cannot convert " __Pyx_FMT_TYPENAME " to " __Pyx_FMT_TYPENAME,
jpayne@69 30285 obj_type_name, type_name);
jpayne@69 30286 __Pyx_DECREF_TypeName(obj_type_name);
jpayne@69 30287 __Pyx_DECREF_TypeName(type_name);
jpayne@69 30288 return 0;
jpayne@69 30289 }
jpayne@69 30290
jpayne@69 30291 /* ArgTypeTest */
jpayne@69 30292 static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
jpayne@69 30293 {
jpayne@69 30294 __Pyx_TypeName type_name;
jpayne@69 30295 __Pyx_TypeName obj_type_name;
jpayne@69 30296 if (unlikely(!type)) {
jpayne@69 30297 PyErr_SetString(PyExc_SystemError, "Missing type object");
jpayne@69 30298 return 0;
jpayne@69 30299 }
jpayne@69 30300 else if (exact) {
jpayne@69 30301 #if PY_MAJOR_VERSION == 2
jpayne@69 30302 if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
jpayne@69 30303 #endif
jpayne@69 30304 }
jpayne@69 30305 else {
jpayne@69 30306 if (likely(__Pyx_TypeCheck(obj, type))) return 1;
jpayne@69 30307 }
jpayne@69 30308 type_name = __Pyx_PyType_GetName(type);
jpayne@69 30309 obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
jpayne@69 30310 PyErr_Format(PyExc_TypeError,
jpayne@69 30311 "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME
jpayne@69 30312 ", got " __Pyx_FMT_TYPENAME ")", name, type_name, obj_type_name);
jpayne@69 30313 __Pyx_DECREF_TypeName(type_name);
jpayne@69 30314 __Pyx_DECREF_TypeName(obj_type_name);
jpayne@69 30315 return 0;
jpayne@69 30316 }
jpayne@69 30317
jpayne@69 30318 /* PyIntCompare */
jpayne@69 30319 static CYTHON_INLINE PyObject* __Pyx_PyInt_EqObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
jpayne@69 30320 CYTHON_MAYBE_UNUSED_VAR(intval);
jpayne@69 30321 CYTHON_UNUSED_VAR(inplace);
jpayne@69 30322 if (op1 == op2) {
jpayne@69 30323 Py_RETURN_TRUE;
jpayne@69 30324 }
jpayne@69 30325 #if PY_MAJOR_VERSION < 3
jpayne@69 30326 if (likely(PyInt_CheckExact(op1))) {
jpayne@69 30327 const long b = intval;
jpayne@69 30328 long a = PyInt_AS_LONG(op1);
jpayne@69 30329 if (a == b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
jpayne@69 30330 }
jpayne@69 30331 #endif
jpayne@69 30332 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 30333 if (likely(PyLong_CheckExact(op1))) {
jpayne@69 30334 int unequal;
jpayne@69 30335 unsigned long uintval;
jpayne@69 30336 Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
jpayne@69 30337 const digit* digits = __Pyx_PyLong_Digits(op1);
jpayne@69 30338 if (intval == 0) {
jpayne@69 30339 if (__Pyx_PyLong_IsZero(op1) == 1) Py_RETURN_TRUE; else Py_RETURN_FALSE;
jpayne@69 30340 } else if (intval < 0) {
jpayne@69 30341 if (__Pyx_PyLong_IsNonNeg(op1))
jpayne@69 30342 Py_RETURN_FALSE;
jpayne@69 30343 intval = -intval;
jpayne@69 30344 } else {
jpayne@69 30345 if (__Pyx_PyLong_IsNeg(op1))
jpayne@69 30346 Py_RETURN_FALSE;
jpayne@69 30347 }
jpayne@69 30348 uintval = (unsigned long) intval;
jpayne@69 30349 #if PyLong_SHIFT * 4 < SIZEOF_LONG*8
jpayne@69 30350 if (uintval >> (PyLong_SHIFT * 4)) {
jpayne@69 30351 unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
jpayne@69 30352 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
jpayne@69 30353 } else
jpayne@69 30354 #endif
jpayne@69 30355 #if PyLong_SHIFT * 3 < SIZEOF_LONG*8
jpayne@69 30356 if (uintval >> (PyLong_SHIFT * 3)) {
jpayne@69 30357 unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
jpayne@69 30358 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
jpayne@69 30359 } else
jpayne@69 30360 #endif
jpayne@69 30361 #if PyLong_SHIFT * 2 < SIZEOF_LONG*8
jpayne@69 30362 if (uintval >> (PyLong_SHIFT * 2)) {
jpayne@69 30363 unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
jpayne@69 30364 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
jpayne@69 30365 } else
jpayne@69 30366 #endif
jpayne@69 30367 #if PyLong_SHIFT * 1 < SIZEOF_LONG*8
jpayne@69 30368 if (uintval >> (PyLong_SHIFT * 1)) {
jpayne@69 30369 unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
jpayne@69 30370 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
jpayne@69 30371 } else
jpayne@69 30372 #endif
jpayne@69 30373 unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
jpayne@69 30374 if (unequal == 0) Py_RETURN_TRUE; else Py_RETURN_FALSE;
jpayne@69 30375 }
jpayne@69 30376 #endif
jpayne@69 30377 if (PyFloat_CheckExact(op1)) {
jpayne@69 30378 const long b = intval;
jpayne@69 30379 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 30380 double a = __pyx_PyFloat_AsDouble(op1);
jpayne@69 30381 #else
jpayne@69 30382 double a = PyFloat_AS_DOUBLE(op1);
jpayne@69 30383 #endif
jpayne@69 30384 if ((double)a == (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
jpayne@69 30385 }
jpayne@69 30386 return (
jpayne@69 30387 PyObject_RichCompare(op1, op2, Py_EQ));
jpayne@69 30388 }
jpayne@69 30389
jpayne@69 30390 /* PyIntCompare */
jpayne@69 30391 static CYTHON_INLINE PyObject* __Pyx_PyInt_NeObjC(PyObject *op1, PyObject *op2, long intval, long inplace) {
jpayne@69 30392 CYTHON_MAYBE_UNUSED_VAR(intval);
jpayne@69 30393 CYTHON_UNUSED_VAR(inplace);
jpayne@69 30394 if (op1 == op2) {
jpayne@69 30395 Py_RETURN_FALSE;
jpayne@69 30396 }
jpayne@69 30397 #if PY_MAJOR_VERSION < 3
jpayne@69 30398 if (likely(PyInt_CheckExact(op1))) {
jpayne@69 30399 const long b = intval;
jpayne@69 30400 long a = PyInt_AS_LONG(op1);
jpayne@69 30401 if (a != b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
jpayne@69 30402 }
jpayne@69 30403 #endif
jpayne@69 30404 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 30405 if (likely(PyLong_CheckExact(op1))) {
jpayne@69 30406 int unequal;
jpayne@69 30407 unsigned long uintval;
jpayne@69 30408 Py_ssize_t size = __Pyx_PyLong_DigitCount(op1);
jpayne@69 30409 const digit* digits = __Pyx_PyLong_Digits(op1);
jpayne@69 30410 if (intval == 0) {
jpayne@69 30411 if (__Pyx_PyLong_IsZero(op1) != 1) Py_RETURN_TRUE; else Py_RETURN_FALSE;
jpayne@69 30412 } else if (intval < 0) {
jpayne@69 30413 if (__Pyx_PyLong_IsNonNeg(op1))
jpayne@69 30414 Py_RETURN_TRUE;
jpayne@69 30415 intval = -intval;
jpayne@69 30416 } else {
jpayne@69 30417 if (__Pyx_PyLong_IsNeg(op1))
jpayne@69 30418 Py_RETURN_TRUE;
jpayne@69 30419 }
jpayne@69 30420 uintval = (unsigned long) intval;
jpayne@69 30421 #if PyLong_SHIFT * 4 < SIZEOF_LONG*8
jpayne@69 30422 if (uintval >> (PyLong_SHIFT * 4)) {
jpayne@69 30423 unequal = (size != 5) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
jpayne@69 30424 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[4] != ((uintval >> (4 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
jpayne@69 30425 } else
jpayne@69 30426 #endif
jpayne@69 30427 #if PyLong_SHIFT * 3 < SIZEOF_LONG*8
jpayne@69 30428 if (uintval >> (PyLong_SHIFT * 3)) {
jpayne@69 30429 unequal = (size != 4) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
jpayne@69 30430 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[3] != ((uintval >> (3 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
jpayne@69 30431 } else
jpayne@69 30432 #endif
jpayne@69 30433 #if PyLong_SHIFT * 2 < SIZEOF_LONG*8
jpayne@69 30434 if (uintval >> (PyLong_SHIFT * 2)) {
jpayne@69 30435 unequal = (size != 3) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
jpayne@69 30436 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK)) | (digits[2] != ((uintval >> (2 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
jpayne@69 30437 } else
jpayne@69 30438 #endif
jpayne@69 30439 #if PyLong_SHIFT * 1 < SIZEOF_LONG*8
jpayne@69 30440 if (uintval >> (PyLong_SHIFT * 1)) {
jpayne@69 30441 unequal = (size != 2) || (digits[0] != (uintval & (unsigned long) PyLong_MASK))
jpayne@69 30442 | (digits[1] != ((uintval >> (1 * PyLong_SHIFT)) & (unsigned long) PyLong_MASK));
jpayne@69 30443 } else
jpayne@69 30444 #endif
jpayne@69 30445 unequal = (size != 1) || (((unsigned long) digits[0]) != (uintval & (unsigned long) PyLong_MASK));
jpayne@69 30446 if (unequal != 0) Py_RETURN_TRUE; else Py_RETURN_FALSE;
jpayne@69 30447 }
jpayne@69 30448 #endif
jpayne@69 30449 if (PyFloat_CheckExact(op1)) {
jpayne@69 30450 const long b = intval;
jpayne@69 30451 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 30452 double a = __pyx_PyFloat_AsDouble(op1);
jpayne@69 30453 #else
jpayne@69 30454 double a = PyFloat_AS_DOUBLE(op1);
jpayne@69 30455 #endif
jpayne@69 30456 if ((double)a != (double)b) Py_RETURN_TRUE; else Py_RETURN_FALSE;
jpayne@69 30457 }
jpayne@69 30458 return (
jpayne@69 30459 PyObject_RichCompare(op1, op2, Py_NE));
jpayne@69 30460 }
jpayne@69 30461
jpayne@69 30462 /* PyObjectCallOneArg */
jpayne@69 30463 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
jpayne@69 30464 PyObject *args[2] = {NULL, arg};
jpayne@69 30465 return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
jpayne@69 30466 }
jpayne@69 30467
jpayne@69 30468 /* PyDictVersioning */
jpayne@69 30469 #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
jpayne@69 30470 static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) {
jpayne@69 30471 PyObject *dict = Py_TYPE(obj)->tp_dict;
jpayne@69 30472 return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
jpayne@69 30473 }
jpayne@69 30474 static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) {
jpayne@69 30475 PyObject **dictptr = NULL;
jpayne@69 30476 Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset;
jpayne@69 30477 if (offset) {
jpayne@69 30478 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 30479 dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
jpayne@69 30480 #else
jpayne@69 30481 dictptr = _PyObject_GetDictPtr(obj);
jpayne@69 30482 #endif
jpayne@69 30483 }
jpayne@69 30484 return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
jpayne@69 30485 }
jpayne@69 30486 static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) {
jpayne@69 30487 PyObject *dict = Py_TYPE(obj)->tp_dict;
jpayne@69 30488 if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
jpayne@69 30489 return 0;
jpayne@69 30490 return obj_dict_version == __Pyx_get_object_dict_version(obj);
jpayne@69 30491 }
jpayne@69 30492 #endif
jpayne@69 30493
jpayne@69 30494 /* RaiseTooManyValuesToUnpack */
jpayne@69 30495 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
jpayne@69 30496 PyErr_Format(PyExc_ValueError,
jpayne@69 30497 "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
jpayne@69 30498 }
jpayne@69 30499
jpayne@69 30500 /* RaiseNeedMoreValuesToUnpack */
jpayne@69 30501 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
jpayne@69 30502 PyErr_Format(PyExc_ValueError,
jpayne@69 30503 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
jpayne@69 30504 index, (index == 1) ? "" : "s");
jpayne@69 30505 }
jpayne@69 30506
jpayne@69 30507 /* IterFinish */
jpayne@69 30508 static CYTHON_INLINE int __Pyx_IterFinish(void) {
jpayne@69 30509 PyObject* exc_type;
jpayne@69 30510 __Pyx_PyThreadState_declare
jpayne@69 30511 __Pyx_PyThreadState_assign
jpayne@69 30512 exc_type = __Pyx_PyErr_CurrentExceptionType();
jpayne@69 30513 if (unlikely(exc_type)) {
jpayne@69 30514 if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))
jpayne@69 30515 return -1;
jpayne@69 30516 __Pyx_PyErr_Clear();
jpayne@69 30517 return 0;
jpayne@69 30518 }
jpayne@69 30519 return 0;
jpayne@69 30520 }
jpayne@69 30521
jpayne@69 30522 /* UnpackItemEndCheck */
jpayne@69 30523 static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
jpayne@69 30524 if (unlikely(retval)) {
jpayne@69 30525 Py_DECREF(retval);
jpayne@69 30526 __Pyx_RaiseTooManyValuesError(expected);
jpayne@69 30527 return -1;
jpayne@69 30528 }
jpayne@69 30529 return __Pyx_IterFinish();
jpayne@69 30530 }
jpayne@69 30531
jpayne@69 30532 /* PyObjectCall2Args */
jpayne@69 30533 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
jpayne@69 30534 PyObject *args[3] = {NULL, arg1, arg2};
jpayne@69 30535 return __Pyx_PyObject_FastCall(function, args+1, 2 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
jpayne@69 30536 }
jpayne@69 30537
jpayne@69 30538 /* PyObjectGetMethod */
jpayne@69 30539 static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
jpayne@69 30540 PyObject *attr;
jpayne@69 30541 #if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 30542 __Pyx_TypeName type_name;
jpayne@69 30543 PyTypeObject *tp = Py_TYPE(obj);
jpayne@69 30544 PyObject *descr;
jpayne@69 30545 descrgetfunc f = NULL;
jpayne@69 30546 PyObject **dictptr, *dict;
jpayne@69 30547 int meth_found = 0;
jpayne@69 30548 assert (*method == NULL);
jpayne@69 30549 if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) {
jpayne@69 30550 attr = __Pyx_PyObject_GetAttrStr(obj, name);
jpayne@69 30551 goto try_unpack;
jpayne@69 30552 }
jpayne@69 30553 if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) {
jpayne@69 30554 return 0;
jpayne@69 30555 }
jpayne@69 30556 descr = _PyType_Lookup(tp, name);
jpayne@69 30557 if (likely(descr != NULL)) {
jpayne@69 30558 Py_INCREF(descr);
jpayne@69 30559 #if defined(Py_TPFLAGS_METHOD_DESCRIPTOR) && Py_TPFLAGS_METHOD_DESCRIPTOR
jpayne@69 30560 if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR))
jpayne@69 30561 #elif PY_MAJOR_VERSION >= 3
jpayne@69 30562 #ifdef __Pyx_CyFunction_USED
jpayne@69 30563 if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
jpayne@69 30564 #else
jpayne@69 30565 if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type)))
jpayne@69 30566 #endif
jpayne@69 30567 #else
jpayne@69 30568 #ifdef __Pyx_CyFunction_USED
jpayne@69 30569 if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
jpayne@69 30570 #else
jpayne@69 30571 if (likely(PyFunction_Check(descr)))
jpayne@69 30572 #endif
jpayne@69 30573 #endif
jpayne@69 30574 {
jpayne@69 30575 meth_found = 1;
jpayne@69 30576 } else {
jpayne@69 30577 f = Py_TYPE(descr)->tp_descr_get;
jpayne@69 30578 if (f != NULL && PyDescr_IsData(descr)) {
jpayne@69 30579 attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
jpayne@69 30580 Py_DECREF(descr);
jpayne@69 30581 goto try_unpack;
jpayne@69 30582 }
jpayne@69 30583 }
jpayne@69 30584 }
jpayne@69 30585 dictptr = _PyObject_GetDictPtr(obj);
jpayne@69 30586 if (dictptr != NULL && (dict = *dictptr) != NULL) {
jpayne@69 30587 Py_INCREF(dict);
jpayne@69 30588 attr = __Pyx_PyDict_GetItemStr(dict, name);
jpayne@69 30589 if (attr != NULL) {
jpayne@69 30590 Py_INCREF(attr);
jpayne@69 30591 Py_DECREF(dict);
jpayne@69 30592 Py_XDECREF(descr);
jpayne@69 30593 goto try_unpack;
jpayne@69 30594 }
jpayne@69 30595 Py_DECREF(dict);
jpayne@69 30596 }
jpayne@69 30597 if (meth_found) {
jpayne@69 30598 *method = descr;
jpayne@69 30599 return 1;
jpayne@69 30600 }
jpayne@69 30601 if (f != NULL) {
jpayne@69 30602 attr = f(descr, obj, (PyObject *)Py_TYPE(obj));
jpayne@69 30603 Py_DECREF(descr);
jpayne@69 30604 goto try_unpack;
jpayne@69 30605 }
jpayne@69 30606 if (likely(descr != NULL)) {
jpayne@69 30607 *method = descr;
jpayne@69 30608 return 0;
jpayne@69 30609 }
jpayne@69 30610 type_name = __Pyx_PyType_GetName(tp);
jpayne@69 30611 PyErr_Format(PyExc_AttributeError,
jpayne@69 30612 #if PY_MAJOR_VERSION >= 3
jpayne@69 30613 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
jpayne@69 30614 type_name, name);
jpayne@69 30615 #else
jpayne@69 30616 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
jpayne@69 30617 type_name, PyString_AS_STRING(name));
jpayne@69 30618 #endif
jpayne@69 30619 __Pyx_DECREF_TypeName(type_name);
jpayne@69 30620 return 0;
jpayne@69 30621 #else
jpayne@69 30622 attr = __Pyx_PyObject_GetAttrStr(obj, name);
jpayne@69 30623 goto try_unpack;
jpayne@69 30624 #endif
jpayne@69 30625 try_unpack:
jpayne@69 30626 #if CYTHON_UNPACK_METHODS
jpayne@69 30627 if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) {
jpayne@69 30628 PyObject *function = PyMethod_GET_FUNCTION(attr);
jpayne@69 30629 Py_INCREF(function);
jpayne@69 30630 Py_DECREF(attr);
jpayne@69 30631 *method = function;
jpayne@69 30632 return 1;
jpayne@69 30633 }
jpayne@69 30634 #endif
jpayne@69 30635 *method = attr;
jpayne@69 30636 return 0;
jpayne@69 30637 }
jpayne@69 30638
jpayne@69 30639 /* PyObjectCallMethod1 */
jpayne@69 30640 #if !(CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2)
jpayne@69 30641 static PyObject* __Pyx__PyObject_CallMethod1(PyObject* method, PyObject* arg) {
jpayne@69 30642 PyObject *result = __Pyx_PyObject_CallOneArg(method, arg);
jpayne@69 30643 Py_DECREF(method);
jpayne@69 30644 return result;
jpayne@69 30645 }
jpayne@69 30646 #endif
jpayne@69 30647 static PyObject* __Pyx_PyObject_CallMethod1(PyObject* obj, PyObject* method_name, PyObject* arg) {
jpayne@69 30648 #if CYTHON_VECTORCALL && __PYX_LIMITED_VERSION_HEX >= 0x030C00A2
jpayne@69 30649 PyObject *args[2] = {obj, arg};
jpayne@69 30650 (void) __Pyx_PyObject_GetMethod;
jpayne@69 30651 (void) __Pyx_PyObject_CallOneArg;
jpayne@69 30652 (void) __Pyx_PyObject_Call2Args;
jpayne@69 30653 return PyObject_VectorcallMethod(method_name, args, 2 | PY_VECTORCALL_ARGUMENTS_OFFSET, NULL);
jpayne@69 30654 #else
jpayne@69 30655 PyObject *method = NULL, *result;
jpayne@69 30656 int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
jpayne@69 30657 if (likely(is_method)) {
jpayne@69 30658 result = __Pyx_PyObject_Call2Args(method, obj, arg);
jpayne@69 30659 Py_DECREF(method);
jpayne@69 30660 return result;
jpayne@69 30661 }
jpayne@69 30662 if (unlikely(!method)) return NULL;
jpayne@69 30663 return __Pyx__PyObject_CallMethod1(method, arg);
jpayne@69 30664 #endif
jpayne@69 30665 }
jpayne@69 30666
jpayne@69 30667 /* append */
jpayne@69 30668 static CYTHON_INLINE int __Pyx_PyObject_Append(PyObject* L, PyObject* x) {
jpayne@69 30669 if (likely(PyList_CheckExact(L))) {
jpayne@69 30670 if (unlikely(__Pyx_PyList_Append(L, x) < 0)) return -1;
jpayne@69 30671 } else {
jpayne@69 30672 PyObject* retval = __Pyx_PyObject_CallMethod1(L, __pyx_n_s_append, x);
jpayne@69 30673 if (unlikely(!retval))
jpayne@69 30674 return -1;
jpayne@69 30675 Py_DECREF(retval);
jpayne@69 30676 }
jpayne@69 30677 return 0;
jpayne@69 30678 }
jpayne@69 30679
jpayne@69 30680 /* GetAttr3 */
jpayne@69 30681 #if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
jpayne@69 30682 static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
jpayne@69 30683 __Pyx_PyThreadState_declare
jpayne@69 30684 __Pyx_PyThreadState_assign
jpayne@69 30685 if (unlikely(!__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
jpayne@69 30686 return NULL;
jpayne@69 30687 __Pyx_PyErr_Clear();
jpayne@69 30688 Py_INCREF(d);
jpayne@69 30689 return d;
jpayne@69 30690 }
jpayne@69 30691 #endif
jpayne@69 30692 static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
jpayne@69 30693 PyObject *r;
jpayne@69 30694 #if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
jpayne@69 30695 int res = PyObject_GetOptionalAttr(o, n, &r);
jpayne@69 30696 return (res != 0) ? r : __Pyx_NewRef(d);
jpayne@69 30697 #else
jpayne@69 30698 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 30699 if (likely(PyString_Check(n))) {
jpayne@69 30700 r = __Pyx_PyObject_GetAttrStrNoError(o, n);
jpayne@69 30701 if (unlikely(!r) && likely(!PyErr_Occurred())) {
jpayne@69 30702 r = __Pyx_NewRef(d);
jpayne@69 30703 }
jpayne@69 30704 return r;
jpayne@69 30705 }
jpayne@69 30706 #endif
jpayne@69 30707 r = PyObject_GetAttr(o, n);
jpayne@69 30708 return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
jpayne@69 30709 #endif
jpayne@69 30710 }
jpayne@69 30711
jpayne@69 30712 /* GetModuleGlobalName */
jpayne@69 30713 #if CYTHON_USE_DICT_VERSIONS
jpayne@69 30714 static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
jpayne@69 30715 #else
jpayne@69 30716 static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
jpayne@69 30717 #endif
jpayne@69 30718 {
jpayne@69 30719 PyObject *result;
jpayne@69 30720 #if !CYTHON_AVOID_BORROWED_REFS
jpayne@69 30721 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
jpayne@69 30722 result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
jpayne@69 30723 __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
jpayne@69 30724 if (likely(result)) {
jpayne@69 30725 return __Pyx_NewRef(result);
jpayne@69 30726 } else if (unlikely(PyErr_Occurred())) {
jpayne@69 30727 return NULL;
jpayne@69 30728 }
jpayne@69 30729 #elif CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 30730 if (unlikely(!__pyx_m)) {
jpayne@69 30731 return NULL;
jpayne@69 30732 }
jpayne@69 30733 result = PyObject_GetAttr(__pyx_m, name);
jpayne@69 30734 if (likely(result)) {
jpayne@69 30735 return result;
jpayne@69 30736 }
jpayne@69 30737 #else
jpayne@69 30738 result = PyDict_GetItem(__pyx_d, name);
jpayne@69 30739 __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
jpayne@69 30740 if (likely(result)) {
jpayne@69 30741 return __Pyx_NewRef(result);
jpayne@69 30742 }
jpayne@69 30743 #endif
jpayne@69 30744 #else
jpayne@69 30745 result = PyObject_GetItem(__pyx_d, name);
jpayne@69 30746 __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
jpayne@69 30747 if (likely(result)) {
jpayne@69 30748 return __Pyx_NewRef(result);
jpayne@69 30749 }
jpayne@69 30750 PyErr_Clear();
jpayne@69 30751 #endif
jpayne@69 30752 return __Pyx_GetBuiltinName(name);
jpayne@69 30753 }
jpayne@69 30754
jpayne@69 30755 /* RaiseUnexpectedTypeError */
jpayne@69 30756 static int
jpayne@69 30757 __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj)
jpayne@69 30758 {
jpayne@69 30759 __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
jpayne@69 30760 PyErr_Format(PyExc_TypeError, "Expected %s, got " __Pyx_FMT_TYPENAME,
jpayne@69 30761 expected, obj_type_name);
jpayne@69 30762 __Pyx_DECREF_TypeName(obj_type_name);
jpayne@69 30763 return 0;
jpayne@69 30764 }
jpayne@69 30765
jpayne@69 30766 /* GetItemInt */
jpayne@69 30767 static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
jpayne@69 30768 PyObject *r;
jpayne@69 30769 if (unlikely(!j)) return NULL;
jpayne@69 30770 r = PyObject_GetItem(o, j);
jpayne@69 30771 Py_DECREF(j);
jpayne@69 30772 return r;
jpayne@69 30773 }
jpayne@69 30774 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
jpayne@69 30775 CYTHON_NCP_UNUSED int wraparound,
jpayne@69 30776 CYTHON_NCP_UNUSED int boundscheck) {
jpayne@69 30777 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 30778 Py_ssize_t wrapped_i = i;
jpayne@69 30779 if (wraparound & unlikely(i < 0)) {
jpayne@69 30780 wrapped_i += PyList_GET_SIZE(o);
jpayne@69 30781 }
jpayne@69 30782 if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
jpayne@69 30783 PyObject *r = PyList_GET_ITEM(o, wrapped_i);
jpayne@69 30784 Py_INCREF(r);
jpayne@69 30785 return r;
jpayne@69 30786 }
jpayne@69 30787 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
jpayne@69 30788 #else
jpayne@69 30789 return PySequence_GetItem(o, i);
jpayne@69 30790 #endif
jpayne@69 30791 }
jpayne@69 30792 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
jpayne@69 30793 CYTHON_NCP_UNUSED int wraparound,
jpayne@69 30794 CYTHON_NCP_UNUSED int boundscheck) {
jpayne@69 30795 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 30796 Py_ssize_t wrapped_i = i;
jpayne@69 30797 if (wraparound & unlikely(i < 0)) {
jpayne@69 30798 wrapped_i += PyTuple_GET_SIZE(o);
jpayne@69 30799 }
jpayne@69 30800 if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
jpayne@69 30801 PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
jpayne@69 30802 Py_INCREF(r);
jpayne@69 30803 return r;
jpayne@69 30804 }
jpayne@69 30805 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
jpayne@69 30806 #else
jpayne@69 30807 return PySequence_GetItem(o, i);
jpayne@69 30808 #endif
jpayne@69 30809 }
jpayne@69 30810 static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
jpayne@69 30811 CYTHON_NCP_UNUSED int wraparound,
jpayne@69 30812 CYTHON_NCP_UNUSED int boundscheck) {
jpayne@69 30813 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
jpayne@69 30814 if (is_list || PyList_CheckExact(o)) {
jpayne@69 30815 Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
jpayne@69 30816 if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
jpayne@69 30817 PyObject *r = PyList_GET_ITEM(o, n);
jpayne@69 30818 Py_INCREF(r);
jpayne@69 30819 return r;
jpayne@69 30820 }
jpayne@69 30821 }
jpayne@69 30822 else if (PyTuple_CheckExact(o)) {
jpayne@69 30823 Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
jpayne@69 30824 if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
jpayne@69 30825 PyObject *r = PyTuple_GET_ITEM(o, n);
jpayne@69 30826 Py_INCREF(r);
jpayne@69 30827 return r;
jpayne@69 30828 }
jpayne@69 30829 } else {
jpayne@69 30830 PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
jpayne@69 30831 PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
jpayne@69 30832 if (mm && mm->mp_subscript) {
jpayne@69 30833 PyObject *r, *key = PyInt_FromSsize_t(i);
jpayne@69 30834 if (unlikely(!key)) return NULL;
jpayne@69 30835 r = mm->mp_subscript(o, key);
jpayne@69 30836 Py_DECREF(key);
jpayne@69 30837 return r;
jpayne@69 30838 }
jpayne@69 30839 if (likely(sm && sm->sq_item)) {
jpayne@69 30840 if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
jpayne@69 30841 Py_ssize_t l = sm->sq_length(o);
jpayne@69 30842 if (likely(l >= 0)) {
jpayne@69 30843 i += l;
jpayne@69 30844 } else {
jpayne@69 30845 if (!PyErr_ExceptionMatches(PyExc_OverflowError))
jpayne@69 30846 return NULL;
jpayne@69 30847 PyErr_Clear();
jpayne@69 30848 }
jpayne@69 30849 }
jpayne@69 30850 return sm->sq_item(o, i);
jpayne@69 30851 }
jpayne@69 30852 }
jpayne@69 30853 #else
jpayne@69 30854 if (is_list || !PyMapping_Check(o)) {
jpayne@69 30855 return PySequence_GetItem(o, i);
jpayne@69 30856 }
jpayne@69 30857 #endif
jpayne@69 30858 return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
jpayne@69 30859 }
jpayne@69 30860
jpayne@69 30861 /* ObjectGetItem */
jpayne@69 30862 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 30863 static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) {
jpayne@69 30864 PyObject *runerr = NULL;
jpayne@69 30865 Py_ssize_t key_value;
jpayne@69 30866 key_value = __Pyx_PyIndex_AsSsize_t(index);
jpayne@69 30867 if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) {
jpayne@69 30868 return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1);
jpayne@69 30869 }
jpayne@69 30870 if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) {
jpayne@69 30871 __Pyx_TypeName index_type_name = __Pyx_PyType_GetName(Py_TYPE(index));
jpayne@69 30872 PyErr_Clear();
jpayne@69 30873 PyErr_Format(PyExc_IndexError,
jpayne@69 30874 "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name);
jpayne@69 30875 __Pyx_DECREF_TypeName(index_type_name);
jpayne@69 30876 }
jpayne@69 30877 return NULL;
jpayne@69 30878 }
jpayne@69 30879 static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
jpayne@69 30880 __Pyx_TypeName obj_type_name;
jpayne@69 30881 if (likely(PyType_Check(obj))) {
jpayne@69 30882 PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem);
jpayne@69 30883 if (!meth) {
jpayne@69 30884 PyErr_Clear();
jpayne@69 30885 } else {
jpayne@69 30886 PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
jpayne@69 30887 Py_DECREF(meth);
jpayne@69 30888 return result;
jpayne@69 30889 }
jpayne@69 30890 }
jpayne@69 30891 obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
jpayne@69 30892 PyErr_Format(PyExc_TypeError,
jpayne@69 30893 "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name);
jpayne@69 30894 __Pyx_DECREF_TypeName(obj_type_name);
jpayne@69 30895 return NULL;
jpayne@69 30896 }
jpayne@69 30897 static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) {
jpayne@69 30898 PyTypeObject *tp = Py_TYPE(obj);
jpayne@69 30899 PyMappingMethods *mm = tp->tp_as_mapping;
jpayne@69 30900 PySequenceMethods *sm = tp->tp_as_sequence;
jpayne@69 30901 if (likely(mm && mm->mp_subscript)) {
jpayne@69 30902 return mm->mp_subscript(obj, key);
jpayne@69 30903 }
jpayne@69 30904 if (likely(sm && sm->sq_item)) {
jpayne@69 30905 return __Pyx_PyObject_GetIndex(obj, key);
jpayne@69 30906 }
jpayne@69 30907 return __Pyx_PyObject_GetItem_Slow(obj, key);
jpayne@69 30908 }
jpayne@69 30909 #endif
jpayne@69 30910
jpayne@69 30911 /* GetTopmostException */
jpayne@69 30912 #if CYTHON_USE_EXC_INFO_STACK && CYTHON_FAST_THREAD_STATE
jpayne@69 30913 static _PyErr_StackItem *
jpayne@69 30914 __Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
jpayne@69 30915 {
jpayne@69 30916 _PyErr_StackItem *exc_info = tstate->exc_info;
jpayne@69 30917 while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
jpayne@69 30918 exc_info->previous_item != NULL)
jpayne@69 30919 {
jpayne@69 30920 exc_info = exc_info->previous_item;
jpayne@69 30921 }
jpayne@69 30922 return exc_info;
jpayne@69 30923 }
jpayne@69 30924 #endif
jpayne@69 30925
jpayne@69 30926 /* SaveResetException */
jpayne@69 30927 #if CYTHON_FAST_THREAD_STATE
jpayne@69 30928 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
jpayne@69 30929 #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
jpayne@69 30930 _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
jpayne@69 30931 PyObject *exc_value = exc_info->exc_value;
jpayne@69 30932 if (exc_value == NULL || exc_value == Py_None) {
jpayne@69 30933 *value = NULL;
jpayne@69 30934 *type = NULL;
jpayne@69 30935 *tb = NULL;
jpayne@69 30936 } else {
jpayne@69 30937 *value = exc_value;
jpayne@69 30938 Py_INCREF(*value);
jpayne@69 30939 *type = (PyObject*) Py_TYPE(exc_value);
jpayne@69 30940 Py_INCREF(*type);
jpayne@69 30941 *tb = PyException_GetTraceback(exc_value);
jpayne@69 30942 }
jpayne@69 30943 #elif CYTHON_USE_EXC_INFO_STACK
jpayne@69 30944 _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
jpayne@69 30945 *type = exc_info->exc_type;
jpayne@69 30946 *value = exc_info->exc_value;
jpayne@69 30947 *tb = exc_info->exc_traceback;
jpayne@69 30948 Py_XINCREF(*type);
jpayne@69 30949 Py_XINCREF(*value);
jpayne@69 30950 Py_XINCREF(*tb);
jpayne@69 30951 #else
jpayne@69 30952 *type = tstate->exc_type;
jpayne@69 30953 *value = tstate->exc_value;
jpayne@69 30954 *tb = tstate->exc_traceback;
jpayne@69 30955 Py_XINCREF(*type);
jpayne@69 30956 Py_XINCREF(*value);
jpayne@69 30957 Py_XINCREF(*tb);
jpayne@69 30958 #endif
jpayne@69 30959 }
jpayne@69 30960 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
jpayne@69 30961 #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
jpayne@69 30962 _PyErr_StackItem *exc_info = tstate->exc_info;
jpayne@69 30963 PyObject *tmp_value = exc_info->exc_value;
jpayne@69 30964 exc_info->exc_value = value;
jpayne@69 30965 Py_XDECREF(tmp_value);
jpayne@69 30966 Py_XDECREF(type);
jpayne@69 30967 Py_XDECREF(tb);
jpayne@69 30968 #else
jpayne@69 30969 PyObject *tmp_type, *tmp_value, *tmp_tb;
jpayne@69 30970 #if CYTHON_USE_EXC_INFO_STACK
jpayne@69 30971 _PyErr_StackItem *exc_info = tstate->exc_info;
jpayne@69 30972 tmp_type = exc_info->exc_type;
jpayne@69 30973 tmp_value = exc_info->exc_value;
jpayne@69 30974 tmp_tb = exc_info->exc_traceback;
jpayne@69 30975 exc_info->exc_type = type;
jpayne@69 30976 exc_info->exc_value = value;
jpayne@69 30977 exc_info->exc_traceback = tb;
jpayne@69 30978 #else
jpayne@69 30979 tmp_type = tstate->exc_type;
jpayne@69 30980 tmp_value = tstate->exc_value;
jpayne@69 30981 tmp_tb = tstate->exc_traceback;
jpayne@69 30982 tstate->exc_type = type;
jpayne@69 30983 tstate->exc_value = value;
jpayne@69 30984 tstate->exc_traceback = tb;
jpayne@69 30985 #endif
jpayne@69 30986 Py_XDECREF(tmp_type);
jpayne@69 30987 Py_XDECREF(tmp_value);
jpayne@69 30988 Py_XDECREF(tmp_tb);
jpayne@69 30989 #endif
jpayne@69 30990 }
jpayne@69 30991 #endif
jpayne@69 30992
jpayne@69 30993 /* GetException */
jpayne@69 30994 #if CYTHON_FAST_THREAD_STATE
jpayne@69 30995 static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
jpayne@69 30996 #else
jpayne@69 30997 static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
jpayne@69 30998 #endif
jpayne@69 30999 {
jpayne@69 31000 PyObject *local_type = NULL, *local_value, *local_tb = NULL;
jpayne@69 31001 #if CYTHON_FAST_THREAD_STATE
jpayne@69 31002 PyObject *tmp_type, *tmp_value, *tmp_tb;
jpayne@69 31003 #if PY_VERSION_HEX >= 0x030C00A6
jpayne@69 31004 local_value = tstate->current_exception;
jpayne@69 31005 tstate->current_exception = 0;
jpayne@69 31006 if (likely(local_value)) {
jpayne@69 31007 local_type = (PyObject*) Py_TYPE(local_value);
jpayne@69 31008 Py_INCREF(local_type);
jpayne@69 31009 local_tb = PyException_GetTraceback(local_value);
jpayne@69 31010 }
jpayne@69 31011 #else
jpayne@69 31012 local_type = tstate->curexc_type;
jpayne@69 31013 local_value = tstate->curexc_value;
jpayne@69 31014 local_tb = tstate->curexc_traceback;
jpayne@69 31015 tstate->curexc_type = 0;
jpayne@69 31016 tstate->curexc_value = 0;
jpayne@69 31017 tstate->curexc_traceback = 0;
jpayne@69 31018 #endif
jpayne@69 31019 #else
jpayne@69 31020 PyErr_Fetch(&local_type, &local_value, &local_tb);
jpayne@69 31021 #endif
jpayne@69 31022 PyErr_NormalizeException(&local_type, &local_value, &local_tb);
jpayne@69 31023 #if CYTHON_FAST_THREAD_STATE && PY_VERSION_HEX >= 0x030C00A6
jpayne@69 31024 if (unlikely(tstate->current_exception))
jpayne@69 31025 #elif CYTHON_FAST_THREAD_STATE
jpayne@69 31026 if (unlikely(tstate->curexc_type))
jpayne@69 31027 #else
jpayne@69 31028 if (unlikely(PyErr_Occurred()))
jpayne@69 31029 #endif
jpayne@69 31030 goto bad;
jpayne@69 31031 #if PY_MAJOR_VERSION >= 3
jpayne@69 31032 if (local_tb) {
jpayne@69 31033 if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
jpayne@69 31034 goto bad;
jpayne@69 31035 }
jpayne@69 31036 #endif
jpayne@69 31037 Py_XINCREF(local_tb);
jpayne@69 31038 Py_XINCREF(local_type);
jpayne@69 31039 Py_XINCREF(local_value);
jpayne@69 31040 *type = local_type;
jpayne@69 31041 *value = local_value;
jpayne@69 31042 *tb = local_tb;
jpayne@69 31043 #if CYTHON_FAST_THREAD_STATE
jpayne@69 31044 #if CYTHON_USE_EXC_INFO_STACK
jpayne@69 31045 {
jpayne@69 31046 _PyErr_StackItem *exc_info = tstate->exc_info;
jpayne@69 31047 #if PY_VERSION_HEX >= 0x030B00a4
jpayne@69 31048 tmp_value = exc_info->exc_value;
jpayne@69 31049 exc_info->exc_value = local_value;
jpayne@69 31050 tmp_type = NULL;
jpayne@69 31051 tmp_tb = NULL;
jpayne@69 31052 Py_XDECREF(local_type);
jpayne@69 31053 Py_XDECREF(local_tb);
jpayne@69 31054 #else
jpayne@69 31055 tmp_type = exc_info->exc_type;
jpayne@69 31056 tmp_value = exc_info->exc_value;
jpayne@69 31057 tmp_tb = exc_info->exc_traceback;
jpayne@69 31058 exc_info->exc_type = local_type;
jpayne@69 31059 exc_info->exc_value = local_value;
jpayne@69 31060 exc_info->exc_traceback = local_tb;
jpayne@69 31061 #endif
jpayne@69 31062 }
jpayne@69 31063 #else
jpayne@69 31064 tmp_type = tstate->exc_type;
jpayne@69 31065 tmp_value = tstate->exc_value;
jpayne@69 31066 tmp_tb = tstate->exc_traceback;
jpayne@69 31067 tstate->exc_type = local_type;
jpayne@69 31068 tstate->exc_value = local_value;
jpayne@69 31069 tstate->exc_traceback = local_tb;
jpayne@69 31070 #endif
jpayne@69 31071 Py_XDECREF(tmp_type);
jpayne@69 31072 Py_XDECREF(tmp_value);
jpayne@69 31073 Py_XDECREF(tmp_tb);
jpayne@69 31074 #else
jpayne@69 31075 PyErr_SetExcInfo(local_type, local_value, local_tb);
jpayne@69 31076 #endif
jpayne@69 31077 return 0;
jpayne@69 31078 bad:
jpayne@69 31079 *type = 0;
jpayne@69 31080 *value = 0;
jpayne@69 31081 *tb = 0;
jpayne@69 31082 Py_XDECREF(local_type);
jpayne@69 31083 Py_XDECREF(local_value);
jpayne@69 31084 Py_XDECREF(local_tb);
jpayne@69 31085 return -1;
jpayne@69 31086 }
jpayne@69 31087
jpayne@69 31088 /* pybytes_as_double */
jpayne@69 31089 static double __Pyx_SlowPyString_AsDouble(PyObject *obj) {
jpayne@69 31090 PyObject *float_value;
jpayne@69 31091 #if PY_MAJOR_VERSION >= 3
jpayne@69 31092 float_value = PyFloat_FromString(obj);
jpayne@69 31093 #else
jpayne@69 31094 float_value = PyFloat_FromString(obj, 0);
jpayne@69 31095 #endif
jpayne@69 31096 if (likely(float_value)) {
jpayne@69 31097 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 31098 double value = PyFloat_AS_DOUBLE(float_value);
jpayne@69 31099 #else
jpayne@69 31100 double value = PyFloat_AsDouble(float_value);
jpayne@69 31101 #endif
jpayne@69 31102 Py_DECREF(float_value);
jpayne@69 31103 return value;
jpayne@69 31104 }
jpayne@69 31105 return (double)-1;
jpayne@69 31106 }
jpayne@69 31107 static const char* __Pyx__PyBytes_AsDouble_Copy(const char* start, char* buffer, Py_ssize_t length) {
jpayne@69 31108 int last_was_punctuation = 1;
jpayne@69 31109 Py_ssize_t i;
jpayne@69 31110 for (i=0; i < length; i++) {
jpayne@69 31111 char chr = start[i];
jpayne@69 31112 int is_punctuation = (chr == '_') | (chr == '.') | (chr == 'e') | (chr == 'E');
jpayne@69 31113 *buffer = chr;
jpayne@69 31114 buffer += (chr != '_');
jpayne@69 31115 if (unlikely(last_was_punctuation & is_punctuation)) goto parse_failure;
jpayne@69 31116 last_was_punctuation = is_punctuation;
jpayne@69 31117 }
jpayne@69 31118 if (unlikely(last_was_punctuation)) goto parse_failure;
jpayne@69 31119 *buffer = '\0';
jpayne@69 31120 return buffer;
jpayne@69 31121 parse_failure:
jpayne@69 31122 return NULL;
jpayne@69 31123 }
jpayne@69 31124 static double __Pyx__PyBytes_AsDouble_inf_nan(const char* start, Py_ssize_t length) {
jpayne@69 31125 int matches = 1;
jpayne@69 31126 char sign = start[0];
jpayne@69 31127 int is_signed = (sign == '+') | (sign == '-');
jpayne@69 31128 start += is_signed;
jpayne@69 31129 length -= is_signed;
jpayne@69 31130 switch (start[0]) {
jpayne@69 31131 #ifdef Py_NAN
jpayne@69 31132 case 'n':
jpayne@69 31133 case 'N':
jpayne@69 31134 if (unlikely(length != 3)) goto parse_failure;
jpayne@69 31135 matches &= (start[1] == 'a' || start[1] == 'A');
jpayne@69 31136 matches &= (start[2] == 'n' || start[2] == 'N');
jpayne@69 31137 if (unlikely(!matches)) goto parse_failure;
jpayne@69 31138 return (sign == '-') ? -Py_NAN : Py_NAN;
jpayne@69 31139 #endif
jpayne@69 31140 case 'i':
jpayne@69 31141 case 'I':
jpayne@69 31142 if (unlikely(length < 3)) goto parse_failure;
jpayne@69 31143 matches &= (start[1] == 'n' || start[1] == 'N');
jpayne@69 31144 matches &= (start[2] == 'f' || start[2] == 'F');
jpayne@69 31145 if (likely(length == 3 && matches))
jpayne@69 31146 return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
jpayne@69 31147 if (unlikely(length != 8)) goto parse_failure;
jpayne@69 31148 matches &= (start[3] == 'i' || start[3] == 'I');
jpayne@69 31149 matches &= (start[4] == 'n' || start[4] == 'N');
jpayne@69 31150 matches &= (start[5] == 'i' || start[5] == 'I');
jpayne@69 31151 matches &= (start[6] == 't' || start[6] == 'T');
jpayne@69 31152 matches &= (start[7] == 'y' || start[7] == 'Y');
jpayne@69 31153 if (unlikely(!matches)) goto parse_failure;
jpayne@69 31154 return (sign == '-') ? -Py_HUGE_VAL : Py_HUGE_VAL;
jpayne@69 31155 case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
jpayne@69 31156 break;
jpayne@69 31157 default:
jpayne@69 31158 goto parse_failure;
jpayne@69 31159 }
jpayne@69 31160 return 0.0;
jpayne@69 31161 parse_failure:
jpayne@69 31162 return -1.0;
jpayne@69 31163 }
jpayne@69 31164 static CYTHON_INLINE int __Pyx__PyBytes_AsDouble_IsSpace(char ch) {
jpayne@69 31165 return (ch == 0x20) | !((ch < 0x9) | (ch > 0xd));
jpayne@69 31166 }
jpayne@69 31167 CYTHON_UNUSED static double __Pyx__PyBytes_AsDouble(PyObject *obj, const char* start, Py_ssize_t length) {
jpayne@69 31168 double value;
jpayne@69 31169 Py_ssize_t i, digits;
jpayne@69 31170 const char *last = start + length;
jpayne@69 31171 char *end;
jpayne@69 31172 while (__Pyx__PyBytes_AsDouble_IsSpace(*start))
jpayne@69 31173 start++;
jpayne@69 31174 while (start < last - 1 && __Pyx__PyBytes_AsDouble_IsSpace(last[-1]))
jpayne@69 31175 last--;
jpayne@69 31176 length = last - start;
jpayne@69 31177 if (unlikely(length <= 0)) goto fallback;
jpayne@69 31178 value = __Pyx__PyBytes_AsDouble_inf_nan(start, length);
jpayne@69 31179 if (unlikely(value == -1.0)) goto fallback;
jpayne@69 31180 if (value != 0.0) return value;
jpayne@69 31181 digits = 0;
jpayne@69 31182 for (i=0; i < length; digits += start[i++] != '_');
jpayne@69 31183 if (likely(digits == length)) {
jpayne@69 31184 value = PyOS_string_to_double(start, &end, NULL);
jpayne@69 31185 } else if (digits < 40) {
jpayne@69 31186 char number[40];
jpayne@69 31187 last = __Pyx__PyBytes_AsDouble_Copy(start, number, length);
jpayne@69 31188 if (unlikely(!last)) goto fallback;
jpayne@69 31189 value = PyOS_string_to_double(number, &end, NULL);
jpayne@69 31190 } else {
jpayne@69 31191 char *number = (char*) PyMem_Malloc((digits + 1) * sizeof(char));
jpayne@69 31192 if (unlikely(!number)) goto fallback;
jpayne@69 31193 last = __Pyx__PyBytes_AsDouble_Copy(start, number, length);
jpayne@69 31194 if (unlikely(!last)) {
jpayne@69 31195 PyMem_Free(number);
jpayne@69 31196 goto fallback;
jpayne@69 31197 }
jpayne@69 31198 value = PyOS_string_to_double(number, &end, NULL);
jpayne@69 31199 PyMem_Free(number);
jpayne@69 31200 }
jpayne@69 31201 if (likely(end == last) || (value == (double)-1 && PyErr_Occurred())) {
jpayne@69 31202 return value;
jpayne@69 31203 }
jpayne@69 31204 fallback:
jpayne@69 31205 return __Pyx_SlowPyString_AsDouble(obj);
jpayne@69 31206 }
jpayne@69 31207
jpayne@69 31208 /* pynumber_float */
jpayne@69 31209 static CYTHON_INLINE PyObject* __Pyx__PyNumber_Float(PyObject* obj) {
jpayne@69 31210 double val;
jpayne@69 31211 if (PyLong_CheckExact(obj)) {
jpayne@69 31212 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 31213 if (likely(__Pyx_PyLong_IsCompact(obj))) {
jpayne@69 31214 val = (double) __Pyx_PyLong_CompactValue(obj);
jpayne@69 31215 goto no_error;
jpayne@69 31216 }
jpayne@69 31217 #endif
jpayne@69 31218 val = PyLong_AsDouble(obj);
jpayne@69 31219 } else if (PyUnicode_CheckExact(obj)) {
jpayne@69 31220 val = __Pyx_PyUnicode_AsDouble(obj);
jpayne@69 31221 } else if (PyBytes_CheckExact(obj)) {
jpayne@69 31222 val = __Pyx_PyBytes_AsDouble(obj);
jpayne@69 31223 } else if (PyByteArray_CheckExact(obj)) {
jpayne@69 31224 val = __Pyx_PyByteArray_AsDouble(obj);
jpayne@69 31225 } else {
jpayne@69 31226 return PyNumber_Float(obj);
jpayne@69 31227 }
jpayne@69 31228 if (unlikely(val == -1 && PyErr_Occurred())) {
jpayne@69 31229 return NULL;
jpayne@69 31230 }
jpayne@69 31231 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 31232 no_error:
jpayne@69 31233 #endif
jpayne@69 31234 return PyFloat_FromDouble(val);
jpayne@69 31235 }
jpayne@69 31236
jpayne@69 31237 /* PyIntBinop */
jpayne@69 31238 #if !CYTHON_COMPILING_IN_PYPY
jpayne@69 31239 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, long intval, int inplace, int zerodivision_check) {
jpayne@69 31240 CYTHON_MAYBE_UNUSED_VAR(intval);
jpayne@69 31241 CYTHON_MAYBE_UNUSED_VAR(inplace);
jpayne@69 31242 CYTHON_UNUSED_VAR(zerodivision_check);
jpayne@69 31243 #if PY_MAJOR_VERSION < 3
jpayne@69 31244 if (likely(PyInt_CheckExact(op1))) {
jpayne@69 31245 const long b = intval;
jpayne@69 31246 long x;
jpayne@69 31247 long a = PyInt_AS_LONG(op1);
jpayne@69 31248
jpayne@69 31249 x = (long)((unsigned long)a + (unsigned long)b);
jpayne@69 31250 if (likely((x^a) >= 0 || (x^b) >= 0))
jpayne@69 31251 return PyInt_FromLong(x);
jpayne@69 31252 return PyLong_Type.tp_as_number->nb_add(op1, op2);
jpayne@69 31253 }
jpayne@69 31254 #endif
jpayne@69 31255 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 31256 if (likely(PyLong_CheckExact(op1))) {
jpayne@69 31257 const long b = intval;
jpayne@69 31258 long a, x;
jpayne@69 31259 #ifdef HAVE_LONG_LONG
jpayne@69 31260 const PY_LONG_LONG llb = intval;
jpayne@69 31261 PY_LONG_LONG lla, llx;
jpayne@69 31262 #endif
jpayne@69 31263 if (unlikely(__Pyx_PyLong_IsZero(op1))) {
jpayne@69 31264 return __Pyx_NewRef(op2);
jpayne@69 31265 }
jpayne@69 31266 if (likely(__Pyx_PyLong_IsCompact(op1))) {
jpayne@69 31267 a = __Pyx_PyLong_CompactValue(op1);
jpayne@69 31268 } else {
jpayne@69 31269 const digit* digits = __Pyx_PyLong_Digits(op1);
jpayne@69 31270 const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(op1);
jpayne@69 31271 switch (size) {
jpayne@69 31272 case -2:
jpayne@69 31273 if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
jpayne@69 31274 a = -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
jpayne@69 31275 break;
jpayne@69 31276 #ifdef HAVE_LONG_LONG
jpayne@69 31277 } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
jpayne@69 31278 lla = -(PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
jpayne@69 31279 goto long_long;
jpayne@69 31280 #endif
jpayne@69 31281 }
jpayne@69 31282 CYTHON_FALLTHROUGH;
jpayne@69 31283 case 2:
jpayne@69 31284 if (8 * sizeof(long) - 1 > 2 * PyLong_SHIFT) {
jpayne@69 31285 a = (long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
jpayne@69 31286 break;
jpayne@69 31287 #ifdef HAVE_LONG_LONG
jpayne@69 31288 } else if (8 * sizeof(PY_LONG_LONG) - 1 > 2 * PyLong_SHIFT) {
jpayne@69 31289 lla = (PY_LONG_LONG) (((((unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
jpayne@69 31290 goto long_long;
jpayne@69 31291 #endif
jpayne@69 31292 }
jpayne@69 31293 CYTHON_FALLTHROUGH;
jpayne@69 31294 case -3:
jpayne@69 31295 if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
jpayne@69 31296 a = -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
jpayne@69 31297 break;
jpayne@69 31298 #ifdef HAVE_LONG_LONG
jpayne@69 31299 } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
jpayne@69 31300 lla = -(PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
jpayne@69 31301 goto long_long;
jpayne@69 31302 #endif
jpayne@69 31303 }
jpayne@69 31304 CYTHON_FALLTHROUGH;
jpayne@69 31305 case 3:
jpayne@69 31306 if (8 * sizeof(long) - 1 > 3 * PyLong_SHIFT) {
jpayne@69 31307 a = (long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
jpayne@69 31308 break;
jpayne@69 31309 #ifdef HAVE_LONG_LONG
jpayne@69 31310 } else if (8 * sizeof(PY_LONG_LONG) - 1 > 3 * PyLong_SHIFT) {
jpayne@69 31311 lla = (PY_LONG_LONG) (((((((unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
jpayne@69 31312 goto long_long;
jpayne@69 31313 #endif
jpayne@69 31314 }
jpayne@69 31315 CYTHON_FALLTHROUGH;
jpayne@69 31316 case -4:
jpayne@69 31317 if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
jpayne@69 31318 a = -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
jpayne@69 31319 break;
jpayne@69 31320 #ifdef HAVE_LONG_LONG
jpayne@69 31321 } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
jpayne@69 31322 lla = -(PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
jpayne@69 31323 goto long_long;
jpayne@69 31324 #endif
jpayne@69 31325 }
jpayne@69 31326 CYTHON_FALLTHROUGH;
jpayne@69 31327 case 4:
jpayne@69 31328 if (8 * sizeof(long) - 1 > 4 * PyLong_SHIFT) {
jpayne@69 31329 a = (long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]));
jpayne@69 31330 break;
jpayne@69 31331 #ifdef HAVE_LONG_LONG
jpayne@69 31332 } else if (8 * sizeof(PY_LONG_LONG) - 1 > 4 * PyLong_SHIFT) {
jpayne@69 31333 lla = (PY_LONG_LONG) (((((((((unsigned PY_LONG_LONG)digits[3]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[2]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[1]) << PyLong_SHIFT) | (unsigned PY_LONG_LONG)digits[0]));
jpayne@69 31334 goto long_long;
jpayne@69 31335 #endif
jpayne@69 31336 }
jpayne@69 31337 CYTHON_FALLTHROUGH;
jpayne@69 31338 default: return PyLong_Type.tp_as_number->nb_add(op1, op2);
jpayne@69 31339 }
jpayne@69 31340 }
jpayne@69 31341 x = a + b;
jpayne@69 31342 return PyLong_FromLong(x);
jpayne@69 31343 #ifdef HAVE_LONG_LONG
jpayne@69 31344 long_long:
jpayne@69 31345 llx = lla + llb;
jpayne@69 31346 return PyLong_FromLongLong(llx);
jpayne@69 31347 #endif
jpayne@69 31348
jpayne@69 31349
jpayne@69 31350 }
jpayne@69 31351 #endif
jpayne@69 31352 if (PyFloat_CheckExact(op1)) {
jpayne@69 31353 const long b = intval;
jpayne@69 31354 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 31355 double a = __pyx_PyFloat_AsDouble(op1);
jpayne@69 31356 #else
jpayne@69 31357 double a = PyFloat_AS_DOUBLE(op1);
jpayne@69 31358 #endif
jpayne@69 31359 double result;
jpayne@69 31360
jpayne@69 31361 PyFPE_START_PROTECT("add", return NULL)
jpayne@69 31362 result = ((double)a) + (double)b;
jpayne@69 31363 PyFPE_END_PROTECT(result)
jpayne@69 31364 return PyFloat_FromDouble(result);
jpayne@69 31365 }
jpayne@69 31366 return (inplace ? PyNumber_InPlaceAdd : PyNumber_Add)(op1, op2);
jpayne@69 31367 }
jpayne@69 31368 #endif
jpayne@69 31369
jpayne@69 31370 /* PyObjectSetAttrStr */
jpayne@69 31371 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 31372 static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
jpayne@69 31373 PyTypeObject* tp = Py_TYPE(obj);
jpayne@69 31374 if (likely(tp->tp_setattro))
jpayne@69 31375 return tp->tp_setattro(obj, attr_name, value);
jpayne@69 31376 #if PY_MAJOR_VERSION < 3
jpayne@69 31377 if (likely(tp->tp_setattr))
jpayne@69 31378 return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
jpayne@69 31379 #endif
jpayne@69 31380 return PyObject_SetAttr(obj, attr_name, value);
jpayne@69 31381 }
jpayne@69 31382 #endif
jpayne@69 31383
jpayne@69 31384 /* PyObjectCallNoArg */
jpayne@69 31385 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
jpayne@69 31386 PyObject *arg[2] = {NULL, NULL};
jpayne@69 31387 return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
jpayne@69 31388 }
jpayne@69 31389
jpayne@69 31390 /* PyObjectCallMethod0 */
jpayne@69 31391 static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) {
jpayne@69 31392 PyObject *method = NULL, *result = NULL;
jpayne@69 31393 int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method);
jpayne@69 31394 if (likely(is_method)) {
jpayne@69 31395 result = __Pyx_PyObject_CallOneArg(method, obj);
jpayne@69 31396 Py_DECREF(method);
jpayne@69 31397 return result;
jpayne@69 31398 }
jpayne@69 31399 if (unlikely(!method)) goto bad;
jpayne@69 31400 result = __Pyx_PyObject_CallNoArg(method);
jpayne@69 31401 Py_DECREF(method);
jpayne@69 31402 bad:
jpayne@69 31403 return result;
jpayne@69 31404 }
jpayne@69 31405
jpayne@69 31406 /* RaiseNoneIterError */
jpayne@69 31407 static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
jpayne@69 31408 PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
jpayne@69 31409 }
jpayne@69 31410
jpayne@69 31411 /* UnpackTupleError */
jpayne@69 31412 static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
jpayne@69 31413 if (t == Py_None) {
jpayne@69 31414 __Pyx_RaiseNoneNotIterableError();
jpayne@69 31415 } else if (PyTuple_GET_SIZE(t) < index) {
jpayne@69 31416 __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
jpayne@69 31417 } else {
jpayne@69 31418 __Pyx_RaiseTooManyValuesError(index);
jpayne@69 31419 }
jpayne@69 31420 }
jpayne@69 31421
jpayne@69 31422 /* UnpackTuple2 */
jpayne@69 31423 static CYTHON_INLINE int __Pyx_unpack_tuple2_exact(
jpayne@69 31424 PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) {
jpayne@69 31425 PyObject *value1 = NULL, *value2 = NULL;
jpayne@69 31426 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 31427 value1 = PySequence_ITEM(tuple, 0); if (unlikely(!value1)) goto bad;
jpayne@69 31428 value2 = PySequence_ITEM(tuple, 1); if (unlikely(!value2)) goto bad;
jpayne@69 31429 #else
jpayne@69 31430 value1 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(value1);
jpayne@69 31431 value2 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(value2);
jpayne@69 31432 #endif
jpayne@69 31433 if (decref_tuple) {
jpayne@69 31434 Py_DECREF(tuple);
jpayne@69 31435 }
jpayne@69 31436 *pvalue1 = value1;
jpayne@69 31437 *pvalue2 = value2;
jpayne@69 31438 return 0;
jpayne@69 31439 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 31440 bad:
jpayne@69 31441 Py_XDECREF(value1);
jpayne@69 31442 Py_XDECREF(value2);
jpayne@69 31443 if (decref_tuple) { Py_XDECREF(tuple); }
jpayne@69 31444 return -1;
jpayne@69 31445 #endif
jpayne@69 31446 }
jpayne@69 31447 static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
jpayne@69 31448 int has_known_size, int decref_tuple) {
jpayne@69 31449 Py_ssize_t index;
jpayne@69 31450 PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
jpayne@69 31451 iternextfunc iternext;
jpayne@69 31452 iter = PyObject_GetIter(tuple);
jpayne@69 31453 if (unlikely(!iter)) goto bad;
jpayne@69 31454 if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
jpayne@69 31455 iternext = __Pyx_PyObject_GetIterNextFunc(iter);
jpayne@69 31456 value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
jpayne@69 31457 value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
jpayne@69 31458 if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
jpayne@69 31459 Py_DECREF(iter);
jpayne@69 31460 *pvalue1 = value1;
jpayne@69 31461 *pvalue2 = value2;
jpayne@69 31462 return 0;
jpayne@69 31463 unpacking_failed:
jpayne@69 31464 if (!has_known_size && __Pyx_IterFinish() == 0)
jpayne@69 31465 __Pyx_RaiseNeedMoreValuesError(index);
jpayne@69 31466 bad:
jpayne@69 31467 Py_XDECREF(iter);
jpayne@69 31468 Py_XDECREF(value1);
jpayne@69 31469 Py_XDECREF(value2);
jpayne@69 31470 if (decref_tuple) { Py_XDECREF(tuple); }
jpayne@69 31471 return -1;
jpayne@69 31472 }
jpayne@69 31473
jpayne@69 31474 /* dict_iter */
jpayne@69 31475 #if CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
jpayne@69 31476 #include <string.h>
jpayne@69 31477 #endif
jpayne@69 31478 static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
jpayne@69 31479 Py_ssize_t* p_orig_length, int* p_source_is_dict) {
jpayne@69 31480 is_dict = is_dict || likely(PyDict_CheckExact(iterable));
jpayne@69 31481 *p_source_is_dict = is_dict;
jpayne@69 31482 if (is_dict) {
jpayne@69 31483 #if !CYTHON_COMPILING_IN_PYPY
jpayne@69 31484 *p_orig_length = PyDict_Size(iterable);
jpayne@69 31485 Py_INCREF(iterable);
jpayne@69 31486 return iterable;
jpayne@69 31487 #elif PY_MAJOR_VERSION >= 3
jpayne@69 31488 static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL;
jpayne@69 31489 PyObject **pp = NULL;
jpayne@69 31490 if (method_name) {
jpayne@69 31491 const char *name = PyUnicode_AsUTF8(method_name);
jpayne@69 31492 if (strcmp(name, "iteritems") == 0) pp = &py_items;
jpayne@69 31493 else if (strcmp(name, "iterkeys") == 0) pp = &py_keys;
jpayne@69 31494 else if (strcmp(name, "itervalues") == 0) pp = &py_values;
jpayne@69 31495 if (pp) {
jpayne@69 31496 if (!*pp) {
jpayne@69 31497 *pp = PyUnicode_FromString(name + 4);
jpayne@69 31498 if (!*pp)
jpayne@69 31499 return NULL;
jpayne@69 31500 }
jpayne@69 31501 method_name = *pp;
jpayne@69 31502 }
jpayne@69 31503 }
jpayne@69 31504 #endif
jpayne@69 31505 }
jpayne@69 31506 *p_orig_length = 0;
jpayne@69 31507 if (method_name) {
jpayne@69 31508 PyObject* iter;
jpayne@69 31509 iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
jpayne@69 31510 if (!iterable)
jpayne@69 31511 return NULL;
jpayne@69 31512 #if !CYTHON_COMPILING_IN_PYPY
jpayne@69 31513 if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
jpayne@69 31514 return iterable;
jpayne@69 31515 #endif
jpayne@69 31516 iter = PyObject_GetIter(iterable);
jpayne@69 31517 Py_DECREF(iterable);
jpayne@69 31518 return iter;
jpayne@69 31519 }
jpayne@69 31520 return PyObject_GetIter(iterable);
jpayne@69 31521 }
jpayne@69 31522 static CYTHON_INLINE int __Pyx_dict_iter_next(
jpayne@69 31523 PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos,
jpayne@69 31524 PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
jpayne@69 31525 PyObject* next_item;
jpayne@69 31526 #if !CYTHON_COMPILING_IN_PYPY
jpayne@69 31527 if (source_is_dict) {
jpayne@69 31528 PyObject *key, *value;
jpayne@69 31529 if (unlikely(orig_length != PyDict_Size(iter_obj))) {
jpayne@69 31530 PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
jpayne@69 31531 return -1;
jpayne@69 31532 }
jpayne@69 31533 if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
jpayne@69 31534 return 0;
jpayne@69 31535 }
jpayne@69 31536 if (pitem) {
jpayne@69 31537 PyObject* tuple = PyTuple_New(2);
jpayne@69 31538 if (unlikely(!tuple)) {
jpayne@69 31539 return -1;
jpayne@69 31540 }
jpayne@69 31541 Py_INCREF(key);
jpayne@69 31542 Py_INCREF(value);
jpayne@69 31543 PyTuple_SET_ITEM(tuple, 0, key);
jpayne@69 31544 PyTuple_SET_ITEM(tuple, 1, value);
jpayne@69 31545 *pitem = tuple;
jpayne@69 31546 } else {
jpayne@69 31547 if (pkey) {
jpayne@69 31548 Py_INCREF(key);
jpayne@69 31549 *pkey = key;
jpayne@69 31550 }
jpayne@69 31551 if (pvalue) {
jpayne@69 31552 Py_INCREF(value);
jpayne@69 31553 *pvalue = value;
jpayne@69 31554 }
jpayne@69 31555 }
jpayne@69 31556 return 1;
jpayne@69 31557 } else if (PyTuple_CheckExact(iter_obj)) {
jpayne@69 31558 Py_ssize_t pos = *ppos;
jpayne@69 31559 if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
jpayne@69 31560 *ppos = pos + 1;
jpayne@69 31561 next_item = PyTuple_GET_ITEM(iter_obj, pos);
jpayne@69 31562 Py_INCREF(next_item);
jpayne@69 31563 } else if (PyList_CheckExact(iter_obj)) {
jpayne@69 31564 Py_ssize_t pos = *ppos;
jpayne@69 31565 if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
jpayne@69 31566 *ppos = pos + 1;
jpayne@69 31567 next_item = PyList_GET_ITEM(iter_obj, pos);
jpayne@69 31568 Py_INCREF(next_item);
jpayne@69 31569 } else
jpayne@69 31570 #endif
jpayne@69 31571 {
jpayne@69 31572 next_item = PyIter_Next(iter_obj);
jpayne@69 31573 if (unlikely(!next_item)) {
jpayne@69 31574 return __Pyx_IterFinish();
jpayne@69 31575 }
jpayne@69 31576 }
jpayne@69 31577 if (pitem) {
jpayne@69 31578 *pitem = next_item;
jpayne@69 31579 } else if (pkey && pvalue) {
jpayne@69 31580 if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
jpayne@69 31581 return -1;
jpayne@69 31582 } else if (pkey) {
jpayne@69 31583 *pkey = next_item;
jpayne@69 31584 } else {
jpayne@69 31585 *pvalue = next_item;
jpayne@69 31586 }
jpayne@69 31587 return 1;
jpayne@69 31588 }
jpayne@69 31589
jpayne@69 31590 /* SliceObject */
jpayne@69 31591 static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
jpayne@69 31592 Py_ssize_t cstart, Py_ssize_t cstop,
jpayne@69 31593 PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
jpayne@69 31594 int has_cstart, int has_cstop, int wraparound) {
jpayne@69 31595 __Pyx_TypeName obj_type_name;
jpayne@69 31596 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 31597 PyMappingMethods* mp;
jpayne@69 31598 #if PY_MAJOR_VERSION < 3
jpayne@69 31599 PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
jpayne@69 31600 if (likely(ms && ms->sq_slice)) {
jpayne@69 31601 if (!has_cstart) {
jpayne@69 31602 if (_py_start && (*_py_start != Py_None)) {
jpayne@69 31603 cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
jpayne@69 31604 if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
jpayne@69 31605 } else
jpayne@69 31606 cstart = 0;
jpayne@69 31607 }
jpayne@69 31608 if (!has_cstop) {
jpayne@69 31609 if (_py_stop && (*_py_stop != Py_None)) {
jpayne@69 31610 cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
jpayne@69 31611 if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
jpayne@69 31612 } else
jpayne@69 31613 cstop = PY_SSIZE_T_MAX;
jpayne@69 31614 }
jpayne@69 31615 if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
jpayne@69 31616 Py_ssize_t l = ms->sq_length(obj);
jpayne@69 31617 if (likely(l >= 0)) {
jpayne@69 31618 if (cstop < 0) {
jpayne@69 31619 cstop += l;
jpayne@69 31620 if (cstop < 0) cstop = 0;
jpayne@69 31621 }
jpayne@69 31622 if (cstart < 0) {
jpayne@69 31623 cstart += l;
jpayne@69 31624 if (cstart < 0) cstart = 0;
jpayne@69 31625 }
jpayne@69 31626 } else {
jpayne@69 31627 if (!PyErr_ExceptionMatches(PyExc_OverflowError))
jpayne@69 31628 goto bad;
jpayne@69 31629 PyErr_Clear();
jpayne@69 31630 }
jpayne@69 31631 }
jpayne@69 31632 return ms->sq_slice(obj, cstart, cstop);
jpayne@69 31633 }
jpayne@69 31634 #else
jpayne@69 31635 CYTHON_UNUSED_VAR(wraparound);
jpayne@69 31636 #endif
jpayne@69 31637 mp = Py_TYPE(obj)->tp_as_mapping;
jpayne@69 31638 if (likely(mp && mp->mp_subscript))
jpayne@69 31639 #else
jpayne@69 31640 CYTHON_UNUSED_VAR(wraparound);
jpayne@69 31641 #endif
jpayne@69 31642 {
jpayne@69 31643 PyObject* result;
jpayne@69 31644 PyObject *py_slice, *py_start, *py_stop;
jpayne@69 31645 if (_py_slice) {
jpayne@69 31646 py_slice = *_py_slice;
jpayne@69 31647 } else {
jpayne@69 31648 PyObject* owned_start = NULL;
jpayne@69 31649 PyObject* owned_stop = NULL;
jpayne@69 31650 if (_py_start) {
jpayne@69 31651 py_start = *_py_start;
jpayne@69 31652 } else {
jpayne@69 31653 if (has_cstart) {
jpayne@69 31654 owned_start = py_start = PyInt_FromSsize_t(cstart);
jpayne@69 31655 if (unlikely(!py_start)) goto bad;
jpayne@69 31656 } else
jpayne@69 31657 py_start = Py_None;
jpayne@69 31658 }
jpayne@69 31659 if (_py_stop) {
jpayne@69 31660 py_stop = *_py_stop;
jpayne@69 31661 } else {
jpayne@69 31662 if (has_cstop) {
jpayne@69 31663 owned_stop = py_stop = PyInt_FromSsize_t(cstop);
jpayne@69 31664 if (unlikely(!py_stop)) {
jpayne@69 31665 Py_XDECREF(owned_start);
jpayne@69 31666 goto bad;
jpayne@69 31667 }
jpayne@69 31668 } else
jpayne@69 31669 py_stop = Py_None;
jpayne@69 31670 }
jpayne@69 31671 py_slice = PySlice_New(py_start, py_stop, Py_None);
jpayne@69 31672 Py_XDECREF(owned_start);
jpayne@69 31673 Py_XDECREF(owned_stop);
jpayne@69 31674 if (unlikely(!py_slice)) goto bad;
jpayne@69 31675 }
jpayne@69 31676 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 31677 result = mp->mp_subscript(obj, py_slice);
jpayne@69 31678 #else
jpayne@69 31679 result = PyObject_GetItem(obj, py_slice);
jpayne@69 31680 #endif
jpayne@69 31681 if (!_py_slice) {
jpayne@69 31682 Py_DECREF(py_slice);
jpayne@69 31683 }
jpayne@69 31684 return result;
jpayne@69 31685 }
jpayne@69 31686 obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
jpayne@69 31687 PyErr_Format(PyExc_TypeError,
jpayne@69 31688 "'" __Pyx_FMT_TYPENAME "' object is unsliceable", obj_type_name);
jpayne@69 31689 __Pyx_DECREF_TypeName(obj_type_name);
jpayne@69 31690 bad:
jpayne@69 31691 return NULL;
jpayne@69 31692 }
jpayne@69 31693
jpayne@69 31694 /* SliceTupleAndList */
jpayne@69 31695 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 31696 static CYTHON_INLINE void __Pyx_crop_slice(Py_ssize_t* _start, Py_ssize_t* _stop, Py_ssize_t* _length) {
jpayne@69 31697 Py_ssize_t start = *_start, stop = *_stop, length = *_length;
jpayne@69 31698 if (start < 0) {
jpayne@69 31699 start += length;
jpayne@69 31700 if (start < 0)
jpayne@69 31701 start = 0;
jpayne@69 31702 }
jpayne@69 31703 if (stop < 0)
jpayne@69 31704 stop += length;
jpayne@69 31705 else if (stop > length)
jpayne@69 31706 stop = length;
jpayne@69 31707 *_length = stop - start;
jpayne@69 31708 *_start = start;
jpayne@69 31709 *_stop = stop;
jpayne@69 31710 }
jpayne@69 31711 static CYTHON_INLINE PyObject* __Pyx_PyList_GetSlice(
jpayne@69 31712 PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
jpayne@69 31713 Py_ssize_t length = PyList_GET_SIZE(src);
jpayne@69 31714 __Pyx_crop_slice(&start, &stop, &length);
jpayne@69 31715 if (length <= 0) {
jpayne@69 31716 return PyList_New(0);
jpayne@69 31717 }
jpayne@69 31718 return __Pyx_PyList_FromArray(((PyListObject*)src)->ob_item + start, length);
jpayne@69 31719 }
jpayne@69 31720 static CYTHON_INLINE PyObject* __Pyx_PyTuple_GetSlice(
jpayne@69 31721 PyObject* src, Py_ssize_t start, Py_ssize_t stop) {
jpayne@69 31722 Py_ssize_t length = PyTuple_GET_SIZE(src);
jpayne@69 31723 __Pyx_crop_slice(&start, &stop, &length);
jpayne@69 31724 return __Pyx_PyTuple_FromArray(((PyTupleObject*)src)->ob_item + start, length);
jpayne@69 31725 }
jpayne@69 31726 #endif
jpayne@69 31727
jpayne@69 31728 /* pep479 */
jpayne@69 31729 static void __Pyx_Generator_Replace_StopIteration(int in_async_gen) {
jpayne@69 31730 PyObject *exc, *val, *tb, *cur_exc;
jpayne@69 31731 __Pyx_PyThreadState_declare
jpayne@69 31732 #ifdef __Pyx_StopAsyncIteration_USED
jpayne@69 31733 int is_async_stopiteration = 0;
jpayne@69 31734 #endif
jpayne@69 31735 CYTHON_MAYBE_UNUSED_VAR(in_async_gen);
jpayne@69 31736 cur_exc = PyErr_Occurred();
jpayne@69 31737 if (likely(!__Pyx_PyErr_GivenExceptionMatches(cur_exc, PyExc_StopIteration))) {
jpayne@69 31738 #ifdef __Pyx_StopAsyncIteration_USED
jpayne@69 31739 if (in_async_gen && unlikely(__Pyx_PyErr_GivenExceptionMatches(cur_exc, __Pyx_PyExc_StopAsyncIteration))) {
jpayne@69 31740 is_async_stopiteration = 1;
jpayne@69 31741 } else
jpayne@69 31742 #endif
jpayne@69 31743 return;
jpayne@69 31744 }
jpayne@69 31745 __Pyx_PyThreadState_assign
jpayne@69 31746 __Pyx_GetException(&exc, &val, &tb);
jpayne@69 31747 Py_XDECREF(exc);
jpayne@69 31748 Py_XDECREF(val);
jpayne@69 31749 Py_XDECREF(tb);
jpayne@69 31750 PyErr_SetString(PyExc_RuntimeError,
jpayne@69 31751 #ifdef __Pyx_StopAsyncIteration_USED
jpayne@69 31752 is_async_stopiteration ? "async generator raised StopAsyncIteration" :
jpayne@69 31753 in_async_gen ? "async generator raised StopIteration" :
jpayne@69 31754 #endif
jpayne@69 31755 "generator raised StopIteration");
jpayne@69 31756 }
jpayne@69 31757
jpayne@69 31758 /* RaiseUnboundLocalError */
jpayne@69 31759 static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
jpayne@69 31760 PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
jpayne@69 31761 }
jpayne@69 31762
jpayne@69 31763 /* Import */
jpayne@69 31764 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
jpayne@69 31765 PyObject *module = 0;
jpayne@69 31766 PyObject *empty_dict = 0;
jpayne@69 31767 PyObject *empty_list = 0;
jpayne@69 31768 #if PY_MAJOR_VERSION < 3
jpayne@69 31769 PyObject *py_import;
jpayne@69 31770 py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
jpayne@69 31771 if (unlikely(!py_import))
jpayne@69 31772 goto bad;
jpayne@69 31773 if (!from_list) {
jpayne@69 31774 empty_list = PyList_New(0);
jpayne@69 31775 if (unlikely(!empty_list))
jpayne@69 31776 goto bad;
jpayne@69 31777 from_list = empty_list;
jpayne@69 31778 }
jpayne@69 31779 #endif
jpayne@69 31780 empty_dict = PyDict_New();
jpayne@69 31781 if (unlikely(!empty_dict))
jpayne@69 31782 goto bad;
jpayne@69 31783 {
jpayne@69 31784 #if PY_MAJOR_VERSION >= 3
jpayne@69 31785 if (level == -1) {
jpayne@69 31786 if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
jpayne@69 31787 module = PyImport_ImportModuleLevelObject(
jpayne@69 31788 name, __pyx_d, empty_dict, from_list, 1);
jpayne@69 31789 if (unlikely(!module)) {
jpayne@69 31790 if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError)))
jpayne@69 31791 goto bad;
jpayne@69 31792 PyErr_Clear();
jpayne@69 31793 }
jpayne@69 31794 }
jpayne@69 31795 level = 0;
jpayne@69 31796 }
jpayne@69 31797 #endif
jpayne@69 31798 if (!module) {
jpayne@69 31799 #if PY_MAJOR_VERSION < 3
jpayne@69 31800 PyObject *py_level = PyInt_FromLong(level);
jpayne@69 31801 if (unlikely(!py_level))
jpayne@69 31802 goto bad;
jpayne@69 31803 module = PyObject_CallFunctionObjArgs(py_import,
jpayne@69 31804 name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL);
jpayne@69 31805 Py_DECREF(py_level);
jpayne@69 31806 #else
jpayne@69 31807 module = PyImport_ImportModuleLevelObject(
jpayne@69 31808 name, __pyx_d, empty_dict, from_list, level);
jpayne@69 31809 #endif
jpayne@69 31810 }
jpayne@69 31811 }
jpayne@69 31812 bad:
jpayne@69 31813 Py_XDECREF(empty_dict);
jpayne@69 31814 Py_XDECREF(empty_list);
jpayne@69 31815 #if PY_MAJOR_VERSION < 3
jpayne@69 31816 Py_XDECREF(py_import);
jpayne@69 31817 #endif
jpayne@69 31818 return module;
jpayne@69 31819 }
jpayne@69 31820
jpayne@69 31821 /* ImportFrom */
jpayne@69 31822 static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
jpayne@69 31823 PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
jpayne@69 31824 if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
jpayne@69 31825 const char* module_name_str = 0;
jpayne@69 31826 PyObject* module_name = 0;
jpayne@69 31827 PyObject* module_dot = 0;
jpayne@69 31828 PyObject* full_name = 0;
jpayne@69 31829 PyErr_Clear();
jpayne@69 31830 module_name_str = PyModule_GetName(module);
jpayne@69 31831 if (unlikely(!module_name_str)) { goto modbad; }
jpayne@69 31832 module_name = PyUnicode_FromString(module_name_str);
jpayne@69 31833 if (unlikely(!module_name)) { goto modbad; }
jpayne@69 31834 module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__12);
jpayne@69 31835 if (unlikely(!module_dot)) { goto modbad; }
jpayne@69 31836 full_name = PyUnicode_Concat(module_dot, name);
jpayne@69 31837 if (unlikely(!full_name)) { goto modbad; }
jpayne@69 31838 #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400)
jpayne@69 31839 {
jpayne@69 31840 PyObject *modules = PyImport_GetModuleDict();
jpayne@69 31841 if (unlikely(!modules))
jpayne@69 31842 goto modbad;
jpayne@69 31843 value = PyObject_GetItem(modules, full_name);
jpayne@69 31844 }
jpayne@69 31845 #else
jpayne@69 31846 value = PyImport_GetModule(full_name);
jpayne@69 31847 #endif
jpayne@69 31848 modbad:
jpayne@69 31849 Py_XDECREF(full_name);
jpayne@69 31850 Py_XDECREF(module_dot);
jpayne@69 31851 Py_XDECREF(module_name);
jpayne@69 31852 }
jpayne@69 31853 if (unlikely(!value)) {
jpayne@69 31854 PyErr_Format(PyExc_ImportError,
jpayne@69 31855 #if PY_MAJOR_VERSION < 3
jpayne@69 31856 "cannot import name %.230s", PyString_AS_STRING(name));
jpayne@69 31857 #else
jpayne@69 31858 "cannot import name %S", name);
jpayne@69 31859 #endif
jpayne@69 31860 }
jpayne@69 31861 return value;
jpayne@69 31862 }
jpayne@69 31863
jpayne@69 31864 /* GetAttr */
jpayne@69 31865 static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
jpayne@69 31866 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 31867 #if PY_MAJOR_VERSION >= 3
jpayne@69 31868 if (likely(PyUnicode_Check(n)))
jpayne@69 31869 #else
jpayne@69 31870 if (likely(PyString_Check(n)))
jpayne@69 31871 #endif
jpayne@69 31872 return __Pyx_PyObject_GetAttrStr(o, n);
jpayne@69 31873 #endif
jpayne@69 31874 return PyObject_GetAttr(o, n);
jpayne@69 31875 }
jpayne@69 31876
jpayne@69 31877 /* HasAttr */
jpayne@69 31878 static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
jpayne@69 31879 PyObject *r;
jpayne@69 31880 if (unlikely(!__Pyx_PyBaseString_Check(n))) {
jpayne@69 31881 PyErr_SetString(PyExc_TypeError,
jpayne@69 31882 "hasattr(): attribute name must be string");
jpayne@69 31883 return -1;
jpayne@69 31884 }
jpayne@69 31885 r = __Pyx_GetAttr(o, n);
jpayne@69 31886 if (!r) {
jpayne@69 31887 PyErr_Clear();
jpayne@69 31888 return 0;
jpayne@69 31889 } else {
jpayne@69 31890 Py_DECREF(r);
jpayne@69 31891 return 1;
jpayne@69 31892 }
jpayne@69 31893 }
jpayne@69 31894
jpayne@69 31895 /* PyObject_GenericGetAttrNoDict */
jpayne@69 31896 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
jpayne@69 31897 static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
jpayne@69 31898 __Pyx_TypeName type_name = __Pyx_PyType_GetName(tp);
jpayne@69 31899 PyErr_Format(PyExc_AttributeError,
jpayne@69 31900 #if PY_MAJOR_VERSION >= 3
jpayne@69 31901 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'",
jpayne@69 31902 type_name, attr_name);
jpayne@69 31903 #else
jpayne@69 31904 "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'",
jpayne@69 31905 type_name, PyString_AS_STRING(attr_name));
jpayne@69 31906 #endif
jpayne@69 31907 __Pyx_DECREF_TypeName(type_name);
jpayne@69 31908 return NULL;
jpayne@69 31909 }
jpayne@69 31910 static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
jpayne@69 31911 PyObject *descr;
jpayne@69 31912 PyTypeObject *tp = Py_TYPE(obj);
jpayne@69 31913 if (unlikely(!PyString_Check(attr_name))) {
jpayne@69 31914 return PyObject_GenericGetAttr(obj, attr_name);
jpayne@69 31915 }
jpayne@69 31916 assert(!tp->tp_dictoffset);
jpayne@69 31917 descr = _PyType_Lookup(tp, attr_name);
jpayne@69 31918 if (unlikely(!descr)) {
jpayne@69 31919 return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
jpayne@69 31920 }
jpayne@69 31921 Py_INCREF(descr);
jpayne@69 31922 #if PY_MAJOR_VERSION < 3
jpayne@69 31923 if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
jpayne@69 31924 #endif
jpayne@69 31925 {
jpayne@69 31926 descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
jpayne@69 31927 if (unlikely(f)) {
jpayne@69 31928 PyObject *res = f(descr, obj, (PyObject *)tp);
jpayne@69 31929 Py_DECREF(descr);
jpayne@69 31930 return res;
jpayne@69 31931 }
jpayne@69 31932 }
jpayne@69 31933 return descr;
jpayne@69 31934 }
jpayne@69 31935 #endif
jpayne@69 31936
jpayne@69 31937 /* PyObject_GenericGetAttr */
jpayne@69 31938 #if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
jpayne@69 31939 static PyObject* __Pyx_PyObject_GenericGetAttr(PyObject* obj, PyObject* attr_name) {
jpayne@69 31940 if (unlikely(Py_TYPE(obj)->tp_dictoffset)) {
jpayne@69 31941 return PyObject_GenericGetAttr(obj, attr_name);
jpayne@69 31942 }
jpayne@69 31943 return __Pyx_PyObject_GenericGetAttrNoDict(obj, attr_name);
jpayne@69 31944 }
jpayne@69 31945 #endif
jpayne@69 31946
jpayne@69 31947 /* ValidateBasesTuple */
jpayne@69 31948 #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API || CYTHON_USE_TYPE_SPECS
jpayne@69 31949 static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffset, PyObject *bases) {
jpayne@69 31950 Py_ssize_t i, n;
jpayne@69 31951 #if CYTHON_ASSUME_SAFE_MACROS
jpayne@69 31952 n = PyTuple_GET_SIZE(bases);
jpayne@69 31953 #else
jpayne@69 31954 n = PyTuple_Size(bases);
jpayne@69 31955 if (n < 0) return -1;
jpayne@69 31956 #endif
jpayne@69 31957 for (i = 1; i < n; i++)
jpayne@69 31958 {
jpayne@69 31959 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 31960 PyObject *b0 = PySequence_GetItem(bases, i);
jpayne@69 31961 if (!b0) return -1;
jpayne@69 31962 #elif CYTHON_ASSUME_SAFE_MACROS
jpayne@69 31963 PyObject *b0 = PyTuple_GET_ITEM(bases, i);
jpayne@69 31964 #else
jpayne@69 31965 PyObject *b0 = PyTuple_GetItem(bases, i);
jpayne@69 31966 if (!b0) return -1;
jpayne@69 31967 #endif
jpayne@69 31968 PyTypeObject *b;
jpayne@69 31969 #if PY_MAJOR_VERSION < 3
jpayne@69 31970 if (PyClass_Check(b0))
jpayne@69 31971 {
jpayne@69 31972 PyErr_Format(PyExc_TypeError, "base class '%.200s' is an old-style class",
jpayne@69 31973 PyString_AS_STRING(((PyClassObject*)b0)->cl_name));
jpayne@69 31974 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 31975 Py_DECREF(b0);
jpayne@69 31976 #endif
jpayne@69 31977 return -1;
jpayne@69 31978 }
jpayne@69 31979 #endif
jpayne@69 31980 b = (PyTypeObject*) b0;
jpayne@69 31981 if (!__Pyx_PyType_HasFeature(b, Py_TPFLAGS_HEAPTYPE))
jpayne@69 31982 {
jpayne@69 31983 __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
jpayne@69 31984 PyErr_Format(PyExc_TypeError,
jpayne@69 31985 "base class '" __Pyx_FMT_TYPENAME "' is not a heap type", b_name);
jpayne@69 31986 __Pyx_DECREF_TypeName(b_name);
jpayne@69 31987 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 31988 Py_DECREF(b0);
jpayne@69 31989 #endif
jpayne@69 31990 return -1;
jpayne@69 31991 }
jpayne@69 31992 if (dictoffset == 0)
jpayne@69 31993 {
jpayne@69 31994 Py_ssize_t b_dictoffset = 0;
jpayne@69 31995 #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
jpayne@69 31996 b_dictoffset = b->tp_dictoffset;
jpayne@69 31997 #else
jpayne@69 31998 PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__");
jpayne@69 31999 if (!py_b_dictoffset) goto dictoffset_return;
jpayne@69 32000 b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset);
jpayne@69 32001 Py_DECREF(py_b_dictoffset);
jpayne@69 32002 if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return;
jpayne@69 32003 #endif
jpayne@69 32004 if (b_dictoffset) {
jpayne@69 32005 {
jpayne@69 32006 __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
jpayne@69 32007 PyErr_Format(PyExc_TypeError,
jpayne@69 32008 "extension type '%.200s' has no __dict__ slot, "
jpayne@69 32009 "but base type '" __Pyx_FMT_TYPENAME "' has: "
jpayne@69 32010 "either add 'cdef dict __dict__' to the extension type "
jpayne@69 32011 "or add '__slots__ = [...]' to the base type",
jpayne@69 32012 type_name, b_name);
jpayne@69 32013 __Pyx_DECREF_TypeName(b_name);
jpayne@69 32014 }
jpayne@69 32015 #if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY)
jpayne@69 32016 dictoffset_return:
jpayne@69 32017 #endif
jpayne@69 32018 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 32019 Py_DECREF(b0);
jpayne@69 32020 #endif
jpayne@69 32021 return -1;
jpayne@69 32022 }
jpayne@69 32023 }
jpayne@69 32024 #if CYTHON_AVOID_BORROWED_REFS
jpayne@69 32025 Py_DECREF(b0);
jpayne@69 32026 #endif
jpayne@69 32027 }
jpayne@69 32028 return 0;
jpayne@69 32029 }
jpayne@69 32030 #endif
jpayne@69 32031
jpayne@69 32032 /* PyType_Ready */
jpayne@69 32033 static int __Pyx_PyType_Ready(PyTypeObject *t) {
jpayne@69 32034 #if CYTHON_USE_TYPE_SPECS || !(CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_LIMITED_API) || defined(PYSTON_MAJOR_VERSION)
jpayne@69 32035 (void)__Pyx_PyObject_CallMethod0;
jpayne@69 32036 #if CYTHON_USE_TYPE_SPECS
jpayne@69 32037 (void)__Pyx_validate_bases_tuple;
jpayne@69 32038 #endif
jpayne@69 32039 return PyType_Ready(t);
jpayne@69 32040 #else
jpayne@69 32041 int r;
jpayne@69 32042 PyObject *bases = __Pyx_PyType_GetSlot(t, tp_bases, PyObject*);
jpayne@69 32043 if (bases && unlikely(__Pyx_validate_bases_tuple(t->tp_name, t->tp_dictoffset, bases) == -1))
jpayne@69 32044 return -1;
jpayne@69 32045 #if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION)
jpayne@69 32046 {
jpayne@69 32047 int gc_was_enabled;
jpayne@69 32048 #if PY_VERSION_HEX >= 0x030A00b1
jpayne@69 32049 gc_was_enabled = PyGC_Disable();
jpayne@69 32050 (void)__Pyx_PyObject_CallMethod0;
jpayne@69 32051 #else
jpayne@69 32052 PyObject *ret, *py_status;
jpayne@69 32053 PyObject *gc = NULL;
jpayne@69 32054 #if PY_VERSION_HEX >= 0x030700a1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM+0 >= 0x07030400)
jpayne@69 32055 gc = PyImport_GetModule(__pyx_kp_u_gc);
jpayne@69 32056 #endif
jpayne@69 32057 if (unlikely(!gc)) gc = PyImport_Import(__pyx_kp_u_gc);
jpayne@69 32058 if (unlikely(!gc)) return -1;
jpayne@69 32059 py_status = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_isenabled);
jpayne@69 32060 if (unlikely(!py_status)) {
jpayne@69 32061 Py_DECREF(gc);
jpayne@69 32062 return -1;
jpayne@69 32063 }
jpayne@69 32064 gc_was_enabled = __Pyx_PyObject_IsTrue(py_status);
jpayne@69 32065 Py_DECREF(py_status);
jpayne@69 32066 if (gc_was_enabled > 0) {
jpayne@69 32067 ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_disable);
jpayne@69 32068 if (unlikely(!ret)) {
jpayne@69 32069 Py_DECREF(gc);
jpayne@69 32070 return -1;
jpayne@69 32071 }
jpayne@69 32072 Py_DECREF(ret);
jpayne@69 32073 } else if (unlikely(gc_was_enabled == -1)) {
jpayne@69 32074 Py_DECREF(gc);
jpayne@69 32075 return -1;
jpayne@69 32076 }
jpayne@69 32077 #endif
jpayne@69 32078 t->tp_flags |= Py_TPFLAGS_HEAPTYPE;
jpayne@69 32079 #if PY_VERSION_HEX >= 0x030A0000
jpayne@69 32080 t->tp_flags |= Py_TPFLAGS_IMMUTABLETYPE;
jpayne@69 32081 #endif
jpayne@69 32082 #else
jpayne@69 32083 (void)__Pyx_PyObject_CallMethod0;
jpayne@69 32084 #endif
jpayne@69 32085 r = PyType_Ready(t);
jpayne@69 32086 #if PY_VERSION_HEX >= 0x03050000 && !defined(PYSTON_MAJOR_VERSION)
jpayne@69 32087 t->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
jpayne@69 32088 #if PY_VERSION_HEX >= 0x030A00b1
jpayne@69 32089 if (gc_was_enabled)
jpayne@69 32090 PyGC_Enable();
jpayne@69 32091 #else
jpayne@69 32092 if (gc_was_enabled) {
jpayne@69 32093 PyObject *tp, *v, *tb;
jpayne@69 32094 PyErr_Fetch(&tp, &v, &tb);
jpayne@69 32095 ret = __Pyx_PyObject_CallMethod0(gc, __pyx_kp_u_enable);
jpayne@69 32096 if (likely(ret || r == -1)) {
jpayne@69 32097 Py_XDECREF(ret);
jpayne@69 32098 PyErr_Restore(tp, v, tb);
jpayne@69 32099 } else {
jpayne@69 32100 Py_XDECREF(tp);
jpayne@69 32101 Py_XDECREF(v);
jpayne@69 32102 Py_XDECREF(tb);
jpayne@69 32103 r = -1;
jpayne@69 32104 }
jpayne@69 32105 }
jpayne@69 32106 Py_DECREF(gc);
jpayne@69 32107 #endif
jpayne@69 32108 }
jpayne@69 32109 #endif
jpayne@69 32110 return r;
jpayne@69 32111 #endif
jpayne@69 32112 }
jpayne@69 32113
jpayne@69 32114 /* SetVTable */
jpayne@69 32115 static int __Pyx_SetVtable(PyTypeObject *type, void *vtable) {
jpayne@69 32116 PyObject *ob = PyCapsule_New(vtable, 0, 0);
jpayne@69 32117 if (unlikely(!ob))
jpayne@69 32118 goto bad;
jpayne@69 32119 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32120 if (unlikely(PyObject_SetAttr((PyObject *) type, __pyx_n_s_pyx_vtable, ob) < 0))
jpayne@69 32121 #else
jpayne@69 32122 if (unlikely(PyDict_SetItem(type->tp_dict, __pyx_n_s_pyx_vtable, ob) < 0))
jpayne@69 32123 #endif
jpayne@69 32124 goto bad;
jpayne@69 32125 Py_DECREF(ob);
jpayne@69 32126 return 0;
jpayne@69 32127 bad:
jpayne@69 32128 Py_XDECREF(ob);
jpayne@69 32129 return -1;
jpayne@69 32130 }
jpayne@69 32131
jpayne@69 32132 /* GetVTable */
jpayne@69 32133 static void* __Pyx_GetVtable(PyTypeObject *type) {
jpayne@69 32134 void* ptr;
jpayne@69 32135 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32136 PyObject *ob = PyObject_GetAttr((PyObject *)type, __pyx_n_s_pyx_vtable);
jpayne@69 32137 #else
jpayne@69 32138 PyObject *ob = PyObject_GetItem(type->tp_dict, __pyx_n_s_pyx_vtable);
jpayne@69 32139 #endif
jpayne@69 32140 if (!ob)
jpayne@69 32141 goto bad;
jpayne@69 32142 ptr = PyCapsule_GetPointer(ob, 0);
jpayne@69 32143 if (!ptr && !PyErr_Occurred())
jpayne@69 32144 PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
jpayne@69 32145 Py_DECREF(ob);
jpayne@69 32146 return ptr;
jpayne@69 32147 bad:
jpayne@69 32148 Py_XDECREF(ob);
jpayne@69 32149 return NULL;
jpayne@69 32150 }
jpayne@69 32151
jpayne@69 32152 /* MergeVTables */
jpayne@69 32153 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32154 static int __Pyx_MergeVtables(PyTypeObject *type) {
jpayne@69 32155 int i;
jpayne@69 32156 void** base_vtables;
jpayne@69 32157 __Pyx_TypeName tp_base_name;
jpayne@69 32158 __Pyx_TypeName base_name;
jpayne@69 32159 void* unknown = (void*)-1;
jpayne@69 32160 PyObject* bases = type->tp_bases;
jpayne@69 32161 int base_depth = 0;
jpayne@69 32162 {
jpayne@69 32163 PyTypeObject* base = type->tp_base;
jpayne@69 32164 while (base) {
jpayne@69 32165 base_depth += 1;
jpayne@69 32166 base = base->tp_base;
jpayne@69 32167 }
jpayne@69 32168 }
jpayne@69 32169 base_vtables = (void**) malloc(sizeof(void*) * (size_t)(base_depth + 1));
jpayne@69 32170 base_vtables[0] = unknown;
jpayne@69 32171 for (i = 1; i < PyTuple_GET_SIZE(bases); i++) {
jpayne@69 32172 void* base_vtable = __Pyx_GetVtable(((PyTypeObject*)PyTuple_GET_ITEM(bases, i)));
jpayne@69 32173 if (base_vtable != NULL) {
jpayne@69 32174 int j;
jpayne@69 32175 PyTypeObject* base = type->tp_base;
jpayne@69 32176 for (j = 0; j < base_depth; j++) {
jpayne@69 32177 if (base_vtables[j] == unknown) {
jpayne@69 32178 base_vtables[j] = __Pyx_GetVtable(base);
jpayne@69 32179 base_vtables[j + 1] = unknown;
jpayne@69 32180 }
jpayne@69 32181 if (base_vtables[j] == base_vtable) {
jpayne@69 32182 break;
jpayne@69 32183 } else if (base_vtables[j] == NULL) {
jpayne@69 32184 goto bad;
jpayne@69 32185 }
jpayne@69 32186 base = base->tp_base;
jpayne@69 32187 }
jpayne@69 32188 }
jpayne@69 32189 }
jpayne@69 32190 PyErr_Clear();
jpayne@69 32191 free(base_vtables);
jpayne@69 32192 return 0;
jpayne@69 32193 bad:
jpayne@69 32194 tp_base_name = __Pyx_PyType_GetName(type->tp_base);
jpayne@69 32195 base_name = __Pyx_PyType_GetName((PyTypeObject*)PyTuple_GET_ITEM(bases, i));
jpayne@69 32196 PyErr_Format(PyExc_TypeError,
jpayne@69 32197 "multiple bases have vtable conflict: '" __Pyx_FMT_TYPENAME "' and '" __Pyx_FMT_TYPENAME "'", tp_base_name, base_name);
jpayne@69 32198 __Pyx_DECREF_TypeName(tp_base_name);
jpayne@69 32199 __Pyx_DECREF_TypeName(base_name);
jpayne@69 32200 free(base_vtables);
jpayne@69 32201 return -1;
jpayne@69 32202 }
jpayne@69 32203 #endif
jpayne@69 32204
jpayne@69 32205 /* SetupReduce */
jpayne@69 32206 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32207 static int __Pyx_setup_reduce_is_named(PyObject* meth, PyObject* name) {
jpayne@69 32208 int ret;
jpayne@69 32209 PyObject *name_attr;
jpayne@69 32210 name_attr = __Pyx_PyObject_GetAttrStrNoError(meth, __pyx_n_s_name_2);
jpayne@69 32211 if (likely(name_attr)) {
jpayne@69 32212 ret = PyObject_RichCompareBool(name_attr, name, Py_EQ);
jpayne@69 32213 } else {
jpayne@69 32214 ret = -1;
jpayne@69 32215 }
jpayne@69 32216 if (unlikely(ret < 0)) {
jpayne@69 32217 PyErr_Clear();
jpayne@69 32218 ret = 0;
jpayne@69 32219 }
jpayne@69 32220 Py_XDECREF(name_attr);
jpayne@69 32221 return ret;
jpayne@69 32222 }
jpayne@69 32223 static int __Pyx_setup_reduce(PyObject* type_obj) {
jpayne@69 32224 int ret = 0;
jpayne@69 32225 PyObject *object_reduce = NULL;
jpayne@69 32226 PyObject *object_getstate = NULL;
jpayne@69 32227 PyObject *object_reduce_ex = NULL;
jpayne@69 32228 PyObject *reduce = NULL;
jpayne@69 32229 PyObject *reduce_ex = NULL;
jpayne@69 32230 PyObject *reduce_cython = NULL;
jpayne@69 32231 PyObject *setstate = NULL;
jpayne@69 32232 PyObject *setstate_cython = NULL;
jpayne@69 32233 PyObject *getstate = NULL;
jpayne@69 32234 #if CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 32235 getstate = _PyType_Lookup((PyTypeObject*)type_obj, __pyx_n_s_getstate);
jpayne@69 32236 #else
jpayne@69 32237 getstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_getstate);
jpayne@69 32238 if (!getstate && PyErr_Occurred()) {
jpayne@69 32239 goto __PYX_BAD;
jpayne@69 32240 }
jpayne@69 32241 #endif
jpayne@69 32242 if (getstate) {
jpayne@69 32243 #if CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 32244 object_getstate = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_getstate);
jpayne@69 32245 #else
jpayne@69 32246 object_getstate = __Pyx_PyObject_GetAttrStrNoError((PyObject*)&PyBaseObject_Type, __pyx_n_s_getstate);
jpayne@69 32247 if (!object_getstate && PyErr_Occurred()) {
jpayne@69 32248 goto __PYX_BAD;
jpayne@69 32249 }
jpayne@69 32250 #endif
jpayne@69 32251 if (object_getstate != getstate) {
jpayne@69 32252 goto __PYX_GOOD;
jpayne@69 32253 }
jpayne@69 32254 }
jpayne@69 32255 #if CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 32256 object_reduce_ex = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
jpayne@69 32257 #else
jpayne@69 32258 object_reduce_ex = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce_ex); if (!object_reduce_ex) goto __PYX_BAD;
jpayne@69 32259 #endif
jpayne@69 32260 reduce_ex = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce_ex); if (unlikely(!reduce_ex)) goto __PYX_BAD;
jpayne@69 32261 if (reduce_ex == object_reduce_ex) {
jpayne@69 32262 #if CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 32263 object_reduce = _PyType_Lookup(&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
jpayne@69 32264 #else
jpayne@69 32265 object_reduce = __Pyx_PyObject_GetAttrStr((PyObject*)&PyBaseObject_Type, __pyx_n_s_reduce); if (!object_reduce) goto __PYX_BAD;
jpayne@69 32266 #endif
jpayne@69 32267 reduce = __Pyx_PyObject_GetAttrStr(type_obj, __pyx_n_s_reduce); if (unlikely(!reduce)) goto __PYX_BAD;
jpayne@69 32268 if (reduce == object_reduce || __Pyx_setup_reduce_is_named(reduce, __pyx_n_s_reduce_cython)) {
jpayne@69 32269 reduce_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_reduce_cython);
jpayne@69 32270 if (likely(reduce_cython)) {
jpayne@69 32271 ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce, reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
jpayne@69 32272 ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_reduce_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
jpayne@69 32273 } else if (reduce == object_reduce || PyErr_Occurred()) {
jpayne@69 32274 goto __PYX_BAD;
jpayne@69 32275 }
jpayne@69 32276 setstate = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate);
jpayne@69 32277 if (!setstate) PyErr_Clear();
jpayne@69 32278 if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
jpayne@69 32279 setstate_cython = __Pyx_PyObject_GetAttrStrNoError(type_obj, __pyx_n_s_setstate_cython);
jpayne@69 32280 if (likely(setstate_cython)) {
jpayne@69 32281 ret = PyDict_SetItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate, setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
jpayne@69 32282 ret = PyDict_DelItem(((PyTypeObject*)type_obj)->tp_dict, __pyx_n_s_setstate_cython); if (unlikely(ret < 0)) goto __PYX_BAD;
jpayne@69 32283 } else if (!setstate || PyErr_Occurred()) {
jpayne@69 32284 goto __PYX_BAD;
jpayne@69 32285 }
jpayne@69 32286 }
jpayne@69 32287 PyType_Modified((PyTypeObject*)type_obj);
jpayne@69 32288 }
jpayne@69 32289 }
jpayne@69 32290 goto __PYX_GOOD;
jpayne@69 32291 __PYX_BAD:
jpayne@69 32292 if (!PyErr_Occurred()) {
jpayne@69 32293 __Pyx_TypeName type_obj_name =
jpayne@69 32294 __Pyx_PyType_GetName((PyTypeObject*)type_obj);
jpayne@69 32295 PyErr_Format(PyExc_RuntimeError,
jpayne@69 32296 "Unable to initialize pickling for " __Pyx_FMT_TYPENAME, type_obj_name);
jpayne@69 32297 __Pyx_DECREF_TypeName(type_obj_name);
jpayne@69 32298 }
jpayne@69 32299 ret = -1;
jpayne@69 32300 __PYX_GOOD:
jpayne@69 32301 #if !CYTHON_USE_PYTYPE_LOOKUP
jpayne@69 32302 Py_XDECREF(object_reduce);
jpayne@69 32303 Py_XDECREF(object_reduce_ex);
jpayne@69 32304 Py_XDECREF(object_getstate);
jpayne@69 32305 Py_XDECREF(getstate);
jpayne@69 32306 #endif
jpayne@69 32307 Py_XDECREF(reduce);
jpayne@69 32308 Py_XDECREF(reduce_ex);
jpayne@69 32309 Py_XDECREF(reduce_cython);
jpayne@69 32310 Py_XDECREF(setstate);
jpayne@69 32311 Py_XDECREF(setstate_cython);
jpayne@69 32312 return ret;
jpayne@69 32313 }
jpayne@69 32314 #endif
jpayne@69 32315
jpayne@69 32316 /* TypeImport */
jpayne@69 32317 #ifndef __PYX_HAVE_RT_ImportType_3_0_11
jpayne@69 32318 #define __PYX_HAVE_RT_ImportType_3_0_11
jpayne@69 32319 static PyTypeObject *__Pyx_ImportType_3_0_11(PyObject *module, const char *module_name, const char *class_name,
jpayne@69 32320 size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_3_0_11 check_size)
jpayne@69 32321 {
jpayne@69 32322 PyObject *result = 0;
jpayne@69 32323 char warning[200];
jpayne@69 32324 Py_ssize_t basicsize;
jpayne@69 32325 Py_ssize_t itemsize;
jpayne@69 32326 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32327 PyObject *py_basicsize;
jpayne@69 32328 PyObject *py_itemsize;
jpayne@69 32329 #endif
jpayne@69 32330 result = PyObject_GetAttrString(module, class_name);
jpayne@69 32331 if (!result)
jpayne@69 32332 goto bad;
jpayne@69 32333 if (!PyType_Check(result)) {
jpayne@69 32334 PyErr_Format(PyExc_TypeError,
jpayne@69 32335 "%.200s.%.200s is not a type object",
jpayne@69 32336 module_name, class_name);
jpayne@69 32337 goto bad;
jpayne@69 32338 }
jpayne@69 32339 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32340 basicsize = ((PyTypeObject *)result)->tp_basicsize;
jpayne@69 32341 itemsize = ((PyTypeObject *)result)->tp_itemsize;
jpayne@69 32342 #else
jpayne@69 32343 py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
jpayne@69 32344 if (!py_basicsize)
jpayne@69 32345 goto bad;
jpayne@69 32346 basicsize = PyLong_AsSsize_t(py_basicsize);
jpayne@69 32347 Py_DECREF(py_basicsize);
jpayne@69 32348 py_basicsize = 0;
jpayne@69 32349 if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
jpayne@69 32350 goto bad;
jpayne@69 32351 py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
jpayne@69 32352 if (!py_itemsize)
jpayne@69 32353 goto bad;
jpayne@69 32354 itemsize = PyLong_AsSsize_t(py_itemsize);
jpayne@69 32355 Py_DECREF(py_itemsize);
jpayne@69 32356 py_itemsize = 0;
jpayne@69 32357 if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
jpayne@69 32358 goto bad;
jpayne@69 32359 #endif
jpayne@69 32360 if (itemsize) {
jpayne@69 32361 if (size % alignment) {
jpayne@69 32362 alignment = size % alignment;
jpayne@69 32363 }
jpayne@69 32364 if (itemsize < (Py_ssize_t)alignment)
jpayne@69 32365 itemsize = (Py_ssize_t)alignment;
jpayne@69 32366 }
jpayne@69 32367 if ((size_t)(basicsize + itemsize) < size) {
jpayne@69 32368 PyErr_Format(PyExc_ValueError,
jpayne@69 32369 "%.200s.%.200s size changed, may indicate binary incompatibility. "
jpayne@69 32370 "Expected %zd from C header, got %zd from PyObject",
jpayne@69 32371 module_name, class_name, size, basicsize+itemsize);
jpayne@69 32372 goto bad;
jpayne@69 32373 }
jpayne@69 32374 if (check_size == __Pyx_ImportType_CheckSize_Error_3_0_11 &&
jpayne@69 32375 ((size_t)basicsize > size || (size_t)(basicsize + itemsize) < size)) {
jpayne@69 32376 PyErr_Format(PyExc_ValueError,
jpayne@69 32377 "%.200s.%.200s size changed, may indicate binary incompatibility. "
jpayne@69 32378 "Expected %zd from C header, got %zd-%zd from PyObject",
jpayne@69 32379 module_name, class_name, size, basicsize, basicsize+itemsize);
jpayne@69 32380 goto bad;
jpayne@69 32381 }
jpayne@69 32382 else if (check_size == __Pyx_ImportType_CheckSize_Warn_3_0_11 && (size_t)basicsize > size) {
jpayne@69 32383 PyOS_snprintf(warning, sizeof(warning),
jpayne@69 32384 "%s.%s size changed, may indicate binary incompatibility. "
jpayne@69 32385 "Expected %zd from C header, got %zd from PyObject",
jpayne@69 32386 module_name, class_name, size, basicsize);
jpayne@69 32387 if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
jpayne@69 32388 }
jpayne@69 32389 return (PyTypeObject *)result;
jpayne@69 32390 bad:
jpayne@69 32391 Py_XDECREF(result);
jpayne@69 32392 return NULL;
jpayne@69 32393 }
jpayne@69 32394 #endif
jpayne@69 32395
jpayne@69 32396 /* ImportDottedModule */
jpayne@69 32397 #if PY_MAJOR_VERSION >= 3
jpayne@69 32398 static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) {
jpayne@69 32399 PyObject *partial_name = NULL, *slice = NULL, *sep = NULL;
jpayne@69 32400 if (unlikely(PyErr_Occurred())) {
jpayne@69 32401 PyErr_Clear();
jpayne@69 32402 }
jpayne@69 32403 if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) {
jpayne@69 32404 partial_name = name;
jpayne@69 32405 } else {
jpayne@69 32406 slice = PySequence_GetSlice(parts_tuple, 0, count);
jpayne@69 32407 if (unlikely(!slice))
jpayne@69 32408 goto bad;
jpayne@69 32409 sep = PyUnicode_FromStringAndSize(".", 1);
jpayne@69 32410 if (unlikely(!sep))
jpayne@69 32411 goto bad;
jpayne@69 32412 partial_name = PyUnicode_Join(sep, slice);
jpayne@69 32413 }
jpayne@69 32414 PyErr_Format(
jpayne@69 32415 #if PY_MAJOR_VERSION < 3
jpayne@69 32416 PyExc_ImportError,
jpayne@69 32417 "No module named '%s'", PyString_AS_STRING(partial_name));
jpayne@69 32418 #else
jpayne@69 32419 #if PY_VERSION_HEX >= 0x030600B1
jpayne@69 32420 PyExc_ModuleNotFoundError,
jpayne@69 32421 #else
jpayne@69 32422 PyExc_ImportError,
jpayne@69 32423 #endif
jpayne@69 32424 "No module named '%U'", partial_name);
jpayne@69 32425 #endif
jpayne@69 32426 bad:
jpayne@69 32427 Py_XDECREF(sep);
jpayne@69 32428 Py_XDECREF(slice);
jpayne@69 32429 Py_XDECREF(partial_name);
jpayne@69 32430 return NULL;
jpayne@69 32431 }
jpayne@69 32432 #endif
jpayne@69 32433 #if PY_MAJOR_VERSION >= 3
jpayne@69 32434 static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) {
jpayne@69 32435 PyObject *imported_module;
jpayne@69 32436 #if PY_VERSION_HEX < 0x030700A1 || (CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM < 0x07030400)
jpayne@69 32437 PyObject *modules = PyImport_GetModuleDict();
jpayne@69 32438 if (unlikely(!modules))
jpayne@69 32439 return NULL;
jpayne@69 32440 imported_module = __Pyx_PyDict_GetItemStr(modules, name);
jpayne@69 32441 Py_XINCREF(imported_module);
jpayne@69 32442 #else
jpayne@69 32443 imported_module = PyImport_GetModule(name);
jpayne@69 32444 #endif
jpayne@69 32445 return imported_module;
jpayne@69 32446 }
jpayne@69 32447 #endif
jpayne@69 32448 #if PY_MAJOR_VERSION >= 3
jpayne@69 32449 static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) {
jpayne@69 32450 Py_ssize_t i, nparts;
jpayne@69 32451 nparts = PyTuple_GET_SIZE(parts_tuple);
jpayne@69 32452 for (i=1; i < nparts && module; i++) {
jpayne@69 32453 PyObject *part, *submodule;
jpayne@69 32454 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 32455 part = PyTuple_GET_ITEM(parts_tuple, i);
jpayne@69 32456 #else
jpayne@69 32457 part = PySequence_ITEM(parts_tuple, i);
jpayne@69 32458 #endif
jpayne@69 32459 submodule = __Pyx_PyObject_GetAttrStrNoError(module, part);
jpayne@69 32460 #if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
jpayne@69 32461 Py_DECREF(part);
jpayne@69 32462 #endif
jpayne@69 32463 Py_DECREF(module);
jpayne@69 32464 module = submodule;
jpayne@69 32465 }
jpayne@69 32466 if (unlikely(!module)) {
jpayne@69 32467 return __Pyx__ImportDottedModule_Error(name, parts_tuple, i);
jpayne@69 32468 }
jpayne@69 32469 return module;
jpayne@69 32470 }
jpayne@69 32471 #endif
jpayne@69 32472 static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
jpayne@69 32473 #if PY_MAJOR_VERSION < 3
jpayne@69 32474 PyObject *module, *from_list, *star = __pyx_n_s__32;
jpayne@69 32475 CYTHON_UNUSED_VAR(parts_tuple);
jpayne@69 32476 from_list = PyList_New(1);
jpayne@69 32477 if (unlikely(!from_list))
jpayne@69 32478 return NULL;
jpayne@69 32479 Py_INCREF(star);
jpayne@69 32480 PyList_SET_ITEM(from_list, 0, star);
jpayne@69 32481 module = __Pyx_Import(name, from_list, 0);
jpayne@69 32482 Py_DECREF(from_list);
jpayne@69 32483 return module;
jpayne@69 32484 #else
jpayne@69 32485 PyObject *imported_module;
jpayne@69 32486 PyObject *module = __Pyx_Import(name, NULL, 0);
jpayne@69 32487 if (!parts_tuple || unlikely(!module))
jpayne@69 32488 return module;
jpayne@69 32489 imported_module = __Pyx__ImportDottedModule_Lookup(name);
jpayne@69 32490 if (likely(imported_module)) {
jpayne@69 32491 Py_DECREF(module);
jpayne@69 32492 return imported_module;
jpayne@69 32493 }
jpayne@69 32494 PyErr_Clear();
jpayne@69 32495 return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple);
jpayne@69 32496 #endif
jpayne@69 32497 }
jpayne@69 32498 static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) {
jpayne@69 32499 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030400B1
jpayne@69 32500 PyObject *module = __Pyx__ImportDottedModule_Lookup(name);
jpayne@69 32501 if (likely(module)) {
jpayne@69 32502 PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec);
jpayne@69 32503 if (likely(spec)) {
jpayne@69 32504 PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing);
jpayne@69 32505 if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) {
jpayne@69 32506 Py_DECREF(spec);
jpayne@69 32507 spec = NULL;
jpayne@69 32508 }
jpayne@69 32509 Py_XDECREF(unsafe);
jpayne@69 32510 }
jpayne@69 32511 if (likely(!spec)) {
jpayne@69 32512 PyErr_Clear();
jpayne@69 32513 return module;
jpayne@69 32514 }
jpayne@69 32515 Py_DECREF(spec);
jpayne@69 32516 Py_DECREF(module);
jpayne@69 32517 } else if (PyErr_Occurred()) {
jpayne@69 32518 PyErr_Clear();
jpayne@69 32519 }
jpayne@69 32520 #endif
jpayne@69 32521 return __Pyx__ImportDottedModule(name, parts_tuple);
jpayne@69 32522 }
jpayne@69 32523
jpayne@69 32524 /* CLineInTraceback */
jpayne@69 32525 #ifndef CYTHON_CLINE_IN_TRACEBACK
jpayne@69 32526 static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
jpayne@69 32527 PyObject *use_cline;
jpayne@69 32528 PyObject *ptype, *pvalue, *ptraceback;
jpayne@69 32529 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 32530 PyObject **cython_runtime_dict;
jpayne@69 32531 #endif
jpayne@69 32532 CYTHON_MAYBE_UNUSED_VAR(tstate);
jpayne@69 32533 if (unlikely(!__pyx_cython_runtime)) {
jpayne@69 32534 return c_line;
jpayne@69 32535 }
jpayne@69 32536 __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
jpayne@69 32537 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 32538 cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
jpayne@69 32539 if (likely(cython_runtime_dict)) {
jpayne@69 32540 __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
jpayne@69 32541 use_cline, *cython_runtime_dict,
jpayne@69 32542 __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
jpayne@69 32543 } else
jpayne@69 32544 #endif
jpayne@69 32545 {
jpayne@69 32546 PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback);
jpayne@69 32547 if (use_cline_obj) {
jpayne@69 32548 use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True;
jpayne@69 32549 Py_DECREF(use_cline_obj);
jpayne@69 32550 } else {
jpayne@69 32551 PyErr_Clear();
jpayne@69 32552 use_cline = NULL;
jpayne@69 32553 }
jpayne@69 32554 }
jpayne@69 32555 if (!use_cline) {
jpayne@69 32556 c_line = 0;
jpayne@69 32557 (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
jpayne@69 32558 }
jpayne@69 32559 else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
jpayne@69 32560 c_line = 0;
jpayne@69 32561 }
jpayne@69 32562 __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
jpayne@69 32563 return c_line;
jpayne@69 32564 }
jpayne@69 32565 #endif
jpayne@69 32566
jpayne@69 32567 /* CodeObjectCache */
jpayne@69 32568 #if !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32569 static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
jpayne@69 32570 int start = 0, mid = 0, end = count - 1;
jpayne@69 32571 if (end >= 0 && code_line > entries[end].code_line) {
jpayne@69 32572 return count;
jpayne@69 32573 }
jpayne@69 32574 while (start < end) {
jpayne@69 32575 mid = start + (end - start) / 2;
jpayne@69 32576 if (code_line < entries[mid].code_line) {
jpayne@69 32577 end = mid;
jpayne@69 32578 } else if (code_line > entries[mid].code_line) {
jpayne@69 32579 start = mid + 1;
jpayne@69 32580 } else {
jpayne@69 32581 return mid;
jpayne@69 32582 }
jpayne@69 32583 }
jpayne@69 32584 if (code_line <= entries[mid].code_line) {
jpayne@69 32585 return mid;
jpayne@69 32586 } else {
jpayne@69 32587 return mid + 1;
jpayne@69 32588 }
jpayne@69 32589 }
jpayne@69 32590 static PyCodeObject *__pyx_find_code_object(int code_line) {
jpayne@69 32591 PyCodeObject* code_object;
jpayne@69 32592 int pos;
jpayne@69 32593 if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
jpayne@69 32594 return NULL;
jpayne@69 32595 }
jpayne@69 32596 pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
jpayne@69 32597 if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
jpayne@69 32598 return NULL;
jpayne@69 32599 }
jpayne@69 32600 code_object = __pyx_code_cache.entries[pos].code_object;
jpayne@69 32601 Py_INCREF(code_object);
jpayne@69 32602 return code_object;
jpayne@69 32603 }
jpayne@69 32604 static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
jpayne@69 32605 int pos, i;
jpayne@69 32606 __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
jpayne@69 32607 if (unlikely(!code_line)) {
jpayne@69 32608 return;
jpayne@69 32609 }
jpayne@69 32610 if (unlikely(!entries)) {
jpayne@69 32611 entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
jpayne@69 32612 if (likely(entries)) {
jpayne@69 32613 __pyx_code_cache.entries = entries;
jpayne@69 32614 __pyx_code_cache.max_count = 64;
jpayne@69 32615 __pyx_code_cache.count = 1;
jpayne@69 32616 entries[0].code_line = code_line;
jpayne@69 32617 entries[0].code_object = code_object;
jpayne@69 32618 Py_INCREF(code_object);
jpayne@69 32619 }
jpayne@69 32620 return;
jpayne@69 32621 }
jpayne@69 32622 pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
jpayne@69 32623 if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
jpayne@69 32624 PyCodeObject* tmp = entries[pos].code_object;
jpayne@69 32625 entries[pos].code_object = code_object;
jpayne@69 32626 Py_DECREF(tmp);
jpayne@69 32627 return;
jpayne@69 32628 }
jpayne@69 32629 if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
jpayne@69 32630 int new_max = __pyx_code_cache.max_count + 64;
jpayne@69 32631 entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
jpayne@69 32632 __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry));
jpayne@69 32633 if (unlikely(!entries)) {
jpayne@69 32634 return;
jpayne@69 32635 }
jpayne@69 32636 __pyx_code_cache.entries = entries;
jpayne@69 32637 __pyx_code_cache.max_count = new_max;
jpayne@69 32638 }
jpayne@69 32639 for (i=__pyx_code_cache.count; i>pos; i--) {
jpayne@69 32640 entries[i] = entries[i-1];
jpayne@69 32641 }
jpayne@69 32642 entries[pos].code_line = code_line;
jpayne@69 32643 entries[pos].code_object = code_object;
jpayne@69 32644 __pyx_code_cache.count++;
jpayne@69 32645 Py_INCREF(code_object);
jpayne@69 32646 }
jpayne@69 32647 #endif
jpayne@69 32648
jpayne@69 32649 /* AddTraceback */
jpayne@69 32650 #include "compile.h"
jpayne@69 32651 #include "frameobject.h"
jpayne@69 32652 #include "traceback.h"
jpayne@69 32653 #if PY_VERSION_HEX >= 0x030b00a6 && !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32654 #ifndef Py_BUILD_CORE
jpayne@69 32655 #define Py_BUILD_CORE 1
jpayne@69 32656 #endif
jpayne@69 32657 #include "internal/pycore_frame.h"
jpayne@69 32658 #endif
jpayne@69 32659 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 32660 static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject *scratch_dict,
jpayne@69 32661 PyObject *firstlineno, PyObject *name) {
jpayne@69 32662 PyObject *replace = NULL;
jpayne@69 32663 if (unlikely(PyDict_SetItemString(scratch_dict, "co_firstlineno", firstlineno))) return NULL;
jpayne@69 32664 if (unlikely(PyDict_SetItemString(scratch_dict, "co_name", name))) return NULL;
jpayne@69 32665 replace = PyObject_GetAttrString(code, "replace");
jpayne@69 32666 if (likely(replace)) {
jpayne@69 32667 PyObject *result;
jpayne@69 32668 result = PyObject_Call(replace, __pyx_empty_tuple, scratch_dict);
jpayne@69 32669 Py_DECREF(replace);
jpayne@69 32670 return result;
jpayne@69 32671 }
jpayne@69 32672 PyErr_Clear();
jpayne@69 32673 #if __PYX_LIMITED_VERSION_HEX < 0x030780000
jpayne@69 32674 {
jpayne@69 32675 PyObject *compiled = NULL, *result = NULL;
jpayne@69 32676 if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
jpayne@69 32677 if (unlikely(PyDict_SetItemString(scratch_dict, "type", (PyObject*)(&PyType_Type)))) return NULL;
jpayne@69 32678 compiled = Py_CompileString(
jpayne@69 32679 "out = type(code)(\n"
jpayne@69 32680 " code.co_argcount, code.co_kwonlyargcount, code.co_nlocals, code.co_stacksize,\n"
jpayne@69 32681 " code.co_flags, code.co_code, code.co_consts, code.co_names,\n"
jpayne@69 32682 " code.co_varnames, code.co_filename, co_name, co_firstlineno,\n"
jpayne@69 32683 " code.co_lnotab)\n", "<dummy>", Py_file_input);
jpayne@69 32684 if (!compiled) return NULL;
jpayne@69 32685 result = PyEval_EvalCode(compiled, scratch_dict, scratch_dict);
jpayne@69 32686 Py_DECREF(compiled);
jpayne@69 32687 if (!result) PyErr_Print();
jpayne@69 32688 Py_DECREF(result);
jpayne@69 32689 result = PyDict_GetItemString(scratch_dict, "out");
jpayne@69 32690 if (result) Py_INCREF(result);
jpayne@69 32691 return result;
jpayne@69 32692 }
jpayne@69 32693 #else
jpayne@69 32694 return NULL;
jpayne@69 32695 #endif
jpayne@69 32696 }
jpayne@69 32697 static void __Pyx_AddTraceback(const char *funcname, int c_line,
jpayne@69 32698 int py_line, const char *filename) {
jpayne@69 32699 PyObject *code_object = NULL, *py_py_line = NULL, *py_funcname = NULL, *dict = NULL;
jpayne@69 32700 PyObject *replace = NULL, *getframe = NULL, *frame = NULL;
jpayne@69 32701 PyObject *exc_type, *exc_value, *exc_traceback;
jpayne@69 32702 int success = 0;
jpayne@69 32703 if (c_line) {
jpayne@69 32704 (void) __pyx_cfilenm;
jpayne@69 32705 (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line);
jpayne@69 32706 }
jpayne@69 32707 PyErr_Fetch(&exc_type, &exc_value, &exc_traceback);
jpayne@69 32708 code_object = Py_CompileString("_getframe()", filename, Py_eval_input);
jpayne@69 32709 if (unlikely(!code_object)) goto bad;
jpayne@69 32710 py_py_line = PyLong_FromLong(py_line);
jpayne@69 32711 if (unlikely(!py_py_line)) goto bad;
jpayne@69 32712 py_funcname = PyUnicode_FromString(funcname);
jpayne@69 32713 if (unlikely(!py_funcname)) goto bad;
jpayne@69 32714 dict = PyDict_New();
jpayne@69 32715 if (unlikely(!dict)) goto bad;
jpayne@69 32716 {
jpayne@69 32717 PyObject *old_code_object = code_object;
jpayne@69 32718 code_object = __Pyx_PyCode_Replace_For_AddTraceback(code_object, dict, py_py_line, py_funcname);
jpayne@69 32719 Py_DECREF(old_code_object);
jpayne@69 32720 }
jpayne@69 32721 if (unlikely(!code_object)) goto bad;
jpayne@69 32722 getframe = PySys_GetObject("_getframe");
jpayne@69 32723 if (unlikely(!getframe)) goto bad;
jpayne@69 32724 if (unlikely(PyDict_SetItemString(dict, "_getframe", getframe))) goto bad;
jpayne@69 32725 frame = PyEval_EvalCode(code_object, dict, dict);
jpayne@69 32726 if (unlikely(!frame) || frame == Py_None) goto bad;
jpayne@69 32727 success = 1;
jpayne@69 32728 bad:
jpayne@69 32729 PyErr_Restore(exc_type, exc_value, exc_traceback);
jpayne@69 32730 Py_XDECREF(code_object);
jpayne@69 32731 Py_XDECREF(py_py_line);
jpayne@69 32732 Py_XDECREF(py_funcname);
jpayne@69 32733 Py_XDECREF(dict);
jpayne@69 32734 Py_XDECREF(replace);
jpayne@69 32735 if (success) {
jpayne@69 32736 PyTraceBack_Here(
jpayne@69 32737 (struct _frame*)frame);
jpayne@69 32738 }
jpayne@69 32739 Py_XDECREF(frame);
jpayne@69 32740 }
jpayne@69 32741 #else
jpayne@69 32742 static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
jpayne@69 32743 const char *funcname, int c_line,
jpayne@69 32744 int py_line, const char *filename) {
jpayne@69 32745 PyCodeObject *py_code = NULL;
jpayne@69 32746 PyObject *py_funcname = NULL;
jpayne@69 32747 #if PY_MAJOR_VERSION < 3
jpayne@69 32748 PyObject *py_srcfile = NULL;
jpayne@69 32749 py_srcfile = PyString_FromString(filename);
jpayne@69 32750 if (!py_srcfile) goto bad;
jpayne@69 32751 #endif
jpayne@69 32752 if (c_line) {
jpayne@69 32753 #if PY_MAJOR_VERSION < 3
jpayne@69 32754 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
jpayne@69 32755 if (!py_funcname) goto bad;
jpayne@69 32756 #else
jpayne@69 32757 py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
jpayne@69 32758 if (!py_funcname) goto bad;
jpayne@69 32759 funcname = PyUnicode_AsUTF8(py_funcname);
jpayne@69 32760 if (!funcname) goto bad;
jpayne@69 32761 #endif
jpayne@69 32762 }
jpayne@69 32763 else {
jpayne@69 32764 #if PY_MAJOR_VERSION < 3
jpayne@69 32765 py_funcname = PyString_FromString(funcname);
jpayne@69 32766 if (!py_funcname) goto bad;
jpayne@69 32767 #endif
jpayne@69 32768 }
jpayne@69 32769 #if PY_MAJOR_VERSION < 3
jpayne@69 32770 py_code = __Pyx_PyCode_New(
jpayne@69 32771 0,
jpayne@69 32772 0,
jpayne@69 32773 0,
jpayne@69 32774 0,
jpayne@69 32775 0,
jpayne@69 32776 0,
jpayne@69 32777 __pyx_empty_bytes, /*PyObject *code,*/
jpayne@69 32778 __pyx_empty_tuple, /*PyObject *consts,*/
jpayne@69 32779 __pyx_empty_tuple, /*PyObject *names,*/
jpayne@69 32780 __pyx_empty_tuple, /*PyObject *varnames,*/
jpayne@69 32781 __pyx_empty_tuple, /*PyObject *freevars,*/
jpayne@69 32782 __pyx_empty_tuple, /*PyObject *cellvars,*/
jpayne@69 32783 py_srcfile, /*PyObject *filename,*/
jpayne@69 32784 py_funcname, /*PyObject *name,*/
jpayne@69 32785 py_line,
jpayne@69 32786 __pyx_empty_bytes /*PyObject *lnotab*/
jpayne@69 32787 );
jpayne@69 32788 Py_DECREF(py_srcfile);
jpayne@69 32789 #else
jpayne@69 32790 py_code = PyCode_NewEmpty(filename, funcname, py_line);
jpayne@69 32791 #endif
jpayne@69 32792 Py_XDECREF(py_funcname);
jpayne@69 32793 return py_code;
jpayne@69 32794 bad:
jpayne@69 32795 Py_XDECREF(py_funcname);
jpayne@69 32796 #if PY_MAJOR_VERSION < 3
jpayne@69 32797 Py_XDECREF(py_srcfile);
jpayne@69 32798 #endif
jpayne@69 32799 return NULL;
jpayne@69 32800 }
jpayne@69 32801 static void __Pyx_AddTraceback(const char *funcname, int c_line,
jpayne@69 32802 int py_line, const char *filename) {
jpayne@69 32803 PyCodeObject *py_code = 0;
jpayne@69 32804 PyFrameObject *py_frame = 0;
jpayne@69 32805 PyThreadState *tstate = __Pyx_PyThreadState_Current;
jpayne@69 32806 PyObject *ptype, *pvalue, *ptraceback;
jpayne@69 32807 if (c_line) {
jpayne@69 32808 c_line = __Pyx_CLineForTraceback(tstate, c_line);
jpayne@69 32809 }
jpayne@69 32810 py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
jpayne@69 32811 if (!py_code) {
jpayne@69 32812 __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
jpayne@69 32813 py_code = __Pyx_CreateCodeObjectForTraceback(
jpayne@69 32814 funcname, c_line, py_line, filename);
jpayne@69 32815 if (!py_code) {
jpayne@69 32816 /* If the code object creation fails, then we should clear the
jpayne@69 32817 fetched exception references and propagate the new exception */
jpayne@69 32818 Py_XDECREF(ptype);
jpayne@69 32819 Py_XDECREF(pvalue);
jpayne@69 32820 Py_XDECREF(ptraceback);
jpayne@69 32821 goto bad;
jpayne@69 32822 }
jpayne@69 32823 __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
jpayne@69 32824 __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
jpayne@69 32825 }
jpayne@69 32826 py_frame = PyFrame_New(
jpayne@69 32827 tstate, /*PyThreadState *tstate,*/
jpayne@69 32828 py_code, /*PyCodeObject *code,*/
jpayne@69 32829 __pyx_d, /*PyObject *globals,*/
jpayne@69 32830 0 /*PyObject *locals*/
jpayne@69 32831 );
jpayne@69 32832 if (!py_frame) goto bad;
jpayne@69 32833 __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
jpayne@69 32834 PyTraceBack_Here(py_frame);
jpayne@69 32835 bad:
jpayne@69 32836 Py_XDECREF(py_code);
jpayne@69 32837 Py_XDECREF(py_frame);
jpayne@69 32838 }
jpayne@69 32839 #endif
jpayne@69 32840
jpayne@69 32841 /* CIntFromPyVerify */
jpayne@69 32842 #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
jpayne@69 32843 __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
jpayne@69 32844 #define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
jpayne@69 32845 __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
jpayne@69 32846 #define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
jpayne@69 32847 {\
jpayne@69 32848 func_type value = func_value;\
jpayne@69 32849 if (sizeof(target_type) < sizeof(func_type)) {\
jpayne@69 32850 if (unlikely(value != (func_type) (target_type) value)) {\
jpayne@69 32851 func_type zero = 0;\
jpayne@69 32852 if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
jpayne@69 32853 return (target_type) -1;\
jpayne@69 32854 if (is_unsigned && unlikely(value < zero))\
jpayne@69 32855 goto raise_neg_overflow;\
jpayne@69 32856 else\
jpayne@69 32857 goto raise_overflow;\
jpayne@69 32858 }\
jpayne@69 32859 }\
jpayne@69 32860 return (target_type) value;\
jpayne@69 32861 }
jpayne@69 32862
jpayne@69 32863 /* CIntToPy */
jpayne@69 32864 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
jpayne@69 32865 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 32866 #pragma GCC diagnostic push
jpayne@69 32867 #pragma GCC diagnostic ignored "-Wconversion"
jpayne@69 32868 #endif
jpayne@69 32869 const int neg_one = (int) -1, const_zero = (int) 0;
jpayne@69 32870 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 32871 #pragma GCC diagnostic pop
jpayne@69 32872 #endif
jpayne@69 32873 const int is_unsigned = neg_one > const_zero;
jpayne@69 32874 if (is_unsigned) {
jpayne@69 32875 if (sizeof(int) < sizeof(long)) {
jpayne@69 32876 return PyInt_FromLong((long) value);
jpayne@69 32877 } else if (sizeof(int) <= sizeof(unsigned long)) {
jpayne@69 32878 return PyLong_FromUnsignedLong((unsigned long) value);
jpayne@69 32879 #ifdef HAVE_LONG_LONG
jpayne@69 32880 } else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
jpayne@69 32881 return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
jpayne@69 32882 #endif
jpayne@69 32883 }
jpayne@69 32884 } else {
jpayne@69 32885 if (sizeof(int) <= sizeof(long)) {
jpayne@69 32886 return PyInt_FromLong((long) value);
jpayne@69 32887 #ifdef HAVE_LONG_LONG
jpayne@69 32888 } else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
jpayne@69 32889 return PyLong_FromLongLong((PY_LONG_LONG) value);
jpayne@69 32890 #endif
jpayne@69 32891 }
jpayne@69 32892 }
jpayne@69 32893 {
jpayne@69 32894 unsigned char *bytes = (unsigned char *)&value;
jpayne@69 32895 #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
jpayne@69 32896 if (is_unsigned) {
jpayne@69 32897 return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
jpayne@69 32898 } else {
jpayne@69 32899 return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
jpayne@69 32900 }
jpayne@69 32901 #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
jpayne@69 32902 int one = 1; int little = (int)*(unsigned char *)&one;
jpayne@69 32903 return _PyLong_FromByteArray(bytes, sizeof(int),
jpayne@69 32904 little, !is_unsigned);
jpayne@69 32905 #else
jpayne@69 32906 int one = 1; int little = (int)*(unsigned char *)&one;
jpayne@69 32907 PyObject *from_bytes, *result = NULL;
jpayne@69 32908 PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
jpayne@69 32909 from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
jpayne@69 32910 if (!from_bytes) return NULL;
jpayne@69 32911 py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
jpayne@69 32912 if (!py_bytes) goto limited_bad;
jpayne@69 32913 order_str = PyUnicode_FromString(little ? "little" : "big");
jpayne@69 32914 if (!order_str) goto limited_bad;
jpayne@69 32915 arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
jpayne@69 32916 if (!arg_tuple) goto limited_bad;
jpayne@69 32917 if (!is_unsigned) {
jpayne@69 32918 kwds = PyDict_New();
jpayne@69 32919 if (!kwds) goto limited_bad;
jpayne@69 32920 if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
jpayne@69 32921 }
jpayne@69 32922 result = PyObject_Call(from_bytes, arg_tuple, kwds);
jpayne@69 32923 limited_bad:
jpayne@69 32924 Py_XDECREF(kwds);
jpayne@69 32925 Py_XDECREF(arg_tuple);
jpayne@69 32926 Py_XDECREF(order_str);
jpayne@69 32927 Py_XDECREF(py_bytes);
jpayne@69 32928 Py_XDECREF(from_bytes);
jpayne@69 32929 return result;
jpayne@69 32930 #endif
jpayne@69 32931 }
jpayne@69 32932 }
jpayne@69 32933
jpayne@69 32934 /* CIntFromPy */
jpayne@69 32935 static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
jpayne@69 32936 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 32937 #pragma GCC diagnostic push
jpayne@69 32938 #pragma GCC diagnostic ignored "-Wconversion"
jpayne@69 32939 #endif
jpayne@69 32940 const int neg_one = (int) -1, const_zero = (int) 0;
jpayne@69 32941 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 32942 #pragma GCC diagnostic pop
jpayne@69 32943 #endif
jpayne@69 32944 const int is_unsigned = neg_one > const_zero;
jpayne@69 32945 #if PY_MAJOR_VERSION < 3
jpayne@69 32946 if (likely(PyInt_Check(x))) {
jpayne@69 32947 if ((sizeof(int) < sizeof(long))) {
jpayne@69 32948 __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x))
jpayne@69 32949 } else {
jpayne@69 32950 long val = PyInt_AS_LONG(x);
jpayne@69 32951 if (is_unsigned && unlikely(val < 0)) {
jpayne@69 32952 goto raise_neg_overflow;
jpayne@69 32953 }
jpayne@69 32954 return (int) val;
jpayne@69 32955 }
jpayne@69 32956 }
jpayne@69 32957 #endif
jpayne@69 32958 if (unlikely(!PyLong_Check(x))) {
jpayne@69 32959 int val;
jpayne@69 32960 PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
jpayne@69 32961 if (!tmp) return (int) -1;
jpayne@69 32962 val = __Pyx_PyInt_As_int(tmp);
jpayne@69 32963 Py_DECREF(tmp);
jpayne@69 32964 return val;
jpayne@69 32965 }
jpayne@69 32966 if (is_unsigned) {
jpayne@69 32967 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 32968 if (unlikely(__Pyx_PyLong_IsNeg(x))) {
jpayne@69 32969 goto raise_neg_overflow;
jpayne@69 32970 } else if (__Pyx_PyLong_IsCompact(x)) {
jpayne@69 32971 __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
jpayne@69 32972 } else {
jpayne@69 32973 const digit* digits = __Pyx_PyLong_Digits(x);
jpayne@69 32974 assert(__Pyx_PyLong_DigitCount(x) > 1);
jpayne@69 32975 switch (__Pyx_PyLong_DigitCount(x)) {
jpayne@69 32976 case 2:
jpayne@69 32977 if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
jpayne@69 32978 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 32979 __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 32980 } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) {
jpayne@69 32981 return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
jpayne@69 32982 }
jpayne@69 32983 }
jpayne@69 32984 break;
jpayne@69 32985 case 3:
jpayne@69 32986 if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
jpayne@69 32987 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 32988 __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 32989 } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) {
jpayne@69 32990 return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
jpayne@69 32991 }
jpayne@69 32992 }
jpayne@69 32993 break;
jpayne@69 32994 case 4:
jpayne@69 32995 if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
jpayne@69 32996 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 32997 __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])))
jpayne@69 32998 } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) {
jpayne@69 32999 return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]));
jpayne@69 33000 }
jpayne@69 33001 }
jpayne@69 33002 break;
jpayne@69 33003 }
jpayne@69 33004 }
jpayne@69 33005 #endif
jpayne@69 33006 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
jpayne@69 33007 if (unlikely(Py_SIZE(x) < 0)) {
jpayne@69 33008 goto raise_neg_overflow;
jpayne@69 33009 }
jpayne@69 33010 #else
jpayne@69 33011 {
jpayne@69 33012 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
jpayne@69 33013 if (unlikely(result < 0))
jpayne@69 33014 return (int) -1;
jpayne@69 33015 if (unlikely(result == 1))
jpayne@69 33016 goto raise_neg_overflow;
jpayne@69 33017 }
jpayne@69 33018 #endif
jpayne@69 33019 if ((sizeof(int) <= sizeof(unsigned long))) {
jpayne@69 33020 __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
jpayne@69 33021 #ifdef HAVE_LONG_LONG
jpayne@69 33022 } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) {
jpayne@69 33023 __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
jpayne@69 33024 #endif
jpayne@69 33025 }
jpayne@69 33026 } else {
jpayne@69 33027 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 33028 if (__Pyx_PyLong_IsCompact(x)) {
jpayne@69 33029 __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
jpayne@69 33030 } else {
jpayne@69 33031 const digit* digits = __Pyx_PyLong_Digits(x);
jpayne@69 33032 assert(__Pyx_PyLong_DigitCount(x) > 1);
jpayne@69 33033 switch (__Pyx_PyLong_SignedDigitCount(x)) {
jpayne@69 33034 case -2:
jpayne@69 33035 if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) {
jpayne@69 33036 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 33037 __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33038 } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33039 return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
jpayne@69 33040 }
jpayne@69 33041 }
jpayne@69 33042 break;
jpayne@69 33043 case 2:
jpayne@69 33044 if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) {
jpayne@69 33045 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 33046 __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33047 } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33048 return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
jpayne@69 33049 }
jpayne@69 33050 }
jpayne@69 33051 break;
jpayne@69 33052 case -3:
jpayne@69 33053 if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33054 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 33055 __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33056 } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33057 return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
jpayne@69 33058 }
jpayne@69 33059 }
jpayne@69 33060 break;
jpayne@69 33061 case 3:
jpayne@69 33062 if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) {
jpayne@69 33063 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 33064 __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33065 } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33066 return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
jpayne@69 33067 }
jpayne@69 33068 }
jpayne@69 33069 break;
jpayne@69 33070 case -4:
jpayne@69 33071 if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33072 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 33073 __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])))
jpayne@69 33074 } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
jpayne@69 33075 return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
jpayne@69 33076 }
jpayne@69 33077 }
jpayne@69 33078 break;
jpayne@69 33079 case 4:
jpayne@69 33080 if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) {
jpayne@69 33081 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 33082 __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])))
jpayne@69 33083 } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) {
jpayne@69 33084 return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])));
jpayne@69 33085 }
jpayne@69 33086 }
jpayne@69 33087 break;
jpayne@69 33088 }
jpayne@69 33089 }
jpayne@69 33090 #endif
jpayne@69 33091 if ((sizeof(int) <= sizeof(long))) {
jpayne@69 33092 __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
jpayne@69 33093 #ifdef HAVE_LONG_LONG
jpayne@69 33094 } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) {
jpayne@69 33095 __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
jpayne@69 33096 #endif
jpayne@69 33097 }
jpayne@69 33098 }
jpayne@69 33099 {
jpayne@69 33100 int val;
jpayne@69 33101 int ret = -1;
jpayne@69 33102 #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 33103 Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
jpayne@69 33104 x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
jpayne@69 33105 if (unlikely(bytes_copied == -1)) {
jpayne@69 33106 } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
jpayne@69 33107 goto raise_overflow;
jpayne@69 33108 } else {
jpayne@69 33109 ret = 0;
jpayne@69 33110 }
jpayne@69 33111 #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
jpayne@69 33112 int one = 1; int is_little = (int)*(unsigned char *)&one;
jpayne@69 33113 unsigned char *bytes = (unsigned char *)&val;
jpayne@69 33114 ret = _PyLong_AsByteArray((PyLongObject *)x,
jpayne@69 33115 bytes, sizeof(val),
jpayne@69 33116 is_little, !is_unsigned);
jpayne@69 33117 #else
jpayne@69 33118 PyObject *v;
jpayne@69 33119 PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
jpayne@69 33120 int bits, remaining_bits, is_negative = 0;
jpayne@69 33121 int chunk_size = (sizeof(long) < 8) ? 30 : 62;
jpayne@69 33122 if (likely(PyLong_CheckExact(x))) {
jpayne@69 33123 v = __Pyx_NewRef(x);
jpayne@69 33124 } else {
jpayne@69 33125 v = PyNumber_Long(x);
jpayne@69 33126 if (unlikely(!v)) return (int) -1;
jpayne@69 33127 assert(PyLong_CheckExact(v));
jpayne@69 33128 }
jpayne@69 33129 {
jpayne@69 33130 int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
jpayne@69 33131 if (unlikely(result < 0)) {
jpayne@69 33132 Py_DECREF(v);
jpayne@69 33133 return (int) -1;
jpayne@69 33134 }
jpayne@69 33135 is_negative = result == 1;
jpayne@69 33136 }
jpayne@69 33137 if (is_unsigned && unlikely(is_negative)) {
jpayne@69 33138 Py_DECREF(v);
jpayne@69 33139 goto raise_neg_overflow;
jpayne@69 33140 } else if (is_negative) {
jpayne@69 33141 stepval = PyNumber_Invert(v);
jpayne@69 33142 Py_DECREF(v);
jpayne@69 33143 if (unlikely(!stepval))
jpayne@69 33144 return (int) -1;
jpayne@69 33145 } else {
jpayne@69 33146 stepval = v;
jpayne@69 33147 }
jpayne@69 33148 v = NULL;
jpayne@69 33149 val = (int) 0;
jpayne@69 33150 mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
jpayne@69 33151 shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
jpayne@69 33152 for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) {
jpayne@69 33153 PyObject *tmp, *digit;
jpayne@69 33154 long idigit;
jpayne@69 33155 digit = PyNumber_And(stepval, mask);
jpayne@69 33156 if (unlikely(!digit)) goto done;
jpayne@69 33157 idigit = PyLong_AsLong(digit);
jpayne@69 33158 Py_DECREF(digit);
jpayne@69 33159 if (unlikely(idigit < 0)) goto done;
jpayne@69 33160 val |= ((int) idigit) << bits;
jpayne@69 33161 tmp = PyNumber_Rshift(stepval, shift);
jpayne@69 33162 if (unlikely(!tmp)) goto done;
jpayne@69 33163 Py_DECREF(stepval); stepval = tmp;
jpayne@69 33164 }
jpayne@69 33165 Py_DECREF(shift); shift = NULL;
jpayne@69 33166 Py_DECREF(mask); mask = NULL;
jpayne@69 33167 {
jpayne@69 33168 long idigit = PyLong_AsLong(stepval);
jpayne@69 33169 if (unlikely(idigit < 0)) goto done;
jpayne@69 33170 remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1);
jpayne@69 33171 if (unlikely(idigit >= (1L << remaining_bits)))
jpayne@69 33172 goto raise_overflow;
jpayne@69 33173 val |= ((int) idigit) << bits;
jpayne@69 33174 }
jpayne@69 33175 if (!is_unsigned) {
jpayne@69 33176 if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1))))
jpayne@69 33177 goto raise_overflow;
jpayne@69 33178 if (is_negative)
jpayne@69 33179 val = ~val;
jpayne@69 33180 }
jpayne@69 33181 ret = 0;
jpayne@69 33182 done:
jpayne@69 33183 Py_XDECREF(shift);
jpayne@69 33184 Py_XDECREF(mask);
jpayne@69 33185 Py_XDECREF(stepval);
jpayne@69 33186 #endif
jpayne@69 33187 if (unlikely(ret))
jpayne@69 33188 return (int) -1;
jpayne@69 33189 return val;
jpayne@69 33190 }
jpayne@69 33191 raise_overflow:
jpayne@69 33192 PyErr_SetString(PyExc_OverflowError,
jpayne@69 33193 "value too large to convert to int");
jpayne@69 33194 return (int) -1;
jpayne@69 33195 raise_neg_overflow:
jpayne@69 33196 PyErr_SetString(PyExc_OverflowError,
jpayne@69 33197 "can't convert negative value to int");
jpayne@69 33198 return (int) -1;
jpayne@69 33199 }
jpayne@69 33200
jpayne@69 33201 /* CIntFromPy */
jpayne@69 33202 static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
jpayne@69 33203 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 33204 #pragma GCC diagnostic push
jpayne@69 33205 #pragma GCC diagnostic ignored "-Wconversion"
jpayne@69 33206 #endif
jpayne@69 33207 const long neg_one = (long) -1, const_zero = (long) 0;
jpayne@69 33208 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 33209 #pragma GCC diagnostic pop
jpayne@69 33210 #endif
jpayne@69 33211 const int is_unsigned = neg_one > const_zero;
jpayne@69 33212 #if PY_MAJOR_VERSION < 3
jpayne@69 33213 if (likely(PyInt_Check(x))) {
jpayne@69 33214 if ((sizeof(long) < sizeof(long))) {
jpayne@69 33215 __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x))
jpayne@69 33216 } else {
jpayne@69 33217 long val = PyInt_AS_LONG(x);
jpayne@69 33218 if (is_unsigned && unlikely(val < 0)) {
jpayne@69 33219 goto raise_neg_overflow;
jpayne@69 33220 }
jpayne@69 33221 return (long) val;
jpayne@69 33222 }
jpayne@69 33223 }
jpayne@69 33224 #endif
jpayne@69 33225 if (unlikely(!PyLong_Check(x))) {
jpayne@69 33226 long val;
jpayne@69 33227 PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
jpayne@69 33228 if (!tmp) return (long) -1;
jpayne@69 33229 val = __Pyx_PyInt_As_long(tmp);
jpayne@69 33230 Py_DECREF(tmp);
jpayne@69 33231 return val;
jpayne@69 33232 }
jpayne@69 33233 if (is_unsigned) {
jpayne@69 33234 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 33235 if (unlikely(__Pyx_PyLong_IsNeg(x))) {
jpayne@69 33236 goto raise_neg_overflow;
jpayne@69 33237 } else if (__Pyx_PyLong_IsCompact(x)) {
jpayne@69 33238 __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
jpayne@69 33239 } else {
jpayne@69 33240 const digit* digits = __Pyx_PyLong_Digits(x);
jpayne@69 33241 assert(__Pyx_PyLong_DigitCount(x) > 1);
jpayne@69 33242 switch (__Pyx_PyLong_DigitCount(x)) {
jpayne@69 33243 case 2:
jpayne@69 33244 if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
jpayne@69 33245 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 33246 __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33247 } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) {
jpayne@69 33248 return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
jpayne@69 33249 }
jpayne@69 33250 }
jpayne@69 33251 break;
jpayne@69 33252 case 3:
jpayne@69 33253 if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
jpayne@69 33254 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 33255 __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33256 } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) {
jpayne@69 33257 return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
jpayne@69 33258 }
jpayne@69 33259 }
jpayne@69 33260 break;
jpayne@69 33261 case 4:
jpayne@69 33262 if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
jpayne@69 33263 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 33264 __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])))
jpayne@69 33265 } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) {
jpayne@69 33266 return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]));
jpayne@69 33267 }
jpayne@69 33268 }
jpayne@69 33269 break;
jpayne@69 33270 }
jpayne@69 33271 }
jpayne@69 33272 #endif
jpayne@69 33273 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
jpayne@69 33274 if (unlikely(Py_SIZE(x) < 0)) {
jpayne@69 33275 goto raise_neg_overflow;
jpayne@69 33276 }
jpayne@69 33277 #else
jpayne@69 33278 {
jpayne@69 33279 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
jpayne@69 33280 if (unlikely(result < 0))
jpayne@69 33281 return (long) -1;
jpayne@69 33282 if (unlikely(result == 1))
jpayne@69 33283 goto raise_neg_overflow;
jpayne@69 33284 }
jpayne@69 33285 #endif
jpayne@69 33286 if ((sizeof(long) <= sizeof(unsigned long))) {
jpayne@69 33287 __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
jpayne@69 33288 #ifdef HAVE_LONG_LONG
jpayne@69 33289 } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) {
jpayne@69 33290 __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
jpayne@69 33291 #endif
jpayne@69 33292 }
jpayne@69 33293 } else {
jpayne@69 33294 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 33295 if (__Pyx_PyLong_IsCompact(x)) {
jpayne@69 33296 __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
jpayne@69 33297 } else {
jpayne@69 33298 const digit* digits = __Pyx_PyLong_Digits(x);
jpayne@69 33299 assert(__Pyx_PyLong_DigitCount(x) > 1);
jpayne@69 33300 switch (__Pyx_PyLong_SignedDigitCount(x)) {
jpayne@69 33301 case -2:
jpayne@69 33302 if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) {
jpayne@69 33303 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 33304 __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33305 } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33306 return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
jpayne@69 33307 }
jpayne@69 33308 }
jpayne@69 33309 break;
jpayne@69 33310 case 2:
jpayne@69 33311 if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) {
jpayne@69 33312 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 33313 __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33314 } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33315 return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
jpayne@69 33316 }
jpayne@69 33317 }
jpayne@69 33318 break;
jpayne@69 33319 case -3:
jpayne@69 33320 if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33321 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 33322 __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33323 } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33324 return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
jpayne@69 33325 }
jpayne@69 33326 }
jpayne@69 33327 break;
jpayne@69 33328 case 3:
jpayne@69 33329 if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) {
jpayne@69 33330 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 33331 __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33332 } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33333 return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
jpayne@69 33334 }
jpayne@69 33335 }
jpayne@69 33336 break;
jpayne@69 33337 case -4:
jpayne@69 33338 if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33339 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 33340 __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])))
jpayne@69 33341 } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
jpayne@69 33342 return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
jpayne@69 33343 }
jpayne@69 33344 }
jpayne@69 33345 break;
jpayne@69 33346 case 4:
jpayne@69 33347 if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) {
jpayne@69 33348 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 33349 __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])))
jpayne@69 33350 } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) {
jpayne@69 33351 return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])));
jpayne@69 33352 }
jpayne@69 33353 }
jpayne@69 33354 break;
jpayne@69 33355 }
jpayne@69 33356 }
jpayne@69 33357 #endif
jpayne@69 33358 if ((sizeof(long) <= sizeof(long))) {
jpayne@69 33359 __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
jpayne@69 33360 #ifdef HAVE_LONG_LONG
jpayne@69 33361 } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) {
jpayne@69 33362 __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
jpayne@69 33363 #endif
jpayne@69 33364 }
jpayne@69 33365 }
jpayne@69 33366 {
jpayne@69 33367 long val;
jpayne@69 33368 int ret = -1;
jpayne@69 33369 #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 33370 Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
jpayne@69 33371 x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
jpayne@69 33372 if (unlikely(bytes_copied == -1)) {
jpayne@69 33373 } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
jpayne@69 33374 goto raise_overflow;
jpayne@69 33375 } else {
jpayne@69 33376 ret = 0;
jpayne@69 33377 }
jpayne@69 33378 #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
jpayne@69 33379 int one = 1; int is_little = (int)*(unsigned char *)&one;
jpayne@69 33380 unsigned char *bytes = (unsigned char *)&val;
jpayne@69 33381 ret = _PyLong_AsByteArray((PyLongObject *)x,
jpayne@69 33382 bytes, sizeof(val),
jpayne@69 33383 is_little, !is_unsigned);
jpayne@69 33384 #else
jpayne@69 33385 PyObject *v;
jpayne@69 33386 PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
jpayne@69 33387 int bits, remaining_bits, is_negative = 0;
jpayne@69 33388 int chunk_size = (sizeof(long) < 8) ? 30 : 62;
jpayne@69 33389 if (likely(PyLong_CheckExact(x))) {
jpayne@69 33390 v = __Pyx_NewRef(x);
jpayne@69 33391 } else {
jpayne@69 33392 v = PyNumber_Long(x);
jpayne@69 33393 if (unlikely(!v)) return (long) -1;
jpayne@69 33394 assert(PyLong_CheckExact(v));
jpayne@69 33395 }
jpayne@69 33396 {
jpayne@69 33397 int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
jpayne@69 33398 if (unlikely(result < 0)) {
jpayne@69 33399 Py_DECREF(v);
jpayne@69 33400 return (long) -1;
jpayne@69 33401 }
jpayne@69 33402 is_negative = result == 1;
jpayne@69 33403 }
jpayne@69 33404 if (is_unsigned && unlikely(is_negative)) {
jpayne@69 33405 Py_DECREF(v);
jpayne@69 33406 goto raise_neg_overflow;
jpayne@69 33407 } else if (is_negative) {
jpayne@69 33408 stepval = PyNumber_Invert(v);
jpayne@69 33409 Py_DECREF(v);
jpayne@69 33410 if (unlikely(!stepval))
jpayne@69 33411 return (long) -1;
jpayne@69 33412 } else {
jpayne@69 33413 stepval = v;
jpayne@69 33414 }
jpayne@69 33415 v = NULL;
jpayne@69 33416 val = (long) 0;
jpayne@69 33417 mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
jpayne@69 33418 shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
jpayne@69 33419 for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) {
jpayne@69 33420 PyObject *tmp, *digit;
jpayne@69 33421 long idigit;
jpayne@69 33422 digit = PyNumber_And(stepval, mask);
jpayne@69 33423 if (unlikely(!digit)) goto done;
jpayne@69 33424 idigit = PyLong_AsLong(digit);
jpayne@69 33425 Py_DECREF(digit);
jpayne@69 33426 if (unlikely(idigit < 0)) goto done;
jpayne@69 33427 val |= ((long) idigit) << bits;
jpayne@69 33428 tmp = PyNumber_Rshift(stepval, shift);
jpayne@69 33429 if (unlikely(!tmp)) goto done;
jpayne@69 33430 Py_DECREF(stepval); stepval = tmp;
jpayne@69 33431 }
jpayne@69 33432 Py_DECREF(shift); shift = NULL;
jpayne@69 33433 Py_DECREF(mask); mask = NULL;
jpayne@69 33434 {
jpayne@69 33435 long idigit = PyLong_AsLong(stepval);
jpayne@69 33436 if (unlikely(idigit < 0)) goto done;
jpayne@69 33437 remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1);
jpayne@69 33438 if (unlikely(idigit >= (1L << remaining_bits)))
jpayne@69 33439 goto raise_overflow;
jpayne@69 33440 val |= ((long) idigit) << bits;
jpayne@69 33441 }
jpayne@69 33442 if (!is_unsigned) {
jpayne@69 33443 if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1))))
jpayne@69 33444 goto raise_overflow;
jpayne@69 33445 if (is_negative)
jpayne@69 33446 val = ~val;
jpayne@69 33447 }
jpayne@69 33448 ret = 0;
jpayne@69 33449 done:
jpayne@69 33450 Py_XDECREF(shift);
jpayne@69 33451 Py_XDECREF(mask);
jpayne@69 33452 Py_XDECREF(stepval);
jpayne@69 33453 #endif
jpayne@69 33454 if (unlikely(ret))
jpayne@69 33455 return (long) -1;
jpayne@69 33456 return val;
jpayne@69 33457 }
jpayne@69 33458 raise_overflow:
jpayne@69 33459 PyErr_SetString(PyExc_OverflowError,
jpayne@69 33460 "value too large to convert to long");
jpayne@69 33461 return (long) -1;
jpayne@69 33462 raise_neg_overflow:
jpayne@69 33463 PyErr_SetString(PyExc_OverflowError,
jpayne@69 33464 "can't convert negative value to long");
jpayne@69 33465 return (long) -1;
jpayne@69 33466 }
jpayne@69 33467
jpayne@69 33468 /* CIntToPy */
jpayne@69 33469 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
jpayne@69 33470 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 33471 #pragma GCC diagnostic push
jpayne@69 33472 #pragma GCC diagnostic ignored "-Wconversion"
jpayne@69 33473 #endif
jpayne@69 33474 const long neg_one = (long) -1, const_zero = (long) 0;
jpayne@69 33475 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 33476 #pragma GCC diagnostic pop
jpayne@69 33477 #endif
jpayne@69 33478 const int is_unsigned = neg_one > const_zero;
jpayne@69 33479 if (is_unsigned) {
jpayne@69 33480 if (sizeof(long) < sizeof(long)) {
jpayne@69 33481 return PyInt_FromLong((long) value);
jpayne@69 33482 } else if (sizeof(long) <= sizeof(unsigned long)) {
jpayne@69 33483 return PyLong_FromUnsignedLong((unsigned long) value);
jpayne@69 33484 #ifdef HAVE_LONG_LONG
jpayne@69 33485 } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
jpayne@69 33486 return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
jpayne@69 33487 #endif
jpayne@69 33488 }
jpayne@69 33489 } else {
jpayne@69 33490 if (sizeof(long) <= sizeof(long)) {
jpayne@69 33491 return PyInt_FromLong((long) value);
jpayne@69 33492 #ifdef HAVE_LONG_LONG
jpayne@69 33493 } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
jpayne@69 33494 return PyLong_FromLongLong((PY_LONG_LONG) value);
jpayne@69 33495 #endif
jpayne@69 33496 }
jpayne@69 33497 }
jpayne@69 33498 {
jpayne@69 33499 unsigned char *bytes = (unsigned char *)&value;
jpayne@69 33500 #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
jpayne@69 33501 if (is_unsigned) {
jpayne@69 33502 return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
jpayne@69 33503 } else {
jpayne@69 33504 return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
jpayne@69 33505 }
jpayne@69 33506 #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
jpayne@69 33507 int one = 1; int little = (int)*(unsigned char *)&one;
jpayne@69 33508 return _PyLong_FromByteArray(bytes, sizeof(long),
jpayne@69 33509 little, !is_unsigned);
jpayne@69 33510 #else
jpayne@69 33511 int one = 1; int little = (int)*(unsigned char *)&one;
jpayne@69 33512 PyObject *from_bytes, *result = NULL;
jpayne@69 33513 PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
jpayne@69 33514 from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
jpayne@69 33515 if (!from_bytes) return NULL;
jpayne@69 33516 py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
jpayne@69 33517 if (!py_bytes) goto limited_bad;
jpayne@69 33518 order_str = PyUnicode_FromString(little ? "little" : "big");
jpayne@69 33519 if (!order_str) goto limited_bad;
jpayne@69 33520 arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
jpayne@69 33521 if (!arg_tuple) goto limited_bad;
jpayne@69 33522 if (!is_unsigned) {
jpayne@69 33523 kwds = PyDict_New();
jpayne@69 33524 if (!kwds) goto limited_bad;
jpayne@69 33525 if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
jpayne@69 33526 }
jpayne@69 33527 result = PyObject_Call(from_bytes, arg_tuple, kwds);
jpayne@69 33528 limited_bad:
jpayne@69 33529 Py_XDECREF(kwds);
jpayne@69 33530 Py_XDECREF(arg_tuple);
jpayne@69 33531 Py_XDECREF(order_str);
jpayne@69 33532 Py_XDECREF(py_bytes);
jpayne@69 33533 Py_XDECREF(from_bytes);
jpayne@69 33534 return result;
jpayne@69 33535 #endif
jpayne@69 33536 }
jpayne@69 33537 }
jpayne@69 33538
jpayne@69 33539 /* CIntFromPy */
jpayne@69 33540 static CYTHON_INLINE uint32_t __Pyx_PyInt_As_uint32_t(PyObject *x) {
jpayne@69 33541 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 33542 #pragma GCC diagnostic push
jpayne@69 33543 #pragma GCC diagnostic ignored "-Wconversion"
jpayne@69 33544 #endif
jpayne@69 33545 const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0;
jpayne@69 33546 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 33547 #pragma GCC diagnostic pop
jpayne@69 33548 #endif
jpayne@69 33549 const int is_unsigned = neg_one > const_zero;
jpayne@69 33550 #if PY_MAJOR_VERSION < 3
jpayne@69 33551 if (likely(PyInt_Check(x))) {
jpayne@69 33552 if ((sizeof(uint32_t) < sizeof(long))) {
jpayne@69 33553 __PYX_VERIFY_RETURN_INT(uint32_t, long, PyInt_AS_LONG(x))
jpayne@69 33554 } else {
jpayne@69 33555 long val = PyInt_AS_LONG(x);
jpayne@69 33556 if (is_unsigned && unlikely(val < 0)) {
jpayne@69 33557 goto raise_neg_overflow;
jpayne@69 33558 }
jpayne@69 33559 return (uint32_t) val;
jpayne@69 33560 }
jpayne@69 33561 }
jpayne@69 33562 #endif
jpayne@69 33563 if (unlikely(!PyLong_Check(x))) {
jpayne@69 33564 uint32_t val;
jpayne@69 33565 PyObject *tmp = __Pyx_PyNumber_IntOrLong(x);
jpayne@69 33566 if (!tmp) return (uint32_t) -1;
jpayne@69 33567 val = __Pyx_PyInt_As_uint32_t(tmp);
jpayne@69 33568 Py_DECREF(tmp);
jpayne@69 33569 return val;
jpayne@69 33570 }
jpayne@69 33571 if (is_unsigned) {
jpayne@69 33572 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 33573 if (unlikely(__Pyx_PyLong_IsNeg(x))) {
jpayne@69 33574 goto raise_neg_overflow;
jpayne@69 33575 } else if (__Pyx_PyLong_IsCompact(x)) {
jpayne@69 33576 __PYX_VERIFY_RETURN_INT(uint32_t, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x))
jpayne@69 33577 } else {
jpayne@69 33578 const digit* digits = __Pyx_PyLong_Digits(x);
jpayne@69 33579 assert(__Pyx_PyLong_DigitCount(x) > 1);
jpayne@69 33580 switch (__Pyx_PyLong_DigitCount(x)) {
jpayne@69 33581 case 2:
jpayne@69 33582 if ((8 * sizeof(uint32_t) > 1 * PyLong_SHIFT)) {
jpayne@69 33583 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 33584 __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33585 } else if ((8 * sizeof(uint32_t) >= 2 * PyLong_SHIFT)) {
jpayne@69 33586 return (uint32_t) (((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
jpayne@69 33587 }
jpayne@69 33588 }
jpayne@69 33589 break;
jpayne@69 33590 case 3:
jpayne@69 33591 if ((8 * sizeof(uint32_t) > 2 * PyLong_SHIFT)) {
jpayne@69 33592 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 33593 __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33594 } else if ((8 * sizeof(uint32_t) >= 3 * PyLong_SHIFT)) {
jpayne@69 33595 return (uint32_t) (((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
jpayne@69 33596 }
jpayne@69 33597 }
jpayne@69 33598 break;
jpayne@69 33599 case 4:
jpayne@69 33600 if ((8 * sizeof(uint32_t) > 3 * PyLong_SHIFT)) {
jpayne@69 33601 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 33602 __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33603 } else if ((8 * sizeof(uint32_t) >= 4 * PyLong_SHIFT)) {
jpayne@69 33604 return (uint32_t) (((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0]));
jpayne@69 33605 }
jpayne@69 33606 }
jpayne@69 33607 break;
jpayne@69 33608 }
jpayne@69 33609 }
jpayne@69 33610 #endif
jpayne@69 33611 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
jpayne@69 33612 if (unlikely(Py_SIZE(x) < 0)) {
jpayne@69 33613 goto raise_neg_overflow;
jpayne@69 33614 }
jpayne@69 33615 #else
jpayne@69 33616 {
jpayne@69 33617 int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
jpayne@69 33618 if (unlikely(result < 0))
jpayne@69 33619 return (uint32_t) -1;
jpayne@69 33620 if (unlikely(result == 1))
jpayne@69 33621 goto raise_neg_overflow;
jpayne@69 33622 }
jpayne@69 33623 #endif
jpayne@69 33624 if ((sizeof(uint32_t) <= sizeof(unsigned long))) {
jpayne@69 33625 __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned long, PyLong_AsUnsignedLong(x))
jpayne@69 33626 #ifdef HAVE_LONG_LONG
jpayne@69 33627 } else if ((sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG))) {
jpayne@69 33628 __PYX_VERIFY_RETURN_INT_EXC(uint32_t, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
jpayne@69 33629 #endif
jpayne@69 33630 }
jpayne@69 33631 } else {
jpayne@69 33632 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 33633 if (__Pyx_PyLong_IsCompact(x)) {
jpayne@69 33634 __PYX_VERIFY_RETURN_INT(uint32_t, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x))
jpayne@69 33635 } else {
jpayne@69 33636 const digit* digits = __Pyx_PyLong_Digits(x);
jpayne@69 33637 assert(__Pyx_PyLong_DigitCount(x) > 1);
jpayne@69 33638 switch (__Pyx_PyLong_SignedDigitCount(x)) {
jpayne@69 33639 case -2:
jpayne@69 33640 if ((8 * sizeof(uint32_t) - 1 > 1 * PyLong_SHIFT)) {
jpayne@69 33641 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 33642 __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33643 } else if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33644 return (uint32_t) (((uint32_t)-1)*(((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
jpayne@69 33645 }
jpayne@69 33646 }
jpayne@69 33647 break;
jpayne@69 33648 case 2:
jpayne@69 33649 if ((8 * sizeof(uint32_t) > 1 * PyLong_SHIFT)) {
jpayne@69 33650 if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) {
jpayne@69 33651 __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33652 } else if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33653 return (uint32_t) ((((((uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
jpayne@69 33654 }
jpayne@69 33655 }
jpayne@69 33656 break;
jpayne@69 33657 case -3:
jpayne@69 33658 if ((8 * sizeof(uint32_t) - 1 > 2 * PyLong_SHIFT)) {
jpayne@69 33659 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 33660 __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33661 } else if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33662 return (uint32_t) (((uint32_t)-1)*(((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
jpayne@69 33663 }
jpayne@69 33664 }
jpayne@69 33665 break;
jpayne@69 33666 case 3:
jpayne@69 33667 if ((8 * sizeof(uint32_t) > 2 * PyLong_SHIFT)) {
jpayne@69 33668 if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) {
jpayne@69 33669 __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33670 } else if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33671 return (uint32_t) ((((((((uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
jpayne@69 33672 }
jpayne@69 33673 }
jpayne@69 33674 break;
jpayne@69 33675 case -4:
jpayne@69 33676 if ((8 * sizeof(uint32_t) - 1 > 3 * PyLong_SHIFT)) {
jpayne@69 33677 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 33678 __PYX_VERIFY_RETURN_INT(uint32_t, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33679 } else if ((8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT)) {
jpayne@69 33680 return (uint32_t) (((uint32_t)-1)*(((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
jpayne@69 33681 }
jpayne@69 33682 }
jpayne@69 33683 break;
jpayne@69 33684 case 4:
jpayne@69 33685 if ((8 * sizeof(uint32_t) > 3 * PyLong_SHIFT)) {
jpayne@69 33686 if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) {
jpayne@69 33687 __PYX_VERIFY_RETURN_INT(uint32_t, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0])))
jpayne@69 33688 } else if ((8 * sizeof(uint32_t) - 1 > 4 * PyLong_SHIFT)) {
jpayne@69 33689 return (uint32_t) ((((((((((uint32_t)digits[3]) << PyLong_SHIFT) | (uint32_t)digits[2]) << PyLong_SHIFT) | (uint32_t)digits[1]) << PyLong_SHIFT) | (uint32_t)digits[0])));
jpayne@69 33690 }
jpayne@69 33691 }
jpayne@69 33692 break;
jpayne@69 33693 }
jpayne@69 33694 }
jpayne@69 33695 #endif
jpayne@69 33696 if ((sizeof(uint32_t) <= sizeof(long))) {
jpayne@69 33697 __PYX_VERIFY_RETURN_INT_EXC(uint32_t, long, PyLong_AsLong(x))
jpayne@69 33698 #ifdef HAVE_LONG_LONG
jpayne@69 33699 } else if ((sizeof(uint32_t) <= sizeof(PY_LONG_LONG))) {
jpayne@69 33700 __PYX_VERIFY_RETURN_INT_EXC(uint32_t, PY_LONG_LONG, PyLong_AsLongLong(x))
jpayne@69 33701 #endif
jpayne@69 33702 }
jpayne@69 33703 }
jpayne@69 33704 {
jpayne@69 33705 uint32_t val;
jpayne@69 33706 int ret = -1;
jpayne@69 33707 #if PY_VERSION_HEX >= 0x030d00A6 && !CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 33708 Py_ssize_t bytes_copied = PyLong_AsNativeBytes(
jpayne@69 33709 x, &val, sizeof(val), Py_ASNATIVEBYTES_NATIVE_ENDIAN | (is_unsigned ? Py_ASNATIVEBYTES_UNSIGNED_BUFFER | Py_ASNATIVEBYTES_REJECT_NEGATIVE : 0));
jpayne@69 33710 if (unlikely(bytes_copied == -1)) {
jpayne@69 33711 } else if (unlikely(bytes_copied > (Py_ssize_t) sizeof(val))) {
jpayne@69 33712 goto raise_overflow;
jpayne@69 33713 } else {
jpayne@69 33714 ret = 0;
jpayne@69 33715 }
jpayne@69 33716 #elif PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
jpayne@69 33717 int one = 1; int is_little = (int)*(unsigned char *)&one;
jpayne@69 33718 unsigned char *bytes = (unsigned char *)&val;
jpayne@69 33719 ret = _PyLong_AsByteArray((PyLongObject *)x,
jpayne@69 33720 bytes, sizeof(val),
jpayne@69 33721 is_little, !is_unsigned);
jpayne@69 33722 #else
jpayne@69 33723 PyObject *v;
jpayne@69 33724 PyObject *stepval = NULL, *mask = NULL, *shift = NULL;
jpayne@69 33725 int bits, remaining_bits, is_negative = 0;
jpayne@69 33726 int chunk_size = (sizeof(long) < 8) ? 30 : 62;
jpayne@69 33727 if (likely(PyLong_CheckExact(x))) {
jpayne@69 33728 v = __Pyx_NewRef(x);
jpayne@69 33729 } else {
jpayne@69 33730 v = PyNumber_Long(x);
jpayne@69 33731 if (unlikely(!v)) return (uint32_t) -1;
jpayne@69 33732 assert(PyLong_CheckExact(v));
jpayne@69 33733 }
jpayne@69 33734 {
jpayne@69 33735 int result = PyObject_RichCompareBool(v, Py_False, Py_LT);
jpayne@69 33736 if (unlikely(result < 0)) {
jpayne@69 33737 Py_DECREF(v);
jpayne@69 33738 return (uint32_t) -1;
jpayne@69 33739 }
jpayne@69 33740 is_negative = result == 1;
jpayne@69 33741 }
jpayne@69 33742 if (is_unsigned && unlikely(is_negative)) {
jpayne@69 33743 Py_DECREF(v);
jpayne@69 33744 goto raise_neg_overflow;
jpayne@69 33745 } else if (is_negative) {
jpayne@69 33746 stepval = PyNumber_Invert(v);
jpayne@69 33747 Py_DECREF(v);
jpayne@69 33748 if (unlikely(!stepval))
jpayne@69 33749 return (uint32_t) -1;
jpayne@69 33750 } else {
jpayne@69 33751 stepval = v;
jpayne@69 33752 }
jpayne@69 33753 v = NULL;
jpayne@69 33754 val = (uint32_t) 0;
jpayne@69 33755 mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done;
jpayne@69 33756 shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done;
jpayne@69 33757 for (bits = 0; bits < (int) sizeof(uint32_t) * 8 - chunk_size; bits += chunk_size) {
jpayne@69 33758 PyObject *tmp, *digit;
jpayne@69 33759 long idigit;
jpayne@69 33760 digit = PyNumber_And(stepval, mask);
jpayne@69 33761 if (unlikely(!digit)) goto done;
jpayne@69 33762 idigit = PyLong_AsLong(digit);
jpayne@69 33763 Py_DECREF(digit);
jpayne@69 33764 if (unlikely(idigit < 0)) goto done;
jpayne@69 33765 val |= ((uint32_t) idigit) << bits;
jpayne@69 33766 tmp = PyNumber_Rshift(stepval, shift);
jpayne@69 33767 if (unlikely(!tmp)) goto done;
jpayne@69 33768 Py_DECREF(stepval); stepval = tmp;
jpayne@69 33769 }
jpayne@69 33770 Py_DECREF(shift); shift = NULL;
jpayne@69 33771 Py_DECREF(mask); mask = NULL;
jpayne@69 33772 {
jpayne@69 33773 long idigit = PyLong_AsLong(stepval);
jpayne@69 33774 if (unlikely(idigit < 0)) goto done;
jpayne@69 33775 remaining_bits = ((int) sizeof(uint32_t) * 8) - bits - (is_unsigned ? 0 : 1);
jpayne@69 33776 if (unlikely(idigit >= (1L << remaining_bits)))
jpayne@69 33777 goto raise_overflow;
jpayne@69 33778 val |= ((uint32_t) idigit) << bits;
jpayne@69 33779 }
jpayne@69 33780 if (!is_unsigned) {
jpayne@69 33781 if (unlikely(val & (((uint32_t) 1) << (sizeof(uint32_t) * 8 - 1))))
jpayne@69 33782 goto raise_overflow;
jpayne@69 33783 if (is_negative)
jpayne@69 33784 val = ~val;
jpayne@69 33785 }
jpayne@69 33786 ret = 0;
jpayne@69 33787 done:
jpayne@69 33788 Py_XDECREF(shift);
jpayne@69 33789 Py_XDECREF(mask);
jpayne@69 33790 Py_XDECREF(stepval);
jpayne@69 33791 #endif
jpayne@69 33792 if (unlikely(ret))
jpayne@69 33793 return (uint32_t) -1;
jpayne@69 33794 return val;
jpayne@69 33795 }
jpayne@69 33796 raise_overflow:
jpayne@69 33797 PyErr_SetString(PyExc_OverflowError,
jpayne@69 33798 "value too large to convert to uint32_t");
jpayne@69 33799 return (uint32_t) -1;
jpayne@69 33800 raise_neg_overflow:
jpayne@69 33801 PyErr_SetString(PyExc_OverflowError,
jpayne@69 33802 "can't convert negative value to uint32_t");
jpayne@69 33803 return (uint32_t) -1;
jpayne@69 33804 }
jpayne@69 33805
jpayne@69 33806 /* CIntToPy */
jpayne@69 33807 static CYTHON_INLINE PyObject* __Pyx_PyInt_From_uint32_t(uint32_t value) {
jpayne@69 33808 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 33809 #pragma GCC diagnostic push
jpayne@69 33810 #pragma GCC diagnostic ignored "-Wconversion"
jpayne@69 33811 #endif
jpayne@69 33812 const uint32_t neg_one = (uint32_t) -1, const_zero = (uint32_t) 0;
jpayne@69 33813 #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
jpayne@69 33814 #pragma GCC diagnostic pop
jpayne@69 33815 #endif
jpayne@69 33816 const int is_unsigned = neg_one > const_zero;
jpayne@69 33817 if (is_unsigned) {
jpayne@69 33818 if (sizeof(uint32_t) < sizeof(long)) {
jpayne@69 33819 return PyInt_FromLong((long) value);
jpayne@69 33820 } else if (sizeof(uint32_t) <= sizeof(unsigned long)) {
jpayne@69 33821 return PyLong_FromUnsignedLong((unsigned long) value);
jpayne@69 33822 #ifdef HAVE_LONG_LONG
jpayne@69 33823 } else if (sizeof(uint32_t) <= sizeof(unsigned PY_LONG_LONG)) {
jpayne@69 33824 return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
jpayne@69 33825 #endif
jpayne@69 33826 }
jpayne@69 33827 } else {
jpayne@69 33828 if (sizeof(uint32_t) <= sizeof(long)) {
jpayne@69 33829 return PyInt_FromLong((long) value);
jpayne@69 33830 #ifdef HAVE_LONG_LONG
jpayne@69 33831 } else if (sizeof(uint32_t) <= sizeof(PY_LONG_LONG)) {
jpayne@69 33832 return PyLong_FromLongLong((PY_LONG_LONG) value);
jpayne@69 33833 #endif
jpayne@69 33834 }
jpayne@69 33835 }
jpayne@69 33836 {
jpayne@69 33837 unsigned char *bytes = (unsigned char *)&value;
jpayne@69 33838 #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX >= 0x030d00A4
jpayne@69 33839 if (is_unsigned) {
jpayne@69 33840 return PyLong_FromUnsignedNativeBytes(bytes, sizeof(value), -1);
jpayne@69 33841 } else {
jpayne@69 33842 return PyLong_FromNativeBytes(bytes, sizeof(value), -1);
jpayne@69 33843 }
jpayne@69 33844 #elif !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
jpayne@69 33845 int one = 1; int little = (int)*(unsigned char *)&one;
jpayne@69 33846 return _PyLong_FromByteArray(bytes, sizeof(uint32_t),
jpayne@69 33847 little, !is_unsigned);
jpayne@69 33848 #else
jpayne@69 33849 int one = 1; int little = (int)*(unsigned char *)&one;
jpayne@69 33850 PyObject *from_bytes, *result = NULL;
jpayne@69 33851 PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
jpayne@69 33852 from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
jpayne@69 33853 if (!from_bytes) return NULL;
jpayne@69 33854 py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(uint32_t));
jpayne@69 33855 if (!py_bytes) goto limited_bad;
jpayne@69 33856 order_str = PyUnicode_FromString(little ? "little" : "big");
jpayne@69 33857 if (!order_str) goto limited_bad;
jpayne@69 33858 arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
jpayne@69 33859 if (!arg_tuple) goto limited_bad;
jpayne@69 33860 if (!is_unsigned) {
jpayne@69 33861 kwds = PyDict_New();
jpayne@69 33862 if (!kwds) goto limited_bad;
jpayne@69 33863 if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
jpayne@69 33864 }
jpayne@69 33865 result = PyObject_Call(from_bytes, arg_tuple, kwds);
jpayne@69 33866 limited_bad:
jpayne@69 33867 Py_XDECREF(kwds);
jpayne@69 33868 Py_XDECREF(arg_tuple);
jpayne@69 33869 Py_XDECREF(order_str);
jpayne@69 33870 Py_XDECREF(py_bytes);
jpayne@69 33871 Py_XDECREF(from_bytes);
jpayne@69 33872 return result;
jpayne@69 33873 #endif
jpayne@69 33874 }
jpayne@69 33875 }
jpayne@69 33876
jpayne@69 33877 /* FormatTypeName */
jpayne@69 33878 #if CYTHON_COMPILING_IN_LIMITED_API
jpayne@69 33879 static __Pyx_TypeName
jpayne@69 33880 __Pyx_PyType_GetName(PyTypeObject* tp)
jpayne@69 33881 {
jpayne@69 33882 PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp,
jpayne@69 33883 __pyx_n_s_name_2);
jpayne@69 33884 if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) {
jpayne@69 33885 PyErr_Clear();
jpayne@69 33886 Py_XDECREF(name);
jpayne@69 33887 name = __Pyx_NewRef(__pyx_n_s__88);
jpayne@69 33888 }
jpayne@69 33889 return name;
jpayne@69 33890 }
jpayne@69 33891 #endif
jpayne@69 33892
jpayne@69 33893 /* FastTypeChecks */
jpayne@69 33894 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 33895 static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
jpayne@69 33896 while (a) {
jpayne@69 33897 a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*);
jpayne@69 33898 if (a == b)
jpayne@69 33899 return 1;
jpayne@69 33900 }
jpayne@69 33901 return b == &PyBaseObject_Type;
jpayne@69 33902 }
jpayne@69 33903 static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) {
jpayne@69 33904 PyObject *mro;
jpayne@69 33905 if (a == b) return 1;
jpayne@69 33906 mro = a->tp_mro;
jpayne@69 33907 if (likely(mro)) {
jpayne@69 33908 Py_ssize_t i, n;
jpayne@69 33909 n = PyTuple_GET_SIZE(mro);
jpayne@69 33910 for (i = 0; i < n; i++) {
jpayne@69 33911 if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b)
jpayne@69 33912 return 1;
jpayne@69 33913 }
jpayne@69 33914 return 0;
jpayne@69 33915 }
jpayne@69 33916 return __Pyx_InBases(a, b);
jpayne@69 33917 }
jpayne@69 33918 static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) {
jpayne@69 33919 PyObject *mro;
jpayne@69 33920 if (cls == a || cls == b) return 1;
jpayne@69 33921 mro = cls->tp_mro;
jpayne@69 33922 if (likely(mro)) {
jpayne@69 33923 Py_ssize_t i, n;
jpayne@69 33924 n = PyTuple_GET_SIZE(mro);
jpayne@69 33925 for (i = 0; i < n; i++) {
jpayne@69 33926 PyObject *base = PyTuple_GET_ITEM(mro, i);
jpayne@69 33927 if (base == (PyObject *)a || base == (PyObject *)b)
jpayne@69 33928 return 1;
jpayne@69 33929 }
jpayne@69 33930 return 0;
jpayne@69 33931 }
jpayne@69 33932 return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b);
jpayne@69 33933 }
jpayne@69 33934 #if PY_MAJOR_VERSION == 2
jpayne@69 33935 static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) {
jpayne@69 33936 PyObject *exception, *value, *tb;
jpayne@69 33937 int res;
jpayne@69 33938 __Pyx_PyThreadState_declare
jpayne@69 33939 __Pyx_PyThreadState_assign
jpayne@69 33940 __Pyx_ErrFetch(&exception, &value, &tb);
jpayne@69 33941 res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0;
jpayne@69 33942 if (unlikely(res == -1)) {
jpayne@69 33943 PyErr_WriteUnraisable(err);
jpayne@69 33944 res = 0;
jpayne@69 33945 }
jpayne@69 33946 if (!res) {
jpayne@69 33947 res = PyObject_IsSubclass(err, exc_type2);
jpayne@69 33948 if (unlikely(res == -1)) {
jpayne@69 33949 PyErr_WriteUnraisable(err);
jpayne@69 33950 res = 0;
jpayne@69 33951 }
jpayne@69 33952 }
jpayne@69 33953 __Pyx_ErrRestore(exception, value, tb);
jpayne@69 33954 return res;
jpayne@69 33955 }
jpayne@69 33956 #else
jpayne@69 33957 static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
jpayne@69 33958 if (exc_type1) {
jpayne@69 33959 return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2);
jpayne@69 33960 } else {
jpayne@69 33961 return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
jpayne@69 33962 }
jpayne@69 33963 }
jpayne@69 33964 #endif
jpayne@69 33965 static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
jpayne@69 33966 Py_ssize_t i, n;
jpayne@69 33967 assert(PyExceptionClass_Check(exc_type));
jpayne@69 33968 n = PyTuple_GET_SIZE(tuple);
jpayne@69 33969 #if PY_MAJOR_VERSION >= 3
jpayne@69 33970 for (i=0; i<n; i++) {
jpayne@69 33971 if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
jpayne@69 33972 }
jpayne@69 33973 #endif
jpayne@69 33974 for (i=0; i<n; i++) {
jpayne@69 33975 PyObject *t = PyTuple_GET_ITEM(tuple, i);
jpayne@69 33976 #if PY_MAJOR_VERSION < 3
jpayne@69 33977 if (likely(exc_type == t)) return 1;
jpayne@69 33978 #endif
jpayne@69 33979 if (likely(PyExceptionClass_Check(t))) {
jpayne@69 33980 if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1;
jpayne@69 33981 } else {
jpayne@69 33982 }
jpayne@69 33983 }
jpayne@69 33984 return 0;
jpayne@69 33985 }
jpayne@69 33986 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) {
jpayne@69 33987 if (likely(err == exc_type)) return 1;
jpayne@69 33988 if (likely(PyExceptionClass_Check(err))) {
jpayne@69 33989 if (likely(PyExceptionClass_Check(exc_type))) {
jpayne@69 33990 return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type);
jpayne@69 33991 } else if (likely(PyTuple_Check(exc_type))) {
jpayne@69 33992 return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type);
jpayne@69 33993 } else {
jpayne@69 33994 }
jpayne@69 33995 }
jpayne@69 33996 return PyErr_GivenExceptionMatches(err, exc_type);
jpayne@69 33997 }
jpayne@69 33998 static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) {
jpayne@69 33999 assert(PyExceptionClass_Check(exc_type1));
jpayne@69 34000 assert(PyExceptionClass_Check(exc_type2));
jpayne@69 34001 if (likely(err == exc_type1 || err == exc_type2)) return 1;
jpayne@69 34002 if (likely(PyExceptionClass_Check(err))) {
jpayne@69 34003 return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2);
jpayne@69 34004 }
jpayne@69 34005 return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2));
jpayne@69 34006 }
jpayne@69 34007 #endif
jpayne@69 34008
jpayne@69 34009 /* SwapException */
jpayne@69 34010 #if CYTHON_FAST_THREAD_STATE
jpayne@69 34011 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
jpayne@69 34012 PyObject *tmp_type, *tmp_value, *tmp_tb;
jpayne@69 34013 #if CYTHON_USE_EXC_INFO_STACK && PY_VERSION_HEX >= 0x030B00a4
jpayne@69 34014 _PyErr_StackItem *exc_info = tstate->exc_info;
jpayne@69 34015 tmp_value = exc_info->exc_value;
jpayne@69 34016 exc_info->exc_value = *value;
jpayne@69 34017 if (tmp_value == NULL || tmp_value == Py_None) {
jpayne@69 34018 Py_XDECREF(tmp_value);
jpayne@69 34019 tmp_value = NULL;
jpayne@69 34020 tmp_type = NULL;
jpayne@69 34021 tmp_tb = NULL;
jpayne@69 34022 } else {
jpayne@69 34023 tmp_type = (PyObject*) Py_TYPE(tmp_value);
jpayne@69 34024 Py_INCREF(tmp_type);
jpayne@69 34025 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 34026 tmp_tb = ((PyBaseExceptionObject*) tmp_value)->traceback;
jpayne@69 34027 Py_XINCREF(tmp_tb);
jpayne@69 34028 #else
jpayne@69 34029 tmp_tb = PyException_GetTraceback(tmp_value);
jpayne@69 34030 #endif
jpayne@69 34031 }
jpayne@69 34032 #elif CYTHON_USE_EXC_INFO_STACK
jpayne@69 34033 _PyErr_StackItem *exc_info = tstate->exc_info;
jpayne@69 34034 tmp_type = exc_info->exc_type;
jpayne@69 34035 tmp_value = exc_info->exc_value;
jpayne@69 34036 tmp_tb = exc_info->exc_traceback;
jpayne@69 34037 exc_info->exc_type = *type;
jpayne@69 34038 exc_info->exc_value = *value;
jpayne@69 34039 exc_info->exc_traceback = *tb;
jpayne@69 34040 #else
jpayne@69 34041 tmp_type = tstate->exc_type;
jpayne@69 34042 tmp_value = tstate->exc_value;
jpayne@69 34043 tmp_tb = tstate->exc_traceback;
jpayne@69 34044 tstate->exc_type = *type;
jpayne@69 34045 tstate->exc_value = *value;
jpayne@69 34046 tstate->exc_traceback = *tb;
jpayne@69 34047 #endif
jpayne@69 34048 *type = tmp_type;
jpayne@69 34049 *value = tmp_value;
jpayne@69 34050 *tb = tmp_tb;
jpayne@69 34051 }
jpayne@69 34052 #else
jpayne@69 34053 static CYTHON_INLINE void __Pyx_ExceptionSwap(PyObject **type, PyObject **value, PyObject **tb) {
jpayne@69 34054 PyObject *tmp_type, *tmp_value, *tmp_tb;
jpayne@69 34055 PyErr_GetExcInfo(&tmp_type, &tmp_value, &tmp_tb);
jpayne@69 34056 PyErr_SetExcInfo(*type, *value, *tb);
jpayne@69 34057 *type = tmp_type;
jpayne@69 34058 *value = tmp_value;
jpayne@69 34059 *tb = tmp_tb;
jpayne@69 34060 }
jpayne@69 34061 #endif
jpayne@69 34062
jpayne@69 34063 /* CoroutineBase */
jpayne@69 34064 #include <frameobject.h>
jpayne@69 34065 #if PY_VERSION_HEX >= 0x030b00a6
jpayne@69 34066 #ifndef Py_BUILD_CORE
jpayne@69 34067 #define Py_BUILD_CORE 1
jpayne@69 34068 #endif
jpayne@69 34069 #include "internal/pycore_frame.h"
jpayne@69 34070 #endif
jpayne@69 34071 #define __Pyx_Coroutine_Undelegate(gen) Py_CLEAR((gen)->yieldfrom)
jpayne@69 34072 static int __Pyx_PyGen__FetchStopIterationValue(PyThreadState *__pyx_tstate, PyObject **pvalue) {
jpayne@69 34073 PyObject *et, *ev, *tb;
jpayne@69 34074 PyObject *value = NULL;
jpayne@69 34075 CYTHON_UNUSED_VAR(__pyx_tstate);
jpayne@69 34076 __Pyx_ErrFetch(&et, &ev, &tb);
jpayne@69 34077 if (!et) {
jpayne@69 34078 Py_XDECREF(tb);
jpayne@69 34079 Py_XDECREF(ev);
jpayne@69 34080 Py_INCREF(Py_None);
jpayne@69 34081 *pvalue = Py_None;
jpayne@69 34082 return 0;
jpayne@69 34083 }
jpayne@69 34084 if (likely(et == PyExc_StopIteration)) {
jpayne@69 34085 if (!ev) {
jpayne@69 34086 Py_INCREF(Py_None);
jpayne@69 34087 value = Py_None;
jpayne@69 34088 }
jpayne@69 34089 #if PY_VERSION_HEX >= 0x030300A0
jpayne@69 34090 else if (likely(__Pyx_IS_TYPE(ev, (PyTypeObject*)PyExc_StopIteration))) {
jpayne@69 34091 value = ((PyStopIterationObject *)ev)->value;
jpayne@69 34092 Py_INCREF(value);
jpayne@69 34093 Py_DECREF(ev);
jpayne@69 34094 }
jpayne@69 34095 #endif
jpayne@69 34096 else if (unlikely(PyTuple_Check(ev))) {
jpayne@69 34097 if (PyTuple_GET_SIZE(ev) >= 1) {
jpayne@69 34098 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
jpayne@69 34099 value = PyTuple_GET_ITEM(ev, 0);
jpayne@69 34100 Py_INCREF(value);
jpayne@69 34101 #else
jpayne@69 34102 value = PySequence_ITEM(ev, 0);
jpayne@69 34103 #endif
jpayne@69 34104 } else {
jpayne@69 34105 Py_INCREF(Py_None);
jpayne@69 34106 value = Py_None;
jpayne@69 34107 }
jpayne@69 34108 Py_DECREF(ev);
jpayne@69 34109 }
jpayne@69 34110 else if (!__Pyx_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration)) {
jpayne@69 34111 value = ev;
jpayne@69 34112 }
jpayne@69 34113 if (likely(value)) {
jpayne@69 34114 Py_XDECREF(tb);
jpayne@69 34115 Py_DECREF(et);
jpayne@69 34116 *pvalue = value;
jpayne@69 34117 return 0;
jpayne@69 34118 }
jpayne@69 34119 } else if (!__Pyx_PyErr_GivenExceptionMatches(et, PyExc_StopIteration)) {
jpayne@69 34120 __Pyx_ErrRestore(et, ev, tb);
jpayne@69 34121 return -1;
jpayne@69 34122 }
jpayne@69 34123 PyErr_NormalizeException(&et, &ev, &tb);
jpayne@69 34124 if (unlikely(!PyObject_TypeCheck(ev, (PyTypeObject*)PyExc_StopIteration))) {
jpayne@69 34125 __Pyx_ErrRestore(et, ev, tb);
jpayne@69 34126 return -1;
jpayne@69 34127 }
jpayne@69 34128 Py_XDECREF(tb);
jpayne@69 34129 Py_DECREF(et);
jpayne@69 34130 #if PY_VERSION_HEX >= 0x030300A0
jpayne@69 34131 value = ((PyStopIterationObject *)ev)->value;
jpayne@69 34132 Py_INCREF(value);
jpayne@69 34133 Py_DECREF(ev);
jpayne@69 34134 #else
jpayne@69 34135 {
jpayne@69 34136 PyObject* args = __Pyx_PyObject_GetAttrStr(ev, __pyx_n_s_args);
jpayne@69 34137 Py_DECREF(ev);
jpayne@69 34138 if (likely(args)) {
jpayne@69 34139 value = PySequence_GetItem(args, 0);
jpayne@69 34140 Py_DECREF(args);
jpayne@69 34141 }
jpayne@69 34142 if (unlikely(!value)) {
jpayne@69 34143 __Pyx_ErrRestore(NULL, NULL, NULL);
jpayne@69 34144 Py_INCREF(Py_None);
jpayne@69 34145 value = Py_None;
jpayne@69 34146 }
jpayne@69 34147 }
jpayne@69 34148 #endif
jpayne@69 34149 *pvalue = value;
jpayne@69 34150 return 0;
jpayne@69 34151 }
jpayne@69 34152 static CYTHON_INLINE
jpayne@69 34153 void __Pyx_Coroutine_ExceptionClear(__Pyx_ExcInfoStruct *exc_state) {
jpayne@69 34154 #if PY_VERSION_HEX >= 0x030B00a4
jpayne@69 34155 Py_CLEAR(exc_state->exc_value);
jpayne@69 34156 #else
jpayne@69 34157 PyObject *t, *v, *tb;
jpayne@69 34158 t = exc_state->exc_type;
jpayne@69 34159 v = exc_state->exc_value;
jpayne@69 34160 tb = exc_state->exc_traceback;
jpayne@69 34161 exc_state->exc_type = NULL;
jpayne@69 34162 exc_state->exc_value = NULL;
jpayne@69 34163 exc_state->exc_traceback = NULL;
jpayne@69 34164 Py_XDECREF(t);
jpayne@69 34165 Py_XDECREF(v);
jpayne@69 34166 Py_XDECREF(tb);
jpayne@69 34167 #endif
jpayne@69 34168 }
jpayne@69 34169 #define __Pyx_Coroutine_AlreadyRunningError(gen) (__Pyx__Coroutine_AlreadyRunningError(gen), (PyObject*)NULL)
jpayne@69 34170 static void __Pyx__Coroutine_AlreadyRunningError(__pyx_CoroutineObject *gen) {
jpayne@69 34171 const char *msg;
jpayne@69 34172 CYTHON_MAYBE_UNUSED_VAR(gen);
jpayne@69 34173 if ((0)) {
jpayne@69 34174 #ifdef __Pyx_Coroutine_USED
jpayne@69 34175 } else if (__Pyx_Coroutine_Check((PyObject*)gen)) {
jpayne@69 34176 msg = "coroutine already executing";
jpayne@69 34177 #endif
jpayne@69 34178 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34179 } else if (__Pyx_AsyncGen_CheckExact((PyObject*)gen)) {
jpayne@69 34180 msg = "async generator already executing";
jpayne@69 34181 #endif
jpayne@69 34182 } else {
jpayne@69 34183 msg = "generator already executing";
jpayne@69 34184 }
jpayne@69 34185 PyErr_SetString(PyExc_ValueError, msg);
jpayne@69 34186 }
jpayne@69 34187 #define __Pyx_Coroutine_NotStartedError(gen) (__Pyx__Coroutine_NotStartedError(gen), (PyObject*)NULL)
jpayne@69 34188 static void __Pyx__Coroutine_NotStartedError(PyObject *gen) {
jpayne@69 34189 const char *msg;
jpayne@69 34190 CYTHON_MAYBE_UNUSED_VAR(gen);
jpayne@69 34191 if ((0)) {
jpayne@69 34192 #ifdef __Pyx_Coroutine_USED
jpayne@69 34193 } else if (__Pyx_Coroutine_Check(gen)) {
jpayne@69 34194 msg = "can't send non-None value to a just-started coroutine";
jpayne@69 34195 #endif
jpayne@69 34196 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34197 } else if (__Pyx_AsyncGen_CheckExact(gen)) {
jpayne@69 34198 msg = "can't send non-None value to a just-started async generator";
jpayne@69 34199 #endif
jpayne@69 34200 } else {
jpayne@69 34201 msg = "can't send non-None value to a just-started generator";
jpayne@69 34202 }
jpayne@69 34203 PyErr_SetString(PyExc_TypeError, msg);
jpayne@69 34204 }
jpayne@69 34205 #define __Pyx_Coroutine_AlreadyTerminatedError(gen, value, closing) (__Pyx__Coroutine_AlreadyTerminatedError(gen, value, closing), (PyObject*)NULL)
jpayne@69 34206 static void __Pyx__Coroutine_AlreadyTerminatedError(PyObject *gen, PyObject *value, int closing) {
jpayne@69 34207 CYTHON_MAYBE_UNUSED_VAR(gen);
jpayne@69 34208 CYTHON_MAYBE_UNUSED_VAR(closing);
jpayne@69 34209 #ifdef __Pyx_Coroutine_USED
jpayne@69 34210 if (!closing && __Pyx_Coroutine_Check(gen)) {
jpayne@69 34211 PyErr_SetString(PyExc_RuntimeError, "cannot reuse already awaited coroutine");
jpayne@69 34212 } else
jpayne@69 34213 #endif
jpayne@69 34214 if (value) {
jpayne@69 34215 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34216 if (__Pyx_AsyncGen_CheckExact(gen))
jpayne@69 34217 PyErr_SetNone(__Pyx_PyExc_StopAsyncIteration);
jpayne@69 34218 else
jpayne@69 34219 #endif
jpayne@69 34220 PyErr_SetNone(PyExc_StopIteration);
jpayne@69 34221 }
jpayne@69 34222 }
jpayne@69 34223 static
jpayne@69 34224 PyObject *__Pyx_Coroutine_SendEx(__pyx_CoroutineObject *self, PyObject *value, int closing) {
jpayne@69 34225 __Pyx_PyThreadState_declare
jpayne@69 34226 PyThreadState *tstate;
jpayne@69 34227 __Pyx_ExcInfoStruct *exc_state;
jpayne@69 34228 PyObject *retval;
jpayne@69 34229 assert(!self->is_running);
jpayne@69 34230 if (unlikely(self->resume_label == 0)) {
jpayne@69 34231 if (unlikely(value && value != Py_None)) {
jpayne@69 34232 return __Pyx_Coroutine_NotStartedError((PyObject*)self);
jpayne@69 34233 }
jpayne@69 34234 }
jpayne@69 34235 if (unlikely(self->resume_label == -1)) {
jpayne@69 34236 return __Pyx_Coroutine_AlreadyTerminatedError((PyObject*)self, value, closing);
jpayne@69 34237 }
jpayne@69 34238 #if CYTHON_FAST_THREAD_STATE
jpayne@69 34239 __Pyx_PyThreadState_assign
jpayne@69 34240 tstate = __pyx_tstate;
jpayne@69 34241 #else
jpayne@69 34242 tstate = __Pyx_PyThreadState_Current;
jpayne@69 34243 #endif
jpayne@69 34244 exc_state = &self->gi_exc_state;
jpayne@69 34245 if (exc_state->exc_value) {
jpayne@69 34246 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 34247 #else
jpayne@69 34248 PyObject *exc_tb;
jpayne@69 34249 #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
jpayne@69 34250 exc_tb = PyException_GetTraceback(exc_state->exc_value);
jpayne@69 34251 #elif PY_VERSION_HEX >= 0x030B00a4
jpayne@69 34252 exc_tb = ((PyBaseExceptionObject*) exc_state->exc_value)->traceback;
jpayne@69 34253 #else
jpayne@69 34254 exc_tb = exc_state->exc_traceback;
jpayne@69 34255 #endif
jpayne@69 34256 if (exc_tb) {
jpayne@69 34257 PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
jpayne@69 34258 PyFrameObject *f = tb->tb_frame;
jpayne@69 34259 assert(f->f_back == NULL);
jpayne@69 34260 #if PY_VERSION_HEX >= 0x030B00A1
jpayne@69 34261 f->f_back = PyThreadState_GetFrame(tstate);
jpayne@69 34262 #else
jpayne@69 34263 Py_XINCREF(tstate->frame);
jpayne@69 34264 f->f_back = tstate->frame;
jpayne@69 34265 #endif
jpayne@69 34266 #if PY_VERSION_HEX >= 0x030B00a4 && !CYTHON_COMPILING_IN_CPYTHON
jpayne@69 34267 Py_DECREF(exc_tb);
jpayne@69 34268 #endif
jpayne@69 34269 }
jpayne@69 34270 #endif
jpayne@69 34271 }
jpayne@69 34272 #if CYTHON_USE_EXC_INFO_STACK
jpayne@69 34273 exc_state->previous_item = tstate->exc_info;
jpayne@69 34274 tstate->exc_info = exc_state;
jpayne@69 34275 #else
jpayne@69 34276 if (exc_state->exc_type) {
jpayne@69 34277 __Pyx_ExceptionSwap(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
jpayne@69 34278 } else {
jpayne@69 34279 __Pyx_Coroutine_ExceptionClear(exc_state);
jpayne@69 34280 __Pyx_ExceptionSave(&exc_state->exc_type, &exc_state->exc_value, &exc_state->exc_traceback);
jpayne@69 34281 }
jpayne@69 34282 #endif
jpayne@69 34283 self->is_running = 1;
jpayne@69 34284 retval = self->body(self, tstate, value);
jpayne@69 34285 self->is_running = 0;
jpayne@69 34286 #if CYTHON_USE_EXC_INFO_STACK
jpayne@69 34287 exc_state = &self->gi_exc_state;
jpayne@69 34288 tstate->exc_info = exc_state->previous_item;
jpayne@69 34289 exc_state->previous_item = NULL;
jpayne@69 34290 __Pyx_Coroutine_ResetFrameBackpointer(exc_state);
jpayne@69 34291 #endif
jpayne@69 34292 return retval;
jpayne@69 34293 }
jpayne@69 34294 static CYTHON_INLINE void __Pyx_Coroutine_ResetFrameBackpointer(__Pyx_ExcInfoStruct *exc_state) {
jpayne@69 34295 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 34296 CYTHON_UNUSED_VAR(exc_state);
jpayne@69 34297 #else
jpayne@69 34298 PyObject *exc_tb;
jpayne@69 34299 #if PY_VERSION_HEX >= 0x030B00a4
jpayne@69 34300 if (!exc_state->exc_value) return;
jpayne@69 34301 exc_tb = PyException_GetTraceback(exc_state->exc_value);
jpayne@69 34302 #else
jpayne@69 34303 exc_tb = exc_state->exc_traceback;
jpayne@69 34304 #endif
jpayne@69 34305 if (likely(exc_tb)) {
jpayne@69 34306 PyTracebackObject *tb = (PyTracebackObject *) exc_tb;
jpayne@69 34307 PyFrameObject *f = tb->tb_frame;
jpayne@69 34308 Py_CLEAR(f->f_back);
jpayne@69 34309 #if PY_VERSION_HEX >= 0x030B00a4
jpayne@69 34310 Py_DECREF(exc_tb);
jpayne@69 34311 #endif
jpayne@69 34312 }
jpayne@69 34313 #endif
jpayne@69 34314 }
jpayne@69 34315 static CYTHON_INLINE
jpayne@69 34316 PyObject *__Pyx_Coroutine_MethodReturn(PyObject* gen, PyObject *retval) {
jpayne@69 34317 CYTHON_MAYBE_UNUSED_VAR(gen);
jpayne@69 34318 if (unlikely(!retval)) {
jpayne@69 34319 __Pyx_PyThreadState_declare
jpayne@69 34320 __Pyx_PyThreadState_assign
jpayne@69 34321 if (!__Pyx_PyErr_Occurred()) {
jpayne@69 34322 PyObject *exc = PyExc_StopIteration;
jpayne@69 34323 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34324 if (__Pyx_AsyncGen_CheckExact(gen))
jpayne@69 34325 exc = __Pyx_PyExc_StopAsyncIteration;
jpayne@69 34326 #endif
jpayne@69 34327 __Pyx_PyErr_SetNone(exc);
jpayne@69 34328 }
jpayne@69 34329 }
jpayne@69 34330 return retval;
jpayne@69 34331 }
jpayne@69 34332 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
jpayne@69 34333 static CYTHON_INLINE
jpayne@69 34334 PyObject *__Pyx_PyGen_Send(PyGenObject *gen, PyObject *arg) {
jpayne@69 34335 #if PY_VERSION_HEX <= 0x030A00A1
jpayne@69 34336 return _PyGen_Send(gen, arg);
jpayne@69 34337 #else
jpayne@69 34338 PyObject *result;
jpayne@69 34339 if (PyIter_Send((PyObject*)gen, arg ? arg : Py_None, &result) == PYGEN_RETURN) {
jpayne@69 34340 if (PyAsyncGen_CheckExact(gen)) {
jpayne@69 34341 assert(result == Py_None);
jpayne@69 34342 PyErr_SetNone(PyExc_StopAsyncIteration);
jpayne@69 34343 }
jpayne@69 34344 else if (result == Py_None) {
jpayne@69 34345 PyErr_SetNone(PyExc_StopIteration);
jpayne@69 34346 }
jpayne@69 34347 else {
jpayne@69 34348 #if PY_VERSION_HEX < 0x030d00A1
jpayne@69 34349 _PyGen_SetStopIterationValue(result);
jpayne@69 34350 #else
jpayne@69 34351 if (!PyTuple_Check(result) && !PyExceptionInstance_Check(result)) {
jpayne@69 34352 PyErr_SetObject(PyExc_StopIteration, result);
jpayne@69 34353 } else {
jpayne@69 34354 PyObject *exc = __Pyx_PyObject_CallOneArg(PyExc_StopIteration, result);
jpayne@69 34355 if (likely(exc != NULL)) {
jpayne@69 34356 PyErr_SetObject(PyExc_StopIteration, exc);
jpayne@69 34357 Py_DECREF(exc);
jpayne@69 34358 }
jpayne@69 34359 }
jpayne@69 34360 #endif
jpayne@69 34361 }
jpayne@69 34362 Py_DECREF(result);
jpayne@69 34363 result = NULL;
jpayne@69 34364 }
jpayne@69 34365 return result;
jpayne@69 34366 #endif
jpayne@69 34367 }
jpayne@69 34368 #endif
jpayne@69 34369 static CYTHON_INLINE
jpayne@69 34370 PyObject *__Pyx_Coroutine_FinishDelegation(__pyx_CoroutineObject *gen) {
jpayne@69 34371 PyObject *ret;
jpayne@69 34372 PyObject *val = NULL;
jpayne@69 34373 __Pyx_Coroutine_Undelegate(gen);
jpayne@69 34374 __Pyx_PyGen__FetchStopIterationValue(__Pyx_PyThreadState_Current, &val);
jpayne@69 34375 ret = __Pyx_Coroutine_SendEx(gen, val, 0);
jpayne@69 34376 Py_XDECREF(val);
jpayne@69 34377 return ret;
jpayne@69 34378 }
jpayne@69 34379 static PyObject *__Pyx_Coroutine_Send(PyObject *self, PyObject *value) {
jpayne@69 34380 PyObject *retval;
jpayne@69 34381 __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
jpayne@69 34382 PyObject *yf = gen->yieldfrom;
jpayne@69 34383 if (unlikely(gen->is_running))
jpayne@69 34384 return __Pyx_Coroutine_AlreadyRunningError(gen);
jpayne@69 34385 if (yf) {
jpayne@69 34386 PyObject *ret;
jpayne@69 34387 gen->is_running = 1;
jpayne@69 34388 #ifdef __Pyx_Generator_USED
jpayne@69 34389 if (__Pyx_Generator_CheckExact(yf)) {
jpayne@69 34390 ret = __Pyx_Coroutine_Send(yf, value);
jpayne@69 34391 } else
jpayne@69 34392 #endif
jpayne@69 34393 #ifdef __Pyx_Coroutine_USED
jpayne@69 34394 if (__Pyx_Coroutine_Check(yf)) {
jpayne@69 34395 ret = __Pyx_Coroutine_Send(yf, value);
jpayne@69 34396 } else
jpayne@69 34397 #endif
jpayne@69 34398 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34399 if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
jpayne@69 34400 ret = __Pyx_async_gen_asend_send(yf, value);
jpayne@69 34401 } else
jpayne@69 34402 #endif
jpayne@69 34403 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
jpayne@69 34404 if (PyGen_CheckExact(yf)) {
jpayne@69 34405 ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
jpayne@69 34406 } else
jpayne@69 34407 #endif
jpayne@69 34408 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03050000 && defined(PyCoro_CheckExact) && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
jpayne@69 34409 if (PyCoro_CheckExact(yf)) {
jpayne@69 34410 ret = __Pyx_PyGen_Send((PyGenObject*)yf, value == Py_None ? NULL : value);
jpayne@69 34411 } else
jpayne@69 34412 #endif
jpayne@69 34413 {
jpayne@69 34414 if (value == Py_None)
jpayne@69 34415 ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf);
jpayne@69 34416 else
jpayne@69 34417 ret = __Pyx_PyObject_CallMethod1(yf, __pyx_n_s_send, value);
jpayne@69 34418 }
jpayne@69 34419 gen->is_running = 0;
jpayne@69 34420 if (likely(ret)) {
jpayne@69 34421 return ret;
jpayne@69 34422 }
jpayne@69 34423 retval = __Pyx_Coroutine_FinishDelegation(gen);
jpayne@69 34424 } else {
jpayne@69 34425 retval = __Pyx_Coroutine_SendEx(gen, value, 0);
jpayne@69 34426 }
jpayne@69 34427 return __Pyx_Coroutine_MethodReturn(self, retval);
jpayne@69 34428 }
jpayne@69 34429 static int __Pyx_Coroutine_CloseIter(__pyx_CoroutineObject *gen, PyObject *yf) {
jpayne@69 34430 PyObject *retval = NULL;
jpayne@69 34431 int err = 0;
jpayne@69 34432 #ifdef __Pyx_Generator_USED
jpayne@69 34433 if (__Pyx_Generator_CheckExact(yf)) {
jpayne@69 34434 retval = __Pyx_Coroutine_Close(yf);
jpayne@69 34435 if (!retval)
jpayne@69 34436 return -1;
jpayne@69 34437 } else
jpayne@69 34438 #endif
jpayne@69 34439 #ifdef __Pyx_Coroutine_USED
jpayne@69 34440 if (__Pyx_Coroutine_Check(yf)) {
jpayne@69 34441 retval = __Pyx_Coroutine_Close(yf);
jpayne@69 34442 if (!retval)
jpayne@69 34443 return -1;
jpayne@69 34444 } else
jpayne@69 34445 if (__Pyx_CoroutineAwait_CheckExact(yf)) {
jpayne@69 34446 retval = __Pyx_CoroutineAwait_Close((__pyx_CoroutineAwaitObject*)yf, NULL);
jpayne@69 34447 if (!retval)
jpayne@69 34448 return -1;
jpayne@69 34449 } else
jpayne@69 34450 #endif
jpayne@69 34451 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34452 if (__pyx_PyAsyncGenASend_CheckExact(yf)) {
jpayne@69 34453 retval = __Pyx_async_gen_asend_close(yf, NULL);
jpayne@69 34454 } else
jpayne@69 34455 if (__pyx_PyAsyncGenAThrow_CheckExact(yf)) {
jpayne@69 34456 retval = __Pyx_async_gen_athrow_close(yf, NULL);
jpayne@69 34457 } else
jpayne@69 34458 #endif
jpayne@69 34459 {
jpayne@69 34460 PyObject *meth;
jpayne@69 34461 gen->is_running = 1;
jpayne@69 34462 meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_close);
jpayne@69 34463 if (unlikely(!meth)) {
jpayne@69 34464 if (unlikely(PyErr_Occurred())) {
jpayne@69 34465 PyErr_WriteUnraisable(yf);
jpayne@69 34466 }
jpayne@69 34467 } else {
jpayne@69 34468 retval = __Pyx_PyObject_CallNoArg(meth);
jpayne@69 34469 Py_DECREF(meth);
jpayne@69 34470 if (unlikely(!retval))
jpayne@69 34471 err = -1;
jpayne@69 34472 }
jpayne@69 34473 gen->is_running = 0;
jpayne@69 34474 }
jpayne@69 34475 Py_XDECREF(retval);
jpayne@69 34476 return err;
jpayne@69 34477 }
jpayne@69 34478 static PyObject *__Pyx_Generator_Next(PyObject *self) {
jpayne@69 34479 __pyx_CoroutineObject *gen = (__pyx_CoroutineObject*) self;
jpayne@69 34480 PyObject *yf = gen->yieldfrom;
jpayne@69 34481 if (unlikely(gen->is_running))
jpayne@69 34482 return __Pyx_Coroutine_AlreadyRunningError(gen);
jpayne@69 34483 if (yf) {
jpayne@69 34484 PyObject *ret;
jpayne@69 34485 gen->is_running = 1;
jpayne@69 34486 #ifdef __Pyx_Generator_USED
jpayne@69 34487 if (__Pyx_Generator_CheckExact(yf)) {
jpayne@69 34488 ret = __Pyx_Generator_Next(yf);
jpayne@69 34489 } else
jpayne@69 34490 #endif
jpayne@69 34491 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03030000 && (defined(__linux__) || PY_VERSION_HEX >= 0x030600B3)
jpayne@69 34492 if (PyGen_CheckExact(yf)) {
jpayne@69 34493 ret = __Pyx_PyGen_Send((PyGenObject*)yf, NULL);
jpayne@69 34494 } else
jpayne@69 34495 #endif
jpayne@69 34496 #ifdef __Pyx_Coroutine_USED
jpayne@69 34497 if (__Pyx_Coroutine_Check(yf)) {
jpayne@69 34498 ret = __Pyx_Coroutine_Send(yf, Py_None);
jpayne@69 34499 } else
jpayne@69 34500 #endif
jpayne@69 34501 ret = __Pyx_PyObject_GetIterNextFunc(yf)(yf);
jpayne@69 34502 gen->is_running = 0;
jpayne@69 34503 if (likely(ret)) {
jpayne@69 34504 return ret;
jpayne@69 34505 }
jpayne@69 34506 return __Pyx_Coroutine_FinishDelegation(gen);
jpayne@69 34507 }
jpayne@69 34508 return __Pyx_Coroutine_SendEx(gen, Py_None, 0);
jpayne@69 34509 }
jpayne@69 34510 static PyObject *__Pyx_Coroutine_Close_Method(PyObject *self, PyObject *arg) {
jpayne@69 34511 CYTHON_UNUSED_VAR(arg);
jpayne@69 34512 return __Pyx_Coroutine_Close(self);
jpayne@69 34513 }
jpayne@69 34514 static PyObject *__Pyx_Coroutine_Close(PyObject *self) {
jpayne@69 34515 __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
jpayne@69 34516 PyObject *retval, *raised_exception;
jpayne@69 34517 PyObject *yf = gen->yieldfrom;
jpayne@69 34518 int err = 0;
jpayne@69 34519 if (unlikely(gen->is_running))
jpayne@69 34520 return __Pyx_Coroutine_AlreadyRunningError(gen);
jpayne@69 34521 if (yf) {
jpayne@69 34522 Py_INCREF(yf);
jpayne@69 34523 err = __Pyx_Coroutine_CloseIter(gen, yf);
jpayne@69 34524 __Pyx_Coroutine_Undelegate(gen);
jpayne@69 34525 Py_DECREF(yf);
jpayne@69 34526 }
jpayne@69 34527 if (err == 0)
jpayne@69 34528 PyErr_SetNone(PyExc_GeneratorExit);
jpayne@69 34529 retval = __Pyx_Coroutine_SendEx(gen, NULL, 1);
jpayne@69 34530 if (unlikely(retval)) {
jpayne@69 34531 const char *msg;
jpayne@69 34532 Py_DECREF(retval);
jpayne@69 34533 if ((0)) {
jpayne@69 34534 #ifdef __Pyx_Coroutine_USED
jpayne@69 34535 } else if (__Pyx_Coroutine_Check(self)) {
jpayne@69 34536 msg = "coroutine ignored GeneratorExit";
jpayne@69 34537 #endif
jpayne@69 34538 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34539 } else if (__Pyx_AsyncGen_CheckExact(self)) {
jpayne@69 34540 #if PY_VERSION_HEX < 0x03060000
jpayne@69 34541 msg = "async generator ignored GeneratorExit - might require Python 3.6+ finalisation (PEP 525)";
jpayne@69 34542 #else
jpayne@69 34543 msg = "async generator ignored GeneratorExit";
jpayne@69 34544 #endif
jpayne@69 34545 #endif
jpayne@69 34546 } else {
jpayne@69 34547 msg = "generator ignored GeneratorExit";
jpayne@69 34548 }
jpayne@69 34549 PyErr_SetString(PyExc_RuntimeError, msg);
jpayne@69 34550 return NULL;
jpayne@69 34551 }
jpayne@69 34552 raised_exception = PyErr_Occurred();
jpayne@69 34553 if (likely(!raised_exception || __Pyx_PyErr_GivenExceptionMatches2(raised_exception, PyExc_GeneratorExit, PyExc_StopIteration))) {
jpayne@69 34554 if (raised_exception) PyErr_Clear();
jpayne@69 34555 Py_INCREF(Py_None);
jpayne@69 34556 return Py_None;
jpayne@69 34557 }
jpayne@69 34558 return NULL;
jpayne@69 34559 }
jpayne@69 34560 static PyObject *__Pyx__Coroutine_Throw(PyObject *self, PyObject *typ, PyObject *val, PyObject *tb,
jpayne@69 34561 PyObject *args, int close_on_genexit) {
jpayne@69 34562 __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
jpayne@69 34563 PyObject *yf = gen->yieldfrom;
jpayne@69 34564 if (unlikely(gen->is_running))
jpayne@69 34565 return __Pyx_Coroutine_AlreadyRunningError(gen);
jpayne@69 34566 if (yf) {
jpayne@69 34567 PyObject *ret;
jpayne@69 34568 Py_INCREF(yf);
jpayne@69 34569 if (__Pyx_PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit) && close_on_genexit) {
jpayne@69 34570 int err = __Pyx_Coroutine_CloseIter(gen, yf);
jpayne@69 34571 Py_DECREF(yf);
jpayne@69 34572 __Pyx_Coroutine_Undelegate(gen);
jpayne@69 34573 if (err < 0)
jpayne@69 34574 return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
jpayne@69 34575 goto throw_here;
jpayne@69 34576 }
jpayne@69 34577 gen->is_running = 1;
jpayne@69 34578 if (0
jpayne@69 34579 #ifdef __Pyx_Generator_USED
jpayne@69 34580 || __Pyx_Generator_CheckExact(yf)
jpayne@69 34581 #endif
jpayne@69 34582 #ifdef __Pyx_Coroutine_USED
jpayne@69 34583 || __Pyx_Coroutine_Check(yf)
jpayne@69 34584 #endif
jpayne@69 34585 ) {
jpayne@69 34586 ret = __Pyx__Coroutine_Throw(yf, typ, val, tb, args, close_on_genexit);
jpayne@69 34587 #ifdef __Pyx_Coroutine_USED
jpayne@69 34588 } else if (__Pyx_CoroutineAwait_CheckExact(yf)) {
jpayne@69 34589 ret = __Pyx__Coroutine_Throw(((__pyx_CoroutineAwaitObject*)yf)->coroutine, typ, val, tb, args, close_on_genexit);
jpayne@69 34590 #endif
jpayne@69 34591 } else {
jpayne@69 34592 PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(yf, __pyx_n_s_throw);
jpayne@69 34593 if (unlikely(!meth)) {
jpayne@69 34594 Py_DECREF(yf);
jpayne@69 34595 if (unlikely(PyErr_Occurred())) {
jpayne@69 34596 gen->is_running = 0;
jpayne@69 34597 return NULL;
jpayne@69 34598 }
jpayne@69 34599 __Pyx_Coroutine_Undelegate(gen);
jpayne@69 34600 gen->is_running = 0;
jpayne@69 34601 goto throw_here;
jpayne@69 34602 }
jpayne@69 34603 if (likely(args)) {
jpayne@69 34604 ret = __Pyx_PyObject_Call(meth, args, NULL);
jpayne@69 34605 } else {
jpayne@69 34606 PyObject *cargs[4] = {NULL, typ, val, tb};
jpayne@69 34607 ret = __Pyx_PyObject_FastCall(meth, cargs+1, 3 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
jpayne@69 34608 }
jpayne@69 34609 Py_DECREF(meth);
jpayne@69 34610 }
jpayne@69 34611 gen->is_running = 0;
jpayne@69 34612 Py_DECREF(yf);
jpayne@69 34613 if (!ret) {
jpayne@69 34614 ret = __Pyx_Coroutine_FinishDelegation(gen);
jpayne@69 34615 }
jpayne@69 34616 return __Pyx_Coroutine_MethodReturn(self, ret);
jpayne@69 34617 }
jpayne@69 34618 throw_here:
jpayne@69 34619 __Pyx_Raise(typ, val, tb, NULL);
jpayne@69 34620 return __Pyx_Coroutine_MethodReturn(self, __Pyx_Coroutine_SendEx(gen, NULL, 0));
jpayne@69 34621 }
jpayne@69 34622 static PyObject *__Pyx_Coroutine_Throw(PyObject *self, PyObject *args) {
jpayne@69 34623 PyObject *typ;
jpayne@69 34624 PyObject *val = NULL;
jpayne@69 34625 PyObject *tb = NULL;
jpayne@69 34626 if (unlikely(!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb)))
jpayne@69 34627 return NULL;
jpayne@69 34628 return __Pyx__Coroutine_Throw(self, typ, val, tb, args, 1);
jpayne@69 34629 }
jpayne@69 34630 static CYTHON_INLINE int __Pyx_Coroutine_traverse_excstate(__Pyx_ExcInfoStruct *exc_state, visitproc visit, void *arg) {
jpayne@69 34631 #if PY_VERSION_HEX >= 0x030B00a4
jpayne@69 34632 Py_VISIT(exc_state->exc_value);
jpayne@69 34633 #else
jpayne@69 34634 Py_VISIT(exc_state->exc_type);
jpayne@69 34635 Py_VISIT(exc_state->exc_value);
jpayne@69 34636 Py_VISIT(exc_state->exc_traceback);
jpayne@69 34637 #endif
jpayne@69 34638 return 0;
jpayne@69 34639 }
jpayne@69 34640 static int __Pyx_Coroutine_traverse(__pyx_CoroutineObject *gen, visitproc visit, void *arg) {
jpayne@69 34641 Py_VISIT(gen->closure);
jpayne@69 34642 Py_VISIT(gen->classobj);
jpayne@69 34643 Py_VISIT(gen->yieldfrom);
jpayne@69 34644 return __Pyx_Coroutine_traverse_excstate(&gen->gi_exc_state, visit, arg);
jpayne@69 34645 }
jpayne@69 34646 static int __Pyx_Coroutine_clear(PyObject *self) {
jpayne@69 34647 __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
jpayne@69 34648 Py_CLEAR(gen->closure);
jpayne@69 34649 Py_CLEAR(gen->classobj);
jpayne@69 34650 Py_CLEAR(gen->yieldfrom);
jpayne@69 34651 __Pyx_Coroutine_ExceptionClear(&gen->gi_exc_state);
jpayne@69 34652 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34653 if (__Pyx_AsyncGen_CheckExact(self)) {
jpayne@69 34654 Py_CLEAR(((__pyx_PyAsyncGenObject*)gen)->ag_finalizer);
jpayne@69 34655 }
jpayne@69 34656 #endif
jpayne@69 34657 Py_CLEAR(gen->gi_code);
jpayne@69 34658 Py_CLEAR(gen->gi_frame);
jpayne@69 34659 Py_CLEAR(gen->gi_name);
jpayne@69 34660 Py_CLEAR(gen->gi_qualname);
jpayne@69 34661 Py_CLEAR(gen->gi_modulename);
jpayne@69 34662 return 0;
jpayne@69 34663 }
jpayne@69 34664 static void __Pyx_Coroutine_dealloc(PyObject *self) {
jpayne@69 34665 __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
jpayne@69 34666 PyObject_GC_UnTrack(gen);
jpayne@69 34667 if (gen->gi_weakreflist != NULL)
jpayne@69 34668 PyObject_ClearWeakRefs(self);
jpayne@69 34669 if (gen->resume_label >= 0) {
jpayne@69 34670 PyObject_GC_Track(self);
jpayne@69 34671 #if PY_VERSION_HEX >= 0x030400a1 && CYTHON_USE_TP_FINALIZE
jpayne@69 34672 if (unlikely(PyObject_CallFinalizerFromDealloc(self)))
jpayne@69 34673 #else
jpayne@69 34674 Py_TYPE(gen)->tp_del(self);
jpayne@69 34675 if (unlikely(Py_REFCNT(self) > 0))
jpayne@69 34676 #endif
jpayne@69 34677 {
jpayne@69 34678 return;
jpayne@69 34679 }
jpayne@69 34680 PyObject_GC_UnTrack(self);
jpayne@69 34681 }
jpayne@69 34682 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34683 if (__Pyx_AsyncGen_CheckExact(self)) {
jpayne@69 34684 /* We have to handle this case for asynchronous generators
jpayne@69 34685 right here, because this code has to be between UNTRACK
jpayne@69 34686 and GC_Del. */
jpayne@69 34687 Py_CLEAR(((__pyx_PyAsyncGenObject*)self)->ag_finalizer);
jpayne@69 34688 }
jpayne@69 34689 #endif
jpayne@69 34690 __Pyx_Coroutine_clear(self);
jpayne@69 34691 __Pyx_PyHeapTypeObject_GC_Del(gen);
jpayne@69 34692 }
jpayne@69 34693 static void __Pyx_Coroutine_del(PyObject *self) {
jpayne@69 34694 PyObject *error_type, *error_value, *error_traceback;
jpayne@69 34695 __pyx_CoroutineObject *gen = (__pyx_CoroutineObject *) self;
jpayne@69 34696 __Pyx_PyThreadState_declare
jpayne@69 34697 if (gen->resume_label < 0) {
jpayne@69 34698 return;
jpayne@69 34699 }
jpayne@69 34700 #if !CYTHON_USE_TP_FINALIZE
jpayne@69 34701 assert(self->ob_refcnt == 0);
jpayne@69 34702 __Pyx_SET_REFCNT(self, 1);
jpayne@69 34703 #endif
jpayne@69 34704 __Pyx_PyThreadState_assign
jpayne@69 34705 __Pyx_ErrFetch(&error_type, &error_value, &error_traceback);
jpayne@69 34706 #ifdef __Pyx_AsyncGen_USED
jpayne@69 34707 if (__Pyx_AsyncGen_CheckExact(self)) {
jpayne@69 34708 __pyx_PyAsyncGenObject *agen = (__pyx_PyAsyncGenObject*)self;
jpayne@69 34709 PyObject *finalizer = agen->ag_finalizer;
jpayne@69 34710 if (finalizer && !agen->ag_closed) {
jpayne@69 34711 PyObject *res = __Pyx_PyObject_CallOneArg(finalizer, self);
jpayne@69 34712 if (unlikely(!res)) {
jpayne@69 34713 PyErr_WriteUnraisable(self);
jpayne@69 34714 } else {
jpayne@69 34715 Py_DECREF(res);
jpayne@69 34716 }
jpayne@69 34717 __Pyx_ErrRestore(error_type, error_value, error_traceback);
jpayne@69 34718 return;
jpayne@69 34719 }
jpayne@69 34720 }
jpayne@69 34721 #endif
jpayne@69 34722 if (unlikely(gen->resume_label == 0 && !error_value)) {
jpayne@69 34723 #ifdef __Pyx_Coroutine_USED
jpayne@69 34724 #ifdef __Pyx_Generator_USED
jpayne@69 34725 if (!__Pyx_Generator_CheckExact(self))
jpayne@69 34726 #endif
jpayne@69 34727 {
jpayne@69 34728 PyObject_GC_UnTrack(self);
jpayne@69 34729 #if PY_MAJOR_VERSION >= 3 || defined(PyErr_WarnFormat)
jpayne@69 34730 if (unlikely(PyErr_WarnFormat(PyExc_RuntimeWarning, 1, "coroutine '%.50S' was never awaited", gen->gi_qualname) < 0))
jpayne@69 34731 PyErr_WriteUnraisable(self);
jpayne@69 34732 #else
jpayne@69 34733 {PyObject *msg;
jpayne@69 34734 char *cmsg;
jpayne@69 34735 #if CYTHON_COMPILING_IN_PYPY
jpayne@69 34736 msg = NULL;
jpayne@69 34737 cmsg = (char*) "coroutine was never awaited";
jpayne@69 34738 #else
jpayne@69 34739 char *cname;
jpayne@69 34740 PyObject *qualname;
jpayne@69 34741 qualname = gen->gi_qualname;
jpayne@69 34742 cname = PyString_AS_STRING(qualname);
jpayne@69 34743 msg = PyString_FromFormat("coroutine '%.50s' was never awaited", cname);
jpayne@69 34744 if (unlikely(!msg)) {
jpayne@69 34745 PyErr_Clear();
jpayne@69 34746 cmsg = (char*) "coroutine was never awaited";
jpayne@69 34747 } else {
jpayne@69 34748 cmsg = PyString_AS_STRING(msg);
jpayne@69 34749 }
jpayne@69 34750 #endif
jpayne@69 34751 if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, cmsg, 1) < 0))
jpayne@69 34752 PyErr_WriteUnraisable(self);
jpayne@69 34753 Py_XDECREF(msg);}
jpayne@69 34754 #endif
jpayne@69 34755 PyObject_GC_Track(self);
jpayne@69 34756 }
jpayne@69 34757 #endif
jpayne@69 34758 } else {
jpayne@69 34759 PyObject *res = __Pyx_Coroutine_Close(self);
jpayne@69 34760 if (unlikely(!res)) {
jpayne@69 34761 if (PyErr_Occurred())
jpayne@69 34762 PyErr_WriteUnraisable(self);
jpayne@69 34763 } else {
jpayne@69 34764 Py_DECREF(res);
jpayne@69 34765 }
jpayne@69 34766 }
jpayne@69 34767 __Pyx_ErrRestore(error_type, error_value, error_traceback);
jpayne@69 34768 #if !CYTHON_USE_TP_FINALIZE
jpayne@69 34769 assert(Py_REFCNT(self) > 0);
jpayne@69 34770 if (likely(--self->ob_refcnt == 0)) {
jpayne@69 34771 return;
jpayne@69 34772 }
jpayne@69 34773 {
jpayne@69 34774 Py_ssize_t refcnt = Py_REFCNT(self);
jpayne@69 34775 _Py_NewReference(self);
jpayne@69 34776 __Pyx_SET_REFCNT(self, refcnt);
jpayne@69 34777 }
jpayne@69 34778 #if CYTHON_COMPILING_IN_CPYTHON
jpayne@69 34779 assert(PyType_IS_GC(Py_TYPE(self)) &&
jpayne@69 34780 _Py_AS_GC(self)->gc.gc_refs != _PyGC_REFS_UNTRACKED);
jpayne@69 34781 _Py_DEC_REFTOTAL;
jpayne@69 34782 #endif
jpayne@69 34783 #ifdef COUNT_ALLOCS
jpayne@69 34784 --Py_TYPE(self)->tp_frees;
jpayne@69 34785 --Py_TYPE(self)->tp_allocs;
jpayne@69 34786 #endif
jpayne@69 34787 #endif
jpayne@69 34788 }
jpayne@69 34789 static PyObject *
jpayne@69 34790 __Pyx_Coroutine_get_name(__pyx_CoroutineObject *self, void *context)
jpayne@69 34791 {
jpayne@69 34792 PyObject *name = self->gi_name;
jpayne@69 34793 CYTHON_UNUSED_VAR(context);
jpayne@69 34794 if (unlikely(!name)) name = Py_None;
jpayne@69 34795 Py_INCREF(name);
jpayne@69 34796 return name;
jpayne@69 34797 }
jpayne@69 34798 static int
jpayne@69 34799 __Pyx_Coroutine_set_name(__pyx_CoroutineObject *self, PyObject *value, void *context)
jpayne@69 34800 {
jpayne@69 34801 CYTHON_UNUSED_VAR(context);
jpayne@69 34802 #if PY_MAJOR_VERSION >= 3
jpayne@69 34803 if (unlikely(value == NULL || !PyUnicode_Check(value)))
jpayne@69 34804 #else
jpayne@69 34805 if (unlikely(value == NULL || !PyString_Check(value)))
jpayne@69 34806 #endif
jpayne@69 34807 {
jpayne@69 34808 PyErr_SetString(PyExc_TypeError,
jpayne@69 34809 "__name__ must be set to a string object");
jpayne@69 34810 return -1;
jpayne@69 34811 }
jpayne@69 34812 Py_INCREF(value);
jpayne@69 34813 __Pyx_Py_XDECREF_SET(self->gi_name, value);
jpayne@69 34814 return 0;
jpayne@69 34815 }
jpayne@69 34816 static PyObject *
jpayne@69 34817 __Pyx_Coroutine_get_qualname(__pyx_CoroutineObject *self, void *context)
jpayne@69 34818 {
jpayne@69 34819 PyObject *name = self->gi_qualname;
jpayne@69 34820 CYTHON_UNUSED_VAR(context);
jpayne@69 34821 if (unlikely(!name)) name = Py_None;
jpayne@69 34822 Py_INCREF(name);
jpayne@69 34823 return name;
jpayne@69 34824 }
jpayne@69 34825 static int
jpayne@69 34826 __Pyx_Coroutine_set_qualname(__pyx_CoroutineObject *self, PyObject *value, void *context)
jpayne@69 34827 {
jpayne@69 34828 CYTHON_UNUSED_VAR(context);
jpayne@69 34829 #if PY_MAJOR_VERSION >= 3
jpayne@69 34830 if (unlikely(value == NULL || !PyUnicode_Check(value)))
jpayne@69 34831 #else
jpayne@69 34832 if (unlikely(value == NULL || !PyString_Check(value)))
jpayne@69 34833 #endif
jpayne@69 34834 {
jpayne@69 34835 PyErr_SetString(PyExc_TypeError,
jpayne@69 34836 "__qualname__ must be set to a string object");
jpayne@69 34837 return -1;
jpayne@69 34838 }
jpayne@69 34839 Py_INCREF(value);
jpayne@69 34840 __Pyx_Py_XDECREF_SET(self->gi_qualname, value);
jpayne@69 34841 return 0;
jpayne@69 34842 }
jpayne@69 34843 static PyObject *
jpayne@69 34844 __Pyx_Coroutine_get_frame(__pyx_CoroutineObject *self, void *context)
jpayne@69 34845 {
jpayne@69 34846 PyObject *frame = self->gi_frame;
jpayne@69 34847 CYTHON_UNUSED_VAR(context);
jpayne@69 34848 if (!frame) {
jpayne@69 34849 if (unlikely(!self->gi_code)) {
jpayne@69 34850 Py_RETURN_NONE;
jpayne@69 34851 }
jpayne@69 34852 frame = (PyObject *) PyFrame_New(
jpayne@69 34853 PyThreadState_Get(), /*PyThreadState *tstate,*/
jpayne@69 34854 (PyCodeObject*) self->gi_code, /*PyCodeObject *code,*/
jpayne@69 34855 __pyx_d, /*PyObject *globals,*/
jpayne@69 34856 0 /*PyObject *locals*/
jpayne@69 34857 );
jpayne@69 34858 if (unlikely(!frame))
jpayne@69 34859 return NULL;
jpayne@69 34860 self->gi_frame = frame;
jpayne@69 34861 }
jpayne@69 34862 Py_INCREF(frame);
jpayne@69 34863 return frame;
jpayne@69 34864 }
jpayne@69 34865 static __pyx_CoroutineObject *__Pyx__Coroutine_New(
jpayne@69 34866 PyTypeObject* type, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
jpayne@69 34867 PyObject *name, PyObject *qualname, PyObject *module_name) {
jpayne@69 34868 __pyx_CoroutineObject *gen = PyObject_GC_New(__pyx_CoroutineObject, type);
jpayne@69 34869 if (unlikely(!gen))
jpayne@69 34870 return NULL;
jpayne@69 34871 return __Pyx__Coroutine_NewInit(gen, body, code, closure, name, qualname, module_name);
jpayne@69 34872 }
jpayne@69 34873 static __pyx_CoroutineObject *__Pyx__Coroutine_NewInit(
jpayne@69 34874 __pyx_CoroutineObject *gen, __pyx_coroutine_body_t body, PyObject *code, PyObject *closure,
jpayne@69 34875 PyObject *name, PyObject *qualname, PyObject *module_name) {
jpayne@69 34876 gen->body = body;
jpayne@69 34877 gen->closure = closure;
jpayne@69 34878 Py_XINCREF(closure);
jpayne@69 34879 gen->is_running = 0;
jpayne@69 34880 gen->resume_label = 0;
jpayne@69 34881 gen->classobj = NULL;
jpayne@69 34882 gen->yieldfrom = NULL;
jpayne@69 34883 #if PY_VERSION_HEX >= 0x030B00a4
jpayne@69 34884 gen->gi_exc_state.exc_value = NULL;
jpayne@69 34885 #else
jpayne@69 34886 gen->gi_exc_state.exc_type = NULL;
jpayne@69 34887 gen->gi_exc_state.exc_value = NULL;
jpayne@69 34888 gen->gi_exc_state.exc_traceback = NULL;
jpayne@69 34889 #endif
jpayne@69 34890 #if CYTHON_USE_EXC_INFO_STACK
jpayne@69 34891 gen->gi_exc_state.previous_item = NULL;
jpayne@69 34892 #endif
jpayne@69 34893 gen->gi_weakreflist = NULL;
jpayne@69 34894 Py_XINCREF(qualname);
jpayne@69 34895 gen->gi_qualname = qualname;
jpayne@69 34896 Py_XINCREF(name);
jpayne@69 34897 gen->gi_name = name;
jpayne@69 34898 Py_XINCREF(module_name);
jpayne@69 34899 gen->gi_modulename = module_name;
jpayne@69 34900 Py_XINCREF(code);
jpayne@69 34901 gen->gi_code = code;
jpayne@69 34902 gen->gi_frame = NULL;
jpayne@69 34903 PyObject_GC_Track(gen);
jpayne@69 34904 return gen;
jpayne@69 34905 }
jpayne@69 34906
jpayne@69 34907 /* PatchModuleWithCoroutine */
jpayne@69 34908 static PyObject* __Pyx_Coroutine_patch_module(PyObject* module, const char* py_code) {
jpayne@69 34909 #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
jpayne@69 34910 int result;
jpayne@69 34911 PyObject *globals, *result_obj;
jpayne@69 34912 globals = PyDict_New(); if (unlikely(!globals)) goto ignore;
jpayne@69 34913 result = PyDict_SetItemString(globals, "_cython_coroutine_type",
jpayne@69 34914 #ifdef __Pyx_Coroutine_USED
jpayne@69 34915 (PyObject*)__pyx_CoroutineType);
jpayne@69 34916 #else
jpayne@69 34917 Py_None);
jpayne@69 34918 #endif
jpayne@69 34919 if (unlikely(result < 0)) goto ignore;
jpayne@69 34920 result = PyDict_SetItemString(globals, "_cython_generator_type",
jpayne@69 34921 #ifdef __Pyx_Generator_USED
jpayne@69 34922 (PyObject*)__pyx_GeneratorType);
jpayne@69 34923 #else
jpayne@69 34924 Py_None);
jpayne@69 34925 #endif
jpayne@69 34926 if (unlikely(result < 0)) goto ignore;
jpayne@69 34927 if (unlikely(PyDict_SetItemString(globals, "_module", module) < 0)) goto ignore;
jpayne@69 34928 if (unlikely(PyDict_SetItemString(globals, "__builtins__", __pyx_b) < 0)) goto ignore;
jpayne@69 34929 result_obj = PyRun_String(py_code, Py_file_input, globals, globals);
jpayne@69 34930 if (unlikely(!result_obj)) goto ignore;
jpayne@69 34931 Py_DECREF(result_obj);
jpayne@69 34932 Py_DECREF(globals);
jpayne@69 34933 return module;
jpayne@69 34934 ignore:
jpayne@69 34935 Py_XDECREF(globals);
jpayne@69 34936 PyErr_WriteUnraisable(module);
jpayne@69 34937 if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning, "Cython module failed to patch module with custom type", 1) < 0)) {
jpayne@69 34938 Py_DECREF(module);
jpayne@69 34939 module = NULL;
jpayne@69 34940 }
jpayne@69 34941 #else
jpayne@69 34942 py_code++;
jpayne@69 34943 #endif
jpayne@69 34944 return module;
jpayne@69 34945 }
jpayne@69 34946
jpayne@69 34947 /* PatchGeneratorABC */
jpayne@69 34948 #ifndef CYTHON_REGISTER_ABCS
jpayne@69 34949 #define CYTHON_REGISTER_ABCS 1
jpayne@69 34950 #endif
jpayne@69 34951 #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
jpayne@69 34952 static PyObject* __Pyx_patch_abc_module(PyObject *module);
jpayne@69 34953 static PyObject* __Pyx_patch_abc_module(PyObject *module) {
jpayne@69 34954 module = __Pyx_Coroutine_patch_module(
jpayne@69 34955 module, ""
jpayne@69 34956 "if _cython_generator_type is not None:\n"
jpayne@69 34957 " try: Generator = _module.Generator\n"
jpayne@69 34958 " except AttributeError: pass\n"
jpayne@69 34959 " else: Generator.register(_cython_generator_type)\n"
jpayne@69 34960 "if _cython_coroutine_type is not None:\n"
jpayne@69 34961 " try: Coroutine = _module.Coroutine\n"
jpayne@69 34962 " except AttributeError: pass\n"
jpayne@69 34963 " else: Coroutine.register(_cython_coroutine_type)\n"
jpayne@69 34964 );
jpayne@69 34965 return module;
jpayne@69 34966 }
jpayne@69 34967 #endif
jpayne@69 34968 static int __Pyx_patch_abc(void) {
jpayne@69 34969 #if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
jpayne@69 34970 static int abc_patched = 0;
jpayne@69 34971 if (CYTHON_REGISTER_ABCS && !abc_patched) {
jpayne@69 34972 PyObject *module;
jpayne@69 34973 module = PyImport_ImportModule((PY_MAJOR_VERSION >= 3) ? "collections.abc" : "collections");
jpayne@69 34974 if (unlikely(!module)) {
jpayne@69 34975 PyErr_WriteUnraisable(NULL);
jpayne@69 34976 if (unlikely(PyErr_WarnEx(PyExc_RuntimeWarning,
jpayne@69 34977 ((PY_MAJOR_VERSION >= 3) ?
jpayne@69 34978 "Cython module failed to register with collections.abc module" :
jpayne@69 34979 "Cython module failed to register with collections module"), 1) < 0)) {
jpayne@69 34980 return -1;
jpayne@69 34981 }
jpayne@69 34982 } else {
jpayne@69 34983 module = __Pyx_patch_abc_module(module);
jpayne@69 34984 abc_patched = 1;
jpayne@69 34985 if (unlikely(!module))
jpayne@69 34986 return -1;
jpayne@69 34987 Py_DECREF(module);
jpayne@69 34988 }
jpayne@69 34989 module = PyImport_ImportModule("backports_abc");
jpayne@69 34990 if (module) {
jpayne@69 34991 module = __Pyx_patch_abc_module(module);
jpayne@69 34992 Py_XDECREF(module);
jpayne@69 34993 }
jpayne@69 34994 if (!module) {
jpayne@69 34995 PyErr_Clear();
jpayne@69 34996 }
jpayne@69 34997 }
jpayne@69 34998 #else
jpayne@69 34999 if ((0)) __Pyx_Coroutine_patch_module(NULL, NULL);
jpayne@69 35000 #endif
jpayne@69 35001 return 0;
jpayne@69 35002 }
jpayne@69 35003
jpayne@69 35004 /* Generator */
jpayne@69 35005 static PyMethodDef __pyx_Generator_methods[] = {
jpayne@69 35006 {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
jpayne@69 35007 (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
jpayne@69 35008 {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
jpayne@69 35009 (char*) PyDoc_STR("throw(typ[,val[,tb]]) -> raise exception in generator,\nreturn next yielded value or raise StopIteration.")},
jpayne@69 35010 {"close", (PyCFunction) __Pyx_Coroutine_Close_Method, METH_NOARGS,
jpayne@69 35011 (char*) PyDoc_STR("close() -> raise GeneratorExit inside generator.")},
jpayne@69 35012 {0, 0, 0, 0}
jpayne@69 35013 };
jpayne@69 35014 static PyMemberDef __pyx_Generator_memberlist[] = {
jpayne@69 35015 {(char *) "gi_running", T_BOOL, offsetof(__pyx_CoroutineObject, is_running), READONLY, NULL},
jpayne@69 35016 {(char*) "gi_yieldfrom", T_OBJECT, offsetof(__pyx_CoroutineObject, yieldfrom), READONLY,
jpayne@69 35017 (char*) PyDoc_STR("object being iterated by 'yield from', or None")},
jpayne@69 35018 {(char*) "gi_code", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_code), READONLY, NULL},
jpayne@69 35019 {(char *) "__module__", T_OBJECT, offsetof(__pyx_CoroutineObject, gi_modulename), 0, 0},
jpayne@69 35020 #if CYTHON_USE_TYPE_SPECS
jpayne@69 35021 {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CoroutineObject, gi_weakreflist), READONLY, 0},
jpayne@69 35022 #endif
jpayne@69 35023 {0, 0, 0, 0, 0}
jpayne@69 35024 };
jpayne@69 35025 static PyGetSetDef __pyx_Generator_getsets[] = {
jpayne@69 35026 {(char *) "__name__", (getter)__Pyx_Coroutine_get_name, (setter)__Pyx_Coroutine_set_name,
jpayne@69 35027 (char*) PyDoc_STR("name of the generator"), 0},
jpayne@69 35028 {(char *) "__qualname__", (getter)__Pyx_Coroutine_get_qualname, (setter)__Pyx_Coroutine_set_qualname,
jpayne@69 35029 (char*) PyDoc_STR("qualified name of the generator"), 0},
jpayne@69 35030 {(char *) "gi_frame", (getter)__Pyx_Coroutine_get_frame, NULL,
jpayne@69 35031 (char*) PyDoc_STR("Frame of the generator"), 0},
jpayne@69 35032 {0, 0, 0, 0, 0}
jpayne@69 35033 };
jpayne@69 35034 #if CYTHON_USE_TYPE_SPECS
jpayne@69 35035 static PyType_Slot __pyx_GeneratorType_slots[] = {
jpayne@69 35036 {Py_tp_dealloc, (void *)__Pyx_Coroutine_dealloc},
jpayne@69 35037 {Py_tp_traverse, (void *)__Pyx_Coroutine_traverse},
jpayne@69 35038 {Py_tp_iter, (void *)PyObject_SelfIter},
jpayne@69 35039 {Py_tp_iternext, (void *)__Pyx_Generator_Next},
jpayne@69 35040 {Py_tp_methods, (void *)__pyx_Generator_methods},
jpayne@69 35041 {Py_tp_members, (void *)__pyx_Generator_memberlist},
jpayne@69 35042 {Py_tp_getset, (void *)__pyx_Generator_getsets},
jpayne@69 35043 {Py_tp_getattro, (void *) __Pyx_PyObject_GenericGetAttrNoDict},
jpayne@69 35044 #if CYTHON_USE_TP_FINALIZE
jpayne@69 35045 {Py_tp_finalize, (void *)__Pyx_Coroutine_del},
jpayne@69 35046 #endif
jpayne@69 35047 {0, 0},
jpayne@69 35048 };
jpayne@69 35049 static PyType_Spec __pyx_GeneratorType_spec = {
jpayne@69 35050 __PYX_TYPE_MODULE_PREFIX "generator",
jpayne@69 35051 sizeof(__pyx_CoroutineObject),
jpayne@69 35052 0,
jpayne@69 35053 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
jpayne@69 35054 __pyx_GeneratorType_slots
jpayne@69 35055 };
jpayne@69 35056 #else
jpayne@69 35057 static PyTypeObject __pyx_GeneratorType_type = {
jpayne@69 35058 PyVarObject_HEAD_INIT(0, 0)
jpayne@69 35059 __PYX_TYPE_MODULE_PREFIX "generator",
jpayne@69 35060 sizeof(__pyx_CoroutineObject),
jpayne@69 35061 0,
jpayne@69 35062 (destructor) __Pyx_Coroutine_dealloc,
jpayne@69 35063 0,
jpayne@69 35064 0,
jpayne@69 35065 0,
jpayne@69 35066 0,
jpayne@69 35067 0,
jpayne@69 35068 0,
jpayne@69 35069 0,
jpayne@69 35070 0,
jpayne@69 35071 0,
jpayne@69 35072 0,
jpayne@69 35073 0,
jpayne@69 35074 0,
jpayne@69 35075 0,
jpayne@69 35076 0,
jpayne@69 35077 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_HAVE_FINALIZE,
jpayne@69 35078 0,
jpayne@69 35079 (traverseproc) __Pyx_Coroutine_traverse,
jpayne@69 35080 0,
jpayne@69 35081 0,
jpayne@69 35082 offsetof(__pyx_CoroutineObject, gi_weakreflist),
jpayne@69 35083 0,
jpayne@69 35084 (iternextfunc) __Pyx_Generator_Next,
jpayne@69 35085 __pyx_Generator_methods,
jpayne@69 35086 __pyx_Generator_memberlist,
jpayne@69 35087 __pyx_Generator_getsets,
jpayne@69 35088 0,
jpayne@69 35089 0,
jpayne@69 35090 0,
jpayne@69 35091 0,
jpayne@69 35092 0,
jpayne@69 35093 0,
jpayne@69 35094 0,
jpayne@69 35095 0,
jpayne@69 35096 0,
jpayne@69 35097 0,
jpayne@69 35098 0,
jpayne@69 35099 0,
jpayne@69 35100 0,
jpayne@69 35101 0,
jpayne@69 35102 0,
jpayne@69 35103 #if CYTHON_USE_TP_FINALIZE
jpayne@69 35104 0,
jpayne@69 35105 #else
jpayne@69 35106 __Pyx_Coroutine_del,
jpayne@69 35107 #endif
jpayne@69 35108 0,
jpayne@69 35109 #if CYTHON_USE_TP_FINALIZE
jpayne@69 35110 __Pyx_Coroutine_del,
jpayne@69 35111 #elif PY_VERSION_HEX >= 0x030400a1
jpayne@69 35112 0,
jpayne@69 35113 #endif
jpayne@69 35114 #if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)
jpayne@69 35115 0,
jpayne@69 35116 #endif
jpayne@69 35117 #if __PYX_NEED_TP_PRINT_SLOT
jpayne@69 35118 0,
jpayne@69 35119 #endif
jpayne@69 35120 #if PY_VERSION_HEX >= 0x030C0000
jpayne@69 35121 0,
jpayne@69 35122 #endif
jpayne@69 35123 #if PY_VERSION_HEX >= 0x030d00A4
jpayne@69 35124 0,
jpayne@69 35125 #endif
jpayne@69 35126 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
jpayne@69 35127 0,
jpayne@69 35128 #endif
jpayne@69 35129 };
jpayne@69 35130 #endif
jpayne@69 35131 static int __pyx_Generator_init(PyObject *module) {
jpayne@69 35132 #if CYTHON_USE_TYPE_SPECS
jpayne@69 35133 __pyx_GeneratorType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_GeneratorType_spec, NULL);
jpayne@69 35134 #else
jpayne@69 35135 CYTHON_UNUSED_VAR(module);
jpayne@69 35136 __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
jpayne@69 35137 __pyx_GeneratorType_type.tp_iter = PyObject_SelfIter;
jpayne@69 35138 __pyx_GeneratorType = __Pyx_FetchCommonType(&__pyx_GeneratorType_type);
jpayne@69 35139 #endif
jpayne@69 35140 if (unlikely(!__pyx_GeneratorType)) {
jpayne@69 35141 return -1;
jpayne@69 35142 }
jpayne@69 35143 return 0;
jpayne@69 35144 }
jpayne@69 35145
jpayne@69 35146 /* CheckBinaryVersion */
jpayne@69 35147 static unsigned long __Pyx_get_runtime_version(void) {
jpayne@69 35148 #if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
jpayne@69 35149 return Py_Version & ~0xFFUL;
jpayne@69 35150 #else
jpayne@69 35151 const char* rt_version = Py_GetVersion();
jpayne@69 35152 unsigned long version = 0;
jpayne@69 35153 unsigned long factor = 0x01000000UL;
jpayne@69 35154 unsigned int digit = 0;
jpayne@69 35155 int i = 0;
jpayne@69 35156 while (factor) {
jpayne@69 35157 while ('0' <= rt_version[i] && rt_version[i] <= '9') {
jpayne@69 35158 digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
jpayne@69 35159 ++i;
jpayne@69 35160 }
jpayne@69 35161 version += factor * digit;
jpayne@69 35162 if (rt_version[i] != '.')
jpayne@69 35163 break;
jpayne@69 35164 digit = 0;
jpayne@69 35165 factor >>= 8;
jpayne@69 35166 ++i;
jpayne@69 35167 }
jpayne@69 35168 return version;
jpayne@69 35169 #endif
jpayne@69 35170 }
jpayne@69 35171 static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
jpayne@69 35172 const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
jpayne@69 35173 if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
jpayne@69 35174 return 0;
jpayne@69 35175 if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
jpayne@69 35176 return 1;
jpayne@69 35177 {
jpayne@69 35178 char message[200];
jpayne@69 35179 PyOS_snprintf(message, sizeof(message),
jpayne@69 35180 "compile time Python version %d.%d "
jpayne@69 35181 "of module '%.100s' "
jpayne@69 35182 "%s "
jpayne@69 35183 "runtime version %d.%d",
jpayne@69 35184 (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
jpayne@69 35185 __Pyx_MODULE_NAME,
jpayne@69 35186 (allow_newer) ? "was newer than" : "does not match",
jpayne@69 35187 (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
jpayne@69 35188 );
jpayne@69 35189 return PyErr_WarnEx(NULL, message, 1);
jpayne@69 35190 }
jpayne@69 35191 }
jpayne@69 35192
jpayne@69 35193 /* FunctionImport */
jpayne@69 35194 #ifndef __PYX_HAVE_RT_ImportFunction_3_0_11
jpayne@69 35195 #define __PYX_HAVE_RT_ImportFunction_3_0_11
jpayne@69 35196 static int __Pyx_ImportFunction_3_0_11(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
jpayne@69 35197 PyObject *d = 0;
jpayne@69 35198 PyObject *cobj = 0;
jpayne@69 35199 union {
jpayne@69 35200 void (*fp)(void);
jpayne@69 35201 void *p;
jpayne@69 35202 } tmp;
jpayne@69 35203 d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
jpayne@69 35204 if (!d)
jpayne@69 35205 goto bad;
jpayne@69 35206 cobj = PyDict_GetItemString(d, funcname);
jpayne@69 35207 if (!cobj) {
jpayne@69 35208 PyErr_Format(PyExc_ImportError,
jpayne@69 35209 "%.200s does not export expected C function %.200s",
jpayne@69 35210 PyModule_GetName(module), funcname);
jpayne@69 35211 goto bad;
jpayne@69 35212 }
jpayne@69 35213 if (!PyCapsule_IsValid(cobj, sig)) {
jpayne@69 35214 PyErr_Format(PyExc_TypeError,
jpayne@69 35215 "C function %.200s.%.200s has wrong signature (expected %.500s, got %.500s)",
jpayne@69 35216 PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
jpayne@69 35217 goto bad;
jpayne@69 35218 }
jpayne@69 35219 tmp.p = PyCapsule_GetPointer(cobj, sig);
jpayne@69 35220 *f = tmp.fp;
jpayne@69 35221 if (!(*f))
jpayne@69 35222 goto bad;
jpayne@69 35223 Py_DECREF(d);
jpayne@69 35224 return 0;
jpayne@69 35225 bad:
jpayne@69 35226 Py_XDECREF(d);
jpayne@69 35227 return -1;
jpayne@69 35228 }
jpayne@69 35229 #endif
jpayne@69 35230
jpayne@69 35231 /* InitStrings */
jpayne@69 35232 #if PY_MAJOR_VERSION >= 3
jpayne@69 35233 static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) {
jpayne@69 35234 if (t.is_unicode | t.is_str) {
jpayne@69 35235 if (t.intern) {
jpayne@69 35236 *str = PyUnicode_InternFromString(t.s);
jpayne@69 35237 } else if (t.encoding) {
jpayne@69 35238 *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL);
jpayne@69 35239 } else {
jpayne@69 35240 *str = PyUnicode_FromStringAndSize(t.s, t.n - 1);
jpayne@69 35241 }
jpayne@69 35242 } else {
jpayne@69 35243 *str = PyBytes_FromStringAndSize(t.s, t.n - 1);
jpayne@69 35244 }
jpayne@69 35245 if (!*str)
jpayne@69 35246 return -1;
jpayne@69 35247 if (PyObject_Hash(*str) == -1)
jpayne@69 35248 return -1;
jpayne@69 35249 return 0;
jpayne@69 35250 }
jpayne@69 35251 #endif
jpayne@69 35252 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
jpayne@69 35253 while (t->p) {
jpayne@69 35254 #if PY_MAJOR_VERSION >= 3
jpayne@69 35255 __Pyx_InitString(*t, t->p);
jpayne@69 35256 #else
jpayne@69 35257 if (t->is_unicode) {
jpayne@69 35258 *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
jpayne@69 35259 } else if (t->intern) {
jpayne@69 35260 *t->p = PyString_InternFromString(t->s);
jpayne@69 35261 } else {
jpayne@69 35262 *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
jpayne@69 35263 }
jpayne@69 35264 if (!*t->p)
jpayne@69 35265 return -1;
jpayne@69 35266 if (PyObject_Hash(*t->p) == -1)
jpayne@69 35267 return -1;
jpayne@69 35268 #endif
jpayne@69 35269 ++t;
jpayne@69 35270 }
jpayne@69 35271 return 0;
jpayne@69 35272 }
jpayne@69 35273
jpayne@69 35274 #include <string.h>
jpayne@69 35275 static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
jpayne@69 35276 size_t len = strlen(s);
jpayne@69 35277 if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
jpayne@69 35278 PyErr_SetString(PyExc_OverflowError, "byte string is too long");
jpayne@69 35279 return -1;
jpayne@69 35280 }
jpayne@69 35281 return (Py_ssize_t) len;
jpayne@69 35282 }
jpayne@69 35283 static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
jpayne@69 35284 Py_ssize_t len = __Pyx_ssize_strlen(c_str);
jpayne@69 35285 if (unlikely(len < 0)) return NULL;
jpayne@69 35286 return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
jpayne@69 35287 }
jpayne@69 35288 static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
jpayne@69 35289 Py_ssize_t len = __Pyx_ssize_strlen(c_str);
jpayne@69 35290 if (unlikely(len < 0)) return NULL;
jpayne@69 35291 return PyByteArray_FromStringAndSize(c_str, len);
jpayne@69 35292 }
jpayne@69 35293 static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
jpayne@69 35294 Py_ssize_t ignore;
jpayne@69 35295 return __Pyx_PyObject_AsStringAndSize(o, &ignore);
jpayne@69 35296 }
jpayne@69 35297 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
jpayne@69 35298 #if !CYTHON_PEP393_ENABLED
jpayne@69 35299 static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
jpayne@69 35300 char* defenc_c;
jpayne@69 35301 PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
jpayne@69 35302 if (!defenc) return NULL;
jpayne@69 35303 defenc_c = PyBytes_AS_STRING(defenc);
jpayne@69 35304 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
jpayne@69 35305 {
jpayne@69 35306 char* end = defenc_c + PyBytes_GET_SIZE(defenc);
jpayne@69 35307 char* c;
jpayne@69 35308 for (c = defenc_c; c < end; c++) {
jpayne@69 35309 if ((unsigned char) (*c) >= 128) {
jpayne@69 35310 PyUnicode_AsASCIIString(o);
jpayne@69 35311 return NULL;
jpayne@69 35312 }
jpayne@69 35313 }
jpayne@69 35314 }
jpayne@69 35315 #endif
jpayne@69 35316 *length = PyBytes_GET_SIZE(defenc);
jpayne@69 35317 return defenc_c;
jpayne@69 35318 }
jpayne@69 35319 #else
jpayne@69 35320 static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
jpayne@69 35321 if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
jpayne@69 35322 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
jpayne@69 35323 if (likely(PyUnicode_IS_ASCII(o))) {
jpayne@69 35324 *length = PyUnicode_GET_LENGTH(o);
jpayne@69 35325 return PyUnicode_AsUTF8(o);
jpayne@69 35326 } else {
jpayne@69 35327 PyUnicode_AsASCIIString(o);
jpayne@69 35328 return NULL;
jpayne@69 35329 }
jpayne@69 35330 #else
jpayne@69 35331 return PyUnicode_AsUTF8AndSize(o, length);
jpayne@69 35332 #endif
jpayne@69 35333 }
jpayne@69 35334 #endif
jpayne@69 35335 #endif
jpayne@69 35336 static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
jpayne@69 35337 #if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
jpayne@69 35338 if (
jpayne@69 35339 #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
jpayne@69 35340 __Pyx_sys_getdefaultencoding_not_ascii &&
jpayne@69 35341 #endif
jpayne@69 35342 PyUnicode_Check(o)) {
jpayne@69 35343 return __Pyx_PyUnicode_AsStringAndSize(o, length);
jpayne@69 35344 } else
jpayne@69 35345 #endif
jpayne@69 35346 #if (!CYTHON_COMPILING_IN_PYPY && !CYTHON_COMPILING_IN_LIMITED_API) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
jpayne@69 35347 if (PyByteArray_Check(o)) {
jpayne@69 35348 *length = PyByteArray_GET_SIZE(o);
jpayne@69 35349 return PyByteArray_AS_STRING(o);
jpayne@69 35350 } else
jpayne@69 35351 #endif
jpayne@69 35352 {
jpayne@69 35353 char* result;
jpayne@69 35354 int r = PyBytes_AsStringAndSize(o, &result, length);
jpayne@69 35355 if (unlikely(r < 0)) {
jpayne@69 35356 return NULL;
jpayne@69 35357 } else {
jpayne@69 35358 return result;
jpayne@69 35359 }
jpayne@69 35360 }
jpayne@69 35361 }
jpayne@69 35362 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
jpayne@69 35363 int is_true = x == Py_True;
jpayne@69 35364 if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
jpayne@69 35365 else return PyObject_IsTrue(x);
jpayne@69 35366 }
jpayne@69 35367 static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
jpayne@69 35368 int retval;
jpayne@69 35369 if (unlikely(!x)) return -1;
jpayne@69 35370 retval = __Pyx_PyObject_IsTrue(x);
jpayne@69 35371 Py_DECREF(x);
jpayne@69 35372 return retval;
jpayne@69 35373 }
jpayne@69 35374 static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
jpayne@69 35375 __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result));
jpayne@69 35376 #if PY_MAJOR_VERSION >= 3
jpayne@69 35377 if (PyLong_Check(result)) {
jpayne@69 35378 if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
jpayne@69 35379 "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). "
jpayne@69 35380 "The ability to return an instance of a strict subclass of int is deprecated, "
jpayne@69 35381 "and may be removed in a future version of Python.",
jpayne@69 35382 result_type_name)) {
jpayne@69 35383 __Pyx_DECREF_TypeName(result_type_name);
jpayne@69 35384 Py_DECREF(result);
jpayne@69 35385 return NULL;
jpayne@69 35386 }
jpayne@69 35387 __Pyx_DECREF_TypeName(result_type_name);
jpayne@69 35388 return result;
jpayne@69 35389 }
jpayne@69 35390 #endif
jpayne@69 35391 PyErr_Format(PyExc_TypeError,
jpayne@69 35392 "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")",
jpayne@69 35393 type_name, type_name, result_type_name);
jpayne@69 35394 __Pyx_DECREF_TypeName(result_type_name);
jpayne@69 35395 Py_DECREF(result);
jpayne@69 35396 return NULL;
jpayne@69 35397 }
jpayne@69 35398 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
jpayne@69 35399 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 35400 PyNumberMethods *m;
jpayne@69 35401 #endif
jpayne@69 35402 const char *name = NULL;
jpayne@69 35403 PyObject *res = NULL;
jpayne@69 35404 #if PY_MAJOR_VERSION < 3
jpayne@69 35405 if (likely(PyInt_Check(x) || PyLong_Check(x)))
jpayne@69 35406 #else
jpayne@69 35407 if (likely(PyLong_Check(x)))
jpayne@69 35408 #endif
jpayne@69 35409 return __Pyx_NewRef(x);
jpayne@69 35410 #if CYTHON_USE_TYPE_SLOTS
jpayne@69 35411 m = Py_TYPE(x)->tp_as_number;
jpayne@69 35412 #if PY_MAJOR_VERSION < 3
jpayne@69 35413 if (m && m->nb_int) {
jpayne@69 35414 name = "int";
jpayne@69 35415 res = m->nb_int(x);
jpayne@69 35416 }
jpayne@69 35417 else if (m && m->nb_long) {
jpayne@69 35418 name = "long";
jpayne@69 35419 res = m->nb_long(x);
jpayne@69 35420 }
jpayne@69 35421 #else
jpayne@69 35422 if (likely(m && m->nb_int)) {
jpayne@69 35423 name = "int";
jpayne@69 35424 res = m->nb_int(x);
jpayne@69 35425 }
jpayne@69 35426 #endif
jpayne@69 35427 #else
jpayne@69 35428 if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
jpayne@69 35429 res = PyNumber_Int(x);
jpayne@69 35430 }
jpayne@69 35431 #endif
jpayne@69 35432 if (likely(res)) {
jpayne@69 35433 #if PY_MAJOR_VERSION < 3
jpayne@69 35434 if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
jpayne@69 35435 #else
jpayne@69 35436 if (unlikely(!PyLong_CheckExact(res))) {
jpayne@69 35437 #endif
jpayne@69 35438 return __Pyx_PyNumber_IntOrLongWrongResultType(res, name);
jpayne@69 35439 }
jpayne@69 35440 }
jpayne@69 35441 else if (!PyErr_Occurred()) {
jpayne@69 35442 PyErr_SetString(PyExc_TypeError,
jpayne@69 35443 "an integer is required");
jpayne@69 35444 }
jpayne@69 35445 return res;
jpayne@69 35446 }
jpayne@69 35447 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
jpayne@69 35448 Py_ssize_t ival;
jpayne@69 35449 PyObject *x;
jpayne@69 35450 #if PY_MAJOR_VERSION < 3
jpayne@69 35451 if (likely(PyInt_CheckExact(b))) {
jpayne@69 35452 if (sizeof(Py_ssize_t) >= sizeof(long))
jpayne@69 35453 return PyInt_AS_LONG(b);
jpayne@69 35454 else
jpayne@69 35455 return PyInt_AsSsize_t(b);
jpayne@69 35456 }
jpayne@69 35457 #endif
jpayne@69 35458 if (likely(PyLong_CheckExact(b))) {
jpayne@69 35459 #if CYTHON_USE_PYLONG_INTERNALS
jpayne@69 35460 if (likely(__Pyx_PyLong_IsCompact(b))) {
jpayne@69 35461 return __Pyx_PyLong_CompactValue(b);
jpayne@69 35462 } else {
jpayne@69 35463 const digit* digits = __Pyx_PyLong_Digits(b);
jpayne@69 35464 const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b);
jpayne@69 35465 switch (size) {
jpayne@69 35466 case 2:
jpayne@69 35467 if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
jpayne@69 35468 return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
jpayne@69 35469 }
jpayne@69 35470 break;
jpayne@69 35471 case -2:
jpayne@69 35472 if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) {
jpayne@69 35473 return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
jpayne@69 35474 }
jpayne@69 35475 break;
jpayne@69 35476 case 3:
jpayne@69 35477 if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
jpayne@69 35478 return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
jpayne@69 35479 }
jpayne@69 35480 break;
jpayne@69 35481 case -3:
jpayne@69 35482 if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) {
jpayne@69 35483 return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
jpayne@69 35484 }
jpayne@69 35485 break;
jpayne@69 35486 case 4:
jpayne@69 35487 if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
jpayne@69 35488 return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
jpayne@69 35489 }
jpayne@69 35490 break;
jpayne@69 35491 case -4:
jpayne@69 35492 if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) {
jpayne@69 35493 return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0]));
jpayne@69 35494 }
jpayne@69 35495 break;
jpayne@69 35496 }
jpayne@69 35497 }
jpayne@69 35498 #endif
jpayne@69 35499 return PyLong_AsSsize_t(b);
jpayne@69 35500 }
jpayne@69 35501 x = PyNumber_Index(b);
jpayne@69 35502 if (!x) return -1;
jpayne@69 35503 ival = PyInt_AsSsize_t(x);
jpayne@69 35504 Py_DECREF(x);
jpayne@69 35505 return ival;
jpayne@69 35506 }
jpayne@69 35507 static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) {
jpayne@69 35508 if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) {
jpayne@69 35509 return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o);
jpayne@69 35510 #if PY_MAJOR_VERSION < 3
jpayne@69 35511 } else if (likely(PyInt_CheckExact(o))) {
jpayne@69 35512 return PyInt_AS_LONG(o);
jpayne@69 35513 #endif
jpayne@69 35514 } else {
jpayne@69 35515 Py_ssize_t ival;
jpayne@69 35516 PyObject *x;
jpayne@69 35517 x = PyNumber_Index(o);
jpayne@69 35518 if (!x) return -1;
jpayne@69 35519 ival = PyInt_AsLong(x);
jpayne@69 35520 Py_DECREF(x);
jpayne@69 35521 return ival;
jpayne@69 35522 }
jpayne@69 35523 }
jpayne@69 35524 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) {
jpayne@69 35525 return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);
jpayne@69 35526 }
jpayne@69 35527 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
jpayne@69 35528 return PyInt_FromSize_t(ival);
jpayne@69 35529 }
jpayne@69 35530
jpayne@69 35531
jpayne@69 35532 /* #### Code section: utility_code_pragmas_end ### */
jpayne@69 35533 #ifdef _MSC_VER
jpayne@69 35534 #pragma warning( pop )
jpayne@69 35535 #endif
jpayne@69 35536
jpayne@69 35537
jpayne@69 35538
jpayne@69 35539 /* #### Code section: end ### */
jpayne@69 35540 #endif /* Py_PYTHON_H */