biotite 0.38.0__cp311-cp311-win_amd64.whl → 0.40.0__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of biotite might be problematic. Click here for more details.

Files changed (124) hide show
  1. biotite/__init__.py +3 -3
  2. biotite/application/application.py +33 -28
  3. biotite/application/dssp/app.py +18 -18
  4. biotite/application/sra/__init__.py +5 -0
  5. biotite/application/sra/app.py +337 -55
  6. biotite/database/entrez/__init__.py +2 -1
  7. biotite/database/entrez/check.py +14 -3
  8. biotite/database/entrez/download.py +20 -13
  9. biotite/database/entrez/key.py +44 -0
  10. biotite/database/entrez/query.py +38 -34
  11. biotite/database/pubchem/query.py +44 -44
  12. biotite/database/rcsb/download.py +19 -14
  13. biotite/database/rcsb/query.py +46 -46
  14. biotite/sequence/align/__init__.py +5 -1
  15. biotite/sequence/align/banded.c +1408 -1025
  16. biotite/sequence/align/banded.cp311-win_amd64.pyd +0 -0
  17. biotite/sequence/align/buckets.py +69 -0
  18. biotite/sequence/align/cigar.py +389 -0
  19. biotite/sequence/align/kmeralphabet.c +3220 -2850
  20. biotite/sequence/align/kmeralphabet.cp311-win_amd64.pyd +0 -0
  21. biotite/sequence/align/kmersimilarity.c +713 -663
  22. biotite/sequence/align/kmersimilarity.cp311-win_amd64.pyd +0 -0
  23. biotite/sequence/align/kmertable.cp311-win_amd64.pyd +0 -0
  24. biotite/sequence/align/kmertable.cpp +68398 -0
  25. biotite/sequence/align/localgapped.c +1507 -1074
  26. biotite/sequence/align/localgapped.cp311-win_amd64.pyd +0 -0
  27. biotite/sequence/align/localungapped.c +1143 -833
  28. biotite/sequence/align/localungapped.cp311-win_amd64.pyd +0 -0
  29. biotite/sequence/align/multiple.c +1569 -1092
  30. biotite/sequence/align/multiple.cp311-win_amd64.pyd +0 -0
  31. biotite/sequence/align/pairwise.c +1612 -1212
  32. biotite/sequence/align/pairwise.cp311-win_amd64.pyd +0 -0
  33. biotite/sequence/align/permutation.c +33259 -0
  34. biotite/sequence/align/permutation.cp311-win_amd64.pyd +0 -0
  35. biotite/sequence/align/primes.txt +821 -0
  36. biotite/sequence/align/{kmertable.c → selector.c} +9129 -16497
  37. biotite/sequence/align/selector.cp311-win_amd64.pyd +0 -0
  38. biotite/sequence/align/tracetable.c +685 -646
  39. biotite/sequence/align/tracetable.cp311-win_amd64.pyd +0 -0
  40. biotite/sequence/codec.c +1159 -841
  41. biotite/sequence/codec.cp311-win_amd64.pyd +0 -0
  42. biotite/sequence/graphics/alignment.py +212 -2
  43. biotite/sequence/io/genbank/annotation.py +11 -11
  44. biotite/sequence/phylo/nj.c +684 -636
  45. biotite/sequence/phylo/nj.cp311-win_amd64.pyd +0 -0
  46. biotite/sequence/phylo/tree.c +970 -673
  47. biotite/sequence/phylo/tree.cp311-win_amd64.pyd +0 -0
  48. biotite/sequence/phylo/upgma.c +672 -626
  49. biotite/sequence/phylo/upgma.cp311-win_amd64.pyd +0 -0
  50. biotite/structure/__init__.py +1 -1
  51. biotite/structure/atoms.py +1 -1
  52. biotite/structure/basepairs.py +7 -12
  53. biotite/structure/bonds.c +3861 -3749
  54. biotite/structure/bonds.cp311-win_amd64.pyd +0 -0
  55. biotite/structure/celllist.c +727 -707
  56. biotite/structure/celllist.cp311-win_amd64.pyd +0 -0
  57. biotite/structure/charges.c +1561 -1560
  58. biotite/structure/charges.cp311-win_amd64.pyd +0 -0
  59. biotite/structure/filter.py +30 -37
  60. biotite/structure/info/__init__.py +5 -8
  61. biotite/structure/info/atoms.py +25 -67
  62. biotite/structure/info/bonds.py +46 -100
  63. biotite/structure/info/ccd/README.rst +8 -0
  64. biotite/structure/info/ccd/amino_acids.txt +1646 -0
  65. biotite/structure/info/ccd/carbohydrates.txt +1133 -0
  66. biotite/structure/info/ccd/components.bcif +0 -0
  67. biotite/structure/info/ccd/nucleotides.txt +797 -0
  68. biotite/structure/info/ccd.py +95 -0
  69. biotite/structure/info/groups.py +90 -0
  70. biotite/structure/info/masses.py +21 -20
  71. biotite/structure/info/misc.py +11 -22
  72. biotite/structure/info/standardize.py +17 -12
  73. biotite/structure/io/__init__.py +2 -4
  74. biotite/structure/io/ctab.py +1 -1
  75. biotite/structure/io/general.py +37 -43
  76. biotite/structure/io/mmtf/__init__.py +3 -0
  77. biotite/structure/io/mmtf/convertarray.c +528 -365
  78. biotite/structure/io/mmtf/convertarray.cp311-win_amd64.pyd +0 -0
  79. biotite/structure/io/mmtf/convertfile.c +725 -676
  80. biotite/structure/io/mmtf/convertfile.cp311-win_amd64.pyd +0 -0
  81. biotite/structure/io/mmtf/decode.c +1070 -754
  82. biotite/structure/io/mmtf/decode.cp311-win_amd64.pyd +0 -0
  83. biotite/structure/io/mmtf/encode.c +727 -677
  84. biotite/structure/io/mmtf/encode.cp311-win_amd64.pyd +0 -0
  85. biotite/structure/io/mmtf/file.py +34 -26
  86. biotite/structure/io/npz/__init__.py +3 -0
  87. biotite/structure/io/npz/file.py +21 -18
  88. biotite/structure/io/pdb/__init__.py +3 -3
  89. biotite/structure/io/pdb/file.py +72 -70
  90. biotite/structure/io/pdb/hybrid36.c +540 -478
  91. biotite/structure/io/pdb/hybrid36.cp311-win_amd64.pyd +0 -0
  92. biotite/structure/io/pdbqt/file.py +82 -68
  93. biotite/structure/io/pdbx/__init__.py +13 -6
  94. biotite/structure/io/pdbx/bcif.py +649 -0
  95. biotite/structure/io/pdbx/cif.py +1028 -0
  96. biotite/structure/io/pdbx/component.py +243 -0
  97. biotite/structure/io/pdbx/convert.py +707 -359
  98. biotite/structure/io/pdbx/encoding.c +112813 -0
  99. biotite/structure/io/pdbx/encoding.cp311-win_amd64.pyd +0 -0
  100. biotite/structure/io/pdbx/error.py +14 -0
  101. biotite/structure/io/pdbx/legacy.py +267 -0
  102. biotite/structure/molecules.py +151 -151
  103. biotite/structure/residues.py +40 -40
  104. biotite/structure/sasa.c +713 -644
  105. biotite/structure/sasa.cp311-win_amd64.pyd +0 -0
  106. biotite/structure/superimpose.py +158 -115
  107. biotite/visualize.py +9 -11
  108. {biotite-0.38.0.dist-info → biotite-0.40.0.dist-info}/METADATA +2 -2
  109. {biotite-0.38.0.dist-info → biotite-0.40.0.dist-info}/RECORD +112 -102
  110. {biotite-0.38.0.dist-info → biotite-0.40.0.dist-info}/WHEEL +1 -1
  111. biotite/structure/info/amino_acids.json +0 -1556
  112. biotite/structure/info/amino_acids.py +0 -42
  113. biotite/structure/info/carbohydrates.json +0 -1122
  114. biotite/structure/info/carbohydrates.py +0 -39
  115. biotite/structure/info/intra_bonds.msgpack +0 -0
  116. biotite/structure/info/link_types.msgpack +0 -1
  117. biotite/structure/info/nucleotides.json +0 -772
  118. biotite/structure/info/nucleotides.py +0 -39
  119. biotite/structure/info/residue_masses.msgpack +0 -0
  120. biotite/structure/info/residue_names.msgpack +0 -3
  121. biotite/structure/info/residues.msgpack +0 -0
  122. biotite/structure/io/pdbx/file.py +0 -652
  123. {biotite-0.38.0.dist-info → biotite-0.40.0.dist-info}/LICENSE.rst +0 -0
  124. {biotite-0.38.0.dist-info → biotite-0.40.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- /* Generated by Cython 3.0.2 */
1
+ /* Generated by Cython 3.0.10 */
2
2
 
3
3
  /* BEGIN: Cython Metadata
4
4
  {
@@ -31,15 +31,15 @@ END: Cython Metadata */
31
31
  #elif PY_VERSION_HEX < 0x02070000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
32
32
  #error Cython requires Python 2.7+ or Python 3.3+.
33
33
  #else
34
- #if CYTHON_LIMITED_API
34
+ #if defined(CYTHON_LIMITED_API) && CYTHON_LIMITED_API
35
35
  #define __PYX_EXTRA_ABI_MODULE_NAME "limited"
36
36
  #else
37
37
  #define __PYX_EXTRA_ABI_MODULE_NAME ""
38
38
  #endif
39
- #define CYTHON_ABI "3_0_2" __PYX_EXTRA_ABI_MODULE_NAME
39
+ #define CYTHON_ABI "3_0_10" __PYX_EXTRA_ABI_MODULE_NAME
40
40
  #define __PYX_ABI_MODULE_NAME "_cython_" CYTHON_ABI
41
41
  #define __PYX_TYPE_MODULE_PREFIX __PYX_ABI_MODULE_NAME "."
42
- #define CYTHON_HEX_VERSION 0x030002F0
42
+ #define CYTHON_HEX_VERSION 0x03000AF0
43
43
  #define CYTHON_FUTURE_DIVISION 1
44
44
  #include <stddef.h>
45
45
  #ifndef offsetof
@@ -131,6 +131,8 @@ END: Cython Metadata */
131
131
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
132
132
  #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
133
133
  #endif
134
+ #undef CYTHON_USE_FREELISTS
135
+ #define CYTHON_USE_FREELISTS 0
134
136
  #elif defined(PYPY_VERSION)
135
137
  #define CYTHON_COMPILING_IN_PYPY 1
136
138
  #define CYTHON_COMPILING_IN_CPYTHON 0
@@ -192,6 +194,8 @@ END: Cython Metadata */
192
194
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
193
195
  #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
194
196
  #endif
197
+ #undef CYTHON_USE_FREELISTS
198
+ #define CYTHON_USE_FREELISTS 0
195
199
  #elif defined(CYTHON_LIMITED_API)
196
200
  #ifdef Py_LIMITED_API
197
201
  #undef __PYX_LIMITED_VERSION_HEX
@@ -253,7 +257,9 @@ END: Cython Metadata */
253
257
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
254
258
  #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
255
259
  #endif
256
- #elif defined(PY_NOGIL)
260
+ #undef CYTHON_USE_FREELISTS
261
+ #define CYTHON_USE_FREELISTS 0
262
+ #elif defined(Py_GIL_DISABLED) || defined(Py_NOGIL)
257
263
  #define CYTHON_COMPILING_IN_PYPY 0
258
264
  #define CYTHON_COMPILING_IN_CPYTHON 0
259
265
  #define CYTHON_COMPILING_IN_LIMITED_API 0
@@ -262,11 +268,17 @@ END: Cython Metadata */
262
268
  #ifndef CYTHON_USE_TYPE_SLOTS
263
269
  #define CYTHON_USE_TYPE_SLOTS 1
264
270
  #endif
271
+ #ifndef CYTHON_USE_TYPE_SPECS
272
+ #define CYTHON_USE_TYPE_SPECS 0
273
+ #endif
265
274
  #undef CYTHON_USE_PYTYPE_LOOKUP
266
275
  #define CYTHON_USE_PYTYPE_LOOKUP 0
267
276
  #ifndef CYTHON_USE_ASYNC_SLOTS
268
277
  #define CYTHON_USE_ASYNC_SLOTS 1
269
278
  #endif
279
+ #ifndef CYTHON_USE_PYLONG_INTERNALS
280
+ #define CYTHON_USE_PYLONG_INTERNALS 0
281
+ #endif
270
282
  #undef CYTHON_USE_PYLIST_INTERNALS
271
283
  #define CYTHON_USE_PYLIST_INTERNALS 0
272
284
  #ifndef CYTHON_USE_UNICODE_INTERNALS
@@ -274,8 +286,6 @@ END: Cython Metadata */
274
286
  #endif
275
287
  #undef CYTHON_USE_UNICODE_WRITER
276
288
  #define CYTHON_USE_UNICODE_WRITER 0
277
- #undef CYTHON_USE_PYLONG_INTERNALS
278
- #define CYTHON_USE_PYLONG_INTERNALS 0
279
289
  #ifndef CYTHON_AVOID_BORROWED_REFS
280
290
  #define CYTHON_AVOID_BORROWED_REFS 0
281
291
  #endif
@@ -287,11 +297,22 @@ END: Cython Metadata */
287
297
  #endif
288
298
  #undef CYTHON_FAST_THREAD_STATE
289
299
  #define CYTHON_FAST_THREAD_STATE 0
300
+ #undef CYTHON_FAST_GIL
301
+ #define CYTHON_FAST_GIL 0
302
+ #ifndef CYTHON_METH_FASTCALL
303
+ #define CYTHON_METH_FASTCALL 1
304
+ #endif
290
305
  #undef CYTHON_FAST_PYCALL
291
306
  #define CYTHON_FAST_PYCALL 0
307
+ #ifndef CYTHON_PEP487_INIT_SUBCLASS
308
+ #define CYTHON_PEP487_INIT_SUBCLASS 1
309
+ #endif
292
310
  #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
293
311
  #define CYTHON_PEP489_MULTI_PHASE_INIT 1
294
312
  #endif
313
+ #ifndef CYTHON_USE_MODULE_STATE
314
+ #define CYTHON_USE_MODULE_STATE 0
315
+ #endif
295
316
  #ifndef CYTHON_USE_TP_FINALIZE
296
317
  #define CYTHON_USE_TP_FINALIZE 1
297
318
  #endif
@@ -299,6 +320,12 @@ END: Cython Metadata */
299
320
  #define CYTHON_USE_DICT_VERSIONS 0
300
321
  #undef CYTHON_USE_EXC_INFO_STACK
301
322
  #define CYTHON_USE_EXC_INFO_STACK 0
323
+ #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
324
+ #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
325
+ #endif
326
+ #ifndef CYTHON_USE_FREELISTS
327
+ #define CYTHON_USE_FREELISTS 0
328
+ #endif
302
329
  #else
303
330
  #define CYTHON_COMPILING_IN_PYPY 0
304
331
  #define CYTHON_COMPILING_IN_CPYTHON 1
@@ -389,6 +416,9 @@ END: Cython Metadata */
389
416
  #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
390
417
  #define CYTHON_UPDATE_DESCRIPTOR_DOC 1
391
418
  #endif
419
+ #ifndef CYTHON_USE_FREELISTS
420
+ #define CYTHON_USE_FREELISTS 1
421
+ #endif
392
422
  #endif
393
423
  #if !defined(CYTHON_FAST_PYCCALL)
394
424
  #define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
@@ -580,17 +610,20 @@ END: Cython Metadata */
580
610
  PyObject *name, int fline, PyObject *lnos) {
581
611
  PyObject *exception_table = NULL;
582
612
  PyObject *types_module=NULL, *code_type=NULL, *result=NULL;
583
- PyObject *version_info; // borrowed
613
+ #if __PYX_LIMITED_VERSION_HEX < 0x030B0000
614
+ PyObject *version_info;
584
615
  PyObject *py_minor_version = NULL;
616
+ #endif
585
617
  long minor_version = 0;
586
618
  PyObject *type, *value, *traceback;
587
619
  PyErr_Fetch(&type, &value, &traceback);
588
620
  #if __PYX_LIMITED_VERSION_HEX >= 0x030B0000
589
- minor_version = 11; // we don't yet need to distinguish between versions > 11
621
+ minor_version = 11;
590
622
  #else
591
623
  if (!(version_info = PySys_GetObject("version_info"))) goto end;
592
624
  if (!(py_minor_version = PySequence_GetItem(version_info, 1))) goto end;
593
625
  minor_version = PyLong_AsLong(py_minor_version);
626
+ Py_DECREF(py_minor_version);
594
627
  if (minor_version == -1 && PyErr_Occurred()) goto end;
595
628
  #endif
596
629
  if (!(types_module = PyImport_ImportModule("types"))) goto end;
@@ -611,7 +644,6 @@ END: Cython Metadata */
611
644
  Py_XDECREF(code_type);
612
645
  Py_XDECREF(exception_table);
613
646
  Py_XDECREF(types_module);
614
- Py_XDECREF(py_minor_version);
615
647
  if (type) {
616
648
  PyErr_Restore(type, value, traceback);
617
649
  }
@@ -644,7 +676,7 @@ END: Cython Metadata */
644
676
  PyObject *fv, PyObject *cell, PyObject* fn,
645
677
  PyObject *name, int fline, PyObject *lnos) {
646
678
  PyCodeObject *result;
647
- PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0); // we don't have access to __pyx_empty_bytes here
679
+ PyObject *empty_bytes = PyBytes_FromStringAndSize("", 0);
648
680
  if (!empty_bytes) return NULL;
649
681
  result =
650
682
  #if PY_VERSION_HEX >= 0x030C0000
@@ -730,8 +762,13 @@ END: Cython Metadata */
730
762
  typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args,
731
763
  Py_ssize_t nargs, PyObject *kwnames);
732
764
  #else
733
- #define __Pyx_PyCFunctionFast _PyCFunctionFast
734
- #define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
765
+ #if PY_VERSION_HEX >= 0x030d00A4
766
+ # define __Pyx_PyCFunctionFast PyCFunctionFast
767
+ # define __Pyx_PyCFunctionFastWithKeywords PyCFunctionFastWithKeywords
768
+ #else
769
+ # define __Pyx_PyCFunctionFast _PyCFunctionFast
770
+ # define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
771
+ #endif
735
772
  #endif
736
773
  #if CYTHON_METH_FASTCALL
737
774
  #define __Pyx_METH_FASTCALL METH_FASTCALL
@@ -755,6 +792,31 @@ END: Cython Metadata */
755
792
  #define __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET 0
756
793
  #define __Pyx_PyVectorcall_NARGS(n) ((Py_ssize_t)(n))
757
794
  #endif
