Generated by Cython 3.1.1
Yellow lines hint at Python interaction.
Click on a line that starts with a "+
" to see the C code that Cython generated for it.
Raw output: _rencode.c
+001: # cython: language_level=3
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
002: #
003: # rencode.pyx
004: #
005: # Copyright (C) 2024 Andrew Resch <andrewresch@gmail.com>
006: #
007: # rencode is free software.
008: #
009: # You may redistribute it and/or modify it under the terms of the
010: # GNU General Public License, as published by the Free Software
011: # Foundation; either version 3 of the License, or (at your option)
012: # any later version.
013: #
014: # rencode is distributed in the hope that it will be useful,
015: # but WITHOUT ANY WARRANTY; without even the implied warranty of
016: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
017: # See the GNU General Public License for more details.
018: #
019: # You should have received a copy of the GNU General Public License
020: # along with deluge. If not, write to:
021: # The Free Software Foundation, Inc.,
022: # 51 Franklin Street, Fifth Floor
023: # Boston, MA 02110-1301, USA.
024: #
025:
026: from cpython cimport bool
027: from libc.stdlib cimport realloc, free
028: from libc.string cimport memcpy
029:
+030: __version__ = ("Cython", 1, 0, 7)
if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_version, __pyx_mstate_global->__pyx_tuple[0]) < 0) __PYX_ERR(0, 30, __pyx_L1_error) /* … */ __pyx_mstate_global->__pyx_tuple[0] = PyTuple_Pack(4, __pyx_mstate_global->__pyx_n_u_Cython, __pyx_mstate_global->__pyx_int_1, __pyx_mstate_global->__pyx_int_0, __pyx_mstate_global->__pyx_int_7); if (unlikely(!__pyx_mstate_global->__pyx_tuple[0])) __PYX_ERR(0, 30, __pyx_L1_error) __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[0]); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[0]);
031:
+032: cdef long long data_length = 0
__pyx_v_7rencode_8_rencode_data_length = 0;
+033: cdef bool _decode_utf8 = False
__Pyx_INCREF(Py_False); __Pyx_XGOTREF((PyObject *)__pyx_v_7rencode_8_rencode__decode_utf8); __Pyx_DECREF_SET(__pyx_v_7rencode_8_rencode__decode_utf8, ((PyLongObject *)Py_False)); __Pyx_GIVEREF(Py_False);
034:
035: # Determine host byte-order
+036: cdef bool big_endian = False
__Pyx_INCREF(Py_False); __Pyx_XGOTREF((PyObject *)__pyx_v_7rencode_8_rencode_big_endian); __Pyx_DECREF_SET(__pyx_v_7rencode_8_rencode_big_endian, ((PyLongObject *)Py_False)); __Pyx_GIVEREF(Py_False);
+037: cdef unsigned long number = 1
__pyx_v_7rencode_8_rencode_number = 1;
+038: cdef char *s = <char *>&number
__pyx_v_7rencode_8_rencode_s = ((char *)(&__pyx_v_7rencode_8_rencode_number));
+039: if s[0] == 0:
__pyx_t_2 = ((__pyx_v_7rencode_8_rencode_s[0]) == 0); if (__pyx_t_2) { /* … */ }
+040: big_endian = True
__Pyx_INCREF(Py_True); __Pyx_XGOTREF((PyObject *)__pyx_v_7rencode_8_rencode_big_endian); __Pyx_DECREF_SET(__pyx_v_7rencode_8_rencode_big_endian, ((PyLongObject *)Py_True)); __Pyx_GIVEREF(Py_True);
041:
+042: cdef enum:
enum {
043: # Default number of bits for serialized floats, either 32 or 64 (also a parameter for dumps()).
044: DEFAULT_FLOAT_BITS = 32
045: # Maximum length of integer when written as base 10 string.
046: MAX_INT_LENGTH = 64
047: # The bencode 'typecodes' such as i, d, etc have been extended and
048: # relocated on the base-256 character set.
049: CHR_LIST = 59
050: CHR_DICT = 60
051: CHR_INT = 61
052: CHR_INT1 = 62
053: CHR_INT2 = 63
054: CHR_INT4 = 64
055: CHR_INT8 = 65
056: CHR_FLOAT32 = 66
057: CHR_FLOAT64 = 44
058: CHR_TRUE = 67
059: CHR_FALSE = 68
060: CHR_NONE = 69
061: CHR_TERM = 127
062: # Positive integers with value embedded in typecode.
063: INT_POS_FIXED_START = 0
064: INT_POS_FIXED_COUNT = 44
065: # Dictionaries with length embedded in typecode.
066: DICT_FIXED_START = 102
067: DICT_FIXED_COUNT = 25
068: # Negative integers with value embedded in typecode.
069: INT_NEG_FIXED_START = 70
070: INT_NEG_FIXED_COUNT = 32
071: # Strings with length embedded in typecode.
072: STR_FIXED_START = 128
073: STR_FIXED_COUNT = 64
074: # Lists with length embedded in typecode.
+075: LIST_FIXED_START = STR_FIXED_START+STR_FIXED_COUNT
__pyx_e_7rencode_8_rencode_DEFAULT_FLOAT_BITS = 32, __pyx_e_7rencode_8_rencode_MAX_INT_LENGTH = 64, __pyx_e_7rencode_8_rencode_CHR_LIST = 59, __pyx_e_7rencode_8_rencode_CHR_DICT = 60, __pyx_e_7rencode_8_rencode_CHR_INT = 61, __pyx_e_7rencode_8_rencode_CHR_INT1 = 62, __pyx_e_7rencode_8_rencode_CHR_INT2 = 63, __pyx_e_7rencode_8_rencode_CHR_INT4 = 64, __pyx_e_7rencode_8_rencode_CHR_INT8 = 65, __pyx_e_7rencode_8_rencode_CHR_FLOAT32 = 66, __pyx_e_7rencode_8_rencode_CHR_FLOAT64 = 44, __pyx_e_7rencode_8_rencode_CHR_TRUE = 67, __pyx_e_7rencode_8_rencode_CHR_FALSE = 68, __pyx_e_7rencode_8_rencode_CHR_NONE = 69, __pyx_e_7rencode_8_rencode_CHR_TERM = 0x7F, __pyx_e_7rencode_8_rencode_INT_POS_FIXED_START = 0, __pyx_e_7rencode_8_rencode_INT_POS_FIXED_COUNT = 44, __pyx_e_7rencode_8_rencode_DICT_FIXED_START = 0x66, __pyx_e_7rencode_8_rencode_DICT_FIXED_COUNT = 25, __pyx_e_7rencode_8_rencode_INT_NEG_FIXED_START = 70, __pyx_e_7rencode_8_rencode_INT_NEG_FIXED_COUNT = 32, __pyx_e_7rencode_8_rencode_STR_FIXED_START = 0x80, __pyx_e_7rencode_8_rencode_STR_FIXED_COUNT = 64, __pyx_e_7rencode_8_rencode_LIST_FIXED_START = (__pyx_e_7rencode_8_rencode_STR_FIXED_START + __pyx_e_7rencode_8_rencode_STR_FIXED_COUNT), __pyx_e_7rencode_8_rencode_LIST_FIXED_COUNT = 64 };
076: LIST_FIXED_COUNT = 64
077:
078: cdef char _float_bits
079:
+080: cdef swap_byte_order_ushort(unsigned short *s):
static PyObject *__pyx_f_7rencode_8_rencode_swap_byte_order_ushort(unsigned short *__pyx_v_s) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+081: s[0] = (s[0] >> 8) | (s[0] << 8)
(__pyx_v_s[0]) = (((__pyx_v_s[0]) >> 8) | ((__pyx_v_s[0]) << 8));
082:
+083: cdef swap_byte_order_short(char *c):
static PyObject *__pyx_f_7rencode_8_rencode_swap_byte_order_short(char *__pyx_v_c) { short __pyx_v_s; char *__pyx_v_p; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.swap_byte_order_short", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
084: cdef short s
+085: cdef char *p = <char *>&s
__pyx_v_p = ((char *)(&__pyx_v_s));
+086: p[0] = c[1]
(__pyx_v_p[0]) = (__pyx_v_c[1]);
+087: p[1] = c[0]
(__pyx_v_p[1]) = (__pyx_v_c[0]);
+088: return s
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyLong_From_short(__pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
089:
+090: cdef swap_byte_order_uint(int *i):
static PyObject *__pyx_f_7rencode_8_rencode_swap_byte_order_uint(int *__pyx_v_i) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+091: i[0] = (i[0] >> 24) | ((i[0] << 8) & 0x00FF0000) | ((i[0] >> 8) & 0x0000FF00) | (i[0] << 24)
(__pyx_v_i[0]) = (((((__pyx_v_i[0]) >> 24) | (((__pyx_v_i[0]) << 8) & 0x00FF0000)) | (((__pyx_v_i[0]) >> 8) & 0x0000FF00)) | ((__pyx_v_i[0]) << 24));
092:
+093: cdef swap_byte_order_int(char *c):
static PyObject *__pyx_f_7rencode_8_rencode_swap_byte_order_int(char *__pyx_v_c) { int __pyx_v_i; char *__pyx_v_p; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.swap_byte_order_int", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
094: cdef int i
+095: cdef char *p = <char *>&i
__pyx_v_p = ((char *)(&__pyx_v_i));
+096: p[0] = c[3]
(__pyx_v_p[0]) = (__pyx_v_c[3]);
+097: p[1] = c[2]
(__pyx_v_p[1]) = (__pyx_v_c[2]);
+098: p[2] = c[1]
(__pyx_v_p[2]) = (__pyx_v_c[1]);
+099: p[3] = c[0]
(__pyx_v_p[3]) = (__pyx_v_c[0]);
+100: return i
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
101:
+102: cdef swap_byte_order_ulong_long(long long *l):
static PyObject *__pyx_f_7rencode_8_rencode_swap_byte_order_ulong_long(PY_LONG_LONG *__pyx_v_l) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("rencode._rencode.swap_byte_order_ulong_long", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+103: l[0] = (l[0] >> 56) | \
__pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG(((__pyx_v_l[0]) >> 56)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* … */ __pyx_t_2 = PyNumber_Or(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ (__pyx_v_l[0]) = __pyx_t_4;
+104: ((l[0] << 40) & 0x00FF000000000000) | \
__pyx_t_2 = __Pyx_PyLong_From_PY_LONG_LONG(((__pyx_v_l[0]) << 40)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_And(__pyx_t_2, __pyx_mstate_global->__pyx_int_0xff000000000000); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_t_3 = PyNumber_Or(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+105: ((l[0] << 24) & 0x0000FF0000000000) | \
__pyx_t_3 = __Pyx_PyLong_From_PY_LONG_LONG(((__pyx_v_l[0]) << 24)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyNumber_And(__pyx_t_3, __pyx_mstate_global->__pyx_int_0xff0000000000); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_t_1 = PyNumber_Or(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+106: ((l[0] << 8) & 0x000000FF00000000) | \
__pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG(((__pyx_v_l[0]) << 8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_And(__pyx_t_1, __pyx_mstate_global->__pyx_int_1095216660480); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_t_2 = PyNumber_Or(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+107: ((l[0] >> 8) & 0x00000000FF000000) | \
__pyx_t_2 = __Pyx_PyLong_From_PY_LONG_LONG(((__pyx_v_l[0]) >> 8)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_And(__pyx_t_2, __pyx_mstate_global->__pyx_int_4278190080); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_t_1 = PyNumber_Or(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+108: ((l[0] >> 24) & 0x0000000000FF0000) | \
__pyx_t_3 = __Pyx_PyLong_From_PY_LONG_LONG((((__pyx_v_l[0]) >> 24) & 0x0000000000FF0000)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __pyx_t_2 = PyNumber_Or(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+109: ((l[0] >> 40) & 0x000000000000FF00) | \
__pyx_t_3 = __Pyx_PyLong_From_PY_LONG_LONG((((__pyx_v_l[0]) >> 40) & 0x000000000000FF00)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __pyx_t_1 = PyNumber_Or(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyLong_As_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+110: (l[0] << 56)
__pyx_t_3 = __Pyx_PyLong_From_PY_LONG_LONG(((__pyx_v_l[0]) << 56)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3);
111:
+112: cdef swap_byte_order_long_long(char *c):
static PyObject *__pyx_f_7rencode_8_rencode_swap_byte_order_long_long(char *__pyx_v_c) { PY_LONG_LONG __pyx_v_l; char *__pyx_v_p; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.swap_byte_order_long_long", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
113: cdef long long l
+114: cdef char *p = <char *>&l
__pyx_v_p = ((char *)(&__pyx_v_l));
+115: p[0] = c[7]
(__pyx_v_p[0]) = (__pyx_v_c[7]);
+116: p[1] = c[6]
(__pyx_v_p[1]) = (__pyx_v_c[6]);
+117: p[2] = c[5]
(__pyx_v_p[2]) = (__pyx_v_c[5]);
+118: p[3] = c[4]
(__pyx_v_p[3]) = (__pyx_v_c[4]);
+119: p[4] = c[3]
(__pyx_v_p[4]) = (__pyx_v_c[3]);
+120: p[5] = c[2]
(__pyx_v_p[5]) = (__pyx_v_c[2]);
+121: p[6] = c[1]
(__pyx_v_p[6]) = (__pyx_v_c[1]);
+122: p[7] = c[0]
(__pyx_v_p[7]) = (__pyx_v_c[0]);
+123: return l
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG(__pyx_v_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
124:
+125: cdef swap_byte_order_float(char *c):
static PyObject *__pyx_f_7rencode_8_rencode_swap_byte_order_float(char *__pyx_v_c) { float __pyx_v_f; char *__pyx_v_p; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.swap_byte_order_float", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
126: cdef float f
+127: cdef char *p = <char *>&f
__pyx_v_p = ((char *)(&__pyx_v_f));
+128: p[0] = c[3]
(__pyx_v_p[0]) = (__pyx_v_c[3]);
+129: p[1] = c[2]
(__pyx_v_p[1]) = (__pyx_v_c[2]);
+130: p[2] = c[1]
(__pyx_v_p[2]) = (__pyx_v_c[1]);
+131: p[3] = c[0]
(__pyx_v_p[3]) = (__pyx_v_c[0]);
+132: return f
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
133:
+134: cdef swap_byte_order_double(char *c):
static PyObject *__pyx_f_7rencode_8_rencode_swap_byte_order_double(char *__pyx_v_c) { double __pyx_v_d; char *__pyx_v_p; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.swap_byte_order_double", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
135: cdef double d
+136: cdef char *p = <char *>&d
__pyx_v_p = ((char *)(&__pyx_v_d));
+137: p[0] = c[7]
(__pyx_v_p[0]) = (__pyx_v_c[7]);
+138: p[1] = c[6]
(__pyx_v_p[1]) = (__pyx_v_c[6]);
+139: p[2] = c[5]
(__pyx_v_p[2]) = (__pyx_v_c[5]);
+140: p[3] = c[4]
(__pyx_v_p[3]) = (__pyx_v_c[4]);
+141: p[4] = c[3]
(__pyx_v_p[4]) = (__pyx_v_c[3]);
+142: p[5] = c[2]
(__pyx_v_p[5]) = (__pyx_v_c[2]);
+143: p[6] = c[1]
(__pyx_v_p[6]) = (__pyx_v_c[1]);
+144: p[7] = c[0]
(__pyx_v_p[7]) = (__pyx_v_c[0]);
+145: return d
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_d); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
146:
+147: cdef write_buffer_char(char **buf, unsigned int *pos, char c):
static PyObject *__pyx_f_7rencode_8_rencode_write_buffer_char(char **__pyx_v_buf, unsigned int *__pyx_v_pos, char __pyx_v_c) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_AddTraceback("rencode._rencode.write_buffer_char", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+148: buf[0] = <char*>realloc(buf[0], pos[0] + 1)
(__pyx_v_buf[0]) = ((char *)realloc((__pyx_v_buf[0]), ((__pyx_v_pos[0]) + 1)));
+149: if buf[0] == NULL:
__pyx_t_1 = ((__pyx_v_buf[0]) == NULL); if (unlikely(__pyx_t_1)) { /* … */ }
+150: raise MemoryError("Error in realloc, 1 byte needed")
__pyx_t_3 = NULL; __Pyx_INCREF(__pyx_builtin_MemoryError); __pyx_t_4 = __pyx_builtin_MemoryError; __pyx_t_5 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Error_in_realloc_1_byte_needed}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_5, (2-__pyx_t_5) | (__pyx_t_5*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 150, __pyx_L1_error)
+151: memcpy(&buf[0][pos[0]], &c, 1)
(void)(memcpy((&((__pyx_v_buf[0])[(__pyx_v_pos[0])])), (&__pyx_v_c), 1));
+152: pos[0] += 1
__pyx_t_6 = 0; (__pyx_v_pos[__pyx_t_6]) = ((__pyx_v_pos[__pyx_t_6]) + 1);
153:
+154: cdef write_buffer(char **buf, unsigned int *pos, void* data, int size):
static PyObject *__pyx_f_7rencode_8_rencode_write_buffer(char **__pyx_v_buf, unsigned int *__pyx_v_pos, void *__pyx_v_data, int __pyx_v_size) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("rencode._rencode.write_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+155: buf[0] = <char*>realloc(buf[0], pos[0] + size)
(__pyx_v_buf[0]) = ((char *)realloc((__pyx_v_buf[0]), ((__pyx_v_pos[0]) + __pyx_v_size)));
+156: if buf[0] == NULL:
__pyx_t_1 = ((__pyx_v_buf[0]) == NULL); if (unlikely(__pyx_t_1)) { /* … */ }
+157: raise MemoryError("Error in realloc, %d bytes needed", size)
__pyx_t_3 = NULL; __Pyx_INCREF(__pyx_builtin_MemoryError); __pyx_t_4 = __pyx_builtin_MemoryError; __pyx_t_5 = __Pyx_PyLong_From_int(__pyx_v_size); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = 1; { PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_mstate_global->__pyx_kp_u_Error_in_realloc_d_bytes_needed, __pyx_t_5}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_6, (3-__pyx_t_6) | (__pyx_t_6*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 157, __pyx_L1_error)
+158: memcpy(&buf[0][pos[0]], data, size)
(void)(memcpy((&((__pyx_v_buf[0])[(__pyx_v_pos[0])])), __pyx_v_data, __pyx_v_size));
+159: pos[0] += size
__pyx_t_7 = 0; (__pyx_v_pos[__pyx_t_7]) = ((__pyx_v_pos[__pyx_t_7]) + __pyx_v_size);
160:
+161: cdef encode_char(char **buf, unsigned int *pos, signed char x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_char(char **__pyx_v_buf, unsigned int *__pyx_v_pos, signed char __pyx_v_x) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("rencode._rencode.encode_char", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+162: if 0 <= x < INT_POS_FIXED_COUNT:
__pyx_t_1 = (0 <= __pyx_v_x); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_x < __pyx_e_7rencode_8_rencode_INT_POS_FIXED_COUNT); } if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+163: write_buffer_char(buf, pos, INT_POS_FIXED_START + x)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, (__pyx_e_7rencode_8_rencode_INT_POS_FIXED_START + __pyx_v_x)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+164: elif -INT_NEG_FIXED_COUNT <= x < 0:
__pyx_t_1 = ((-__pyx_e_7rencode_8_rencode_INT_NEG_FIXED_COUNT) <= __pyx_v_x); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_x < 0); } if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+165: write_buffer_char(buf, pos, INT_NEG_FIXED_START - 1 - x)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, ((__pyx_e_7rencode_8_rencode_INT_NEG_FIXED_START - 1) - __pyx_v_x)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+166: elif -128 <= x < 128:
__pyx_t_1 = (-128L <= __pyx_v_x); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_x < 0x80); } if (__pyx_t_1) { /* … */ } __pyx_L3:;
+167: write_buffer_char(buf, pos, CHR_INT1)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_INT1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+168: write_buffer_char(buf, pos, x)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
169:
+170: cdef encode_short(char **buf, unsigned int *pos, short x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_short(char **__pyx_v_buf, unsigned int *__pyx_v_pos, short __pyx_v_x) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.encode_short", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+171: write_buffer_char(buf, pos, CHR_INT2)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_INT2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+172: if not big_endian:
__pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 172, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+173: if x > 0:
__pyx_t_3 = (__pyx_v_x > 0); if (__pyx_t_3) { /* … */ goto __pyx_L4; }
+174: swap_byte_order_ushort(<unsigned short*>&x)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_ushort(((unsigned short *)(&__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
175: else:
+176: x = swap_byte_order_short(<char*>&x)
/*else*/ { __pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_short(((char *)(&__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyLong_As_short(__pyx_t_1); if (unlikely((__pyx_t_4 == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 176, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_x = __pyx_t_4; } __pyx_L4:;
177:
+178: write_buffer(buf, pos, &x, sizeof(x))
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, (&__pyx_v_x), (sizeof(__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
179:
+180: cdef encode_int(char **buf, unsigned int *pos, int x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_int(char **__pyx_v_buf, unsigned int *__pyx_v_pos, int __pyx_v_x) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.encode_int", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+181: write_buffer_char(buf, pos, CHR_INT4)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_INT4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+182: if not big_endian:
__pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 182, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+183: if x > 0:
__pyx_t_3 = (__pyx_v_x > 0); if (__pyx_t_3) { /* … */ goto __pyx_L4; }
+184: swap_byte_order_uint(&x)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_uint((&__pyx_v_x)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
185: else:
+186: x = swap_byte_order_int(<char*>&x)
/*else*/ { __pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_int(((char *)(&__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 186, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_x = __pyx_t_4; } __pyx_L4:;
+187: write_buffer(buf, pos, &x, sizeof(x))
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, (&__pyx_v_x), (sizeof(__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
188:
+189: cdef encode_long_long(char **buf, unsigned int *pos, long long x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_long_long(char **__pyx_v_buf, unsigned int *__pyx_v_pos, PY_LONG_LONG __pyx_v_x) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.encode_long_long", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+190: write_buffer_char(buf, pos, CHR_INT8)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_INT8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+191: if not big_endian:
__pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 191, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+192: if x > 0:
__pyx_t_3 = (__pyx_v_x > 0); if (__pyx_t_3) { /* … */ goto __pyx_L4; }
+193: swap_byte_order_ulong_long(&x)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_ulong_long((&__pyx_v_x)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
194: else:
+195: x = swap_byte_order_long_long(<char*>&x)
/*else*/ { __pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_long_long(((char *)(&__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyLong_As_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_4 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 195, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_x = __pyx_t_4; } __pyx_L4:;
+196: write_buffer(buf, pos, &x, sizeof(x))
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, (&__pyx_v_x), (sizeof(__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
197:
+198: cdef encode_big_number(char **buf, unsigned int *pos, char *x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_big_number(char **__pyx_v_buf, unsigned int *__pyx_v_pos, char *__pyx_v_x) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.encode_big_number", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+199: write_buffer_char(buf, pos, CHR_INT)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_INT); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+200: write_buffer(buf, pos, x, len(x))
__pyx_t_2 = __Pyx_ssize_strlen(__pyx_v_x); if (unlikely(__pyx_t_2 == ((Py_ssize_t)-1))) __PYX_ERR(0, 200, __pyx_L1_error) __pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, __pyx_v_x, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+201: write_buffer_char(buf, pos, CHR_TERM)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_TERM); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
202:
+203: cdef encode_float32(char **buf, unsigned int *pos, float x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_float32(char **__pyx_v_buf, unsigned int *__pyx_v_pos, float __pyx_v_x) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.encode_float32", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+204: write_buffer_char(buf, pos, CHR_FLOAT32)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_FLOAT32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+205: if not big_endian:
__pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 205, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+206: x = swap_byte_order_float(<char *>&x)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_float(((char *)(&__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_4 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_x = __pyx_t_4;
+207: write_buffer(buf, pos, &x, sizeof(x))
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, (&__pyx_v_x), (sizeof(__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
208:
+209: cdef encode_float64(char **buf, unsigned int *pos, double x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_float64(char **__pyx_v_buf, unsigned int *__pyx_v_pos, double __pyx_v_x) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.encode_float64", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+210: write_buffer_char(buf, pos, CHR_FLOAT64)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_FLOAT64); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+211: if not big_endian:
__pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 211, __pyx_L1_error) __pyx_t_3 = (!__pyx_t_2); if (__pyx_t_3) { /* … */ }
+212: x = swap_byte_order_double(<char *>&x)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_double(((char *)(&__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_4 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 212, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_x = __pyx_t_4;
+213: write_buffer(buf, pos, &x, sizeof(x))
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, (&__pyx_v_x), (sizeof(__pyx_v_x))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
214:
+215: cdef encode_str(char **buf, unsigned int *pos, bytes x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_str(char **__pyx_v_buf, unsigned int *__pyx_v_pos, PyObject *__pyx_v_x) { char *__pyx_v_p; int __pyx_v_lx; PyObject *__pyx_v_s = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("rencode._rencode.encode_str", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_s); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
216: cdef char *p
+217: cdef int lx = len(x)
if (unlikely(__pyx_v_x == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 217, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyBytes_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 217, __pyx_L1_error) __pyx_v_lx = __pyx_t_1;
+218: if lx < STR_FIXED_COUNT:
__pyx_t_2 = (__pyx_v_lx < __pyx_e_7rencode_8_rencode_STR_FIXED_COUNT); if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+219: write_buffer_char(buf, pos, STR_FIXED_START + lx)
__pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, (__pyx_e_7rencode_8_rencode_STR_FIXED_START + __pyx_v_lx)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+220: write_buffer(buf, pos, <char *>x, lx)
if (unlikely(__pyx_v_x == Py_None)) { PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found"); __PYX_ERR(0, 220, __pyx_L1_error) } __pyx_t_4 = __Pyx_PyBytes_AsWritableString(__pyx_v_x); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) __PYX_ERR(0, 220, __pyx_L1_error) __pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, ((char *)__pyx_t_4), __pyx_v_lx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
221: else:
+222: s = str(lx) + ":"
/*else*/ { __pyx_t_3 = __Pyx_PyLong_From_int(__pyx_v_lx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_Unicode(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyUnicode_ConcatInPlace(__pyx_t_5, __pyx_mstate_global->__pyx_kp_u_); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_s = __pyx_t_3; __pyx_t_3 = 0;
+223: s = s.encode("ascii")
__pyx_t_3 = PyUnicode_AsASCIIString(__pyx_v_s); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_s, __pyx_t_3); __pyx_t_3 = 0;
+224: p = s
__pyx_t_4 = __Pyx_PyObject_AsWritableString(__pyx_v_s); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) __PYX_ERR(0, 224, __pyx_L1_error) __pyx_v_p = __pyx_t_4;
+225: write_buffer(buf, pos, p, len(s))
__pyx_t_1 = PyObject_Length(__pyx_v_s); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 225, __pyx_L1_error) __pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, __pyx_v_p, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+226: write_buffer(buf, pos, <char *>x, lx)
if (unlikely(__pyx_v_x == Py_None)) { PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found"); __PYX_ERR(0, 226, __pyx_L1_error) } __pyx_t_4 = __Pyx_PyBytes_AsWritableString(__pyx_v_x); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) __PYX_ERR(0, 226, __pyx_L1_error) __pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer(__pyx_v_buf, __pyx_v_pos, ((char *)__pyx_t_4), __pyx_v_lx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:;
227:
+228: cdef encode_none(char **buf, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_encode_none(char **__pyx_v_buf, unsigned int *__pyx_v_pos) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.encode_none", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+229: write_buffer_char(buf, pos, CHR_NONE)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_NONE); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
230:
+231: cdef encode_bool(char **buf, unsigned int *pos, bool x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_bool(char **__pyx_v_buf, unsigned int *__pyx_v_pos, PyLongObject *__pyx_v_x) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("rencode._rencode.encode_bool", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+232: if x:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_x)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 232, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+233: write_buffer_char(buf, pos, CHR_TRUE)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_TRUE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
234: else:
+235: write_buffer_char(buf, pos, CHR_FALSE)
/*else*/ { __pyx_t_2 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_FALSE); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_L3:;
236:
+237: cdef encode_list(char **buf, unsigned int *pos, x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_list(char **__pyx_v_buf, unsigned int *__pyx_v_pos, PyObject *__pyx_v_x) { PyObject *__pyx_v_i = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("rencode._rencode.encode_list", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_i); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+238: if len(x) < LIST_FIXED_COUNT:
__pyx_t_1 = PyObject_Length(__pyx_v_x); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 238, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 < __pyx_e_7rencode_8_rencode_LIST_FIXED_COUNT); if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+239: write_buffer_char(buf, pos, LIST_FIXED_START + len(x))
__pyx_t_1 = PyObject_Length(__pyx_v_x); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 239, __pyx_L1_error) __pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, (__pyx_e_7rencode_8_rencode_LIST_FIXED_START + __pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+240: for i in x:
if (likely(PyList_CheckExact(__pyx_v_x)) || PyTuple_CheckExact(__pyx_v_x)) { __pyx_t_3 = __pyx_v_x; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = 0; __pyx_t_4 = NULL; } else { __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 240, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_3))) { { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 240, __pyx_L1_error) #endif if (__pyx_t_1 >= __pyx_temp) break; } __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1); ++__pyx_t_1; } else { { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 240, __pyx_L1_error) #endif if (__pyx_t_1 >= __pyx_temp) break; } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1)); #else __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); #endif ++__pyx_t_1; } if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 240, __pyx_L1_error) } else { __pyx_t_5 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 240, __pyx_L1_error) PyErr_Clear(); } break; } } __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+241: encode(buf, pos, i)
__pyx_t_5 = __pyx_f_7rencode_8_rencode_encode(__pyx_v_buf, __pyx_v_pos, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
242: else:
+243: write_buffer_char(buf, pos, CHR_LIST)
/*else*/ { __pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_LIST); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+244: for i in x:
if (likely(PyList_CheckExact(__pyx_v_x)) || PyTuple_CheckExact(__pyx_v_x)) { __pyx_t_3 = __pyx_v_x; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = 0; __pyx_t_4 = NULL; } else { __pyx_t_1 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = (CYTHON_COMPILING_IN_LIMITED_API) ? PyIter_Next : __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 244, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_3))) { { Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 244, __pyx_L1_error) #endif if (__pyx_t_1 >= __pyx_temp) break; } __pyx_t_5 = __Pyx_PyList_GetItemRef(__pyx_t_3, __pyx_t_1); ++__pyx_t_1; } else { { Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3); #if !CYTHON_ASSUME_SAFE_SIZE if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 244, __pyx_L1_error) #endif if (__pyx_t_1 >= __pyx_temp) break; } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = __Pyx_NewRef(PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_1)); #else __pyx_t_5 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_1); #endif ++__pyx_t_1; } if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 244, __pyx_L1_error) } else { __pyx_t_5 = __pyx_t_4(__pyx_t_3); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) __PYX_ERR(0, 244, __pyx_L1_error) PyErr_Clear(); } break; } } __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+245: encode(buf, pos, i)
__pyx_t_5 = __pyx_f_7rencode_8_rencode_encode(__pyx_v_buf, __pyx_v_pos, __pyx_v_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+246: write_buffer_char(buf, pos, CHR_TERM)
__pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_TERM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:;
247:
+248: cdef encode_dict(char **buf, unsigned int *pos, x):
static PyObject *__pyx_f_7rencode_8_rencode_encode_dict(char **__pyx_v_buf, unsigned int *__pyx_v_pos, PyObject *__pyx_v_x) { PyObject *__pyx_v_k = NULL; PyObject *__pyx_v_v = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("rencode._rencode.encode_dict", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_k); __Pyx_XDECREF(__pyx_v_v); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+249: if len(x) < DICT_FIXED_COUNT:
__pyx_t_1 = PyObject_Length(__pyx_v_x); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 249, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 < __pyx_e_7rencode_8_rencode_DICT_FIXED_COUNT); if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+250: write_buffer_char(buf, pos, DICT_FIXED_START + len(x))
__pyx_t_1 = PyObject_Length(__pyx_v_x); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 250, __pyx_L1_error) __pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, (__pyx_e_7rencode_8_rencode_DICT_FIXED_START + __pyx_t_1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+251: for k, v in x.items():
__pyx_t_1 = 0; if (unlikely(__pyx_v_x == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); __PYX_ERR(0, 251, __pyx_L1_error) } __pyx_t_6 = __Pyx_dict_iterator(__pyx_v_x, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_4), (&__pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_6; __pyx_t_6 = 0; while (1) { __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_4, &__pyx_t_1, &__pyx_t_6, &__pyx_t_7, NULL, __pyx_t_5); if (unlikely(__pyx_t_8 == 0)) break; if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_7); __pyx_t_7 = 0;
+252: encode(buf, pos, k)
__pyx_t_7 = __pyx_f_7rencode_8_rencode_encode(__pyx_v_buf, __pyx_v_pos, __pyx_v_k); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+253: encode(buf, pos, v)
__pyx_t_7 = __pyx_f_7rencode_8_rencode_encode(__pyx_v_buf, __pyx_v_pos, __pyx_v_v); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
254: else:
+255: write_buffer_char(buf, pos, CHR_DICT)
/*else*/ { __pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_DICT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+256: for k, v in x.items():
__pyx_t_4 = 0; if (unlikely(__pyx_v_x == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); __PYX_ERR(0, 256, __pyx_L1_error) } __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_x, 0, __pyx_mstate_global->__pyx_n_u_items, (&__pyx_t_1), (&__pyx_t_5)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_7; __pyx_t_7 = 0; while (1) { __pyx_t_8 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_1, &__pyx_t_4, &__pyx_t_7, &__pyx_t_6, NULL, __pyx_t_5); if (unlikely(__pyx_t_8 == 0)) break; if (unlikely(__pyx_t_8 == -1)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_6); __pyx_t_6 = 0;
+257: encode(buf, pos, k)
__pyx_t_6 = __pyx_f_7rencode_8_rencode_encode(__pyx_v_buf, __pyx_v_pos, __pyx_v_k); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+258: encode(buf, pos, v)
__pyx_t_6 = __pyx_f_7rencode_8_rencode_encode(__pyx_v_buf, __pyx_v_pos, __pyx_v_v); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+259: write_buffer_char(buf, pos, CHR_TERM)
__pyx_t_3 = __pyx_f_7rencode_8_rencode_write_buffer_char(__pyx_v_buf, __pyx_v_pos, __pyx_e_7rencode_8_rencode_CHR_TERM); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:;
260:
+261: cdef object MAX_SIGNED_INT = 2**31
__Pyx_INCREF(__pyx_mstate_global->__pyx_int_2147483648); __Pyx_XGOTREF(__pyx_v_7rencode_8_rencode_MAX_SIGNED_INT); __Pyx_DECREF_SET(__pyx_v_7rencode_8_rencode_MAX_SIGNED_INT, __pyx_mstate_global->__pyx_int_2147483648); __Pyx_GIVEREF(__pyx_mstate_global->__pyx_int_2147483648);
+262: cdef object MIN_SIGNED_INT = -MAX_SIGNED_INT
__pyx_t_3 = PyNumber_Negative(__pyx_v_7rencode_8_rencode_MAX_SIGNED_INT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_7rencode_8_rencode_MIN_SIGNED_INT); __Pyx_DECREF_SET(__pyx_v_7rencode_8_rencode_MIN_SIGNED_INT, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0;
263: #note: negating the Python value avoids compiler problems
264: #(negating the "long long" constant can make it unsigned with some compilers!)
+265: cdef object MAX_SIGNED_LONGLONG = int(2**63)
__pyx_t_3 = __Pyx_PyNumber_Int(__pyx_mstate_global->__pyx_int_0x8000000000000000); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_7rencode_8_rencode_MAX_SIGNED_LONGLONG); __Pyx_DECREF_SET(__pyx_v_7rencode_8_rencode_MAX_SIGNED_LONGLONG, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0;
+266: cdef object MIN_SIGNED_LONGLONG = -MAX_SIGNED_LONGLONG
__pyx_t_3 = PyNumber_Negative(__pyx_v_7rencode_8_rencode_MAX_SIGNED_LONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XGOTREF(__pyx_v_7rencode_8_rencode_MIN_SIGNED_LONGLONG); __Pyx_DECREF_SET(__pyx_v_7rencode_8_rencode_MIN_SIGNED_LONGLONG, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0;
267:
+268: cdef encode(char **buf, unsigned int *pos, data):
static PyObject *__pyx_f_7rencode_8_rencode_encode(char **__pyx_v_buf, unsigned int *__pyx_v_pos, PyObject *__pyx_v_data) { PyTypeObject *__pyx_v_t = NULL; PyObject *__pyx_v_s = NULL; PyObject *__pyx_v_u = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_AddTraceback("rencode._rencode.encode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_t); __Pyx_XDECREF(__pyx_v_s); __Pyx_XDECREF(__pyx_v_u); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+269: t = type(data)
__Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_data)));
__pyx_v_t = ((PyTypeObject*)((PyObject *)Py_TYPE(__pyx_v_data)));
+270: if t == int:
__pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)(&PyLong_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+271: if -128 <= data < 128:
__pyx_t_1 = PyObject_RichCompare(__pyx_mstate_global->__pyx_int_neg_128, __pyx_v_data, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L1_error) if (__Pyx_PyObject_IsTrue(__pyx_t_1)) { __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = PyObject_RichCompare(__pyx_v_data, __pyx_mstate_global->__pyx_int_128, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 271, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L4; }
+272: encode_char(buf, pos, data)
__pyx_t_3 = __Pyx_PyLong_As_signed_char(__pyx_v_data); if (unlikely((__pyx_t_3 == (signed char)-1) && PyErr_Occurred())) __PYX_ERR(0, 272, __pyx_L1_error) __pyx_t_1 = __pyx_f_7rencode_8_rencode_encode_char(__pyx_v_buf, __pyx_v_pos, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+273: elif -32768 <= data < 32768:
__pyx_t_1 = PyObject_RichCompare(__pyx_mstate_global->__pyx_int_neg_32768, __pyx_v_data, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) if (__Pyx_PyObject_IsTrue(__pyx_t_1)) { __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = PyObject_RichCompare(__pyx_v_data, __pyx_mstate_global->__pyx_int_32768, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L4; }
+274: encode_short(buf, pos, data)
__pyx_t_4 = __Pyx_PyLong_As_short(__pyx_v_data); if (unlikely((__pyx_t_4 == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 274, __pyx_L1_error) __pyx_t_1 = __pyx_f_7rencode_8_rencode_encode_short(__pyx_v_buf, __pyx_v_pos, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+275: elif MIN_SIGNED_INT <= data < MAX_SIGNED_INT:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_7rencode_8_rencode_MIN_SIGNED_INT, __pyx_v_data, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) if (__Pyx_PyObject_IsTrue(__pyx_t_1)) { __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = PyObject_RichCompare(__pyx_v_data, __pyx_v_7rencode_8_rencode_MAX_SIGNED_INT, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L4; }
+276: encode_int(buf, pos, data)
__pyx_t_5 = __Pyx_PyLong_As_int(__pyx_v_data); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 276, __pyx_L1_error) __pyx_t_1 = __pyx_f_7rencode_8_rencode_encode_int(__pyx_v_buf, __pyx_v_pos, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+277: elif MIN_SIGNED_LONGLONG <= data < MAX_SIGNED_LONGLONG:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_7rencode_8_rencode_MIN_SIGNED_LONGLONG, __pyx_v_data, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error) if (__Pyx_PyObject_IsTrue(__pyx_t_1)) { __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = PyObject_RichCompare(__pyx_v_data, __pyx_v_7rencode_8_rencode_MAX_SIGNED_LONGLONG, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L4; }
+278: encode_long_long(buf, pos, data)
__pyx_t_6 = __Pyx_PyLong_As_PY_LONG_LONG(__pyx_v_data); if (unlikely((__pyx_t_6 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 278, __pyx_L1_error) __pyx_t_1 = __pyx_f_7rencode_8_rencode_encode_long_long(__pyx_v_buf, __pyx_v_pos, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
279: else:
+280: s = str(data).encode("ascii")
/*else*/ { __pyx_t_1 = __Pyx_PyObject_Unicode(__pyx_v_data); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyUnicode_AsASCIIString(((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_s = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0;
+281: if len(s) >= MAX_INT_LENGTH:
__pyx_t_8 = __Pyx_PyBytes_GET_SIZE(__pyx_v_s); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 281, __pyx_L1_error) __pyx_t_2 = (__pyx_t_8 >= __pyx_e_7rencode_8_rencode_MAX_INT_LENGTH); if (unlikely(__pyx_t_2)) { /* … */ }
+282: raise ValueError("Number is longer than %d characters" % MAX_INT_LENGTH)
__pyx_t_1 = NULL; __Pyx_INCREF(__pyx_builtin_ValueError); __pyx_t_9 = __pyx_builtin_ValueError; __pyx_t_10 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_7rencode_8_rencode_MAX_INT_LENGTH); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Number_is_longer_than_d_characte, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_11}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); } __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(0, 282, __pyx_L1_error)
+283: encode_big_number(buf, pos, s)
__pyx_t_13 = __Pyx_PyBytes_AsWritableString(__pyx_v_s); if (unlikely((!__pyx_t_13) && PyErr_Occurred())) __PYX_ERR(0, 283, __pyx_L1_error) __pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_big_number(__pyx_v_buf, __pyx_v_pos, __pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __pyx_L4:;
+284: elif t == float:
__pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)(&PyFloat_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 284, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 284, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+285: if _float_bits == 32:
switch (__pyx_v_7rencode_8_rencode__float_bits) { case 32: /* … */ break; case 64:
+286: encode_float32(buf, pos, data)
__pyx_t_14 = __Pyx_PyFloat_AsFloat(__pyx_v_data); if (unlikely((__pyx_t_14 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 286, __pyx_L1_error) __pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_float32(__pyx_v_buf, __pyx_v_pos, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+287: elif _float_bits == 64:
break; default:
+288: encode_float64(buf, pos, data)
__pyx_t_15 = __Pyx_PyFloat_AsDouble(__pyx_v_data); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 288, __pyx_L1_error) __pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_float64(__pyx_v_buf, __pyx_v_pos, __pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
289: else:
+290: raise ValueError('Float bits (%d) is not 32 or 64' % _float_bits)
__pyx_t_9 = NULL; __Pyx_INCREF(__pyx_builtin_ValueError); __pyx_t_11 = __pyx_builtin_ValueError; __pyx_t_1 = __Pyx_PyLong_From_char(__pyx_v_7rencode_8_rencode__float_bits); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Float_bits_d_is_not_32_or_64, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_12 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_9, __pyx_t_10}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); } __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(0, 290, __pyx_L1_error) break; }
+291: elif t == bytes:
__pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)(&PyBytes_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 291, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 291, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+292: encode_str(buf, pos, data)
if (!(likely(PyBytes_CheckExact(__pyx_v_data))||((__pyx_v_data) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_v_data))) __PYX_ERR(0, 292, __pyx_L1_error) __pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_str(__pyx_v_buf, __pyx_v_pos, ((PyObject*)__pyx_v_data)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+293: elif t == str:
__pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)(&PyUnicode_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 293, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 293, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+294: u = data.encode("utf8")
__pyx_t_11 = __pyx_v_data; __Pyx_INCREF(__pyx_t_11); __pyx_t_12 = 0; { PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_mstate_global->__pyx_n_u_utf8}; __pyx_t_7 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_encode, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); } __pyx_v_u = __pyx_t_7; __pyx_t_7 = 0;
+295: encode_str(buf, pos, u)
if (!(likely(PyBytes_CheckExact(__pyx_v_u))||((__pyx_v_u) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_v_u))) __PYX_ERR(0, 295, __pyx_L1_error) __pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_str(__pyx_v_buf, __pyx_v_pos, ((PyObject*)__pyx_v_u)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+296: elif t == type(None):
__pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)Py_TYPE(Py_None)), Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 296, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+297: encode_none(buf, pos)
__pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_none(__pyx_v_buf, __pyx_v_pos); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+298: elif t == bool:
__pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)__pyx_mstate_global->__pyx_ptype_7cpython_4bool_bool), Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 298, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+299: encode_bool(buf, pos, data)
if (!(likely(((__pyx_v_data) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_data, __pyx_mstate_global->__pyx_ptype_7cpython_4bool_bool))))) __PYX_ERR(0, 299, __pyx_L1_error) __pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_bool(__pyx_v_buf, __pyx_v_pos, ((PyLongObject *)__pyx_v_data)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+300: elif t == list or t == tuple:
__pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)(&PyList_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 300, __pyx_L1_error) __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!__pyx_t_16) { } else { __pyx_t_2 = __pyx_t_16; goto __pyx_L6_bool_binop_done; } __pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)(&PyTuple_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 300, __pyx_L1_error) __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_16 < 0))) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_2 = __pyx_t_16; __pyx_L6_bool_binop_done:; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+301: encode_list(buf, pos, data)
__pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_list(__pyx_v_buf, __pyx_v_pos, __pyx_v_data); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+302: elif t == dict:
__pyx_t_7 = PyObject_RichCompare(((PyObject *)__pyx_v_t), ((PyObject *)(&PyDict_Type)), Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 302, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 302, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (likely(__pyx_t_2)) { /* … */ goto __pyx_L3; }
+303: encode_dict(buf, pos, data)
__pyx_t_7 = __pyx_f_7rencode_8_rencode_encode_dict(__pyx_v_buf, __pyx_v_pos, __pyx_v_data); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
304: else:
+305: raise TypeError(f"type {t} not handled")
/*else*/ { __pyx_t_11 = NULL; __Pyx_INCREF(__pyx_builtin_TypeError); __pyx_t_10 = __pyx_builtin_TypeError; __pyx_t_9 = __Pyx_PyObject_FormatSimple(((PyObject *)__pyx_v_t), __pyx_mstate_global->__pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_17[0] = __pyx_mstate_global->__pyx_kp_u_type; __pyx_t_17[1] = __pyx_t_9; __pyx_t_17[2] = __pyx_mstate_global->__pyx_kp_u_not_handled; __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_17, 3, 5 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9) + 12, 127 | __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_12 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_t_1}; __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+__pyx_t_12, (2-__pyx_t_12) | (__pyx_t_12*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); } __Pyx_Raise(__pyx_t_7, 0, 0, 0); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __PYX_ERR(0, 305, __pyx_L1_error) } __pyx_L3:;
306:
+307: def dumps(data, float_bits=DEFAULT_FLOAT_BITS):
static PyObject *__pyx_pf_7rencode_8_rencode_4__defaults__(CYTHON_UNUSED PyObject *__pyx_self) { PyObject *__pyx_r = NULL; __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0); __Pyx_GIVEREF(__Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self)->arg0) != (0)) __PYX_ERR(0, 307, __pyx_L1_error); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1) != (0)) __PYX_ERR(0, 307, __pyx_L1_error); __Pyx_INCREF(Py_None); __Pyx_GIVEREF(Py_None); if (__Pyx_PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None) != (0)) __PYX_ERR(0, 307, __pyx_L1_error); __pyx_t_1 = 0; __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("rencode._rencode.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* Python wrapper */ static PyObject *__pyx_pw_7rencode_8_rencode_1dumps(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ PyDoc_STRVAR(__pyx_doc_7rencode_8_rencode_dumps, "\n Encode the object data into a string.\n\n :param data: the object to encode\n :type data: object\n\n "); static PyMethodDef __pyx_mdef_7rencode_8_rencode_1dumps = {"dumps", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7rencode_8_rencode_1dumps, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7rencode_8_rencode_dumps}; static PyObject *__pyx_pw_7rencode_8_rencode_1dumps(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { PyObject *__pyx_v_data = 0; PyObject *__pyx_v_float_bits = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED Py_ssize_t __pyx_nargs; #endif CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("dumps (wrapper)", 0); #if !CYTHON_METH_FASTCALL #if CYTHON_ASSUME_SAFE_SIZE __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); #else __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; #endif #endif __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_data,&__pyx_mstate_global->__pyx_n_u_float_bits,0}; PyObject* values[2] = {0,0}; struct __pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_self); const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 307, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 2: values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 307, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 307, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "dumps", 0) < 0) __PYX_ERR(0, 307, __pyx_L3_error) if (!values[1]) values[1] = __Pyx_NewRef(__pyx_dynamic_args->arg0); for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("dumps", 0, 1, 2, i); __PYX_ERR(0, 307, __pyx_L3_error) } } } else { switch (__pyx_nargs) { case 2: values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 307, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 307, __pyx_L3_error) break; default: goto __pyx_L5_argtuple_error; } if (!values[1]) values[1] = __Pyx_NewRef(__pyx_dynamic_args->arg0); } __pyx_v_data = values[0]; __pyx_v_float_bits = values[1]; } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("dumps", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 307, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } __Pyx_AddTraceback("rencode._rencode.dumps", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_7rencode_8_rencode_dumps(__pyx_self, __pyx_v_data, __pyx_v_float_bits); int __pyx_lineno = 0; const char *__pyx_filename = NULL; int __pyx_clineno = 0; /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_7rencode_8_rencode_dumps(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_data, PyObject *__pyx_v_float_bits) { char *__pyx_v_buf; unsigned int __pyx_v_pos; PyObject *__pyx_v_ret = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("rencode._rencode.dumps", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_ret); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7rencode_8_rencode_1dumps, 0, __pyx_mstate_global->__pyx_n_u_dumps, NULL, __pyx_mstate_global->__pyx_n_u_rencode__rencode, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (!__Pyx_CyFunction_InitDefaults(__pyx_t_3, __pyx_mstate_global->__pyx_ptype_7rencode_8_rencode___pyx_defaults)) __PYX_ERR(0, 307, __pyx_L1_error) __pyx_t_4 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_7rencode_8_rencode_DEFAULT_FLOAT_BITS); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_CyFunction_Defaults(struct __pyx_defaults, __pyx_t_3)->arg0 = __pyx_t_4; __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_CyFunction_SetDefaultsGetter(__pyx_t_3, __pyx_pf_7rencode_8_rencode_4__defaults__); if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_dumps, __pyx_t_3) < 0) __PYX_ERR(0, 307, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
308: """
309: Encode the object data into a string.
310:
311: :param data: the object to encode
312: :type data: object
313:
314: """
315: global _float_bits
+316: _float_bits = float_bits
__pyx_t_1 = __Pyx_PyLong_As_char(__pyx_v_float_bits); if (unlikely((__pyx_t_1 == (char)-1) && PyErr_Occurred())) __PYX_ERR(0, 316, __pyx_L1_error) __pyx_v_7rencode_8_rencode__float_bits = __pyx_t_1;
+317: cdef char *buf = NULL
__pyx_v_buf = NULL;
+318: cdef unsigned int pos = 0
__pyx_v_pos = 0;
+319: encode(&buf, &pos, data)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_encode((&__pyx_v_buf), (&__pyx_v_pos), __pyx_v_data); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 319, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+320: ret = buf[:pos]
__pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_buf + 0, __pyx_v_pos - 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_ret = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+321: free(buf)
free(__pyx_v_buf);
+322: return ret
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_ret); __pyx_r = __pyx_v_ret; goto __pyx_L0;
323:
+324: cdef decode_char(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_char(char *__pyx_v_data, unsigned int *__pyx_v_pos) { signed char __pyx_v_c; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_char", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
325: cdef signed char c
+326: check_pos(data, pos[0]+1)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+327: memcpy(&c, &data[pos[0]+1], 1)
(void)(memcpy((&__pyx_v_c), (&(__pyx_v_data[((__pyx_v_pos[0]) + 1)])), 1));
+328: pos[0] += 2
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 2);
+329: return c
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyLong_From_signed_char(__pyx_v_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
330:
+331: cdef decode_short(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_short(char *__pyx_v_data, unsigned int *__pyx_v_pos) { short __pyx_v_s; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_short", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
332: cdef short s
+333: check_pos(data, pos[0]+2)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + 2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+334: memcpy(&s, &data[pos[0]+1], 2)
(void)(memcpy((&__pyx_v_s), (&(__pyx_v_data[((__pyx_v_pos[0]) + 1)])), 2));
+335: pos[0] += 3
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 3);
+336: if not big_endian:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 336, __pyx_L1_error) __pyx_t_4 = (!__pyx_t_3); if (__pyx_t_4) { /* … */ }
+337: s = swap_byte_order_short(<char*>&s)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_short(((char *)(&__pyx_v_s))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyLong_As_short(__pyx_t_1); if (unlikely((__pyx_t_5 == (short)-1) && PyErr_Occurred())) __PYX_ERR(0, 337, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_s = __pyx_t_5;
+338: return s
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyLong_From_short(__pyx_v_s); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
339:
+340: cdef decode_int(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_int(char *__pyx_v_data, unsigned int *__pyx_v_pos) { int __pyx_v_i; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_int", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
341: cdef int i
+342: check_pos(data, pos[0]+4)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + 4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+343: memcpy(&i, &data[pos[0]+1], 4)
(void)(memcpy((&__pyx_v_i), (&(__pyx_v_data[((__pyx_v_pos[0]) + 1)])), 4));
+344: pos[0] += 5
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 5);
+345: if not big_endian:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 345, __pyx_L1_error) __pyx_t_4 = (!__pyx_t_3); if (__pyx_t_4) { /* … */ }
+346: i = swap_byte_order_int(<char*>&i)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_int(((char *)(&__pyx_v_i))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyLong_As_int(__pyx_t_1); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 346, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_i = __pyx_t_5;
+347: return i
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyLong_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
348:
+349: cdef decode_long_long(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_long_long(char *__pyx_v_data, unsigned int *__pyx_v_pos) { PY_LONG_LONG __pyx_v_l; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_long_long", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
350: cdef long long l
+351: check_pos(data, pos[0]+8)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + 8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+352: memcpy(&l, &data[pos[0]+1], 8)
(void)(memcpy((&__pyx_v_l), (&(__pyx_v_data[((__pyx_v_pos[0]) + 1)])), 8));
+353: pos[0] += 9
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 9);
+354: if not big_endian:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 354, __pyx_L1_error) __pyx_t_4 = (!__pyx_t_3); if (__pyx_t_4) { /* … */ }
+355: l = swap_byte_order_long_long(<char*>&l)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_long_long(((char *)(&__pyx_v_l))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyLong_As_PY_LONG_LONG(__pyx_t_1); if (unlikely((__pyx_t_5 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(0, 355, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_l = __pyx_t_5;
+356: return l
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyLong_From_PY_LONG_LONG(__pyx_v_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
357:
+358: cdef decode_fixed_pos_int(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_fixed_pos_int(char *__pyx_v_data, unsigned int *__pyx_v_pos) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("rencode._rencode.decode_fixed_pos_int", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+359: pos[0] += 1
__pyx_t_1 = 0; (__pyx_v_pos[__pyx_t_1]) = ((__pyx_v_pos[__pyx_t_1]) + 1);
+360: return data[pos[0] - 1] - INT_POS_FIXED_START
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyLong_From_int(((__pyx_v_data[((__pyx_v_pos[0]) - 1)]) - __pyx_e_7rencode_8_rencode_INT_POS_FIXED_START)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
361:
+362: cdef decode_fixed_neg_int(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_fixed_neg_int(char *__pyx_v_data, unsigned int *__pyx_v_pos) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_AddTraceback("rencode._rencode.decode_fixed_neg_int", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+363: pos[0] += 1
__pyx_t_1 = 0; (__pyx_v_pos[__pyx_t_1]) = ((__pyx_v_pos[__pyx_t_1]) + 1);
+364: return (data[pos[0] - 1] - INT_NEG_FIXED_START + 1)*-1
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __Pyx_PyLong_From_long(((((__pyx_v_data[((__pyx_v_pos[0]) - 1)]) - __pyx_e_7rencode_8_rencode_INT_NEG_FIXED_START) + 1) * -1L)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
365:
+366: cdef decode_big_number(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_big_number(char *__pyx_v_data, unsigned int *__pyx_v_pos) { int __pyx_v_x; PyObject *__pyx_v_big_number = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_AddTraceback("rencode._rencode.decode_big_number", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_big_number); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+367: pos[0] += 1
__pyx_t_1 = 0; (__pyx_v_pos[__pyx_t_1]) = ((__pyx_v_pos[__pyx_t_1]) + 1);
+368: cdef int x = 18
__pyx_v_x = 18;
+369: check_pos(data, pos[0]+x)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + __pyx_v_x)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+370: while (data[pos[0]+x] != CHR_TERM):
while (1) { __pyx_t_3 = ((__pyx_v_data[((__pyx_v_pos[0]) + __pyx_v_x)]) != __pyx_e_7rencode_8_rencode_CHR_TERM); if (!__pyx_t_3) break;
+371: x += 1
__pyx_v_x = (__pyx_v_x + 1);
+372: if x >= MAX_INT_LENGTH:
__pyx_t_3 = (__pyx_v_x >= __pyx_e_7rencode_8_rencode_MAX_INT_LENGTH); if (unlikely(__pyx_t_3)) { /* … */ }
+373: raise ValueError(
__pyx_t_4 = NULL;
__Pyx_INCREF(__pyx_builtin_ValueError);
__pyx_t_5 = __pyx_builtin_ValueError;
+374: "Number is longer than %d characters" % MAX_INT_LENGTH)
__pyx_t_6 = __Pyx_PyLong_From___pyx_anon_enum(__pyx_e_7rencode_8_rencode_MAX_INT_LENGTH); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyUnicode_Format(__pyx_mstate_global->__pyx_kp_u_Number_is_longer_than_d_characte, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_7}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_5, __pyx_callargs+__pyx_t_8, (2-__pyx_t_8) | (__pyx_t_8*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 373, __pyx_L1_error)
+375: check_pos(data, pos[0]+x)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + __pyx_v_x)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
376:
+377: big_number = int(data[pos[0]:pos[0]+x])
__pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_data + (__pyx_v_pos[0]), ((__pyx_v_pos[0]) + __pyx_v_x) - (__pyx_v_pos[0])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_big_number = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+378: pos[0] += x + 1
__pyx_t_1 = 0; (__pyx_v_pos[__pyx_t_1]) = ((__pyx_v_pos[__pyx_t_1]) + (__pyx_v_x + 1));
+379: return big_number
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_big_number); __pyx_r = __pyx_v_big_number; goto __pyx_L0;
380:
+381: cdef decode_float32(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_float32(char *__pyx_v_data, unsigned int *__pyx_v_pos) { float __pyx_v_f; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_float32", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
382: cdef float f
+383: check_pos(data, pos[0]+4)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + 4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+384: memcpy(&f, &data[pos[0]+1], 4)
(void)(memcpy((&__pyx_v_f), (&(__pyx_v_data[((__pyx_v_pos[0]) + 1)])), 4));
+385: pos[0] += 5
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 5);
+386: if not big_endian:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 386, __pyx_L1_error) __pyx_t_4 = (!__pyx_t_3); if (__pyx_t_4) { /* … */ }
+387: f = swap_byte_order_float(<char*>&f)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_float(((char *)(&__pyx_v_f))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyFloat_AsFloat(__pyx_t_1); if (unlikely((__pyx_t_5 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 387, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_f = __pyx_t_5;
+388: return f
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
389:
+390: cdef decode_float64(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_float64(char *__pyx_v_data, unsigned int *__pyx_v_pos) { double __pyx_v_d; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_float64", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
391: cdef double d
+392: check_pos(data, pos[0]+8)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + 8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+393: memcpy(&d, &data[pos[0]+1], 8)
(void)(memcpy((&__pyx_v_d), (&(__pyx_v_data[((__pyx_v_pos[0]) + 1)])), 8));
+394: pos[0] += 9
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 9);
+395: if not big_endian:
__pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode_big_endian)); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 395, __pyx_L1_error) __pyx_t_4 = (!__pyx_t_3); if (__pyx_t_4) { /* … */ }
+396: d = swap_byte_order_double(<char*>&d)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_swap_byte_order_double(((char *)(&__pyx_v_d))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 396, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_d = __pyx_t_5;
+397: return d
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_d); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
398:
+399: cdef decode_fixed_str(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_fixed_str(char *__pyx_v_data, unsigned int *__pyx_v_pos) { unsigned char __pyx_v_size; PyObject *__pyx_v_s = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_fixed_str", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_s); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+400: cdef unsigned char size = data[pos[0]] - STR_FIXED_START + 1
__pyx_v_size = (((__pyx_v_data[(__pyx_v_pos[0])]) - __pyx_e_7rencode_8_rencode_STR_FIXED_START) + 1);
+401: check_pos(data, pos[0] + size - 1)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, (((__pyx_v_pos[0]) + __pyx_v_size) - 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+402: s = data[pos[0]+1:pos[0] + size]
__pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_data + ((__pyx_v_pos[0]) + 1), ((__pyx_v_pos[0]) + __pyx_v_size) - ((__pyx_v_pos[0]) + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_s = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+403: pos[0] += size
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + __pyx_v_size);
+404: return s
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_s); __pyx_r = __pyx_v_s; goto __pyx_L0;
405:
+406: cdef decode_str(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_str(char *__pyx_v_data, unsigned int *__pyx_v_pos) { unsigned int __pyx_v_x; int __pyx_v_size; PyObject *__pyx_v_s = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("rencode._rencode.decode_str", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_s); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+407: cdef unsigned int x = 1
__pyx_v_x = 1;
+408: check_pos(data, pos[0]+x)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + __pyx_v_x)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+409: while (data[pos[0]+x] != 58):
while (1) { __pyx_t_2 = ((__pyx_v_data[((__pyx_v_pos[0]) + __pyx_v_x)]) != 58); if (!__pyx_t_2) break;
+410: x += 1
__pyx_v_x = (__pyx_v_x + 1);
+411: check_pos(data, pos[0]+x)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, ((__pyx_v_pos[0]) + __pyx_v_x)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; }
412:
+413: cdef int size = int(data[pos[0]:pos[0]+x])
__pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_data + (__pyx_v_pos[0]), ((__pyx_v_pos[0]) + __pyx_v_x) - (__pyx_v_pos[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyLong_As_int(__pyx_t_3); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 413, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_size = __pyx_t_4;
+414: pos[0] += x + 1
__pyx_t_5 = 0; (__pyx_v_pos[__pyx_t_5]) = ((__pyx_v_pos[__pyx_t_5]) + (__pyx_v_x + 1));
+415: check_pos(data, pos[0] + size - 1)
__pyx_t_3 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, (((__pyx_v_pos[0]) + __pyx_v_size) - 1)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+416: s = data[pos[0]:pos[0] + size]
__pyx_t_3 = __Pyx_PyBytes_FromStringAndSize(__pyx_v_data + (__pyx_v_pos[0]), ((__pyx_v_pos[0]) + __pyx_v_size) - (__pyx_v_pos[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_s = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+417: pos[0] += size
__pyx_t_5 = 0; (__pyx_v_pos[__pyx_t_5]) = ((__pyx_v_pos[__pyx_t_5]) + __pyx_v_size);
+418: return s
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_s); __pyx_r = __pyx_v_s; goto __pyx_L0;
419:
+420: cdef decode_fixed_list(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_fixed_list(char *__pyx_v_data, unsigned int *__pyx_v_pos) { PyObject *__pyx_v_l = NULL; int __pyx_v_size; CYTHON_UNUSED int __pyx_v_i; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_fixed_list", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_l); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+421: l = []
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_l = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+422: size = <unsigned char>data[pos[0]] - LIST_FIXED_START
__pyx_v_size = (((unsigned char)(__pyx_v_data[(__pyx_v_pos[0])])) - __pyx_e_7rencode_8_rencode_LIST_FIXED_START);
+423: pos[0] += 1
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 1);
424: cdef int i
+425: for i in range(size):
__pyx_t_3 = __pyx_v_size; __pyx_t_4 = __pyx_t_3; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5;
+426: l.append(decode(data, pos))
__pyx_t_1 = __pyx_f_7rencode_8_rencode_decode(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyList_Append(__pyx_v_l, __pyx_t_1); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 426, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; }
+427: return tuple(l)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyList_AsTuple(__pyx_v_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
428:
+429: cdef decode_list(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_list(char *__pyx_v_data, unsigned int *__pyx_v_pos) { PyObject *__pyx_v_l = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_list", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_l); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+430: l = []
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_l = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+431: pos[0] += 1
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 1);
+432: while data[pos[0]] != CHR_TERM:
while (1) { __pyx_t_3 = ((__pyx_v_data[(__pyx_v_pos[0])]) != __pyx_e_7rencode_8_rencode_CHR_TERM); if (!__pyx_t_3) break;
+433: l.append(decode(data, pos))
__pyx_t_1 = __pyx_f_7rencode_8_rencode_decode(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_l, __pyx_t_1); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(0, 433, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; }
+434: pos[0] += 1
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 1);
+435: return tuple(l)
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyList_AsTuple(__pyx_v_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
436:
+437: cdef decode_fixed_dict(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_fixed_dict(char *__pyx_v_data, unsigned int *__pyx_v_pos) { PyObject *__pyx_v_d = NULL; int __pyx_v_size; CYTHON_UNUSED int __pyx_v_i; PyObject *__pyx_v_key = NULL; PyObject *__pyx_v_value = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_fixed_dict", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_d); __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF(__pyx_v_value); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+438: d = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_d = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+439: size = <unsigned char>data[pos[0]] - DICT_FIXED_START
__pyx_v_size = (((unsigned char)(__pyx_v_data[(__pyx_v_pos[0])])) - __pyx_e_7rencode_8_rencode_DICT_FIXED_START);
+440: pos[0] += 1
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 1);
441: cdef int i
+442: for i in range(size):
__pyx_t_3 = __pyx_v_size; __pyx_t_4 = __pyx_t_3; for (__pyx_t_5 = 0; __pyx_t_5 < __pyx_t_4; __pyx_t_5+=1) { __pyx_v_i = __pyx_t_5;
+443: key = decode(data, pos)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_decode(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_1); __pyx_t_1 = 0;
+444: value = decode(data, pos)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_decode(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1); __pyx_t_1 = 0;
+445: d[key] = value
if (unlikely((PyDict_SetItem(__pyx_v_d, __pyx_v_key, __pyx_v_value) < 0))) __PYX_ERR(0, 445, __pyx_L1_error) }
+446: return d
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_d); __pyx_r = __pyx_v_d; goto __pyx_L0;
447:
+448: cdef decode_dict(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode_dict(char *__pyx_v_data, unsigned int *__pyx_v_pos) { PyObject *__pyx_v_d = NULL; PyObject *__pyx_v_key = NULL; PyObject *__pyx_v_value = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_AddTraceback("rencode._rencode.decode_dict", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_d); __Pyx_XDECREF(__pyx_v_key); __Pyx_XDECREF(__pyx_v_value); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+449: d = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_d = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+450: pos[0] += 1
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 1);
+451: check_pos(data, pos[0])
__pyx_t_1 = __pyx_f_7rencode_8_rencode_check_pos(__pyx_v_data, (__pyx_v_pos[0])); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+452: while data[pos[0]] != CHR_TERM:
while (1) { __pyx_t_3 = ((__pyx_v_data[(__pyx_v_pos[0])]) != __pyx_e_7rencode_8_rencode_CHR_TERM); if (!__pyx_t_3) break;
+453: key = decode(data, pos)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_decode(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_1); __pyx_t_1 = 0;
+454: value = decode(data, pos)
__pyx_t_1 = __pyx_f_7rencode_8_rencode_decode(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_1); __pyx_t_1 = 0;
+455: d[key] = value
if (unlikely((PyDict_SetItem(__pyx_v_d, __pyx_v_key, __pyx_v_value) < 0))) __PYX_ERR(0, 455, __pyx_L1_error) }
+456: pos[0] += 1
__pyx_t_2 = 0; (__pyx_v_pos[__pyx_t_2]) = ((__pyx_v_pos[__pyx_t_2]) + 1);
+457: return d
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_d); __pyx_r = __pyx_v_d; goto __pyx_L0;
458:
+459: cdef check_pos(char *data, unsigned int pos):
static PyObject *__pyx_f_7rencode_8_rencode_check_pos(CYTHON_UNUSED char *__pyx_v_data, unsigned int __pyx_v_pos) { PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("rencode._rencode.check_pos", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+460: if pos >= data_length:
__pyx_t_1 = (__pyx_v_pos >= __pyx_v_7rencode_8_rencode_data_length); if (unlikely(__pyx_t_1)) { /* … */ }
+461: raise IndexError("Tried to access data[%d] but data len is: %d" % (pos, data_length))
__pyx_t_3 = NULL; __Pyx_INCREF(__pyx_builtin_IndexError); __pyx_t_4 = __pyx_builtin_IndexError; __pyx_t_5 = __Pyx_PyUnicode_From_unsigned_int(__pyx_v_pos, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyUnicode_From_PY_LONG_LONG(__pyx_v_7rencode_8_rencode_data_length, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7[0] = __pyx_mstate_global->__pyx_kp_u_Tried_to_access_data; __pyx_t_7[1] = __pyx_t_5; __pyx_t_7[2] = __pyx_mstate_global->__pyx_kp_u_but_data_len_is; __pyx_t_7[3] = __pyx_t_6; __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_7, 4, 21 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 19 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6), 127); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 461, __pyx_L1_error)
462:
+463: cdef decode(char *data, unsigned int *pos):
static PyObject *__pyx_f_7rencode_8_rencode_decode(char *__pyx_v_data, unsigned int *__pyx_v_pos) { unsigned char __pyx_v_typecode; PyObject *__pyx_v_s = NULL; PyObject *__pyx_r = NULL; /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __Pyx_AddTraceback("rencode._rencode.decode", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF(__pyx_v_s); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; }
+464: if pos[0] >= data_length:
__pyx_t_1 = ((__pyx_v_pos[0]) >= __pyx_v_7rencode_8_rencode_data_length); if (unlikely(__pyx_t_1)) { /* … */ }
+465: raise IndexError("Malformed rencoded string: data_length: %d pos: %d" % (data_length, pos[0]))
__pyx_t_3 = NULL; __Pyx_INCREF(__pyx_builtin_IndexError); __pyx_t_4 = __pyx_builtin_IndexError; __pyx_t_5 = __Pyx_PyUnicode_From_PY_LONG_LONG(__pyx_v_7rencode_8_rencode_data_length, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyUnicode_From_unsigned_int((__pyx_v_pos[0]), 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7[0] = __pyx_mstate_global->__pyx_kp_u_Malformed_rencoded_string_data_l; __pyx_t_7[1] = __pyx_t_5; __pyx_t_7[2] = __pyx_mstate_global->__pyx_kp_u_pos; __pyx_t_7[3] = __pyx_t_6; __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_7, 4, 40 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5) + 6 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6), 127); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_t_8}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 465, __pyx_L1_error)
466:
+467: cdef unsigned char typecode = data[pos[0]]
__pyx_v_typecode = (__pyx_v_data[(__pyx_v_pos[0])]);
+468: if typecode == CHR_INT1:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_INT1); if (__pyx_t_1) { /* … */ }
+469: return decode_char(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_char(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+470: elif typecode == CHR_INT2:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_INT2); if (__pyx_t_1) { /* … */ }
+471: return decode_short(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_short(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+472: elif typecode == CHR_INT4:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_INT4); if (__pyx_t_1) { /* … */ }
+473: return decode_int(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_int(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+474: elif typecode == CHR_INT8:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_INT8); if (__pyx_t_1) { /* … */ }
+475: return decode_long_long(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_long_long(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+476: elif INT_POS_FIXED_START <= typecode < INT_POS_FIXED_START + INT_POS_FIXED_COUNT:
__pyx_t_1 = (__pyx_e_7rencode_8_rencode_INT_POS_FIXED_START <= __pyx_v_typecode); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_typecode < (__pyx_e_7rencode_8_rencode_INT_POS_FIXED_START + __pyx_e_7rencode_8_rencode_INT_POS_FIXED_COUNT)); } if (__pyx_t_1) { /* … */ }
+477: return decode_fixed_pos_int(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_fixed_pos_int(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 477, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+478: elif INT_NEG_FIXED_START <= typecode < INT_NEG_FIXED_START + INT_NEG_FIXED_COUNT:
__pyx_t_1 = (__pyx_e_7rencode_8_rencode_INT_NEG_FIXED_START <= __pyx_v_typecode); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_typecode < (__pyx_e_7rencode_8_rencode_INT_NEG_FIXED_START + __pyx_e_7rencode_8_rencode_INT_NEG_FIXED_COUNT)); } if (__pyx_t_1) { /* … */ }
+479: return decode_fixed_neg_int(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_fixed_neg_int(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 479, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+480: elif typecode == CHR_INT:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_INT); if (__pyx_t_1) { /* … */ }
+481: return decode_big_number(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_big_number(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+482: elif typecode == CHR_FLOAT32:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_FLOAT32); if (__pyx_t_1) { /* … */ }
+483: return decode_float32(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_float32(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+484: elif typecode == CHR_FLOAT64:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_FLOAT64); if (__pyx_t_1) { /* … */ }
+485: return decode_float64(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_float64(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+486: elif STR_FIXED_START <= typecode < STR_FIXED_START + STR_FIXED_COUNT:
__pyx_t_1 = (__pyx_e_7rencode_8_rencode_STR_FIXED_START <= __pyx_v_typecode); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_typecode < (__pyx_e_7rencode_8_rencode_STR_FIXED_START + __pyx_e_7rencode_8_rencode_STR_FIXED_COUNT)); } if (__pyx_t_1) { /* … */ }
+487: s = decode_fixed_str(data, pos)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_fixed_str(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_s = __pyx_t_2; __pyx_t_2 = 0;
+488: if _decode_utf8:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode__decode_utf8)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 488, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+489: s = s.decode("utf8")
__pyx_t_4 = __pyx_v_s; __Pyx_INCREF(__pyx_t_4); __pyx_t_9 = 0; { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_n_u_utf8}; __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_decode, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __Pyx_DECREF_SET(__pyx_v_s, __pyx_t_2); __pyx_t_2 = 0;
+490: return s
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_s); __pyx_r = __pyx_v_s; goto __pyx_L0;
+491: elif 49 <= typecode <= 57:
__pyx_t_1 = (49 <= __pyx_v_typecode); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_typecode <= 57); } if (__pyx_t_1) { /* … */ }
+492: s = decode_str(data, pos)
__pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_str(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_s = __pyx_t_2; __pyx_t_2 = 0;
+493: if _decode_utf8:
__pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_7rencode_8_rencode__decode_utf8)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 493, __pyx_L1_error) if (__pyx_t_1) { /* … */ }
+494: s = s.decode("utf8")
__pyx_t_4 = __pyx_v_s; __Pyx_INCREF(__pyx_t_4); __pyx_t_9 = 0; { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_mstate_global->__pyx_n_u_utf8}; __pyx_t_2 = __Pyx_PyObject_FastCallMethod(__pyx_mstate_global->__pyx_n_u_decode, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (1*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __Pyx_DECREF_SET(__pyx_v_s, __pyx_t_2); __pyx_t_2 = 0;
+495: return s
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_s); __pyx_r = __pyx_v_s; goto __pyx_L0;
+496: elif typecode == CHR_NONE:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_NONE); if (__pyx_t_1) { /* … */ }
+497: pos[0] += 1
__pyx_t_10 = 0; (__pyx_v_pos[__pyx_t_10]) = ((__pyx_v_pos[__pyx_t_10]) + 1);
+498: return None
__Pyx_XDECREF(__pyx_r); __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0;
+499: elif typecode == CHR_TRUE:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_TRUE); if (__pyx_t_1) { /* … */ }
+500: pos[0] += 1
__pyx_t_10 = 0; (__pyx_v_pos[__pyx_t_10]) = ((__pyx_v_pos[__pyx_t_10]) + 1);
+501: return True
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_True); __pyx_r = Py_True; goto __pyx_L0;
+502: elif typecode == CHR_FALSE:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_FALSE); if (__pyx_t_1) { /* … */ }
+503: pos[0] += 1
__pyx_t_10 = 0; (__pyx_v_pos[__pyx_t_10]) = ((__pyx_v_pos[__pyx_t_10]) + 1);
+504: return False
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(Py_False); __pyx_r = Py_False; goto __pyx_L0;
+505: elif LIST_FIXED_START <= typecode < LIST_FIXED_START + LIST_FIXED_COUNT:
__pyx_t_1 = (__pyx_e_7rencode_8_rencode_LIST_FIXED_START <= __pyx_v_typecode); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_typecode < (__pyx_e_7rencode_8_rencode_LIST_FIXED_START + __pyx_e_7rencode_8_rencode_LIST_FIXED_COUNT)); } if (__pyx_t_1) { /* … */ }
+506: return decode_fixed_list(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_fixed_list(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+507: elif typecode == CHR_LIST:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_LIST); if (__pyx_t_1) { /* … */ }
+508: return decode_list(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_list(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 508, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+509: elif DICT_FIXED_START <= typecode < DICT_FIXED_START + DICT_FIXED_COUNT:
__pyx_t_1 = (__pyx_e_7rencode_8_rencode_DICT_FIXED_START <= __pyx_v_typecode); if (__pyx_t_1) { __pyx_t_1 = (__pyx_v_typecode < (__pyx_e_7rencode_8_rencode_DICT_FIXED_START + __pyx_e_7rencode_8_rencode_DICT_FIXED_COUNT)); } if (__pyx_t_1) { /* … */ }
+510: return decode_fixed_dict(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_fixed_dict(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
+511: elif typecode == CHR_DICT:
__pyx_t_1 = (__pyx_v_typecode == __pyx_e_7rencode_8_rencode_CHR_DICT); if (likely(__pyx_t_1)) { /* … */ }
+512: return decode_dict(data, pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode_dict(__pyx_v_data, __pyx_v_pos); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;
513: else:
+514: raise ValueError("Invalid typecode: %d at pos: %d" % (typecode, pos[0]))
/*else*/ { __pyx_t_4 = NULL; __Pyx_INCREF(__pyx_builtin_ValueError); __pyx_t_8 = __pyx_builtin_ValueError; __pyx_t_3 = __Pyx_PyUnicode_From_unsigned_char(__pyx_v_typecode, 0, ' ', 'd'); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyUnicode_From_unsigned_int((__pyx_v_pos[0]), 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7[0] = __pyx_mstate_global->__pyx_kp_u_Invalid_typecode; __pyx_t_7[1] = __pyx_t_3; __pyx_t_7[2] = __pyx_mstate_global->__pyx_kp_u_at_pos; __pyx_t_7[3] = __pyx_t_6; __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_7, 4, 18 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_3) + 9 + __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6), 127); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = 1; { PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_t_5}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+__pyx_t_9, (2-__pyx_t_9) | (__pyx_t_9*__Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET)); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); } __Pyx_Raise(__pyx_t_2, 0, 0, 0); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __PYX_ERR(0, 514, __pyx_L1_error) }
515:
+516: def loads(data, decode_utf8=False):
/* Python wrapper */ static PyObject *__pyx_pw_7rencode_8_rencode_3loads(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ); /*proto*/ PyDoc_STRVAR(__pyx_doc_7rencode_8_rencode_2loads, "\n Decodes the string into an object\n\n :param data: the string to decode\n :type data: bytes\n :param decode_utf8: if True, will attempt to decode all str into unicode\n objects using utf8\n :type decode_utf8: bool\n :return: The decoded object\n :rtype: object\n "); static PyMethodDef __pyx_mdef_7rencode_8_rencode_3loads = {"loads", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7rencode_8_rencode_3loads, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7rencode_8_rencode_2loads}; static PyObject *__pyx_pw_7rencode_8_rencode_3loads(PyObject *__pyx_self, #if CYTHON_METH_FASTCALL PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds #else PyObject *__pyx_args, PyObject *__pyx_kwds #endif ) { PyObject *__pyx_v_data = 0; PyObject *__pyx_v_decode_utf8 = 0; #if !CYTHON_METH_FASTCALL CYTHON_UNUSED Py_ssize_t __pyx_nargs; #endif CYTHON_UNUSED PyObject *const *__pyx_kwvalues; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("loads (wrapper)", 0); #if !CYTHON_METH_FASTCALL #if CYTHON_ASSUME_SAFE_SIZE __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); #else __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL; #endif #endif __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); { PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_data,&__pyx_mstate_global->__pyx_n_u_decode_utf8,0}; PyObject* values[2] = {0,0}; const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0; if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 516, __pyx_L3_error) if (__pyx_kwds_len > 0) { switch (__pyx_nargs) { case 2: values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 516, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 516, __pyx_L3_error) CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } const Py_ssize_t kwd_pos_args = __pyx_nargs; if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "loads", 0) < 0) __PYX_ERR(0, 516, __pyx_L3_error) if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_False))); for (Py_ssize_t i = __pyx_nargs; i < 1; i++) { if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("loads", 0, 1, 2, i); __PYX_ERR(0, 516, __pyx_L3_error) } } } else { switch (__pyx_nargs) { case 2: values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1); if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 516, __pyx_L3_error) CYTHON_FALLTHROUGH; case 1: values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0); if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 516, __pyx_L3_error) break; default: goto __pyx_L5_argtuple_error; } if (!values[1]) values[1] = __Pyx_NewRef(((PyObject *)((PyObject*)Py_False))); } __pyx_v_data = values[0]; __pyx_v_decode_utf8 = values[1]; } goto __pyx_L6_skip; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("loads", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 516, __pyx_L3_error) __pyx_L6_skip:; goto __pyx_L4_argument_unpacking_done; __pyx_L3_error:; for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } __Pyx_AddTraceback("rencode._rencode.loads", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_7rencode_8_rencode_2loads(__pyx_self, __pyx_v_data, __pyx_v_decode_utf8); /* function exit code */ for (Py_ssize_t __pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) { Py_XDECREF(values[__pyx_temp]); } __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_7rencode_8_rencode_2loads(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_data, PyObject *__pyx_v_decode_utf8) { unsigned int __pyx_v_pos; PyObject *__pyx_r = NULL; /* … */ __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7rencode_8_rencode_3loads, 0, __pyx_mstate_global->__pyx_n_u_loads, NULL, __pyx_mstate_global->__pyx_n_u_rencode__rencode, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1])); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_mstate_global->__pyx_tuple[1]); if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_loads, __pyx_t_3) < 0) __PYX_ERR(0, 516, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
517: """
518: Decodes the string into an object
519:
520: :param data: the string to decode
521: :type data: bytes
522: :param decode_utf8: if True, will attempt to decode all str into unicode
523: objects using utf8
524: :type decode_utf8: bool
525: :return: The decoded object
526: :rtype: object
527: """
+528: cdef unsigned int pos = 0
__pyx_v_pos = 0;
529: global data_length
+530: data_length = len(data)
__pyx_t_1 = PyObject_Length(__pyx_v_data); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 530, __pyx_L1_error) __pyx_v_7rencode_8_rencode_data_length = __pyx_t_1;
531: global _decode_utf8
+532: _decode_utf8 = decode_utf8
__pyx_t_2 = __pyx_v_decode_utf8; __Pyx_INCREF(__pyx_t_2); if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_mstate_global->__pyx_ptype_7cpython_4bool_bool))))) __PYX_ERR(0, 532, __pyx_L1_error) __Pyx_XGOTREF((PyObject *)__pyx_v_7rencode_8_rencode__decode_utf8); __Pyx_DECREF_SET(__pyx_v_7rencode_8_rencode__decode_utf8, ((PyLongObject *)__pyx_t_2)); __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0;
+533: return decode(data, &pos)
__Pyx_XDECREF(__pyx_r); __pyx_t_3 = __Pyx_PyObject_AsWritableString(__pyx_v_data); if (unlikely((!__pyx_t_3) && PyErr_Occurred())) __PYX_ERR(0, 533, __pyx_L1_error) __pyx_t_2 = __pyx_f_7rencode_8_rencode_decode(__pyx_t_3, (&__pyx_v_pos)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0;