795
+ #if PY_MAJOR_VERSION >= 0x030900B1
796
+ #define __Pyx_PyCFunction_CheckExact(func) PyCFunction_CheckExact(func)
797
+ #else
798
+ #define __Pyx_PyCFunction_CheckExact(func) PyCFunction_Check(func)
799
+ #endif
800
+ #define __Pyx_CyOrPyCFunction_Check(func) PyCFunction_Check(func)
801
+ #if CYTHON_COMPILING_IN_CPYTHON
802
+ #define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) (((PyCFunctionObject*)(func))->m_ml->ml_meth)
803
+ #elif !CYTHON_COMPILING_IN_LIMITED_API
804
+ #define __Pyx_CyOrPyCFunction_GET_FUNCTION(func) PyCFunction_GET_FUNCTION(func)
805
+ #endif
806
+ #if CYTHON_COMPILING_IN_CPYTHON
807
+ #define __Pyx_CyOrPyCFunction_GET_FLAGS(func) (((PyCFunctionObject*)(func))->m_ml->ml_flags)
808
+ static CYTHON_INLINE PyObject* __Pyx_CyOrPyCFunction_GET_SELF(PyObject *func) {
809
+ return (__Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_STATIC) ? NULL : ((PyCFunctionObject*)func)->m_self;
810
+ }
811
+ #endif
812
+ static CYTHON_INLINE int __Pyx__IsSameCFunction(PyObject *func, void *cfunc) {
813
+ #if CYTHON_COMPILING_IN_LIMITED_API
814
+ return PyCFunction_Check(func) && PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
815
+ #else
816
+ return PyCFunction_Check(func) && PyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
817
+ #endif
818
+ }
819
+ #define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCFunction(func, cfunc)
758
820
  #if __PYX_LIMITED_VERSION_HEX < 0x030900B1
759
821
  #define __Pyx_PyType_FromModuleAndSpec(m, s, b) ((void)m, PyType_FromSpecWithBases(s, b))
760
822
  typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *);
@@ -781,6 +843,8 @@ END: Cython Metadata */
781
843
  #define __Pyx_PyThreadState_Current PyThreadState_Get()
782
844
  #elif !CYTHON_FAST_THREAD_STATE
783
845
  #define __Pyx_PyThreadState_Current PyThreadState_GET()
846
+ #elif PY_VERSION_HEX >= 0x030d00A1
847
+ #define __Pyx_PyThreadState_Current PyThreadState_GetUnchecked()
784
848
  #elif PY_VERSION_HEX >= 0x03060000
785
849
  #define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
786
850
  #elif PY_VERSION_HEX >= 0x03000000
@@ -856,7 +920,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
856
920
  }
857
921
  #endif
858
922
  #endif
859
- #if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
923
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030d0000 || defined(_PyDict_NewPresized)
860
924
  #define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
861
925
  #else
862
926
  #define __Pyx_PyDict_NewPresized(n) PyDict_New()
@@ -868,7 +932,7 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
868
932
  #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
869
933
  #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
870
934
  #endif
871
- #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && CYTHON_USE_UNICODE_INTERNALS
935
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX > 0x030600B4 && PY_VERSION_HEX < 0x030d0000 && CYTHON_USE_UNICODE_INTERNALS
872
936
  #define __Pyx_PyDict_GetItemStrWithError(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
873
937
  static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) {
874
938
  PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name);
@@ -912,7 +976,7 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
912
976
  #endif
913
977
  #if CYTHON_USE_TYPE_SPECS && PY_VERSION_HEX >= 0x03080000
914
978
  #define __Pyx_PyHeapTypeObject_GC_Del(obj) {\
915
- PyTypeObject *type = Py_TYPE(obj);\
979
+ PyTypeObject *type = Py_TYPE((PyObject*)obj);\
916
980
  assert(__Pyx_PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE));\
917
981
  PyObject_GC_Del(obj);\
918
982
  Py_DECREF(type);\
@@ -1056,6 +1120,15 @@ static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict,
1056
1120
  #define __Pyx_PyBytes_GET_SIZE(o) PyBytes_Size(o)
1057
1121
  #define __Pyx_PyByteArray_GET_SIZE(o) PyByteArray_Size(o)
1058
1122
  #endif
1123
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
1124
+ #define __Pyx_PyImport_AddModuleRef(name) PyImport_AddModuleRef(name)
1125
+ #else
1126
+ static CYTHON_INLINE PyObject *__Pyx_PyImport_AddModuleRef(const char *name) {
1127
+ PyObject *module = PyImport_AddModule(name);
1128
+ Py_XINCREF(module);
1129
+ return module;
1130
+ }
1131
+ #endif
1059
1132
  #if PY_MAJOR_VERSION >= 3
1060
1133
  #define PyIntObject PyLongObject
1061
1134
  #define PyInt_Type PyLong_Type
@@ -1134,7 +1207,7 @@ static CYTHON_INLINE float __PYX_NAN() {
1134
1207
  #endif
1135
1208
 
1136
1209
  #define __PYX_MARK_ERR_POS(f_index, lineno) \
1137
- { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
1210
+ { __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
1138
1211
  #define __PYX_ERR(f_index, lineno, Ln_error) \
1139
1212
  { __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
1140
1213
 
@@ -1209,9 +1282,10 @@ static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
1209
1282
  #else
1210
1283
  #define __Pyx_sst_abs(value) ((value<0) ? -value : value)
1211
1284
  #endif
1285
+ static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
1212
1286
  static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
1213
1287
  static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
1214
- #define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
1288
+ static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char*);
1215
1289
  #define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
1216
1290
  #define __Pyx_PyBytes_FromString PyBytes_FromString
1217
1291
  #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
@@ -1239,24 +1313,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
1239
1313
  #define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
1240
1314
  #define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
1241
1315
  #define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
1242
- #if CYTHON_COMPILING_IN_LIMITED_API
1243
- static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const wchar_t *u)
1244
- {
1245
- const wchar_t *u_end = u;
1246
- while (*u_end++) ;
1247
- return (size_t)(u_end - u - 1);
1248
- }
1249
- #else
1250
- static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
1251
- {
1252
- const Py_UNICODE *u_end = u;
1253
- while (*u_end++) ;
1254
- return (size_t)(u_end - u - 1);
1255
- }
1256
- #endif
1257
1316
  #define __Pyx_PyUnicode_FromOrdinal(o) PyUnicode_FromOrdinal((int)o)
1258
- #define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
1259
- #define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
1260
1317
  #define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
1261
1318
  #define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
1262
1319
  #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
@@ -1306,7 +1363,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
1306
1363
  #endif
1307
1364
  typedef Py_ssize_t __Pyx_compact_pylong;
1308
1365
  typedef size_t __Pyx_compact_upylong;
1309
- #else // Py < 3.12
1366
+ #else
1310
1367
  #define __Pyx_PyLong_IsNeg(x) (Py_SIZE(x) < 0)
1311
1368
  #define __Pyx_PyLong_IsNonNeg(x) (Py_SIZE(x) >= 0)
1312
1369
  #define __Pyx_PyLong_IsZero(x) (Py_SIZE(x) == 0)
@@ -1327,6 +1384,7 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
1327
1384
  #endif
1328
1385
  #endif
1329
1386
  #if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
1387
+ #include <string.h>
1330
1388
  static int __Pyx_sys_getdefaultencoding_not_ascii;
1331
1389
  static int __Pyx_init_sys_getdefaultencoding_params(void) {
1332
1390
  PyObject* sys;
@@ -1377,6 +1435,7 @@ bad:
1377
1435
  #else
1378
1436
  #define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
1379
1437
  #if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
1438
+ #include <string.h>
1380
1439
  static char* __PYX_DEFAULT_STRING_ENCODING;
1381
1440
  static int __Pyx_init_sys_getdefaultencoding_params(void) {
1382
1441
  PyObject* sys;
@@ -1530,6 +1589,7 @@ typedef struct {
1530
1589
  #include <intrin.h>
1531
1590
  #undef __pyx_atomic_int_type
1532
1591
  #define __pyx_atomic_int_type long
1592
+ #undef __pyx_nonatomic_int_type
1533
1593
  #define __pyx_nonatomic_int_type long
1534
1594
  #pragma intrinsic (_InterlockedExchangeAdd)
1535
1595
  #define __pyx_atomic_incr_aligned(value) _InterlockedExchangeAdd(value, 1)
@@ -1874,8 +1934,8 @@ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int
1874
1934
  #define __Pyx_Arg_NewRef_VARARGS(arg) __Pyx_NewRef(arg)
1875
1935
  #define __Pyx_Arg_XDECREF_VARARGS(arg) Py_XDECREF(arg)
1876
1936
  #else
1877
- #define __Pyx_Arg_NewRef_VARARGS(arg) arg // no-op
1878
- #define __Pyx_Arg_XDECREF_VARARGS(arg) // no-op - arg is borrowed
1937
+ #define __Pyx_Arg_NewRef_VARARGS(arg) arg
1938
+ #define __Pyx_Arg_XDECREF_VARARGS(arg)
1879
1939
  #endif
1880
1940
  #define __Pyx_NumKwargs_VARARGS(kwds) PyDict_Size(kwds)
1881
1941
  #define __Pyx_KwValues_VARARGS(args, nargs) NULL
@@ -1886,9 +1946,14 @@ static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int
1886
1946
  #define __Pyx_NumKwargs_FASTCALL(kwds) PyTuple_GET_SIZE(kwds)
1887
1947
  #define __Pyx_KwValues_FASTCALL(args, nargs) ((args) + (nargs))
1888
1948
  static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s);
1949
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
1950
+ CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues);
1951
+ #else
1889
1952
  #define __Pyx_KwargsAsDict_FASTCALL(kw, kwvalues) _PyStack_AsDict(kwvalues, kw)
1890
- #define __Pyx_Arg_NewRef_FASTCALL(arg) arg // no-op, __Pyx_Arg_FASTCALL is direct and this needs
1891
- #define __Pyx_Arg_XDECREF_FASTCALL(arg) // no-op - arg was returned from array
1953
+ #endif
1954
+ #define __Pyx_Arg_NewRef_FASTCALL(arg) arg /* no-op, __Pyx_Arg_FASTCALL is direct and this needs
1955
+ to have the same reference counting */
1956
+ #define __Pyx_Arg_XDECREF_FASTCALL(arg)
1892
1957
  #else
1893
1958
  #define __Pyx_Arg_FASTCALL __Pyx_Arg_VARARGS
1894
1959
  #define __Pyx_NumKwargs_FASTCALL __Pyx_NumKwargs_VARARGS
@@ -2211,9 +2276,6 @@ static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple)
2211
2276
  static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple);
2212
2277
  #endif
2213
2278
 
2214
- /* ssize_strlen.proto */
2215
- static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s);
2216
-
2217
2279
  /* FastTypeChecks.proto */
2218
2280
  #if CYTHON_COMPILING_IN_CPYTHON
2219
2281
  #define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
@@ -2239,7 +2301,11 @@ static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
2239
2301
  Py_ssize_t len = Py_SIZE(list);
2240
2302
  if (likely(L->allocated > len)) {
2241
2303
  Py_INCREF(x);
2304
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
2305
+ L->ob_item[len] = x;
2306
+ #else
2242
2307
  PyList_SET_ITEM(list, len, x);
2308
+ #endif
2243
2309
  __Pyx_SET_SIZE(list, len + 1);
2244
2310
  return 0;
2245
2311
  }
@@ -2279,7 +2345,11 @@ static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* s
2279
2345
  static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
2280
2346
 
2281
2347
  /* HasAttr.proto */
2348
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
2349
+ #define __Pyx_HasAttr(o, n) PyObject_HasAttrWithError(o, n)
2350
+ #else
2282
2351
  static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
2352
+ #endif
2283
2353
 
2284
2354
  /* PyObject_Str.proto */
2285
2355
  #define __Pyx_PyObject_Str(obj)\
@@ -2313,8 +2383,17 @@ static CYTHON_INLINE PyObject* __Pyx_decode_bytearray(
2313
2383
  PyObject* string, Py_ssize_t start, Py_ssize_t stop,
2314
2384
  const char* encoding, const char* errors,
2315
2385
  PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
2386
+ char* as_c_string;
2387
+ Py_ssize_t size;
2388
+ #if CYTHON_ASSUME_SAFE_MACROS
2389
+ as_c_string = PyByteArray_AS_STRING(string);
2390
+ size = PyByteArray_GET_SIZE(string);
2391
+ #else
2392
+ if (!(as_c_string = PyByteArray_AsString(string))) return NULL;
2393
+ if ((size = PyByteArray_Size(string)) < 0) return NULL;
2394
+ #endif
2316
2395
  return __Pyx_decode_c_bytes(
2317
- PyByteArray_AS_STRING(string), PyByteArray_GET_SIZE(string),
2396
+ as_c_string, size,
2318
2397
  start, stop, encoding, errors, decode_func);
2319
2398
  }
2320
2399
 
@@ -2511,7 +2590,7 @@ typedef struct {
2511
2590
  #endif
2512
2591
  void *defaults;
2513
2592
  int defaults_pyobjects;
2514
- size_t defaults_size; // used by FusedFunction for copying defaults
2593
+ size_t defaults_size;
2515
2594
  int flags;
2516
2595
  PyObject *defaults_tuple;
2517
2596
  PyObject *defaults_kwdict;
@@ -2519,9 +2598,13 @@ typedef struct {
2519
2598
  PyObject *func_annotations;
2520
2599
  PyObject *func_is_coroutine;
2521
2600
  } __pyx_CyFunctionObject;
2601
+ #undef __Pyx_CyOrPyCFunction_Check
2522
2602
  #define __Pyx_CyFunction_Check(obj) __Pyx_TypeCheck(obj, __pyx_CyFunctionType)
2523
- #define __Pyx_IsCyOrPyCFunction(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
2603
+ #define __Pyx_CyOrPyCFunction_Check(obj) __Pyx_TypeCheck2(obj, __pyx_CyFunctionType, &PyCFunction_Type)
2524
2604
  #define __Pyx_CyFunction_CheckExact(obj) __Pyx_IS_TYPE(obj, __pyx_CyFunctionType)
2605
+ static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc);
2606
+ #undef __Pyx_IsSameCFunction
2607
+ #define __Pyx_IsSameCFunction(func, cfunc) __Pyx__IsSameCyOrCFunction(func, cfunc)
2525
2608
  static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
2526
2609
  int flags, PyObject* qualname,
2527
2610
  PyObject *closure,
@@ -2715,7 +2798,8 @@ typedef const char *__Pyx_TypeName;
2715
2798
  #endif
2716
2799
 
2717
2800
  /* CheckBinaryVersion.proto */
2718
- static int __Pyx_check_binary_version(void);
2801
+ static unsigned long __Pyx_get_runtime_version(void);
2802
+ static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer);
2719
2803
 
2720
2804
  /* InitStrings.proto */
2721
2805
  static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
@@ -3908,8 +3992,7 @@ static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, P
3908
3992
  #if CYTHON_ASSUME_SAFE_MACROS
3909
3993
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
3910
3994
  #else
3911
- __pyx_nargs = PyTuple_Size(__pyx_args);
3912
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 131, __pyx_L3_error)
3995
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
3913
3996
  #endif
3914
3997
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
3915
3998
  {
@@ -4010,10 +4093,11 @@ static int __pyx_array___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, P
4010
4093
  __pyx_v_allocate_buffer = ((int)1);
4011
4094
  }
4012
4095
  }
4013
- goto __pyx_L4_argument_unpacking_done;
4096
+ goto __pyx_L6_skip;
4014
4097
  __pyx_L5_argtuple_error:;
4015
4098
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 3, 5, __pyx_nargs); __PYX_ERR(1, 131, __pyx_L3_error)
4016
- goto __pyx_L3_error;
4099
+ __pyx_L6_skip:;
4100
+ goto __pyx_L4_argument_unpacking_done;
4017
4101
  __pyx_L3_error:;
4018
4102
  {
4019
4103
  Py_ssize_t __pyx_temp;
@@ -4296,13 +4380,20 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __
4296
4380
  * raise ValueError, f"Invalid shape in axis {idx}: {dim}."
4297
4381
  */
4298
4382
  __pyx_t_7 = 0;
4299
- __pyx_t_4 = __pyx_v_shape; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0;
4383
+ __pyx_t_4 = __pyx_v_shape; __Pyx_INCREF(__pyx_t_4);
4384
+ __pyx_t_1 = 0;
4300
4385
  for (;;) {
4301
- if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
4386
+ {
4387
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_4);
4388
+ #if !CYTHON_ASSUME_SAFE_MACROS
4389
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 159, __pyx_L1_error)
4390
+ #endif
4391
+ if (__pyx_t_1 >= __pyx_temp) break;
4392
+ }
4302
4393
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4303
4394
  __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely((0 < 0))) __PYX_ERR(1, 159, __pyx_L1_error)
4304
4395
  #else
4305
- __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 159, __pyx_L1_error)
4396
+ __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 159, __pyx_L1_error)
4306
4397
  __Pyx_GOTREF(__pyx_t_5);
4307
4398
  #endif
4308
4399
  __pyx_t_9 = __Pyx_PyIndex_AsSsize_t(__pyx_t_5); if (unlikely((__pyx_t_9 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 159, __pyx_L1_error)
@@ -4945,10 +5036,8 @@ static void __pyx_array___dealloc__(PyObject *__pyx_v_self) {
4945
5036
  }
4946
5037
 
4947
5038
  static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struct __pyx_array_obj *__pyx_v_self) {
4948
- __Pyx_RefNannyDeclarations
4949
5039
  int __pyx_t_1;
4950
5040
  int __pyx_t_2;
4951
- __Pyx_RefNannySetupContext("__dealloc__", 0);
4952
5041
 
4953
5042
  /* "View.MemoryView":211
4954
5043
  *
@@ -5060,7 +5149,6 @@ static void __pyx_array___pyx_pf_15View_dot_MemoryView_5array_4__dealloc__(struc
5060
5149
  */
5061
5150
 
5062
5151
  /* function exit code */
5063
- __Pyx_RefNannyFinishContext();
5064
5152
  }
5065
5153
 
5066
5154
  /* "View.MemoryView":219
@@ -5093,7 +5181,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_5array_7memview___get__(struct _
5093
5181
  int __pyx_lineno = 0;
5094
5182
  const char *__pyx_filename = NULL;
5095
5183
  int __pyx_clineno = 0;
5096
- __Pyx_RefNannySetupContext("__get__", 0);
5184
+ __Pyx_RefNannySetupContext("__get__", 1);
5097
5185
 
5098
5186
  /* "View.MemoryView":221
5099
5187
  * @property
@@ -5146,7 +5234,7 @@ static PyObject *__pyx_array_get_memview(struct __pyx_array_obj *__pyx_v_self) {
5146
5234
  int __pyx_lineno = 0;
5147
5235
  const char *__pyx_filename = NULL;
5148
5236
  int __pyx_clineno = 0;
5149
- __Pyx_RefNannySetupContext("get_memview", 0);
5237
+ __Pyx_RefNannySetupContext("get_memview", 1);
5150
5238
 
5151
5239
  /* "View.MemoryView":225
5152
5240
  * @cname('get_memview')
@@ -5233,8 +5321,6 @@ static Py_ssize_t __pyx_array___len__(PyObject *__pyx_v_self) {
5233
5321
 
5234
5322
  static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(struct __pyx_array_obj *__pyx_v_self) {
5235
5323
  Py_ssize_t __pyx_r;
5236
- __Pyx_RefNannyDeclarations
5237
- __Pyx_RefNannySetupContext("__len__", 0);
5238
5324
 
5239
5325
  /* "View.MemoryView":229
5240
5326
  *
@@ -5256,7 +5342,6 @@ static Py_ssize_t __pyx_array___pyx_pf_15View_dot_MemoryView_5array_6__len__(str
5256
5342
 
5257
5343
  /* function exit code */
5258
5344
  __pyx_L0:;
5259
- __Pyx_RefNannyFinishContext();
5260
5345
  return __pyx_r;
5261
5346
  }
5262
5347
 
@@ -5291,7 +5376,7 @@ static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_8__getattr__(
5291
5376
  int __pyx_lineno = 0;
5292
5377
  const char *__pyx_filename = NULL;
5293
5378
  int __pyx_clineno = 0;
5294
- __Pyx_RefNannySetupContext("__getattr__", 0);
5379
+ __Pyx_RefNannySetupContext("__getattr__", 1);
5295
5380
 
5296
5381
  /* "View.MemoryView":232
5297
5382
  *
@@ -5361,7 +5446,7 @@ static PyObject *__pyx_array___pyx_pf_15View_dot_MemoryView_5array_10__getitem__
5361
5446
  int __pyx_lineno = 0;
5362
5447
  const char *__pyx_filename = NULL;
5363
5448
  int __pyx_clineno = 0;
5364
- __Pyx_RefNannySetupContext("__getitem__", 0);
5449
+ __Pyx_RefNannySetupContext("__getitem__", 1);
5365
5450
 
5366
5451
  /* "View.MemoryView":235
5367
5452
  *
@@ -5430,7 +5515,7 @@ static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array_12__setitem__(struc
5430
5515
  int __pyx_lineno = 0;
5431
5516
  const char *__pyx_filename = NULL;
5432
5517
  int __pyx_clineno = 0;
5433
- __Pyx_RefNannySetupContext("__setitem__", 0);
5518
+ __Pyx_RefNannySetupContext("__setitem__", 1);
5434
5519
 
5435
5520
  /* "View.MemoryView":238
5436
5521
  *
@@ -5489,9 +5574,6 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
5489
5574
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
5490
5575
  #endif
5491
5576
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
5492
- int __pyx_lineno = 0;
5493
- const char *__pyx_filename = NULL;
5494
- int __pyx_clineno = 0;
5495
5577
  PyObject *__pyx_r = 0;
5496
5578
  __Pyx_RefNannyDeclarations
5497
5579
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
@@ -5499,21 +5581,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
5499
5581
  #if CYTHON_ASSUME_SAFE_MACROS
5500
5582
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
5501
5583
  #else
5502
- __pyx_nargs = PyTuple_Size(__pyx_args);
5503
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 1, __pyx_L3_error)
5584
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
5504
5585
  #endif
5505
5586
  #endif
5506
5587
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
5507
5588
  if (unlikely(__pyx_nargs > 0)) {
5508
5589
  __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
5509
5590
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
5510
- goto __pyx_L4_argument_unpacking_done;
5511
- goto __pyx_L3_error;
5512
- __pyx_L3_error:;
5513
- __Pyx_AddTraceback("View.MemoryView.array.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5514
- __Pyx_RefNannyFinishContext();
5515
- return NULL;
5516
- __pyx_L4_argument_unpacking_done:;
5517
5591
  __pyx_r = __pyx_pf___pyx_array___reduce_cython__(((struct __pyx_array_obj *)__pyx_v_self));
5518
5592
 
5519
5593
  /* function exit code */
@@ -5527,7 +5601,7 @@ static PyObject *__pyx_pf___pyx_array___reduce_cython__(CYTHON_UNUSED struct __p
5527
5601
  int __pyx_lineno = 0;
5528
5602
  const char *__pyx_filename = NULL;
5529
5603
  int __pyx_clineno = 0;
5530
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
5604
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
5531
5605
 
5532
5606
  /* "(tree fragment)":2
5533
5607
  * def __reduce_cython__(self):
@@ -5591,8 +5665,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
5591
5665
  #if CYTHON_ASSUME_SAFE_MACROS
5592
5666
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
5593
5667
  #else
5594
- __pyx_nargs = PyTuple_Size(__pyx_args);
5595
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 3, __pyx_L3_error)
5668
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
5596
5669
  #endif
5597
5670
  #endif
5598
5671
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
@@ -5627,10 +5700,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
5627
5700
  }
5628
5701
  __pyx_v___pyx_state = values[0];
5629
5702
  }
5630
- goto __pyx_L4_argument_unpacking_done;
5703
+ goto __pyx_L6_skip;
5631
5704
  __pyx_L5_argtuple_error:;
5632
5705
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
5633
- goto __pyx_L3_error;
5706
+ __pyx_L6_skip:;
5707
+ goto __pyx_L4_argument_unpacking_done;
5634
5708
  __pyx_L3_error:;
5635
5709
  {
5636
5710
  Py_ssize_t __pyx_temp;
@@ -5661,7 +5735,7 @@ static PyObject *__pyx_pf___pyx_array_2__setstate_cython__(CYTHON_UNUSED struct
5661
5735
  int __pyx_lineno = 0;
5662
5736
  const char *__pyx_filename = NULL;
5663
5737
  int __pyx_clineno = 0;
5664
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
5738
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
5665
5739
 
5666
5740
  /* "(tree fragment)":4
5667
5741
  * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -5699,7 +5773,6 @@ static int __pyx_array_allocate_buffer(struct __pyx_array_obj *__pyx_v_self) {
5699
5773
  Py_ssize_t __pyx_v_i;
5700
5774
  PyObject **__pyx_v_p;
5701
5775
  int __pyx_r;
5702
- __Pyx_RefNannyDeclarations
5703
5776
  int __pyx_t_1;
5704
5777
  Py_ssize_t __pyx_t_2;
5705
5778
  Py_ssize_t __pyx_t_3;
@@ -5707,7 +5780,6 @@ static int __pyx_array_allocate_buffer(struct __pyx_array_obj *__pyx_v_self) {
5707
5780
  int __pyx_lineno = 0;
5708
5781
  const char *__pyx_filename = NULL;
5709
5782
  int __pyx_clineno = 0;
5710
- __Pyx_RefNannySetupContext("_allocate_buffer", 0);
5711
5783
 
5712
5784
  /* "View.MemoryView":254
5713
5785
  * cdef PyObject **p
@@ -5845,7 +5917,6 @@ static int __pyx_array_allocate_buffer(struct __pyx_array_obj *__pyx_v_self) {
5845
5917
  __Pyx_AddTraceback("View.MemoryView._allocate_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
5846
5918
  __pyx_r = -1;
5847
5919
  __pyx_L0:;
5848
- __Pyx_RefNannyFinishContext();
5849
5920
  return __pyx_r;
5850
5921
  }
5851
5922
 
@@ -5869,7 +5940,7 @@ static struct __pyx_array_obj *__pyx_array_new(PyObject *__pyx_v_shape, Py_ssize
5869
5940
  int __pyx_lineno = 0;
5870
5941
  const char *__pyx_filename = NULL;
5871
5942
  int __pyx_clineno = 0;
5872
- __Pyx_RefNannySetupContext("array_cwrapper", 0);
5943
+ __Pyx_RefNannySetupContext("array_cwrapper", 1);
5873
5944
 
5874
5945
  /* "View.MemoryView":270
5875
5946
  * cdef array array_cwrapper(tuple shape, Py_ssize_t itemsize, char *format, char *c_mode, char *buf):
@@ -6046,8 +6117,7 @@ static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_ar
6046
6117
  #if CYTHON_ASSUME_SAFE_MACROS
6047
6118
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
6048
6119
  #else
6049
- __pyx_nargs = PyTuple_Size(__pyx_args);
6050
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 304, __pyx_L3_error)
6120
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
6051
6121
  #endif
6052
6122
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
6053
6123
  {
@@ -6081,10 +6151,11 @@ static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_ar
6081
6151
  }
6082
6152
  __pyx_v_name = values[0];
6083
6153
  }
6084
- goto __pyx_L4_argument_unpacking_done;
6154
+ goto __pyx_L6_skip;
6085
6155
  __pyx_L5_argtuple_error:;
6086
6156
  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 304, __pyx_L3_error)
6087
- goto __pyx_L3_error;
6157
+ __pyx_L6_skip:;
6158
+ goto __pyx_L4_argument_unpacking_done;
6088
6159
  __pyx_L3_error:;
6089
6160
  {
6090
6161
  Py_ssize_t __pyx_temp;
@@ -6112,7 +6183,7 @@ static int __pyx_MemviewEnum___init__(PyObject *__pyx_v_self, PyObject *__pyx_ar
6112
6183
  static int __pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum___init__(struct __pyx_MemviewEnum_obj *__pyx_v_self, PyObject *__pyx_v_name) {
6113
6184
  int __pyx_r;
6114
6185
  __Pyx_RefNannyDeclarations
6115
- __Pyx_RefNannySetupContext("__init__", 0);
6186
+ __Pyx_RefNannySetupContext("__init__", 1);
6116
6187
 
6117
6188
  /* "View.MemoryView":305
6118
6189
  * cdef object name
@@ -6167,7 +6238,7 @@ static PyObject *__pyx_MemviewEnum___repr__(PyObject *__pyx_v_self) {
6167
6238
  static PyObject *__pyx_MemviewEnum___pyx_pf_15View_dot_MemoryView_4Enum_2__repr__(struct __pyx_MemviewEnum_obj *__pyx_v_self) {
6168
6239
  PyObject *__pyx_r = NULL;
6169
6240
  __Pyx_RefNannyDeclarations
6170
- __Pyx_RefNannySetupContext("__repr__", 0);
6241
+ __Pyx_RefNannySetupContext("__repr__", 1);
6171
6242
 
6172
6243
  /* "View.MemoryView":307
6173
6244
  * self.name = name
@@ -6221,9 +6292,6 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
6221
6292
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
6222
6293
  #endif
6223
6294
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
6224
- int __pyx_lineno = 0;
6225
- const char *__pyx_filename = NULL;
6226
- int __pyx_clineno = 0;
6227
6295
  PyObject *__pyx_r = 0;
6228
6296
  __Pyx_RefNannyDeclarations
6229
6297
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
@@ -6231,21 +6299,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
6231
6299
  #if CYTHON_ASSUME_SAFE_MACROS
6232
6300
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
6233
6301
  #else
6234
- __pyx_nargs = PyTuple_Size(__pyx_args);
6235
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 1, __pyx_L3_error)
6302
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
6236
6303
  #endif
6237
6304
  #endif
6238
6305
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
6239
6306
  if (unlikely(__pyx_nargs > 0)) {
6240
6307
  __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
6241
6308
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
6242
- goto __pyx_L4_argument_unpacking_done;
6243
- goto __pyx_L3_error;
6244
- __pyx_L3_error:;
6245
- __Pyx_AddTraceback("View.MemoryView.Enum.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
6246
- __Pyx_RefNannyFinishContext();
6247
- return NULL;
6248
- __pyx_L4_argument_unpacking_done:;
6249
6309
  __pyx_r = __pyx_pf___pyx_MemviewEnum___reduce_cython__(((struct __pyx_MemviewEnum_obj *)__pyx_v_self));
6250
6310
 
6251
6311
  /* function exit code */
@@ -6266,7 +6326,7 @@ static PyObject *__pyx_pf___pyx_MemviewEnum___reduce_cython__(struct __pyx_Memvi
6266
6326
  int __pyx_lineno = 0;
6267
6327
  const char *__pyx_filename = NULL;
6268
6328
  int __pyx_clineno = 0;
6269
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
6329
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
6270
6330
 
6271
6331
  /* "(tree fragment)":5
6272
6332
  * cdef object _dict
@@ -6503,8 +6563,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
6503
6563
  #if CYTHON_ASSUME_SAFE_MACROS
6504
6564
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
6505
6565
  #else
6506
- __pyx_nargs = PyTuple_Size(__pyx_args);
6507
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 16, __pyx_L3_error)
6566
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
6508
6567
  #endif
6509
6568
  #endif
6510
6569
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
@@ -6539,10 +6598,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
6539
6598
  }
6540
6599
  __pyx_v___pyx_state = values[0];
6541
6600
  }
6542
- goto __pyx_L4_argument_unpacking_done;
6601
+ goto __pyx_L6_skip;
6543
6602
  __pyx_L5_argtuple_error:;
6544
6603
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 16, __pyx_L3_error)
6545
- goto __pyx_L3_error;
6604
+ __pyx_L6_skip:;
6605
+ goto __pyx_L4_argument_unpacking_done;
6546
6606
  __pyx_L3_error:;
6547
6607
  {
6548
6608
  Py_ssize_t __pyx_temp;
@@ -6574,7 +6634,7 @@ static PyObject *__pyx_pf___pyx_MemviewEnum_2__setstate_cython__(struct __pyx_Me
6574
6634
  int __pyx_lineno = 0;
6575
6635
  const char *__pyx_filename = NULL;
6576
6636
  int __pyx_clineno = 0;
6577
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
6637
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
6578
6638
 
6579
6639
  /* "(tree fragment)":17
6580
6640
  * return __pyx_unpickle_Enum, (type(self), 0x82a3537, state)
@@ -6632,8 +6692,7 @@ static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_ar
6632
6692
  #if CYTHON_ASSUME_SAFE_MACROS
6633
6693
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
6634
6694
  #else
6635
- __pyx_nargs = PyTuple_Size(__pyx_args);
6636
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 349, __pyx_L3_error)
6695
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
6637
6696
  #endif
6638
6697
  __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
6639
6698
  {
@@ -6699,10 +6758,11 @@ static int __pyx_memoryview___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_ar
6699
6758
  __pyx_v_dtype_is_object = ((int)0);
6700
6759
  }
6701
6760
  }
6702
- goto __pyx_L4_argument_unpacking_done;
6761
+ goto __pyx_L6_skip;
6703
6762
  __pyx_L5_argtuple_error:;
6704
6763
  __Pyx_RaiseArgtupleInvalid("__cinit__", 0, 2, 3, __pyx_nargs); __PYX_ERR(1, 349, __pyx_L3_error)
6705
- goto __pyx_L3_error;
6764
+ __pyx_L6_skip:;
6765
+ goto __pyx_L4_argument_unpacking_done;
6706
6766
  __pyx_L3_error:;
6707
6767
  {
6708
6768
  Py_ssize_t __pyx_temp;
@@ -6738,7 +6798,7 @@ static int __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview___cinit_
6738
6798
  int __pyx_lineno = 0;
6739
6799
  const char *__pyx_filename = NULL;
6740
6800
  int __pyx_clineno = 0;
6741
- __Pyx_RefNannySetupContext("__cinit__", 0);
6801
+ __Pyx_RefNannySetupContext("__cinit__", 1);
6742
6802
 
6743
6803
  /* "View.MemoryView":350
6744
6804
  *
@@ -7073,14 +7133,12 @@ static void __pyx_memoryview___dealloc__(PyObject *__pyx_v_self) {
7073
7133
 
7074
7134
  static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__dealloc__(struct __pyx_memoryview_obj *__pyx_v_self) {
7075
7135
  int __pyx_v_i;
7076
- __Pyx_RefNannyDeclarations
7077
7136
  int __pyx_t_1;
7078
7137
  int __pyx_t_2;
7079
7138
  int __pyx_t_3;
7080
7139
  int __pyx_t_4;
7081
7140
  PyThread_type_lock __pyx_t_5;
7082
7141
  PyThread_type_lock __pyx_t_6;
7083
- __Pyx_RefNannySetupContext("__dealloc__", 0);
7084
7142
 
7085
7143
  /* "View.MemoryView":377
7086
7144
  *
@@ -7278,7 +7336,6 @@ static void __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_2__deal
7278
7336
  */
7279
7337
 
7280
7338
  /* function exit code */
7281
- __Pyx_RefNannyFinishContext();
7282
7339
  }
7283
7340
 
7284
7341
  /* "View.MemoryView":397
@@ -7305,7 +7362,7 @@ static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__py
7305
7362
  int __pyx_lineno = 0;
7306
7363
  const char *__pyx_filename = NULL;
7307
7364
  int __pyx_clineno = 0;
7308
- __Pyx_RefNannySetupContext("get_item_pointer", 0);
7365
+ __Pyx_RefNannySetupContext("get_item_pointer", 1);
7309
7366
 
7310
7367
  /* "View.MemoryView":399
7311
7368
  * cdef char *get_item_pointer(memoryview self, object index) except NULL:
@@ -7325,7 +7382,8 @@ static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__py
7325
7382
  */
7326
7383
  __pyx_t_1 = 0;
7327
7384
  if (likely(PyList_CheckExact(__pyx_v_index)) || PyTuple_CheckExact(__pyx_v_index)) {
7328
- __pyx_t_2 = __pyx_v_index; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
7385
+ __pyx_t_2 = __pyx_v_index; __Pyx_INCREF(__pyx_t_2);
7386
+ __pyx_t_3 = 0;
7329
7387
  __pyx_t_4 = NULL;
7330
7388
  } else {
7331
7389
  __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 401, __pyx_L1_error)
@@ -7335,19 +7393,31 @@ static char *__pyx_memoryview_get_item_pointer(struct __pyx_memoryview_obj *__py
7335
7393
  for (;;) {
7336
7394
  if (likely(!__pyx_t_4)) {
7337
7395
  if (likely(PyList_CheckExact(__pyx_t_2))) {
7338
- if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
7396
+ {
7397
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
7398
+ #if !CYTHON_ASSUME_SAFE_MACROS
7399
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 401, __pyx_L1_error)
7400
+ #endif
7401
+ if (__pyx_t_3 >= __pyx_temp) break;
7402
+ }
7339
7403
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
7340
7404
  __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 401, __pyx_L1_error)
7341
7405
  #else
7342
- __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 401, __pyx_L1_error)
7406
+ __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 401, __pyx_L1_error)
7343
7407
  __Pyx_GOTREF(__pyx_t_5);
7344
7408
  #endif
7345
7409
  } else {
7346
- if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
7410
+ {
7411
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
7412
+ #if !CYTHON_ASSUME_SAFE_MACROS
7413
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 401, __pyx_L1_error)
7414
+ #endif
7415
+ if (__pyx_t_3 >= __pyx_temp) break;
7416
+ }
7347
7417
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
7348
7418
  __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely((0 < 0))) __PYX_ERR(1, 401, __pyx_L1_error)
7349
7419
  #else
7350
- __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 401, __pyx_L1_error)
7420
+ __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 401, __pyx_L1_error)
7351
7421
  __Pyx_GOTREF(__pyx_t_5);
7352
7422
  #endif
7353
7423
  }
@@ -7456,7 +7526,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_4_
7456
7526
  int __pyx_lineno = 0;
7457
7527
  const char *__pyx_filename = NULL;
7458
7528
  int __pyx_clineno = 0;
7459
- __Pyx_RefNannySetupContext("__getitem__", 0);
7529
+ __Pyx_RefNannySetupContext("__getitem__", 1);
7460
7530
 
7461
7531
  /* "View.MemoryView":408
7462
7532
  *
@@ -8067,7 +8137,7 @@ static PyObject *__pyx_memoryview_setitem_slice_assignment(struct __pyx_memoryvi
8067
8137
  int __pyx_lineno = 0;
8068
8138
  const char *__pyx_filename = NULL;
8069
8139
  int __pyx_clineno = 0;
8070
- __Pyx_RefNannySetupContext("setitem_slice_assignment", 0);
8140
+ __Pyx_RefNannySetupContext("setitem_slice_assignment", 1);
8071
8141
 
8072
8142
  /* "View.MemoryView":448
8073
8143
  * cdef __Pyx_memviewslice dst_slice
@@ -8160,7 +8230,7 @@ static PyObject *__pyx_memoryview_setitem_slice_assign_scalar(struct __pyx_memor
8160
8230
  int __pyx_lineno = 0;
8161
8231
  const char *__pyx_filename = NULL;
8162
8232
  int __pyx_clineno = 0;
8163
- __Pyx_RefNannySetupContext("setitem_slice_assign_scalar", 0);
8233
+ __Pyx_RefNannySetupContext("setitem_slice_assign_scalar", 1);
8164
8234
 
8165
8235
  /* "View.MemoryView":455
8166
8236
  * cdef setitem_slice_assign_scalar(self, memoryview dst, value):
@@ -8433,7 +8503,7 @@ static PyObject *__pyx_memoryview_setitem_indexed(struct __pyx_memoryview_obj *_
8433
8503
  int __pyx_lineno = 0;
8434
8504
  const char *__pyx_filename = NULL;
8435
8505
  int __pyx_clineno = 0;
8436
- __Pyx_RefNannySetupContext("setitem_indexed", 0);
8506
+ __Pyx_RefNannySetupContext("setitem_indexed", 1);
8437
8507
 
8438
8508
  /* "View.MemoryView":486
8439
8509
  *
@@ -8504,7 +8574,7 @@ static PyObject *__pyx_memoryview_convert_item_to_object(struct __pyx_memoryview
8504
8574
  int __pyx_lineno = 0;
8505
8575
  const char *__pyx_filename = NULL;
8506
8576
  int __pyx_clineno = 0;
8507
- __Pyx_RefNannySetupContext("convert_item_to_object", 0);
8577
+ __Pyx_RefNannySetupContext("convert_item_to_object", 1);
8508
8578
 
8509
8579
  /* "View.MemoryView":492
8510
8580
  * """Only used if instantiated manually by the user, or if Cython doesn't
@@ -8754,7 +8824,7 @@ static PyObject *__pyx_memoryview_assign_item_from_object(struct __pyx_memoryvie
8754
8824
  int __pyx_lineno = 0;
8755
8825
  const char *__pyx_filename = NULL;
8756
8826
  int __pyx_clineno = 0;
8757
- __Pyx_RefNannySetupContext("assign_item_from_object", 0);
8827
+ __Pyx_RefNannySetupContext("assign_item_from_object", 1);
8758
8828
 
8759
8829
  /* "View.MemoryView":508
8760
8830
  * """Only used if instantiated manually by the user, or if Cython doesn't
@@ -9307,7 +9377,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_1T___get__(struct _
9307
9377
  int __pyx_lineno = 0;
9308
9378
  const char *__pyx_filename = NULL;
9309
9379
  int __pyx_clineno = 0;
9310
- __Pyx_RefNannySetupContext("__get__", 0);
9380
+ __Pyx_RefNannySetupContext("__get__", 1);
9311
9381
 
9312
9382
  /* "View.MemoryView":556
9313
9383
  * @property
@@ -9393,7 +9463,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struc
9393
9463
  int __pyx_lineno = 0;
9394
9464
  const char *__pyx_filename = NULL;
9395
9465
  int __pyx_clineno = 0;
9396
- __Pyx_RefNannySetupContext("__get__", 0);
9466
+ __Pyx_RefNannySetupContext("__get__", 1);
9397
9467
 
9398
9468
  /* "View.MemoryView":562
9399
9469
  * @property
@@ -9439,7 +9509,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4base___get__(struc
9439
9509
  static PyObject *__pyx_memoryview__get_base(struct __pyx_memoryview_obj *__pyx_v_self) {
9440
9510
  PyObject *__pyx_r = NULL;
9441
9511
  __Pyx_RefNannyDeclarations
9442
- __Pyx_RefNannySetupContext("_get_base", 0);
9512
+ __Pyx_RefNannySetupContext("_get_base", 1);
9443
9513
 
9444
9514
  /* "View.MemoryView":565
9445
9515
  *
@@ -9503,7 +9573,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_5shape___get__(stru
9503
9573
  int __pyx_lineno = 0;
9504
9574
  const char *__pyx_filename = NULL;
9505
9575
  int __pyx_clineno = 0;
9506
- __Pyx_RefNannySetupContext("__get__", 0);
9576
+ __Pyx_RefNannySetupContext("__get__", 1);
9507
9577
 
9508
9578
  /* "View.MemoryView":569
9509
9579
  * @property
@@ -9589,7 +9659,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_7strides___get__(st
9589
9659
  int __pyx_lineno = 0;
9590
9660
  const char *__pyx_filename = NULL;
9591
9661
  int __pyx_clineno = 0;
9592
- __Pyx_RefNannySetupContext("__get__", 0);
9662
+ __Pyx_RefNannySetupContext("__get__", 1);
9593
9663
 
9594
9664
  /* "View.MemoryView":573
9595
9665
  * @property
@@ -9704,7 +9774,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_10suboffsets___get_
9704
9774
  int __pyx_lineno = 0;
9705
9775
  const char *__pyx_filename = NULL;
9706
9776
  int __pyx_clineno = 0;
9707
- __Pyx_RefNannySetupContext("__get__", 0);
9777
+ __Pyx_RefNannySetupContext("__get__", 1);
9708
9778
 
9709
9779
  /* "View.MemoryView":581
9710
9780
  * @property
@@ -9817,7 +9887,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4ndim___get__(struc
9817
9887
  int __pyx_lineno = 0;
9818
9888
  const char *__pyx_filename = NULL;
9819
9889
  int __pyx_clineno = 0;
9820
- __Pyx_RefNannySetupContext("__get__", 0);
9890
+ __Pyx_RefNannySetupContext("__get__", 1);
9821
9891
 
9822
9892
  /* "View.MemoryView":588
9823
9893
  * @property
@@ -9882,7 +9952,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_8itemsize___get__(s
9882
9952
  int __pyx_lineno = 0;
9883
9953
  const char *__pyx_filename = NULL;
9884
9954
  int __pyx_clineno = 0;
9885
- __Pyx_RefNannySetupContext("__get__", 0);
9955
+ __Pyx_RefNannySetupContext("__get__", 1);
9886
9956
 
9887
9957
  /* "View.MemoryView":592
9888
9958
  * @property
@@ -9949,7 +10019,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_6nbytes___get__(str
9949
10019
  int __pyx_lineno = 0;
9950
10020
  const char *__pyx_filename = NULL;
9951
10021
  int __pyx_clineno = 0;
9952
- __Pyx_RefNannySetupContext("__get__", 0);
10022
+ __Pyx_RefNannySetupContext("__get__", 1);
9953
10023
 
9954
10024
  /* "View.MemoryView":596
9955
10025
  * @property
@@ -10028,7 +10098,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView_10memoryview_4size___get__(struc
10028
10098
  int __pyx_lineno = 0;
10029
10099
  const char *__pyx_filename = NULL;
10030
10100
  int __pyx_clineno = 0;
10031
- __Pyx_RefNannySetupContext("__get__", 0);
10101
+ __Pyx_RefNannySetupContext("__get__", 1);
10032
10102
 
10033
10103
  /* "View.MemoryView":600
10034
10104
  * @property
@@ -10158,9 +10228,7 @@ static Py_ssize_t __pyx_memoryview___len__(PyObject *__pyx_v_self) {
10158
10228
 
10159
10229
  static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_10__len__(struct __pyx_memoryview_obj *__pyx_v_self) {
10160
10230
  Py_ssize_t __pyx_r;
10161
- __Pyx_RefNannyDeclarations
10162
10231
  int __pyx_t_1;
10163
- __Pyx_RefNannySetupContext("__len__", 0);
10164
10232
 
10165
10233
  /* "View.MemoryView":611
10166
10234
  *
@@ -10211,7 +10279,6 @@ static Py_ssize_t __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_1
10211
10279
 
10212
10280
  /* function exit code */
10213
10281
  __pyx_L0:;
10214
- __Pyx_RefNannyFinishContext();
10215
10282
  return __pyx_r;
10216
10283
  }
10217
10284
 
@@ -10247,7 +10314,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_12
10247
10314
  int __pyx_lineno = 0;
10248
10315
  const char *__pyx_filename = NULL;
10249
10316
  int __pyx_clineno = 0;
10250
- __Pyx_RefNannySetupContext("__repr__", 0);
10317
+ __Pyx_RefNannySetupContext("__repr__", 1);
10251
10318
 
10252
10319
  /* "View.MemoryView":617
10253
10320
  *
@@ -10350,7 +10417,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_14
10350
10417
  int __pyx_lineno = 0;
10351
10418
  const char *__pyx_filename = NULL;
10352
10419
  int __pyx_clineno = 0;
10353
- __Pyx_RefNannySetupContext("__str__", 0);
10420
+ __Pyx_RefNannySetupContext("__str__", 1);
10354
10421
 
10355
10422
  /* "View.MemoryView":621
10356
10423
  *
@@ -10427,9 +10494,6 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10427
10494
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
10428
10495
  #endif
10429
10496
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
10430
- int __pyx_lineno = 0;
10431
- const char *__pyx_filename = NULL;
10432
- int __pyx_clineno = 0;
10433
10497
  PyObject *__pyx_r = 0;
10434
10498
  __Pyx_RefNannyDeclarations
10435
10499
  __Pyx_RefNannySetupContext("is_c_contig (wrapper)", 0);
@@ -10437,21 +10501,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10437
10501
  #if CYTHON_ASSUME_SAFE_MACROS
10438
10502
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
10439
10503
  #else
10440
- __pyx_nargs = PyTuple_Size(__pyx_args);
10441
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 624, __pyx_L3_error)
10504
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
10442
10505
  #endif
10443
10506
  #endif
10444
10507
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
10445
10508
  if (unlikely(__pyx_nargs > 0)) {
10446
10509
  __Pyx_RaiseArgtupleInvalid("is_c_contig", 1, 0, 0, __pyx_nargs); return NULL;}
10447
10510
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "is_c_contig", 0))) return NULL;
10448
- goto __pyx_L4_argument_unpacking_done;
10449
- goto __pyx_L3_error;
10450
- __pyx_L3_error:;
10451
- __Pyx_AddTraceback("View.MemoryView.memoryview.is_c_contig", __pyx_clineno, __pyx_lineno, __pyx_filename);
10452
- __Pyx_RefNannyFinishContext();
10453
- return NULL;
10454
- __pyx_L4_argument_unpacking_done:;
10455
10511
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16is_c_contig(((struct __pyx_memoryview_obj *)__pyx_v_self));
10456
10512
 
10457
10513
  /* function exit code */
@@ -10469,7 +10525,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_16
10469
10525
  int __pyx_lineno = 0;
10470
10526
  const char *__pyx_filename = NULL;
10471
10527
  int __pyx_clineno = 0;
10472
- __Pyx_RefNannySetupContext("is_c_contig", 0);
10528
+ __Pyx_RefNannySetupContext("is_c_contig", 1);
10473
10529
 
10474
10530
  /* "View.MemoryView":627
10475
10531
  * cdef __Pyx_memviewslice *mslice
@@ -10541,9 +10597,6 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10541
10597
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
10542
10598
  #endif
10543
10599
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
10544
- int __pyx_lineno = 0;
10545
- const char *__pyx_filename = NULL;
10546
- int __pyx_clineno = 0;
10547
10600
  PyObject *__pyx_r = 0;
10548
10601
  __Pyx_RefNannyDeclarations
10549
10602
  __Pyx_RefNannySetupContext("is_f_contig (wrapper)", 0);
@@ -10551,21 +10604,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10551
10604
  #if CYTHON_ASSUME_SAFE_MACROS
10552
10605
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
10553
10606
  #else
10554
- __pyx_nargs = PyTuple_Size(__pyx_args);
10555
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 630, __pyx_L3_error)
10607
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
10556
10608
  #endif
10557
10609
  #endif
10558
10610
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
10559
10611
  if (unlikely(__pyx_nargs > 0)) {
10560
10612
  __Pyx_RaiseArgtupleInvalid("is_f_contig", 1, 0, 0, __pyx_nargs); return NULL;}
10561
10613
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "is_f_contig", 0))) return NULL;
10562
- goto __pyx_L4_argument_unpacking_done;
10563
- goto __pyx_L3_error;
10564
- __pyx_L3_error:;
10565
- __Pyx_AddTraceback("View.MemoryView.memoryview.is_f_contig", __pyx_clineno, __pyx_lineno, __pyx_filename);
10566
- __Pyx_RefNannyFinishContext();
10567
- return NULL;
10568
- __pyx_L4_argument_unpacking_done:;
10569
10614
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18is_f_contig(((struct __pyx_memoryview_obj *)__pyx_v_self));
10570
10615
 
10571
10616
  /* function exit code */
@@ -10583,7 +10628,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_18
10583
10628
  int __pyx_lineno = 0;
10584
10629
  const char *__pyx_filename = NULL;
10585
10630
  int __pyx_clineno = 0;
10586
- __Pyx_RefNannySetupContext("is_f_contig", 0);
10631
+ __Pyx_RefNannySetupContext("is_f_contig", 1);
10587
10632
 
10588
10633
  /* "View.MemoryView":633
10589
10634
  * cdef __Pyx_memviewslice *mslice
@@ -10655,9 +10700,6 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10655
10700
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
10656
10701
  #endif
10657
10702
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
10658
- int __pyx_lineno = 0;
10659
- const char *__pyx_filename = NULL;
10660
- int __pyx_clineno = 0;
10661
10703
  PyObject *__pyx_r = 0;
10662
10704
  __Pyx_RefNannyDeclarations
10663
10705
  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
@@ -10665,21 +10707,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10665
10707
  #if CYTHON_ASSUME_SAFE_MACROS
10666
10708
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
10667
10709
  #else
10668
- __pyx_nargs = PyTuple_Size(__pyx_args);
10669
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 636, __pyx_L3_error)
10710
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
10670
10711
  #endif
10671
10712
  #endif
10672
10713
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
10673
10714
  if (unlikely(__pyx_nargs > 0)) {
10674
10715
  __Pyx_RaiseArgtupleInvalid("copy", 1, 0, 0, __pyx_nargs); return NULL;}
10675
10716
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "copy", 0))) return NULL;
10676
- goto __pyx_L4_argument_unpacking_done;
10677
- goto __pyx_L3_error;
10678
- __pyx_L3_error:;
10679
- __Pyx_AddTraceback("View.MemoryView.memoryview.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
10680
- __Pyx_RefNannyFinishContext();
10681
- return NULL;
10682
- __pyx_L4_argument_unpacking_done:;
10683
10717
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20copy(((struct __pyx_memoryview_obj *)__pyx_v_self));
10684
10718
 
10685
10719
  /* function exit code */
@@ -10697,7 +10731,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_20
10697
10731
  int __pyx_lineno = 0;
10698
10732
  const char *__pyx_filename = NULL;
10699
10733
  int __pyx_clineno = 0;
10700
- __Pyx_RefNannySetupContext("copy", 0);
10734
+ __Pyx_RefNannySetupContext("copy", 1);
10701
10735
 
10702
10736
  /* "View.MemoryView":638
10703
10737
  * def copy(self):
@@ -10787,9 +10821,6 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10787
10821
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
10788
10822
  #endif
10789
10823
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
10790
- int __pyx_lineno = 0;
10791
- const char *__pyx_filename = NULL;
10792
- int __pyx_clineno = 0;
10793
10824
  PyObject *__pyx_r = 0;
10794
10825
  __Pyx_RefNannyDeclarations
10795
10826
  __Pyx_RefNannySetupContext("copy_fortran (wrapper)", 0);
@@ -10797,21 +10828,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10797
10828
  #if CYTHON_ASSUME_SAFE_MACROS
10798
10829
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
10799
10830
  #else
10800
- __pyx_nargs = PyTuple_Size(__pyx_args);
10801
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 648, __pyx_L3_error)
10831
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
10802
10832
  #endif
10803
10833
  #endif
10804
10834
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
10805
10835
  if (unlikely(__pyx_nargs > 0)) {
10806
10836
  __Pyx_RaiseArgtupleInvalid("copy_fortran", 1, 0, 0, __pyx_nargs); return NULL;}
10807
10837
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "copy_fortran", 0))) return NULL;
10808
- goto __pyx_L4_argument_unpacking_done;
10809
- goto __pyx_L3_error;
10810
- __pyx_L3_error:;
10811
- __Pyx_AddTraceback("View.MemoryView.memoryview.copy_fortran", __pyx_clineno, __pyx_lineno, __pyx_filename);
10812
- __Pyx_RefNannyFinishContext();
10813
- return NULL;
10814
- __pyx_L4_argument_unpacking_done:;
10815
10838
  __pyx_r = __pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22copy_fortran(((struct __pyx_memoryview_obj *)__pyx_v_self));
10816
10839
 
10817
10840
  /* function exit code */
@@ -10830,7 +10853,7 @@ static PyObject *__pyx_memoryview___pyx_pf_15View_dot_MemoryView_10memoryview_22
10830
10853
  int __pyx_lineno = 0;
10831
10854
  const char *__pyx_filename = NULL;
10832
10855
  int __pyx_clineno = 0;
10833
- __Pyx_RefNannySetupContext("copy_fortran", 0);
10856
+ __Pyx_RefNannySetupContext("copy_fortran", 1);
10834
10857
 
10835
10858
  /* "View.MemoryView":650
10836
10859
  * def copy_fortran(self):
@@ -10918,9 +10941,6 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10918
10941
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
10919
10942
  #endif
10920
10943
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
10921
- int __pyx_lineno = 0;
10922
- const char *__pyx_filename = NULL;
10923
- int __pyx_clineno = 0;
10924
10944
  PyObject *__pyx_r = 0;
10925
10945
  __Pyx_RefNannyDeclarations
10926
10946
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
@@ -10928,21 +10948,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
10928
10948
  #if CYTHON_ASSUME_SAFE_MACROS
10929
10949
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
10930
10950
  #else
10931
- __pyx_nargs = PyTuple_Size(__pyx_args);
10932
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 1, __pyx_L3_error)
10951
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
10933
10952
  #endif
10934
10953
  #endif
10935
10954
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
10936
10955
  if (unlikely(__pyx_nargs > 0)) {
10937
10956
  __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
10938
10957
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
10939
- goto __pyx_L4_argument_unpacking_done;
10940
- goto __pyx_L3_error;
10941
- __pyx_L3_error:;
10942
- __Pyx_AddTraceback("View.MemoryView.memoryview.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
10943
- __Pyx_RefNannyFinishContext();
10944
- return NULL;
10945
- __pyx_L4_argument_unpacking_done:;
10946
10958
  __pyx_r = __pyx_pf___pyx_memoryview___reduce_cython__(((struct __pyx_memoryview_obj *)__pyx_v_self));
10947
10959
 
10948
10960
  /* function exit code */
@@ -10956,7 +10968,7 @@ static PyObject *__pyx_pf___pyx_memoryview___reduce_cython__(CYTHON_UNUSED struc
10956
10968
  int __pyx_lineno = 0;
10957
10969
  const char *__pyx_filename = NULL;
10958
10970
  int __pyx_clineno = 0;
10959
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
10971
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
10960
10972
 
10961
10973
  /* "(tree fragment)":2
10962
10974
  * def __reduce_cython__(self):
@@ -11020,8 +11032,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
11020
11032
  #if CYTHON_ASSUME_SAFE_MACROS
11021
11033
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
11022
11034
  #else
11023
- __pyx_nargs = PyTuple_Size(__pyx_args);
11024
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 3, __pyx_L3_error)
11035
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
11025
11036
  #endif
11026
11037
  #endif
11027
11038
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
@@ -11056,10 +11067,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
11056
11067
  }
11057
11068
  __pyx_v___pyx_state = values[0];
11058
11069
  }
11059
- goto __pyx_L4_argument_unpacking_done;
11070
+ goto __pyx_L6_skip;
11060
11071
  __pyx_L5_argtuple_error:;
11061
11072
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
11062
- goto __pyx_L3_error;
11073
+ __pyx_L6_skip:;
11074
+ goto __pyx_L4_argument_unpacking_done;
11063
11075
  __pyx_L3_error:;
11064
11076
  {
11065
11077
  Py_ssize_t __pyx_temp;
@@ -11090,7 +11102,7 @@ static PyObject *__pyx_pf___pyx_memoryview_2__setstate_cython__(CYTHON_UNUSED st
11090
11102
  int __pyx_lineno = 0;
11091
11103
  const char *__pyx_filename = NULL;
11092
11104
  int __pyx_clineno = 0;
11093
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
11105
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
11094
11106
 
11095
11107
  /* "(tree fragment)":4
11096
11108
  * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -11134,7 +11146,7 @@ static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, in
11134
11146
  int __pyx_lineno = 0;
11135
11147
  const char *__pyx_filename = NULL;
11136
11148
  int __pyx_clineno = 0;
11137
- __Pyx_RefNannySetupContext("memoryview_cwrapper", 0);
11149
+ __Pyx_RefNannySetupContext("memoryview_cwrapper", 1);
11138
11150
 
11139
11151
  /* "View.MemoryView":663
11140
11152
  * @cname('__pyx_memoryview_new')
@@ -11217,9 +11229,7 @@ static PyObject *__pyx_memoryview_new(PyObject *__pyx_v_o, int __pyx_v_flags, in
11217
11229
 
11218
11230
  static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {
11219
11231
  int __pyx_r;
11220
- __Pyx_RefNannyDeclarations
11221
11232
  int __pyx_t_1;
11222
- __Pyx_RefNannySetupContext("memoryview_check", 0);
11223
11233
 
11224
11234
  /* "View.MemoryView":669
11225
11235
  * @cname('__pyx_memoryview_check')
@@ -11242,7 +11252,6 @@ static CYTHON_INLINE int __pyx_memoryview_check(PyObject *__pyx_v_o) {
11242
11252
 
11243
11253
  /* function exit code */
11244
11254
  __pyx_L0:;
11245
- __Pyx_RefNannyFinishContext();
11246
11255
  return __pyx_r;
11247
11256
  }
11248
11257
 
@@ -11274,7 +11283,7 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
11274
11283
  int __pyx_lineno = 0;
11275
11284
  const char *__pyx_filename = NULL;
11276
11285
  int __pyx_clineno = 0;
11277
- __Pyx_RefNannySetupContext("_unellipsify", 0);
11286
+ __Pyx_RefNannySetupContext("_unellipsify", 1);
11278
11287
 
11279
11288
  /* "View.MemoryView":677
11280
11289
  * """
@@ -11356,13 +11365,20 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
11356
11365
  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
11357
11366
  __PYX_ERR(1, 683, __pyx_L1_error)
11358
11367
  }
11359
- __pyx_t_1 = __pyx_v_tup; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
11368
+ __pyx_t_1 = __pyx_v_tup; __Pyx_INCREF(__pyx_t_1);
11369
+ __pyx_t_4 = 0;
11360
11370
  for (;;) {
11361
- if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
11371
+ {
11372
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_1);
11373
+ #if !CYTHON_ASSUME_SAFE_MACROS
11374
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 683, __pyx_L1_error)
11375
+ #endif
11376
+ if (__pyx_t_4 >= __pyx_temp) break;
11377
+ }
11362
11378
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
11363
11379
  __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(1, 683, __pyx_L1_error)
11364
11380
  #else
11365
- __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 683, __pyx_L1_error)
11381
+ __pyx_t_3 = __Pyx_PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 683, __pyx_L1_error)
11366
11382
  __Pyx_GOTREF(__pyx_t_3);
11367
11383
  #endif
11368
11384
  __Pyx_XDECREF_SET(__pyx_v_item, __pyx_t_3);
@@ -11631,7 +11647,6 @@ static PyObject *_unellipsify(PyObject *__pyx_v_index, int __pyx_v_ndim) {
11631
11647
  static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_ndim) {
11632
11648
  Py_ssize_t __pyx_v_suboffset;
11633
11649
  int __pyx_r;
11634
- __Pyx_RefNannyDeclarations
11635
11650
  Py_ssize_t *__pyx_t_1;
11636
11651
  Py_ssize_t *__pyx_t_2;
11637
11652
  Py_ssize_t *__pyx_t_3;
@@ -11639,7 +11654,6 @@ static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_
11639
11654
  int __pyx_lineno = 0;
11640
11655
  const char *__pyx_filename = NULL;
11641
11656
  int __pyx_clineno = 0;
11642
- __Pyx_RefNannySetupContext("assert_direct_dimensions", 0);
11643
11657
 
11644
11658
  /* "View.MemoryView":701
11645
11659
  *
@@ -11706,7 +11720,6 @@ static int assert_direct_dimensions(Py_ssize_t *__pyx_v_suboffsets, int __pyx_v_
11706
11720
  __Pyx_AddTraceback("View.MemoryView.assert_direct_dimensions", __pyx_clineno, __pyx_lineno, __pyx_filename);
11707
11721
  __pyx_r = -1;
11708
11722
  __pyx_L0:;
11709
- __Pyx_RefNannyFinishContext();
11710
11723
  return __pyx_r;
11711
11724
  }
11712
11725
 
@@ -11752,7 +11765,7 @@ static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_
11752
11765
  int __pyx_lineno = 0;
11753
11766
  const char *__pyx_filename = NULL;
11754
11767
  int __pyx_clineno = 0;
11755
- __Pyx_RefNannySetupContext("memview_slice", 0);
11768
+ __Pyx_RefNannySetupContext("memview_slice", 1);
11756
11769
 
11757
11770
  /* "View.MemoryView":712
11758
11771
  * @cname('__pyx_memview_slice')
@@ -11902,7 +11915,8 @@ static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_
11902
11915
  */
11903
11916
  __pyx_t_5 = 0;
11904
11917
  if (likely(PyList_CheckExact(__pyx_v_indices)) || PyTuple_CheckExact(__pyx_v_indices)) {
11905
- __pyx_t_2 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
11918
+ __pyx_t_2 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_2);
11919
+ __pyx_t_6 = 0;
11906
11920
  __pyx_t_7 = NULL;
11907
11921
  } else {
11908
11922
  __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_indices); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 747, __pyx_L1_error)
@@ -11912,19 +11926,31 @@ static struct __pyx_memoryview_obj *__pyx_memview_slice(struct __pyx_memoryview_
11912
11926
  for (;;) {
11913
11927
  if (likely(!__pyx_t_7)) {
11914
11928
  if (likely(PyList_CheckExact(__pyx_t_2))) {
11915
- if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
11929
+ {
11930
+ Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_2);
11931
+ #if !CYTHON_ASSUME_SAFE_MACROS
11932
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 747, __pyx_L1_error)
11933
+ #endif
11934
+ if (__pyx_t_6 >= __pyx_temp) break;
11935
+ }
11916
11936
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
11917
11937
  __pyx_t_8 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 747, __pyx_L1_error)
11918
11938
  #else
11919
- __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 747, __pyx_L1_error)
11939
+ __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 747, __pyx_L1_error)
11920
11940
  __Pyx_GOTREF(__pyx_t_8);
11921
11941
  #endif
11922
11942
  } else {
11923
- if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
11943
+ {
11944
+ Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_2);
11945
+ #if !CYTHON_ASSUME_SAFE_MACROS
11946
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(1, 747, __pyx_L1_error)
11947
+ #endif
11948
+ if (__pyx_t_6 >= __pyx_temp) break;
11949
+ }
11924
11950
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
11925
11951
  __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_8); __pyx_t_6++; if (unlikely((0 < 0))) __PYX_ERR(1, 747, __pyx_L1_error)
11926
11952
  #else
11927
- __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 747, __pyx_L1_error)
11953
+ __pyx_t_8 = __Pyx_PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 747, __pyx_L1_error)
11928
11954
  __Pyx_GOTREF(__pyx_t_8);
11929
11955
  #endif
11930
11956
  }
@@ -12303,7 +12329,6 @@ static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *__pyx_v_dst,
12303
12329
  Py_ssize_t __pyx_v_new_shape;
12304
12330
  int __pyx_v_negative_step;
12305
12331
  int __pyx_r;
12306
- __Pyx_RefNannyDeclarations
12307
12332
  int __pyx_t_1;
12308
12333
  int __pyx_t_2;
12309
12334
  int __pyx_t_3;
@@ -12313,7 +12338,6 @@ static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *__pyx_v_dst,
12313
12338
  #ifdef WITH_THREAD
12314
12339
  PyGILState_STATE __pyx_gilstate_save;
12315
12340
  #endif
12316
- __Pyx_RefNannySetupContext("slice_memviewslice", 1);
12317
12341
 
12318
12342
  /* "View.MemoryView":813
12319
12343
  * cdef bint negative_step
@@ -13068,7 +13092,6 @@ static int __pyx_memoryview_slice_memviewslice(__Pyx_memviewslice *__pyx_v_dst,
13068
13092
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
13069
13093
  #endif
13070
13094
  __pyx_L0:;
13071
- __Pyx_RefNannyFinishContextNogil()
13072
13095
  return __pyx_r;
13073
13096
  }
13074
13097
 
@@ -13096,7 +13119,7 @@ static char *__pyx_pybuffer_index(Py_buffer *__pyx_v_view, char *__pyx_v_bufp, P
13096
13119
  int __pyx_lineno = 0;
13097
13120
  const char *__pyx_filename = NULL;
13098
13121
  int __pyx_clineno = 0;
13099
- __Pyx_RefNannySetupContext("pybuffer_index", 0);
13122
+ __Pyx_RefNannySetupContext("pybuffer_index", 1);
13100
13123
 
13101
13124
  /* "View.MemoryView":898
13102
13125
  * cdef char *pybuffer_index(Py_buffer *view, char *bufp, Py_ssize_t index,
@@ -13423,7 +13446,6 @@ static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {
13423
13446
  int __pyx_v_i;
13424
13447
  int __pyx_v_j;
13425
13448
  int __pyx_r;
13426
- __Pyx_RefNannyDeclarations
13427
13449
  int __pyx_t_1;
13428
13450
  Py_ssize_t *__pyx_t_2;
13429
13451
  long __pyx_t_3;
@@ -13439,7 +13461,6 @@ static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {
13439
13461
  #ifdef WITH_THREAD
13440
13462
  PyGILState_STATE __pyx_gilstate_save;
13441
13463
  #endif
13442
- __Pyx_RefNannySetupContext("transpose_memslice", 1);
13443
13464
 
13444
13465
  /* "View.MemoryView":930
13445
13466
  * @cname('__pyx_memslice_transpose')
@@ -13582,7 +13603,6 @@ static int __pyx_memslice_transpose(__Pyx_memviewslice *__pyx_v_memslice) {
13582
13603
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
13583
13604
  #endif
13584
13605
  __pyx_L0:;
13585
- __Pyx_RefNannyFinishContextNogil()
13586
13606
  return __pyx_r;
13587
13607
  }
13588
13608
 
@@ -13608,8 +13628,6 @@ static void __pyx_memoryviewslice___dealloc__(PyObject *__pyx_v_self) {
13608
13628
  }
13609
13629
 
13610
13630
  static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewslice___dealloc__(struct __pyx_memoryviewslice_obj *__pyx_v_self) {
13611
- __Pyx_RefNannyDeclarations
13612
- __Pyx_RefNannySetupContext("__dealloc__", 0);
13613
13631
 
13614
13632
  /* "View.MemoryView":964
13615
13633
  *
@@ -13629,7 +13647,6 @@ static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewsl
13629
13647
  */
13630
13648
 
13631
13649
  /* function exit code */
13632
- __Pyx_RefNannyFinishContext();
13633
13650
  }
13634
13651
 
13635
13652
  /* "View.MemoryView":966
@@ -13648,7 +13665,7 @@ static PyObject *__pyx_memoryviewslice_convert_item_to_object(struct __pyx_memor
13648
13665
  int __pyx_lineno = 0;
13649
13666
  const char *__pyx_filename = NULL;
13650
13667
  int __pyx_clineno = 0;
13651
- __Pyx_RefNannySetupContext("convert_item_to_object", 0);
13668
+ __Pyx_RefNannySetupContext("convert_item_to_object", 1);
13652
13669
 
13653
13670
  /* "View.MemoryView":967
13654
13671
  *
@@ -13735,7 +13752,7 @@ static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memo
13735
13752
  int __pyx_lineno = 0;
13736
13753
  const char *__pyx_filename = NULL;
13737
13754
  int __pyx_clineno = 0;
13738
- __Pyx_RefNannySetupContext("assign_item_from_object", 0);
13755
+ __Pyx_RefNannySetupContext("assign_item_from_object", 1);
13739
13756
 
13740
13757
  /* "View.MemoryView":973
13741
13758
  *
@@ -13812,7 +13829,7 @@ static PyObject *__pyx_memoryviewslice_assign_item_from_object(struct __pyx_memo
13812
13829
  static PyObject *__pyx_memoryviewslice__get_base(struct __pyx_memoryviewslice_obj *__pyx_v_self) {
13813
13830
  PyObject *__pyx_r = NULL;
13814
13831
  __Pyx_RefNannyDeclarations
13815
- __Pyx_RefNannySetupContext("_get_base", 0);
13832
+ __Pyx_RefNannySetupContext("_get_base", 1);
13816
13833
 
13817
13834
  /* "View.MemoryView":979
13818
13835
  *
@@ -13866,9 +13883,6 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
13866
13883
  CYTHON_UNUSED Py_ssize_t __pyx_nargs;
13867
13884
  #endif
13868
13885
  CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
13869
- int __pyx_lineno = 0;
13870
- const char *__pyx_filename = NULL;
13871
- int __pyx_clineno = 0;
13872
13886
  PyObject *__pyx_r = 0;
13873
13887
  __Pyx_RefNannyDeclarations
13874
13888
  __Pyx_RefNannySetupContext("__reduce_cython__ (wrapper)", 0);
@@ -13876,21 +13890,13 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
13876
13890
  #if CYTHON_ASSUME_SAFE_MACROS
13877
13891
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
13878
13892
  #else
13879
- __pyx_nargs = PyTuple_Size(__pyx_args);
13880
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 1, __pyx_L3_error)
13893
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
13881
13894
  #endif
13882
13895
  #endif
13883
13896
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
13884
13897
  if (unlikely(__pyx_nargs > 0)) {
13885
13898
  __Pyx_RaiseArgtupleInvalid("__reduce_cython__", 1, 0, 0, __pyx_nargs); return NULL;}
13886
13899
  if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__reduce_cython__", 0))) return NULL;
13887
- goto __pyx_L4_argument_unpacking_done;
13888
- goto __pyx_L3_error;
13889
- __pyx_L3_error:;
13890
- __Pyx_AddTraceback("View.MemoryView._memoryviewslice.__reduce_cython__", __pyx_clineno, __pyx_lineno, __pyx_filename);
13891
- __Pyx_RefNannyFinishContext();
13892
- return NULL;
13893
- __pyx_L4_argument_unpacking_done:;
13894
13900
  __pyx_r = __pyx_pf___pyx_memoryviewslice___reduce_cython__(((struct __pyx_memoryviewslice_obj *)__pyx_v_self));
13895
13901
 
13896
13902
  /* function exit code */
@@ -13904,7 +13910,7 @@ static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED
13904
13910
  int __pyx_lineno = 0;
13905
13911
  const char *__pyx_filename = NULL;
13906
13912
  int __pyx_clineno = 0;
13907
- __Pyx_RefNannySetupContext("__reduce_cython__", 0);
13913
+ __Pyx_RefNannySetupContext("__reduce_cython__", 1);
13908
13914
 
13909
13915
  /* "(tree fragment)":2
13910
13916
  * def __reduce_cython__(self):
@@ -13968,8 +13974,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
13968
13974
  #if CYTHON_ASSUME_SAFE_MACROS
13969
13975
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
13970
13976
  #else
13971
- __pyx_nargs = PyTuple_Size(__pyx_args);
13972
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 3, __pyx_L3_error)
13977
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
13973
13978
  #endif
13974
13979
  #endif
13975
13980
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
@@ -14004,10 +14009,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
14004
14009
  }
14005
14010
  __pyx_v___pyx_state = values[0];
14006
14011
  }
14007
- goto __pyx_L4_argument_unpacking_done;
14012
+ goto __pyx_L6_skip;
14008
14013
  __pyx_L5_argtuple_error:;
14009
14014
  __Pyx_RaiseArgtupleInvalid("__setstate_cython__", 1, 1, 1, __pyx_nargs); __PYX_ERR(1, 3, __pyx_L3_error)
14010
- goto __pyx_L3_error;
14015
+ __pyx_L6_skip:;
14016
+ goto __pyx_L4_argument_unpacking_done;
14011
14017
  __pyx_L3_error:;
14012
14018
  {
14013
14019
  Py_ssize_t __pyx_temp;
@@ -14038,7 +14044,7 @@ static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUS
14038
14044
  int __pyx_lineno = 0;
14039
14045
  const char *__pyx_filename = NULL;
14040
14046
  int __pyx_clineno = 0;
14041
- __Pyx_RefNannySetupContext("__setstate_cython__", 0);
14047
+ __Pyx_RefNannySetupContext("__setstate_cython__", 1);
14042
14048
 
14043
14049
  /* "(tree fragment)":4
14044
14050
  * raise TypeError, "no default __reduce__ due to non-trivial __cinit__"
@@ -14090,7 +14096,7 @@ static PyObject *__pyx_memoryview_fromslice(__Pyx_memviewslice __pyx_v_memviewsl
14090
14096
  int __pyx_lineno = 0;
14091
14097
  const char *__pyx_filename = NULL;
14092
14098
  int __pyx_clineno = 0;
14093
- __Pyx_RefNannySetupContext("memoryview_fromslice", 0);
14099
+ __Pyx_RefNannySetupContext("memoryview_fromslice", 1);
14094
14100
 
14095
14101
  /* "View.MemoryView":1007
14096
14102
  * cdef _memoryviewslice result
@@ -14467,7 +14473,7 @@ static __Pyx_memviewslice *__pyx_memoryview_get_slice_from_memoryview(struct __p
14467
14473
  int __pyx_lineno = 0;
14468
14474
  const char *__pyx_filename = NULL;
14469
14475
  int __pyx_clineno = 0;
14470
- __Pyx_RefNannySetupContext("get_slice_from_memview", 0);
14476
+ __Pyx_RefNannySetupContext("get_slice_from_memview", 1);
14471
14477
 
14472
14478
  /* "View.MemoryView":1055
14473
14479
  * __Pyx_memviewslice *mslice) except NULL:
@@ -14564,14 +14570,12 @@ static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_mem
14564
14570
  Py_ssize_t *__pyx_v_shape;
14565
14571
  Py_ssize_t *__pyx_v_strides;
14566
14572
  Py_ssize_t *__pyx_v_suboffsets;
14567
- __Pyx_RefNannyDeclarations
14568
14573
  Py_ssize_t *__pyx_t_1;
14569
14574
  int __pyx_t_2;
14570
14575
  int __pyx_t_3;
14571
14576
  int __pyx_t_4;
14572
14577
  Py_ssize_t __pyx_t_5;
14573
14578
  int __pyx_t_6;
14574
- __Pyx_RefNannySetupContext("slice_copy", 0);
14575
14579
 
14576
14580
  /* "View.MemoryView":1067
14577
14581
  * cdef (Py_ssize_t*) shape, strides, suboffsets
@@ -14676,7 +14680,6 @@ static void __pyx_memoryview_slice_copy(struct __pyx_memoryview_obj *__pyx_v_mem
14676
14680
  */
14677
14681
 
14678
14682
  /* function exit code */
14679
- __Pyx_RefNannyFinishContext();
14680
14683
  }
14681
14684
 
14682
14685
  /* "View.MemoryView":1080
@@ -14695,7 +14698,7 @@ static PyObject *__pyx_memoryview_copy_object(struct __pyx_memoryview_obj *__pyx
14695
14698
  int __pyx_lineno = 0;
14696
14699
  const char *__pyx_filename = NULL;
14697
14700
  int __pyx_clineno = 0;
14698
- __Pyx_RefNannySetupContext("memoryview_copy", 0);
14701
+ __Pyx_RefNannySetupContext("memoryview_copy", 1);
14699
14702
 
14700
14703
  /* "View.MemoryView":1083
14701
14704
  * "Create a new memoryview object"
@@ -14759,7 +14762,7 @@ static PyObject *__pyx_memoryview_copy_object_from_slice(struct __pyx_memoryview
14759
14762
  int __pyx_lineno = 0;
14760
14763
  const char *__pyx_filename = NULL;
14761
14764
  int __pyx_clineno = 0;
14762
- __Pyx_RefNannySetupContext("memoryview_copy_from_slice", 0);
14765
+ __Pyx_RefNannySetupContext("memoryview_copy_from_slice", 1);
14763
14766
 
14764
14767
  /* "View.MemoryView":1094
14765
14768
  * cdef int (*to_dtype_func)(char *, object) except 0
@@ -15568,7 +15571,6 @@ static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src,
15568
15571
  size_t __pyx_v_itemsize;
15569
15572
  size_t __pyx_v_size;
15570
15573
  void *__pyx_r;
15571
- __Pyx_RefNannyDeclarations
15572
15574
  Py_ssize_t __pyx_t_1;
15573
15575
  int __pyx_t_2;
15574
15576
  int __pyx_t_3;
@@ -15581,7 +15583,6 @@ static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src,
15581
15583
  #ifdef WITH_THREAD
15582
15584
  PyGILState_STATE __pyx_gilstate_save;
15583
15585
  #endif
15584
- __Pyx_RefNannySetupContext("copy_data_to_temp", 1);
15585
15586
 
15586
15587
  /* "View.MemoryView":1216
15587
15588
  * cdef void *result
@@ -15809,7 +15810,6 @@ static void *__pyx_memoryview_copy_data_to_temp(__Pyx_memviewslice *__pyx_v_src,
15809
15810
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
15810
15811
  #endif
15811
15812
  __pyx_L0:;
15812
- __Pyx_RefNannyFinishContextNogil()
15813
15813
  return __pyx_r;
15814
15814
  }
15815
15815
 
@@ -16029,14 +16029,12 @@ static int __pyx_memoryview_err(PyObject *__pyx_v_error, PyObject *__pyx_v_msg)
16029
16029
 
16030
16030
  static int __pyx_memoryview_err_no_memory(void) {
16031
16031
  int __pyx_r;
16032
- __Pyx_RefNannyDeclarations
16033
16032
  int __pyx_lineno = 0;
16034
16033
  const char *__pyx_filename = NULL;
16035
16034
  int __pyx_clineno = 0;
16036
16035
  #ifdef WITH_THREAD
16037
16036
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
16038
16037
  #endif
16039
- __Pyx_RefNannySetupContext("_err_no_memory", 0);
16040
16038
 
16041
16039
  /* "View.MemoryView":1261
16042
16040
  * @cname('__pyx_memoryview_err_no_memory')
@@ -16059,7 +16057,6 @@ static int __pyx_memoryview_err_no_memory(void) {
16059
16057
  __pyx_L1_error:;
16060
16058
  __Pyx_AddTraceback("View.MemoryView._err_no_memory", __pyx_clineno, __pyx_lineno, __pyx_filename);
16061
16059
  __pyx_r = -1;
16062
- __Pyx_RefNannyFinishContext();
16063
16060
  #ifdef WITH_THREAD
16064
16061
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
16065
16062
  #endif
@@ -16084,7 +16081,6 @@ static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_
16084
16081
  __Pyx_memviewslice __pyx_v_tmp;
16085
16082
  int __pyx_v_ndim;
16086
16083
  int __pyx_r;
16087
- __Pyx_RefNannyDeclarations
16088
16084
  Py_ssize_t __pyx_t_1;
16089
16085
  int __pyx_t_2;
16090
16086
  int __pyx_t_3;
@@ -16098,7 +16094,6 @@ static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_
16098
16094
  #ifdef WITH_THREAD
16099
16095
  PyGILState_STATE __pyx_gilstate_save;
16100
16096
  #endif
16101
- __Pyx_RefNannySetupContext("memoryview_copy_contents", 1);
16102
16097
 
16103
16098
  /* "View.MemoryView":1273
16104
16099
  * Check for overlapping memory and verify the shapes.
@@ -16643,7 +16638,6 @@ static int __pyx_memoryview_copy_contents(__Pyx_memviewslice __pyx_v_src, __Pyx_
16643
16638
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
16644
16639
  #endif
16645
16640
  __pyx_L0:;
16646
- __Pyx_RefNannyFinishContextNogil()
16647
16641
  return __pyx_r;
16648
16642
  }
16649
16643
 
@@ -16817,11 +16811,9 @@ static void __pyx_memoryview_refcount_copying(__Pyx_memviewslice *__pyx_v_dst, i
16817
16811
  */
16818
16812
 
16819
16813
  static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {
16820
- __Pyx_RefNannyDeclarations
16821
16814
  #ifdef WITH_THREAD
16822
16815
  PyGILState_STATE __pyx_gilstate_save = __Pyx_PyGILState_Ensure();
16823
16816
  #endif
16824
- __Pyx_RefNannySetupContext("refcount_objects_in_slice_with_gil", 0);
16825
16817
 
16826
16818
  /* "View.MemoryView":1368
16827
16819
  * Py_ssize_t *strides, int ndim,
@@ -16841,7 +16833,6 @@ static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_da
16841
16833
  */
16842
16834
 
16843
16835
  /* function exit code */
16844
- __Pyx_RefNannyFinishContext();
16845
16836
  #ifdef WITH_THREAD
16846
16837
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
16847
16838
  #endif
@@ -16858,12 +16849,10 @@ static void __pyx_memoryview_refcount_objects_in_slice_with_gil(char *__pyx_v_da
16858
16849
  static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ssize_t *__pyx_v_shape, Py_ssize_t *__pyx_v_strides, int __pyx_v_ndim, int __pyx_v_inc) {
16859
16850
  CYTHON_UNUSED Py_ssize_t __pyx_v_i;
16860
16851
  Py_ssize_t __pyx_v_stride;
16861
- __Pyx_RefNannyDeclarations
16862
16852
  Py_ssize_t __pyx_t_1;
16863
16853
  Py_ssize_t __pyx_t_2;
16864
16854
  Py_ssize_t __pyx_t_3;
16865
16855
  int __pyx_t_4;
16866
- __Pyx_RefNannySetupContext("refcount_objects_in_slice", 0);
16867
16856
 
16868
16857
  /* "View.MemoryView":1374
16869
16858
  * Py_ssize_t *strides, int ndim, bint inc) noexcept:
@@ -16977,7 +16966,6 @@ static void __pyx_memoryview_refcount_objects_in_slice(char *__pyx_v_data, Py_ss
16977
16966
  */
16978
16967
 
16979
16968
  /* function exit code */
16980
- __Pyx_RefNannyFinishContext();
16981
16969
  }
16982
16970
 
16983
16971
  /* "View.MemoryView":1391
@@ -17199,8 +17187,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
17199
17187
  #if CYTHON_ASSUME_SAFE_MACROS
17200
17188
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
17201
17189
  #else
17202
- __pyx_nargs = PyTuple_Size(__pyx_args);
17203
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(1, 1, __pyx_L3_error)
17190
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
17204
17191
  #endif
17205
17192
  #endif
17206
17193
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
@@ -17263,10 +17250,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
17263
17250
  __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)
17264
17251
  __pyx_v___pyx_state = values[2];
17265
17252
  }
17266
- goto __pyx_L4_argument_unpacking_done;
17253
+ goto __pyx_L6_skip;
17267
17254
  __pyx_L5_argtuple_error:;
17268
17255
  __Pyx_RaiseArgtupleInvalid("__pyx_unpickle_Enum", 1, 3, 3, __pyx_nargs); __PYX_ERR(1, 1, __pyx_L3_error)
17269
- goto __pyx_L3_error;
17256
+ __pyx_L6_skip:;
17257
+ goto __pyx_L4_argument_unpacking_done;
17270
17258
  __pyx_L3_error:;
17271
17259
  {
17272
17260
  Py_ssize_t __pyx_temp;
@@ -17304,7 +17292,7 @@ static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSE
17304
17292
  int __pyx_lineno = 0;
17305
17293
  const char *__pyx_filename = NULL;
17306
17294
  int __pyx_clineno = 0;
17307
- __Pyx_RefNannySetupContext("__pyx_unpickle_Enum", 0);
17295
+ __Pyx_RefNannySetupContext("__pyx_unpickle_Enum", 1);
17308
17296
 
17309
17297
  /* "(tree fragment)":4
17310
17298
  * cdef object __pyx_PickleError
@@ -17486,7 +17474,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
17486
17474
  int __pyx_lineno = 0;
17487
17475
  const char *__pyx_filename = NULL;
17488
17476
  int __pyx_clineno = 0;
17489
- __Pyx_RefNannySetupContext("__pyx_unpickle_Enum__set_state", 0);
17477
+ __Pyx_RefNannySetupContext("__pyx_unpickle_Enum__set_state", 1);
17490
17478
 
17491
17479
  /* "(tree fragment)":12
17492
17480
  * return __pyx_result
@@ -17644,8 +17632,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
17644
17632
  #if CYTHON_ASSUME_SAFE_MACROS
17645
17633
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
17646
17634
  #else
17647
- __pyx_nargs = PyTuple_Size(__pyx_args);
17648
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(0, 20, __pyx_L3_error)
17635
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
17649
17636
  #endif
17650
17637
  #endif
17651
17638
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
@@ -17694,10 +17681,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
17694
17681
  __pyx_v_number = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_number == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21, __pyx_L3_error)
17695
17682
  __pyx_v_length = __Pyx_PyInt_As_unsigned_int(values[1]); if (unlikely((__pyx_v_length == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(0, 21, __pyx_L3_error)
17696
17683
  }
17697
- goto __pyx_L4_argument_unpacking_done;
17684
+ goto __pyx_L6_skip;
17698
17685
  __pyx_L5_argtuple_error:;
17699
17686
  __Pyx_RaiseArgtupleInvalid("encode_hybrid36", 1, 2, 2, __pyx_nargs); __PYX_ERR(0, 20, __pyx_L3_error)
17700
- goto __pyx_L3_error;
17687
+ __pyx_L6_skip:;
17688
+ goto __pyx_L4_argument_unpacking_done;
17701
17689
  __pyx_L3_error:;
17702
17690
  {
17703
17691
  Py_ssize_t __pyx_temp;
@@ -17734,7 +17722,7 @@ static PyObject *__pyx_pf_7biotite_9structure_2io_3pdb_8hybrid36_encode_hybrid36
17734
17722
  int __pyx_lineno = 0;
17735
17723
  const char *__pyx_filename = NULL;
17736
17724
  int __pyx_clineno = 0;
17737
- __Pyx_RefNannySetupContext("encode_hybrid36", 0);
17725
+ __Pyx_RefNannySetupContext("encode_hybrid36", 1);
17738
17726
 
17739
17727
  /* "biotite/structure/io/pdb/hybrid36.pyx":39
17740
17728
  * The hybrid-36 string representation.
@@ -18056,7 +18044,7 @@ static PyObject *__pyx_f_7biotite_9structure_2io_3pdb_8hybrid36__encode_base36(i
18056
18044
  int __pyx_lineno = 0;
18057
18045
  const char *__pyx_filename = NULL;
18058
18046
  int __pyx_clineno = 0;
18059
- __Pyx_RefNannySetupContext("_encode_base36", 0);
18047
+ __Pyx_RefNannySetupContext("_encode_base36", 1);
18060
18048
 
18061
18049
  /* "biotite/structure/io/pdb/hybrid36.pyx":106
18062
18050
  * cdef int remaining
@@ -18263,8 +18251,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
18263
18251
  #if CYTHON_ASSUME_SAFE_MACROS
18264
18252
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
18265
18253
  #else
18266
- __pyx_nargs = PyTuple_Size(__pyx_args);
18267
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(0, 130, __pyx_L3_error)
18254
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
18268
18255
  #endif
18269
18256
  #endif
18270
18257
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
@@ -18299,10 +18286,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
18299
18286
  }
18300
18287
  __pyx_v_string = ((PyObject*)values[0]);
18301
18288
  }
18302
- goto __pyx_L4_argument_unpacking_done;
18289
+ goto __pyx_L6_skip;
18303
18290
  __pyx_L5_argtuple_error:;
18304
18291
  __Pyx_RaiseArgtupleInvalid("decode_hybrid36", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 130, __pyx_L3_error)
18305
- goto __pyx_L3_error;
18292
+ __pyx_L6_skip:;
18293
+ goto __pyx_L4_argument_unpacking_done;
18306
18294
  __pyx_L3_error:;
18307
18295
  {
18308
18296
  Py_ssize_t __pyx_temp;
@@ -18355,7 +18343,7 @@ static PyObject *__pyx_pf_7biotite_9structure_2io_3pdb_8hybrid36_2decode_hybrid3
18355
18343
  int __pyx_lineno = 0;
18356
18344
  const char *__pyx_filename = NULL;
18357
18345
  int __pyx_clineno = 0;
18358
- __Pyx_RefNannySetupContext("decode_hybrid36", 0);
18346
+ __Pyx_RefNannySetupContext("decode_hybrid36", 1);
18359
18347
 
18360
18348
  /* "biotite/structure/io/pdb/hybrid36.pyx":148
18361
18349
  * cdef unsigned int length
@@ -18797,13 +18785,11 @@ static int __pyx_f_7biotite_9structure_2io_3pdb_8hybrid36__decode_base36(__Pyx_m
18797
18785
  int __pyx_v_number;
18798
18786
  unsigned char __pyx_v_ascii_code;
18799
18787
  int __pyx_r;
18800
- __Pyx_RefNannyDeclarations
18801
18788
  Py_ssize_t __pyx_t_1;
18802
18789
  Py_ssize_t __pyx_t_2;
18803
18790
  int __pyx_t_3;
18804
18791
  Py_ssize_t __pyx_t_4;
18805
18792
  int __pyx_t_5;
18806
- __Pyx_RefNannySetupContext("_decode_base36", 0);
18807
18793
 
18808
18794
  /* "biotite/structure/io/pdb/hybrid36.pyx":210
18809
18795
  * """
@@ -18907,7 +18893,6 @@ static int __pyx_f_7biotite_9structure_2io_3pdb_8hybrid36__decode_base36(__Pyx_m
18907
18893
 
18908
18894
  /* function exit code */
18909
18895
  __pyx_L0:;
18910
- __Pyx_RefNannyFinishContext();
18911
18896
  return __pyx_r;
18912
18897
  }
18913
18898
 
@@ -18952,8 +18937,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
18952
18937
  #if CYTHON_ASSUME_SAFE_MACROS
18953
18938
  __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
18954
18939
  #else
18955
- __pyx_nargs = PyTuple_Size(__pyx_args);
18956
- if (unlikely((__pyx_nargs < 0))) __PYX_ERR(0, 225, __pyx_L3_error)
18940
+ __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
18957
18941
  #endif
18958
18942
  #endif
18959
18943
  __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
@@ -18988,10 +18972,11 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
18988
18972
  }
18989
18973
  __pyx_v_length = values[0];
18990
18974
  }
18991
- goto __pyx_L4_argument_unpacking_done;
18975
+ goto __pyx_L6_skip;
18992
18976
  __pyx_L5_argtuple_error:;
18993
18977
  __Pyx_RaiseArgtupleInvalid("max_hybrid36_number", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 225, __pyx_L3_error)
18994
- goto __pyx_L3_error;
18978
+ __pyx_L6_skip:;
18979
+ goto __pyx_L4_argument_unpacking_done;
18995
18980
  __pyx_L3_error:;
18996
18981
  {
18997
18982
  Py_ssize_t __pyx_temp;
@@ -19025,7 +19010,7 @@ static PyObject *__pyx_pf_7biotite_9structure_2io_3pdb_8hybrid36_4max_hybrid36_n
19025
19010
  int __pyx_lineno = 0;
19026
19011
  const char *__pyx_filename = NULL;
19027
19012
  int __pyx_clineno = 0;
19028
- __Pyx_RefNannySetupContext("max_hybrid36_number", 0);
19013
+ __Pyx_RefNannySetupContext("max_hybrid36_number", 1);
19029
19014
 
19030
19015
  /* "biotite/structure/io/pdb/hybrid36.pyx":242
19031
19016
  * """
@@ -20868,7 +20853,7 @@ static CYTHON_SMALL_CODE int __pyx_pymod_exec_hybrid36(PyObject *__pyx_pyinit_mo
20868
20853
  __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
20869
20854
  {
20870
20855
  int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef);
20871
- __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to hybrid36 pseudovariable */
20856
+ __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to "hybrid36" pseudovariable */
20872
20857
  if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
20873
20858
  pystate_addmodule_run = 1;
20874
20859
  }
@@ -20880,10 +20865,8 @@ static CYTHON_SMALL_CODE int __pyx_pymod_exec_hybrid36(PyObject *__pyx_pyinit_mo
20880
20865
  CYTHON_UNUSED_VAR(__pyx_t_1);
20881
20866
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error)
20882
20867
  Py_INCREF(__pyx_d);
20883
- __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
20884
- Py_INCREF(__pyx_b);
20885
- __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
20886
- Py_INCREF(__pyx_cython_runtime);
20868
+ __pyx_b = __Pyx_PyImport_AddModuleRef(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error)
20869
+ __pyx_cython_runtime = __Pyx_PyImport_AddModuleRef((const char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
20887
20870
  if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
20888
20871
  #if CYTHON_REFNANNY
20889
20872
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
@@ -20895,7 +20878,7 @@ if (!__Pyx_RefNanny) {
20895
20878
  }
20896
20879
  #endif
20897
20880
  __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_hybrid36(void)", 0);
20898
- if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
20881
+ 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)
20899
20882
  #ifdef __Pxy_PyFrame_Initialize_Offsets
20900
20883
  __Pxy_PyFrame_Initialize_Offsets();
20901
20884
  #endif
@@ -21740,6 +21723,8 @@ static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObjec
21740
21723
  tmp_value = tstate->current_exception;
21741
21724
  tstate->current_exception = value;
21742
21725
  Py_XDECREF(tmp_value);
21726
+ Py_XDECREF(type);
21727
+ Py_XDECREF(tb);
21743
21728
  #else
21744
21729
  PyObject *tmp_type, *tmp_value, *tmp_tb;
21745
21730
  tmp_type = tstate->curexc_type;
@@ -21797,14 +21782,20 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject
21797
21782
  #endif
21798
21783
 
21799
21784
  /* PyObjectGetAttrStrNoError */
21785
+ #if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
21800
21786
  static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) {
21801
21787
  __Pyx_PyThreadState_declare
21802
21788
  __Pyx_PyThreadState_assign
21803
21789
  if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError)))
21804
21790
  __Pyx_PyErr_Clear();
21805
21791
  }
21792
+ #endif
21806
21793
  static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) {
21807
21794
  PyObject *result;
21795
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
21796
+ (void) PyObject_GetOptionalAttr(obj, attr_name, &result);
21797
+ return result;
21798
+ #else
21808
21799
  #if CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_TYPE_SLOTS && PY_VERSION_HEX >= 0x030700B1
21809
21800
  PyTypeObject* tp = Py_TYPE(obj);
21810
21801
  if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) {
@@ -21816,6 +21807,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, P
21816
21807
  __Pyx_PyObject_GetAttrStr_ClearAttributeError();
21817
21808
  }
21818
21809
  return result;
21810
+ #endif
21819
21811
  }
21820
21812
 
21821
21813
  /* GetBuiltinName */
@@ -22031,12 +22023,30 @@ static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyO
22031
22023
  {
22032
22024
  int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ);
22033
22025
  if (unlikely(eq != 0)) {
22034
- if (unlikely(eq < 0)) return NULL; // error
22026
+ if (unlikely(eq < 0)) return NULL;
22035
22027
  return kwvalues[i];
22036
22028
  }
22037
22029
  }
22038
- return NULL; // not found (no exception set)
22030
+ return NULL;
22039
22031
  }
22032
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030d0000
22033
+ CYTHON_UNUSED static PyObject *__Pyx_KwargsAsDict_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues) {
22034
+ Py_ssize_t i, nkwargs = PyTuple_GET_SIZE(kwnames);
22035
+ PyObject *dict;
22036
+ dict = PyDict_New();
22037
+ if (unlikely(!dict))
22038
+ return NULL;
22039
+ for (i=0; i<nkwargs; i++) {
22040
+ PyObject *key = PyTuple_GET_ITEM(kwnames, i);
22041
+ if (unlikely(PyDict_SetItem(dict, key, kwvalues[i]) < 0))
22042
+ goto bad;
22043
+ }
22044
+ return dict;
22045
+ bad:
22046
+ Py_DECREF(dict);
22047
+ return NULL;
22048
+ }
22049
+ #endif
22040
22050
  #endif
22041
22051
 
22042
22052
  /* RaiseArgTupleInvalid */
@@ -22130,7 +22140,7 @@ static int __Pyx_ParseOptionalKeywords(
22130
22140
  if (*name) {
22131
22141
  values[name-argnames] = value;
22132
22142
  #if CYTHON_AVOID_BORROWED_REFS
22133
- Py_INCREF(value); // transfer ownership of value to values
22143
+ Py_INCREF(value);
22134
22144
  Py_DECREF(key);
22135
22145
  #endif
22136
22146
  key = NULL;
@@ -22149,7 +22159,7 @@ static int __Pyx_ParseOptionalKeywords(
22149
22159
  && _PyString_Eq(**name, key)) {
22150
22160
  values[name-argnames] = value;
22151
22161
  #if CYTHON_AVOID_BORROWED_REFS
22152
- value = NULL; // ownership transferred to values
22162
+ value = NULL;
22153
22163
  #endif
22154
22164
  break;
22155
22165
  }
@@ -22181,7 +22191,7 @@ static int __Pyx_ParseOptionalKeywords(
22181
22191
  if (cmp == 0) {
22182
22192
  values[name-argnames] = value;
22183
22193
  #if CYTHON_AVOID_BORROWED_REFS
22184
- value = NULL; // ownership transferred to values
22194
+ value = NULL;
22185
22195
  #endif
22186
22196
  break;
22187
22197
  }
@@ -22468,9 +22478,15 @@ static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args,
22468
22478
  PyObject *result;
22469
22479
  assert(kwargs == NULL || PyDict_Check(kwargs));
22470
22480
  nk = kwargs ? PyDict_Size(kwargs) : 0;
22481
+ #if PY_MAJOR_VERSION < 3
22471
22482
  if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) {
22472
22483
  return NULL;
22473
22484
  }
22485
+ #else
22486
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object"))) {
22487
+ return NULL;
22488
+ }
22489
+ #endif
22474
22490
  if (
22475
22491
  #if PY_MAJOR_VERSION >= 3
22476
22492
  co->co_kwonlyargcount == 0 &&
@@ -22547,8 +22563,13 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
22547
22563
  ternaryfunc call = Py_TYPE(func)->tp_call;
22548
22564
  if (unlikely(!call))
22549
22565
  return PyObject_Call(func, arg, kw);
22566
+ #if PY_MAJOR_VERSION < 3
22550
22567
  if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
22551
22568
  return NULL;
22569
+ #else
22570
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
22571
+ return NULL;
22572
+ #endif
22552
22573
  result = (*call)(func, arg, kw);
22553
22574
  Py_LeaveRecursiveCall();
22554
22575
  if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -22565,10 +22586,15 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg
22565
22586
  static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
22566
22587
  PyObject *self, *result;
22567
22588
  PyCFunction cfunc;
22568
- cfunc = PyCFunction_GET_FUNCTION(func);
22569
- self = PyCFunction_GET_SELF(func);
22589
+ cfunc = __Pyx_CyOrPyCFunction_GET_FUNCTION(func);
22590
+ self = __Pyx_CyOrPyCFunction_GET_SELF(func);
22591
+ #if PY_MAJOR_VERSION < 3
22570
22592
  if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object")))
22571
22593
  return NULL;
22594
+ #else
22595
+ if (unlikely(Py_EnterRecursiveCall(" while calling a Python object")))
22596
+ return NULL;
22597
+ #endif
22572
22598
  result = cfunc(self, arg);
22573
22599
  Py_LeaveRecursiveCall();
22574
22600
  if (unlikely(!result) && unlikely(!PyErr_Occurred())) {
@@ -22581,6 +22607,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject
22581
22607
  #endif
22582
22608
 
22583
22609
  /* PyObjectFastCall */
22610
+ #if PY_VERSION_HEX < 0x03090000 || CYTHON_COMPILING_IN_LIMITED_API
22584
22611
  static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) {
22585
22612
  PyObject *argstuple;
22586
22613
  PyObject *result = 0;
@@ -22596,28 +22623,17 @@ static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **arg
22596
22623
  Py_DECREF(argstuple);
22597
22624
  return result;
22598
22625
  }
22626
+ #endif
22599
22627
  static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) {
22600
22628
  Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs);
22601
22629
  #if CYTHON_COMPILING_IN_CPYTHON
22602
22630
  if (nargs == 0 && kwargs == NULL) {
22603
- #if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
22604
- if (__Pyx_IsCyOrPyCFunction(func))
22605
- #else
22606
- if (PyCFunction_Check(func))
22607
- #endif
22608
- {
22609
- if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
22610
- return __Pyx_PyObject_CallMethO(func, NULL);
22611
- }
22612
- }
22631
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_NOARGS))
22632
+ return __Pyx_PyObject_CallMethO(func, NULL);
22613
22633
  }
22614
22634
  else if (nargs == 1 && kwargs == NULL) {
22615
- if (PyCFunction_Check(func))
22616
- {
22617
- if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
22618
- return __Pyx_PyObject_CallMethO(func, args[0]);
22619
- }
22620
- }
22635
+ if (__Pyx_CyOrPyCFunction_Check(func) && likely( __Pyx_CyOrPyCFunction_GET_FLAGS(func) & METH_O))
22636
+ return __Pyx_PyObject_CallMethO(func, args[0]);
22621
22637
  }
22622
22638
  #endif
22623
22639
  #if PY_VERSION_HEX < 0x030800B1
@@ -22641,25 +22657,31 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObj
22641
22657
  }
22642
22658
  #endif
22643
22659
  #endif
22644
- #if CYTHON_VECTORCALL
22645
- #if Py_VERSION_HEX < 0x03090000
22646
- vectorcallfunc f = _PyVectorcall_Function(func);
22647
- #else
22648
- vectorcallfunc f = PyVectorcall_Function(func);
22649
- #endif
22650
- if (f) {
22651
- return f(func, args, (size_t)nargs, kwargs);
22652
- }
22653
- #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
22654
- if (__Pyx_CyFunction_CheckExact(func)) {
22655
- __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
22656
- if (f) return f(func, args, (size_t)nargs, kwargs);
22660
+ if (kwargs == NULL) {
22661
+ #if CYTHON_VECTORCALL
22662
+ #if PY_VERSION_HEX < 0x03090000
22663
+ vectorcallfunc f = _PyVectorcall_Function(func);
22664
+ #else
22665
+ vectorcallfunc f = PyVectorcall_Function(func);
22666
+ #endif
22667
+ if (f) {
22668
+ return f(func, args, (size_t)nargs, NULL);
22669
+ }
22670
+ #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
22671
+ if (__Pyx_CyFunction_CheckExact(func)) {
22672
+ __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
22673
+ if (f) return f(func, args, (size_t)nargs, NULL);
22674
+ }
22675
+ #endif
22657
22676
  }
22658
- #endif
22659
22677
  if (nargs == 0) {
22660
22678
  return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs);
22661
22679
  }
22680
+ #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
22681
+ return PyObject_VectorcallDict(func, args, (size_t)nargs, kwargs);
22682
+ #else
22662
22683
  return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
22684
+ #endif
22663
22685
  }
22664
22686
 
22665
22687
  /* RaiseUnexpectedTypeError */
@@ -22962,7 +22984,7 @@ static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_co
22962
22984
  if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) {
22963
22985
  memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift));
22964
22986
  } else {
22965
- #if PY_VERSION_HEX >= 0x030D0000
22987
+ #if PY_VERSION_HEX >= 0x030d0000
22966
22988
  if (unlikely(PyUnicode_CopyCharacters(result_uval, char_pos, uval, 0, ulength) < 0)) goto bad;
22967
22989
  #elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
22968
22990
  _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
@@ -23091,7 +23113,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
23091
23113
  }
23092
23114
  }
23093
23115
  #else
23094
- if (is_list || PySequence_Check(o)) {
23116
+ if (is_list || !PyMapping_Check(o)) {
23095
23117
  return PySequence_GetItem(o, i);
23096
23118
  }
23097
23119
  #endif
@@ -23126,7 +23148,9 @@ static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) {
23126
23148
  __Pyx_TypeName obj_type_name;
23127
23149
  if (likely(PyType_Check(obj))) {
23128
23150
  PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem);
23129
- if (meth) {
23151
+ if (!meth) {
23152
+ PyErr_Clear();
23153
+ } else {
23130
23154
  PyObject *result = __Pyx_PyObject_CallOneArg(meth, key);
23131
23155
  Py_DECREF(meth);
23132
23156
  return result;
@@ -23235,6 +23259,7 @@ static CYTHON_INLINE Py_ssize_t __Pyx_div_Py_ssize_t(Py_ssize_t a, Py_ssize_t b)
23235
23259
  }
23236
23260
 
23237
23261
  /* GetAttr3 */
23262
+ #if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
23238
23263
  static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
23239
23264
  __Pyx_PyThreadState_declare
23240
23265
  __Pyx_PyThreadState_assign
@@ -23244,9 +23269,14 @@ static PyObject *__Pyx_GetAttr3Default(PyObject *d) {
23244
23269
  Py_INCREF(d);
23245
23270
  return d;
23246
23271
  }
23272
+ #endif
23247
23273
  static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject *d) {
23248
23274
  PyObject *r;
23249
- #if CYTHON_USE_TYPE_SLOTS
23275
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030d00A1
23276
+ int res = PyObject_GetOptionalAttr(o, n, &r);
23277
+ return (res != 0) ? r : __Pyx_NewRef(d);
23278
+ #else
23279
+ #if CYTHON_USE_TYPE_SLOTS
23250
23280
  if (likely(PyString_Check(n))) {
23251
23281
  r = __Pyx_PyObject_GetAttrStrNoError(o, n);
23252
23282
  if (unlikely(!r) && likely(!PyErr_Occurred())) {
@@ -23254,9 +23284,10 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr3(PyObject *o, PyObject *n, PyObject
23254
23284
  }
23255
23285
  return r;
23256
23286
  }
23257
- #endif
23287
+ #endif
23258
23288
  r = PyObject_GetAttr(o, n);
23259
23289
  return (likely(r)) ? r : __Pyx_GetAttr3Default(d);
23290
+ #endif
23260
23291
  }
23261
23292
 
23262
23293
  /* PyDictVersioning */
@@ -23294,7 +23325,7 @@ static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
23294
23325
  {
23295
23326
  PyObject *result;
23296
23327
  #if !CYTHON_AVOID_BORROWED_REFS
23297
- #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
23328
+ #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && PY_VERSION_HEX < 0x030d0000
23298
23329
  result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
23299
23330
  __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
23300
23331
  if (likely(result)) {
@@ -23620,7 +23651,7 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
23620
23651
  {
23621
23652
  #if PY_MAJOR_VERSION >= 3
23622
23653
  if (level == -1) {
23623
- if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
23654
+ if (strchr(__Pyx_MODULE_NAME, '.') != NULL) {
23624
23655
  module = PyImport_ImportModuleLevelObject(
23625
23656
  name, __pyx_d, empty_dict, from_list, 1);
23626
23657
  if (unlikely(!module)) {
@@ -23783,16 +23814,6 @@ static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple)
23783
23814
  return __Pyx__ImportDottedModule(name, parts_tuple);
23784
23815
  }
23785
23816
 
23786
- /* ssize_strlen */
23787
- static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
23788
- size_t len = strlen(s);
23789
- if (unlikely(len > PY_SSIZE_T_MAX)) {
23790
- PyErr_SetString(PyExc_OverflowError, "byte string is too long");
23791
- return -1;
23792
- }
23793
- return (Py_ssize_t) len;
23794
- }
23795
-
23796
23817
  /* FastTypeChecks */
23797
23818
  #if CYTHON_COMPILING_IN_CPYTHON
23798
23819
  static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
@@ -23976,11 +23997,7 @@ static CYTHON_INLINE int __Pyx_SetItemInt_Fast(PyObject *o, Py_ssize_t i, PyObje
23976
23997
  }
23977
23998
  }
23978
23999
  #else
23979
- #if CYTHON_COMPILING_IN_PYPY
23980
- if (is_list || (PySequence_Check(o) && !PyDict_Check(o)))
23981
- #else
23982
- if (is_list || PySequence_Check(o))
23983
- #endif
24000
+ if (is_list || !PyMapping_Check(o))
23984
24001
  {
23985
24002
  return PySequence_SetItem(o, i, v);
23986
24003
  }
@@ -24045,6 +24062,7 @@ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
24045
24062
  }
24046
24063
 
24047
24064
  /* HasAttr */
24065
+ #if __PYX_LIMITED_VERSION_HEX < 0x030d00A1
24048
24066
  static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
24049
24067
  PyObject *r;
24050
24068
  if (unlikely(!__Pyx_PyBaseString_Check(n))) {
@@ -24061,6 +24079,7 @@ static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
24061
24079
  return 1;
24062
24080
  }
24063
24081
  }
24082
+ #endif
24064
24083
 
24065
24084
  /* CIntToPyUnicode */
24066
24085
  static CYTHON_INLINE PyObject* __Pyx_PyUnicode_From_unsigned_int(unsigned int value, Py_ssize_t width, char padding_char, char format_char) {
@@ -24164,9 +24183,10 @@ static CYTHON_INLINE PyObject* __Pyx_decode_c_bytes(
24164
24183
 
24165
24184
  /* UnpackUnboundCMethod */
24166
24185
  static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *args, PyObject *kwargs) {
24186
+ PyObject *result;
24167
24187
  PyObject *selfless_args = PyTuple_GetSlice(args, 1, PyTuple_Size(args));
24168
24188
  if (unlikely(!selfless_args)) return NULL;
24169
- PyObject *result = PyObject_Call(method, selfless_args, kwargs);
24189
+ result = PyObject_Call(method, selfless_args, kwargs);
24170
24190
  Py_DECREF(selfless_args);
24171
24191
  return result;
24172
24192
  }
@@ -24186,7 +24206,7 @@ static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
24186
24206
  #if PY_MAJOR_VERSION >= 3
24187
24207
  if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
24188
24208
  #else
24189
- if (likely(!PyCFunction_Check(method)))
24209
+ if (likely(!__Pyx_CyOrPyCFunction_Check(method)))
24190
24210
  #endif
24191
24211
  {
24192
24212
  PyMethodDescrObject *descr = (PyMethodDescrObject*) method;
@@ -24194,9 +24214,7 @@ static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) {
24194
24214
  target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS);
24195
24215
  } else
24196
24216
  #endif
24197
- #if defined(CYTHON_COMPILING_IN_PYPY)
24198
- #elif PY_VERSION_HEX >= 0x03090000
24199
- if (PyCFunction_CheckExact(method))
24217
+ #if CYTHON_COMPILING_IN_PYPY
24200
24218
  #else
24201
24219
  if (PyCFunction_Check(method))
24202
24220
  #endif
@@ -24657,8 +24675,8 @@ static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject
24657
24675
 
24658
24676
  /* PyObjectCallNoArg */
24659
24677
  static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
24660
- PyObject *arg = NULL;
24661
- return __Pyx_PyObject_FastCall(func, (&arg)+1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
24678
+ PyObject *arg[2] = {NULL, NULL};
24679
+ return __Pyx_PyObject_FastCall(func, arg + 1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET);
24662
24680
  }
24663
24681
 
24664
24682
  /* PyObjectGetMethod */
@@ -24823,38 +24841,38 @@ static int __Pyx_validate_bases_tuple(const char *type_name, Py_ssize_t dictoffs
24823
24841
  #endif
24824
24842
  return -1;
24825
24843
  }
24826
- #if !CYTHON_USE_TYPE_SLOTS
24827
- if (dictoffset == 0) {
24828
- PyErr_Format(PyExc_TypeError,
24829
- "extension type '%s.200s': "
24830
- "unable to validate whether bases have a __dict__ "
24831
- "when CYTHON_USE_TYPE_SLOTS is off "
24832
- "(likely because you are building in the limited API). "
24833
- "Therefore, all extension types with multiple bases "
24834
- "must add 'cdef dict __dict__' in this compilation mode",
24835
- type_name);
24836
- #if CYTHON_AVOID_BORROWED_REFS
24837
- Py_DECREF(b0);
24838
- #endif
24839
- return -1;
24840
- }
24841
- #else
24842
- if (dictoffset == 0 && b->tp_dictoffset)
24844
+ if (dictoffset == 0)
24843
24845
  {
24844
- __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
24845
- PyErr_Format(PyExc_TypeError,
24846
- "extension type '%.200s' has no __dict__ slot, "
24847
- "but base type '" __Pyx_FMT_TYPENAME "' has: "
24848
- "either add 'cdef dict __dict__' to the extension type "
24849
- "or add '__slots__ = [...]' to the base type",
24850
- type_name, b_name);
24851
- __Pyx_DECREF_TypeName(b_name);
24846
+ Py_ssize_t b_dictoffset = 0;
24847
+ #if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
24848
+ b_dictoffset = b->tp_dictoffset;
24849
+ #else
24850
+ PyObject *py_b_dictoffset = PyObject_GetAttrString((PyObject*)b, "__dictoffset__");
24851
+ if (!py_b_dictoffset) goto dictoffset_return;
24852
+ b_dictoffset = PyLong_AsSsize_t(py_b_dictoffset);
24853
+ Py_DECREF(py_b_dictoffset);
24854
+ if (b_dictoffset == -1 && PyErr_Occurred()) goto dictoffset_return;
24855
+ #endif
24856
+ if (b_dictoffset) {
24857
+ {
24858
+ __Pyx_TypeName b_name = __Pyx_PyType_GetName(b);
24859
+ PyErr_Format(PyExc_TypeError,
24860
+ "extension type '%.200s' has no __dict__ slot, "
24861
+ "but base type '" __Pyx_FMT_TYPENAME "' has: "
24862
+ "either add 'cdef dict __dict__' to the extension type "
24863
+ "or add '__slots__ = [...]' to the base type",
24864
+ type_name, b_name);
24865
+ __Pyx_DECREF_TypeName(b_name);
24866
+ }
24867
+ #if !(CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY)
24868
+ dictoffset_return:
24869
+ #endif
24852
24870
  #if CYTHON_AVOID_BORROWED_REFS
24853
- Py_DECREF(b0);
24871
+ Py_DECREF(b0);
24854
24872
  #endif
24855
- return -1;
24873
+ return -1;
24874
+ }
24856
24875
  }
24857
- #endif
24858
24876
  #if CYTHON_AVOID_BORROWED_REFS
24859
24877
  Py_DECREF(b0);
24860
24878
  #endif
@@ -25149,10 +25167,7 @@ __PYX_GOOD:
25149
25167
 
25150
25168
  /* FetchSharedCythonModule */
25151
25169
  static PyObject *__Pyx_FetchSharedCythonABIModule(void) {
25152
- PyObject *abi_module = PyImport_AddModule((char*) __PYX_ABI_MODULE_NAME);
25153
- if (unlikely(!abi_module)) return NULL;
25154
- Py_INCREF(abi_module);
25155
- return abi_module;
25170
+ return __Pyx_PyImport_AddModuleRef((char*) __PYX_ABI_MODULE_NAME);
25156
25171
  }
25157
25172
 
25158
25173
  /* FetchCommonType */
@@ -25313,6 +25328,20 @@ static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, _
25313
25328
  #endif
25314
25329
 
25315
25330
  /* CythonFunctionShared */
25331
+ #if CYTHON_COMPILING_IN_LIMITED_API
25332
+ static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
25333
+ if (__Pyx_CyFunction_Check(func)) {
25334
+ return PyCFunction_GetFunction(((__pyx_CyFunctionObject*)func)->func) == (PyCFunction) cfunc;
25335
+ } else if (PyCFunction_Check(func)) {
25336
+ return PyCFunction_GetFunction(func) == (PyCFunction) cfunc;
25337
+ }
25338
+ return 0;
25339
+ }
25340
+ #else
25341
+ static CYTHON_INLINE int __Pyx__IsSameCyOrCFunction(PyObject *func, void *cfunc) {
25342
+ return __Pyx_CyOrPyCFunction_Check(func) && __Pyx_CyOrPyCFunction_GET_FUNCTION(func) == (PyCFunction) cfunc;
25343
+ }
25344
+ #endif
25316
25345
  static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) {
25317
25346
  #if PY_VERSION_HEX < 0x030900B1 || CYTHON_COMPILING_IN_LIMITED_API
25318
25347
  __Pyx_Py_XDECREF_SET(
@@ -26122,7 +26151,7 @@ static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func,
26122
26151
  default:
26123
26152
  return NULL;
26124
26153
  }
26125
- return ((_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
26154
+ return ((__Pyx_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames);
26126
26155
  }
26127
26156
  static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames)
26128
26157
  {
@@ -26461,8 +26490,8 @@ static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject
26461
26490
  Py_DECREF(replace);
26462
26491
  return result;
26463
26492
  }
26464
- #if __PYX_LIMITED_VERSION_HEX < 0x030780000
26465
26493
  PyErr_Clear();
26494
+ #if __PYX_LIMITED_VERSION_HEX < 0x030780000
26466
26495
  {
26467
26496
  PyObject *compiled = NULL, *result = NULL;
26468
26497
  if (unlikely(PyDict_SetItemString(scratch_dict, "code", code))) return NULL;
@@ -26482,6 +26511,8 @@ static PyObject *__Pyx_PyCode_Replace_For_AddTraceback(PyObject *code, PyObject
26482
26511
  if (result) Py_INCREF(result);
26483
26512
  return result;
26484
26513
  }
26514
+ #else
26515
+ return NULL;
26485
26516
  #endif
26486
26517
  }
26487
26518
  static void __Pyx_AddTraceback(const char *funcname, int c_line,
@@ -26579,7 +26610,7 @@ static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
26579
26610
  #else
26580
26611
  py_code = PyCode_NewEmpty(filename, funcname, py_line);
26581
26612
  #endif
26582
- Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline
26613
+ Py_XDECREF(py_funcname);
26583
26614
  return py_code;
26584
26615
  bad:
26585
26616
  Py_XDECREF(py_funcname);
@@ -27924,7 +27955,7 @@ static CYTHON_INLINE void __Pyx_XCLEAR_MEMVIEW(__Pyx_memviewslice *memslice,
27924
27955
  #endif
27925
27956
  if (likely(v)) {
27926
27957
  int ret = -1;
27927
- #if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
27958
+ #if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
27928
27959
  int one = 1; int is_little = (int)*(unsigned char *)&one;
27929
27960
  unsigned char *bytes = (unsigned char *)&val;
27930
27961
  ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -28197,7 +28228,7 @@ raise_neg_overflow:
28197
28228
  #endif
28198
28229
  if (likely(v)) {
28199
28230
  int ret = -1;
28200
- #if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
28231
+ #if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
28201
28232
  int one = 1; int is_little = (int)*(unsigned char *)&one;
28202
28233
  unsigned char *bytes = (unsigned char *)&val;
28203
28234
  ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -28333,13 +28364,13 @@ raise_neg_overflow:
28333
28364
  {
28334
28365
  int one = 1; int little = (int)*(unsigned char *)&one;
28335
28366
  unsigned char *bytes = (unsigned char *)&value;
28336
- #if !CYTHON_COMPILING_IN_LIMITED_API
28367
+ #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
28337
28368
  return _PyLong_FromByteArray(bytes, sizeof(int),
28338
28369
  little, !is_unsigned);
28339
28370
  #else
28340
28371
  PyObject *from_bytes, *result = NULL;
28341
28372
  PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
28342
- from_bytes = PyObject_GetAttrString((PyObject*)&PyInt_Type, "from_bytes");
28373
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
28343
28374
  if (!from_bytes) return NULL;
28344
28375
  py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(int));
28345
28376
  if (!py_bytes) goto limited_bad;
@@ -28347,16 +28378,18 @@ raise_neg_overflow:
28347
28378
  if (!order_str) goto limited_bad;
28348
28379
  arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
28349
28380
  if (!arg_tuple) goto limited_bad;
28350
- kwds = PyDict_New();
28351
- if (!kwds) goto limited_bad;
28352
- if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(!is_unsigned ? Py_True : Py_False))) goto limited_bad;
28381
+ if (!is_unsigned) {
28382
+ kwds = PyDict_New();
28383
+ if (!kwds) goto limited_bad;
28384
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
28385
+ }
28353
28386
  result = PyObject_Call(from_bytes, arg_tuple, kwds);
28354
28387
  limited_bad:
28355
- Py_XDECREF(from_bytes);
28356
- Py_XDECREF(py_bytes);
28357
- Py_XDECREF(order_str);
28358
- Py_XDECREF(arg_tuple);
28359
28388
  Py_XDECREF(kwds);
28389
+ Py_XDECREF(arg_tuple);
28390
+ Py_XDECREF(order_str);
28391
+ Py_XDECREF(py_bytes);
28392
+ Py_XDECREF(from_bytes);
28360
28393
  return result;
28361
28394
  #endif
28362
28395
  }
@@ -28395,13 +28428,13 @@ raise_neg_overflow:
28395
28428
  {
28396
28429
  int one = 1; int little = (int)*(unsigned char *)&one;
28397
28430
  unsigned char *bytes = (unsigned char *)&value;
28398
- #if !CYTHON_COMPILING_IN_LIMITED_API
28431
+ #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
28399
28432
  return _PyLong_FromByteArray(bytes, sizeof(unsigned int),
28400
28433
  little, !is_unsigned);
28401
28434
  #else
28402
28435
  PyObject *from_bytes, *result = NULL;
28403
28436
  PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
28404
- from_bytes = PyObject_GetAttrString((PyObject*)&PyInt_Type, "from_bytes");
28437
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
28405
28438
  if (!from_bytes) return NULL;
28406
28439
  py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(unsigned int));
28407
28440
  if (!py_bytes) goto limited_bad;
@@ -28409,16 +28442,18 @@ raise_neg_overflow:
28409
28442
  if (!order_str) goto limited_bad;
28410
28443
  arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
28411
28444
  if (!arg_tuple) goto limited_bad;
28412
- kwds = PyDict_New();
28413
- if (!kwds) goto limited_bad;
28414
- if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(!is_unsigned ? Py_True : Py_False))) goto limited_bad;
28445
+ if (!is_unsigned) {
28446
+ kwds = PyDict_New();
28447
+ if (!kwds) goto limited_bad;
28448
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
28449
+ }
28415
28450
  result = PyObject_Call(from_bytes, arg_tuple, kwds);
28416
28451
  limited_bad:
28417
- Py_XDECREF(from_bytes);
28418
- Py_XDECREF(py_bytes);
28419
- Py_XDECREF(order_str);
28420
- Py_XDECREF(arg_tuple);
28421
28452
  Py_XDECREF(kwds);
28453
+ Py_XDECREF(arg_tuple);
28454
+ Py_XDECREF(order_str);
28455
+ Py_XDECREF(py_bytes);
28456
+ Py_XDECREF(from_bytes);
28422
28457
  return result;
28423
28458
  #endif
28424
28459
  }
@@ -28457,13 +28492,13 @@ raise_neg_overflow:
28457
28492
  {
28458
28493
  int one = 1; int little = (int)*(unsigned char *)&one;
28459
28494
  unsigned char *bytes = (unsigned char *)&value;
28460
- #if !CYTHON_COMPILING_IN_LIMITED_API
28495
+ #if !CYTHON_COMPILING_IN_LIMITED_API && PY_VERSION_HEX < 0x030d0000
28461
28496
  return _PyLong_FromByteArray(bytes, sizeof(long),
28462
28497
  little, !is_unsigned);
28463
28498
  #else
28464
28499
  PyObject *from_bytes, *result = NULL;
28465
28500
  PyObject *py_bytes = NULL, *arg_tuple = NULL, *kwds = NULL, *order_str = NULL;
28466
- from_bytes = PyObject_GetAttrString((PyObject*)&PyInt_Type, "from_bytes");
28501
+ from_bytes = PyObject_GetAttrString((PyObject*)&PyLong_Type, "from_bytes");
28467
28502
  if (!from_bytes) return NULL;
28468
28503
  py_bytes = PyBytes_FromStringAndSize((char*)bytes, sizeof(long));
28469
28504
  if (!py_bytes) goto limited_bad;
@@ -28471,16 +28506,18 @@ raise_neg_overflow:
28471
28506
  if (!order_str) goto limited_bad;
28472
28507
  arg_tuple = PyTuple_Pack(2, py_bytes, order_str);
28473
28508
  if (!arg_tuple) goto limited_bad;
28474
- kwds = PyDict_New();
28475
- if (!kwds) goto limited_bad;
28476
- if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(!is_unsigned ? Py_True : Py_False))) goto limited_bad;
28509
+ if (!is_unsigned) {
28510
+ kwds = PyDict_New();
28511
+ if (!kwds) goto limited_bad;
28512
+ if (PyDict_SetItemString(kwds, "signed", __Pyx_NewRef(Py_True))) goto limited_bad;
28513
+ }
28477
28514
  result = PyObject_Call(from_bytes, arg_tuple, kwds);
28478
28515
  limited_bad:
28479
- Py_XDECREF(from_bytes);
28480
- Py_XDECREF(py_bytes);
28481
- Py_XDECREF(order_str);
28482
- Py_XDECREF(arg_tuple);
28483
28516
  Py_XDECREF(kwds);
28517
+ Py_XDECREF(arg_tuple);
28518
+ Py_XDECREF(order_str);
28519
+ Py_XDECREF(py_bytes);
28520
+ Py_XDECREF(from_bytes);
28484
28521
  return result;
28485
28522
  #endif
28486
28523
  }
@@ -28656,7 +28693,7 @@ raise_neg_overflow:
28656
28693
  #endif
28657
28694
  if (likely(v)) {
28658
28695
  int ret = -1;
28659
- #if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
28696
+ #if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
28660
28697
  int one = 1; int is_little = (int)*(unsigned char *)&one;
28661
28698
  unsigned char *bytes = (unsigned char *)&val;
28662
28699
  ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -28929,7 +28966,7 @@ raise_neg_overflow:
28929
28966
  #endif
28930
28967
  if (likely(v)) {
28931
28968
  int ret = -1;
28932
- #if !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
28969
+ #if PY_VERSION_HEX < 0x030d0000 && !(CYTHON_COMPILING_IN_PYPY || CYTHON_COMPILING_IN_LIMITED_API) || defined(_PyLong_AsByteArray)
28933
28970
  int one = 1; int is_little = (int)*(unsigned char *)&one;
28934
28971
  unsigned char *bytes = (unsigned char *)&val;
28935
28972
  ret = _PyLong_AsByteArray((PyLongObject *)v,
@@ -29049,41 +29086,50 @@ __Pyx_PyType_GetName(PyTypeObject* tp)
29049
29086
  #endif
29050
29087
 
29051
29088
  /* CheckBinaryVersion */
29052
- static int __Pyx_check_binary_version(void) {
29053
- char ctversion[5];
29054
- int same=1, i, found_dot;
29055
- const char* rt_from_call = Py_GetVersion();
29056
- PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
29057
- found_dot = 0;
29058
- for (i = 0; i < 4; i++) {
29059
- if (!ctversion[i]) {
29060
- same = (rt_from_call[i] < '0' || rt_from_call[i] > '9');
29061
- break;
29089
+ static unsigned long __Pyx_get_runtime_version(void) {
29090
+ #if __PYX_LIMITED_VERSION_HEX >= 0x030B00A4
29091
+ return Py_Version & ~0xFFUL;
29092
+ #else
29093
+ const char* rt_version = Py_GetVersion();
29094
+ unsigned long version = 0;
29095
+ unsigned long factor = 0x01000000UL;
29096
+ unsigned int digit = 0;
29097
+ int i = 0;
29098
+ while (factor) {
29099
+ while ('0' <= rt_version[i] && rt_version[i] <= '9') {
29100
+ digit = digit * 10 + (unsigned int) (rt_version[i] - '0');
29101
+ ++i;
29062
29102
  }
29063
- if (rt_from_call[i] != ctversion[i]) {
29064
- same = 0;
29103
+ version += factor * digit;
29104
+ if (rt_version[i] != '.')
29065
29105
  break;
29066
- }
29106
+ digit = 0;
29107
+ factor >>= 8;
29108
+ ++i;
29067
29109
  }
29068
- if (!same) {
29069
- char rtversion[5] = {'\0'};
29110
+ return version;
29111
+ #endif
29112
+ }
29113
+ static int __Pyx_check_binary_version(unsigned long ct_version, unsigned long rt_version, int allow_newer) {
29114
+ const unsigned long MAJOR_MINOR = 0xFFFF0000UL;
29115
+ if ((rt_version & MAJOR_MINOR) == (ct_version & MAJOR_MINOR))
29116
+ return 0;
29117
+ if (likely(allow_newer && (rt_version & MAJOR_MINOR) > (ct_version & MAJOR_MINOR)))
29118
+ return 1;
29119
+ {
29070
29120
  char message[200];
29071
- for (i=0; i<4; ++i) {
29072
- if (rt_from_call[i] == '.') {
29073
- if (found_dot) break;
29074
- found_dot = 1;
29075
- } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') {
29076
- break;
29077
- }
29078
- rtversion[i] = rt_from_call[i];
29079
- }
29080
29121
  PyOS_snprintf(message, sizeof(message),
29081
- "compile time version %s of module '%.100s' "
29082
- "does not match runtime version %s",
29083
- ctversion, __Pyx_MODULE_NAME, rtversion);
29122
+ "compile time Python version %d.%d "
29123
+ "of module '%.100s' "
29124
+ "%s "
29125
+ "runtime version %d.%d",
29126
+ (int) (ct_version >> 24), (int) ((ct_version >> 16) & 0xFF),
29127
+ __Pyx_MODULE_NAME,
29128
+ (allow_newer) ? "was newer than" : "does not match",
29129
+ (int) (rt_version >> 24), (int) ((rt_version >> 16) & 0xFF)
29130
+ );
29084
29131
  return PyErr_WarnEx(NULL, message, 1);
29085
29132
  }
29086
- return 0;
29087
29133
  }
29088
29134
 
29089
29135
  /* InitStrings */
@@ -29129,8 +29175,24 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
29129
29175
  return 0;
29130
29176
  }
29131
29177
 
29178
+ #include <string.h>
29179
+ static CYTHON_INLINE Py_ssize_t __Pyx_ssize_strlen(const char *s) {
29180
+ size_t len = strlen(s);
29181
+ if (unlikely(len > (size_t) PY_SSIZE_T_MAX)) {
29182
+ PyErr_SetString(PyExc_OverflowError, "byte string is too long");
29183
+ return -1;
29184
+ }
29185
+ return (Py_ssize_t) len;
29186
+ }
29132
29187
  static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) {
29133
- return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));
29188
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
29189
+ if (unlikely(len < 0)) return NULL;
29190
+ return __Pyx_PyUnicode_FromStringAndSize(c_str, len);
29191
+ }
29192
+ static CYTHON_INLINE PyObject* __Pyx_PyByteArray_FromString(const char* c_str) {
29193
+ Py_ssize_t len = __Pyx_ssize_strlen(c_str);
29194
+ if (unlikely(len < 0)) return NULL;
29195
+ return PyByteArray_FromStringAndSize(c_str, len);
29134
29196
  }
29135
29197
  static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) {
29136
29198
  Py_ssize_t ignore;