paul@38 | 1 | /* Generated by Pyrex 0.9.6.4 on Fri Sep 11 01:26:01 2009 */ |
paul@37 | 2 | |
paul@37 | 3 | #define PY_SSIZE_T_CLEAN |
paul@37 | 4 | #include "Python.h" |
paul@37 | 5 | #include "structmember.h" |
paul@37 | 6 | #ifndef PY_LONG_LONG |
paul@37 | 7 | #define PY_LONG_LONG LONG_LONG |
paul@37 | 8 | #endif |
paul@37 | 9 | #if PY_VERSION_HEX < 0x02050000 |
paul@37 | 10 | typedef int Py_ssize_t; |
paul@37 | 11 | #define PY_SSIZE_T_MAX INT_MAX |
paul@37 | 12 | #define PY_SSIZE_T_MIN INT_MIN |
paul@37 | 13 | #define PyInt_FromSsize_t(z) PyInt_FromLong(z) |
paul@37 | 14 | #define PyInt_AsSsize_t(o) PyInt_AsLong(o) |
paul@37 | 15 | #endif |
paul@37 | 16 | #ifndef WIN32 |
paul@37 | 17 | #ifndef __stdcall |
paul@37 | 18 | #define __stdcall |
paul@37 | 19 | #endif |
paul@37 | 20 | #ifndef __cdecl |
paul@37 | 21 | #define __cdecl |
paul@37 | 22 | #endif |
paul@37 | 23 | #endif |
paul@37 | 24 | #ifdef __cplusplus |
paul@37 | 25 | #define __PYX_EXTERN_C extern "C" |
paul@37 | 26 | #else |
paul@37 | 27 | #define __PYX_EXTERN_C extern |
paul@37 | 28 | #endif |
paul@37 | 29 | #include <math.h> |
paul@37 | 30 | |
paul@37 | 31 | |
paul@37 | 32 | typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/ |
paul@37 | 33 | typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/ |
paul@37 | 34 | |
paul@37 | 35 | static PyObject *__pyx_m; |
paul@37 | 36 | static PyObject *__pyx_b; |
paul@37 | 37 | static int __pyx_lineno; |
paul@37 | 38 | static char *__pyx_filename; |
paul@37 | 39 | static char **__pyx_f; |
paul@37 | 40 | |
paul@37 | 41 | static void __Pyx_AddTraceback(char *funcname); /*proto*/ |
paul@37 | 42 | |
paul@37 | 43 | /* Declarations from vint */ |
paul@37 | 44 | |
paul@37 | 45 | |
paul@37 | 46 | |
paul@37 | 47 | /* Implementation of vint */ |
paul@37 | 48 | |
paul@37 | 49 | static PyObject *__pyx_f_4vint_vint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ |
paul@37 | 50 | static PyObject *__pyx_f_4vint_vint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { |
paul@37 | 51 | int __pyx_v_number; |
paul@37 | 52 | char __pyx_v_bytes[40]; |
paul@37 | 53 | int __pyx_v_lsd; |
paul@37 | 54 | int __pyx_v_i; |
paul@37 | 55 | PyObject *__pyx_v_s; |
paul@37 | 56 | PyObject *__pyx_r; |
paul@37 | 57 | int __pyx_1; |
paul@37 | 58 | PyObject *__pyx_2 = 0; |
paul@37 | 59 | static char *__pyx_argnames[] = {"number",0}; |
paul@37 | 60 | if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "i", __pyx_argnames, &__pyx_v_number)) return 0; |
paul@37 | 61 | __pyx_v_s = Py_None; Py_INCREF(Py_None); |
paul@37 | 62 | |
paul@37 | 63 | /* "/home/paulb/Software/Python/iixr/vint.pyx":11 */ |
paul@38 | 64 | __pyx_1 = (__pyx_v_number < 128); |
paul@38 | 65 | if (__pyx_1) { |
paul@38 | 66 | |
paul@38 | 67 | /* "/home/paulb/Software/Python/iixr/vint.pyx":12 */ |
paul@38 | 68 | (__pyx_v_bytes[0]) = __pyx_v_number; |
paul@38 | 69 | |
paul@38 | 70 | /* "/home/paulb/Software/Python/iixr/vint.pyx":13 */ |
paul@38 | 71 | __pyx_2 = PyString_FromStringAndSize(__pyx_v_bytes,1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;} |
paul@38 | 72 | Py_DECREF(__pyx_v_s); |
paul@38 | 73 | __pyx_v_s = __pyx_2; |
paul@38 | 74 | __pyx_2 = 0; |
paul@38 | 75 | |
paul@38 | 76 | /* "/home/paulb/Software/Python/iixr/vint.pyx":14 */ |
paul@38 | 77 | Py_INCREF(__pyx_v_s); |
paul@38 | 78 | __pyx_r = __pyx_v_s; |
paul@38 | 79 | goto __pyx_L0; |
paul@38 | 80 | goto __pyx_L2; |
paul@38 | 81 | } |
paul@38 | 82 | __pyx_L2:; |
paul@38 | 83 | |
paul@38 | 84 | /* "/home/paulb/Software/Python/iixr/vint.pyx":16 */ |
paul@37 | 85 | __pyx_v_i = 0; |
paul@37 | 86 | |
paul@38 | 87 | /* "/home/paulb/Software/Python/iixr/vint.pyx":17 */ |
paul@37 | 88 | while (1) { |
paul@37 | 89 | __pyx_1 = (__pyx_v_number != 0); |
paul@37 | 90 | if (!__pyx_1) break; |
paul@37 | 91 | |
paul@38 | 92 | /* "/home/paulb/Software/Python/iixr/vint.pyx":18 */ |
paul@37 | 93 | __pyx_v_lsd = (__pyx_v_number & 127); |
paul@37 | 94 | |
paul@38 | 95 | /* "/home/paulb/Software/Python/iixr/vint.pyx":19 */ |
paul@37 | 96 | __pyx_v_number = (__pyx_v_number >> 7); |
paul@37 | 97 | |
paul@38 | 98 | /* "/home/paulb/Software/Python/iixr/vint.pyx":20 */ |
paul@37 | 99 | __pyx_1 = (__pyx_v_number != 0); |
paul@37 | 100 | if (__pyx_1) { |
paul@37 | 101 | __pyx_v_lsd = (__pyx_v_lsd | 128); |
paul@38 | 102 | goto __pyx_L5; |
paul@37 | 103 | } |
paul@38 | 104 | __pyx_L5:; |
paul@37 | 105 | |
paul@38 | 106 | /* "/home/paulb/Software/Python/iixr/vint.pyx":22 */ |
paul@37 | 107 | (__pyx_v_bytes[__pyx_v_i]) = __pyx_v_lsd; |
paul@37 | 108 | |
paul@38 | 109 | /* "/home/paulb/Software/Python/iixr/vint.pyx":23 */ |
paul@37 | 110 | __pyx_v_i = (__pyx_v_i + 1); |
paul@37 | 111 | } |
paul@37 | 112 | |
paul@38 | 113 | /* "/home/paulb/Software/Python/iixr/vint.pyx":25 */ |
paul@38 | 114 | __pyx_2 = PyString_FromStringAndSize(__pyx_v_bytes,__pyx_v_i); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;} |
paul@37 | 115 | Py_DECREF(__pyx_v_s); |
paul@37 | 116 | __pyx_v_s = __pyx_2; |
paul@37 | 117 | __pyx_2 = 0; |
paul@37 | 118 | |
paul@38 | 119 | /* "/home/paulb/Software/Python/iixr/vint.pyx":26 */ |
paul@37 | 120 | Py_INCREF(__pyx_v_s); |
paul@37 | 121 | __pyx_r = __pyx_v_s; |
paul@37 | 122 | goto __pyx_L0; |
paul@37 | 123 | |
paul@37 | 124 | __pyx_r = Py_None; Py_INCREF(Py_None); |
paul@37 | 125 | goto __pyx_L0; |
paul@37 | 126 | __pyx_L1:; |
paul@37 | 127 | Py_XDECREF(__pyx_2); |
paul@37 | 128 | __Pyx_AddTraceback("vint.vint"); |
paul@37 | 129 | __pyx_r = 0; |
paul@37 | 130 | __pyx_L0:; |
paul@37 | 131 | Py_DECREF(__pyx_v_s); |
paul@37 | 132 | return __pyx_r; |
paul@37 | 133 | } |
paul@37 | 134 | |
paul@37 | 135 | static struct PyMethodDef __pyx_methods[] = { |
paul@37 | 136 | {"vint", (PyCFunction)__pyx_f_4vint_vint, METH_VARARGS|METH_KEYWORDS, 0}, |
paul@37 | 137 | {0, 0, 0, 0} |
paul@37 | 138 | }; |
paul@37 | 139 | |
paul@37 | 140 | static void __pyx_init_filenames(void); /*proto*/ |
paul@37 | 141 | |
paul@37 | 142 | PyMODINIT_FUNC initvint(void); /*proto*/ |
paul@37 | 143 | PyMODINIT_FUNC initvint(void) { |
paul@37 | 144 | __pyx_init_filenames(); |
paul@37 | 145 | __pyx_m = Py_InitModule4("vint", __pyx_methods, 0, 0, PYTHON_API_VERSION); |
paul@37 | 146 | if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3; goto __pyx_L1;}; |
paul@37 | 147 | Py_INCREF(__pyx_m); |
paul@37 | 148 | __pyx_b = PyImport_AddModule("__builtin__"); |
paul@37 | 149 | if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3; goto __pyx_L1;}; |
paul@37 | 150 | if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3; goto __pyx_L1;}; |
paul@37 | 151 | |
paul@37 | 152 | /* "/home/paulb/Software/Python/iixr/vint.pyx":6 */ |
paul@37 | 153 | return; |
paul@37 | 154 | __pyx_L1:; |
paul@37 | 155 | __Pyx_AddTraceback("vint"); |
paul@37 | 156 | } |
paul@37 | 157 | |
paul@37 | 158 | static char *__pyx_filenames[] = { |
paul@37 | 159 | "vint.pyx", |
paul@37 | 160 | }; |
paul@37 | 161 | |
paul@37 | 162 | /* Runtime support code */ |
paul@37 | 163 | |
paul@37 | 164 | static void __pyx_init_filenames(void) { |
paul@37 | 165 | __pyx_f = __pyx_filenames; |
paul@37 | 166 | } |
paul@37 | 167 | |
paul@37 | 168 | #include "compile.h" |
paul@37 | 169 | #include "frameobject.h" |
paul@37 | 170 | #include "traceback.h" |
paul@37 | 171 | |
paul@37 | 172 | static void __Pyx_AddTraceback(char *funcname) { |
paul@37 | 173 | PyObject *py_srcfile = 0; |
paul@37 | 174 | PyObject *py_funcname = 0; |
paul@37 | 175 | PyObject *py_globals = 0; |
paul@37 | 176 | PyObject *empty_tuple = 0; |
paul@37 | 177 | PyObject *empty_string = 0; |
paul@37 | 178 | PyCodeObject *py_code = 0; |
paul@37 | 179 | PyFrameObject *py_frame = 0; |
paul@37 | 180 | |
paul@37 | 181 | py_srcfile = PyString_FromString(__pyx_filename); |
paul@37 | 182 | if (!py_srcfile) goto bad; |
paul@37 | 183 | py_funcname = PyString_FromString(funcname); |
paul@37 | 184 | if (!py_funcname) goto bad; |
paul@37 | 185 | py_globals = PyModule_GetDict(__pyx_m); |
paul@37 | 186 | if (!py_globals) goto bad; |
paul@37 | 187 | empty_tuple = PyTuple_New(0); |
paul@37 | 188 | if (!empty_tuple) goto bad; |
paul@37 | 189 | empty_string = PyString_FromString(""); |
paul@37 | 190 | if (!empty_string) goto bad; |
paul@37 | 191 | py_code = PyCode_New( |
paul@37 | 192 | 0, /*int argcount,*/ |
paul@37 | 193 | 0, /*int nlocals,*/ |
paul@37 | 194 | 0, /*int stacksize,*/ |
paul@37 | 195 | 0, /*int flags,*/ |
paul@37 | 196 | empty_string, /*PyObject *code,*/ |
paul@37 | 197 | empty_tuple, /*PyObject *consts,*/ |
paul@37 | 198 | empty_tuple, /*PyObject *names,*/ |
paul@37 | 199 | empty_tuple, /*PyObject *varnames,*/ |
paul@37 | 200 | empty_tuple, /*PyObject *freevars,*/ |
paul@37 | 201 | empty_tuple, /*PyObject *cellvars,*/ |
paul@37 | 202 | py_srcfile, /*PyObject *filename,*/ |
paul@37 | 203 | py_funcname, /*PyObject *name,*/ |
paul@37 | 204 | __pyx_lineno, /*int firstlineno,*/ |
paul@37 | 205 | empty_string /*PyObject *lnotab*/ |
paul@37 | 206 | ); |
paul@37 | 207 | if (!py_code) goto bad; |
paul@37 | 208 | py_frame = PyFrame_New( |
paul@37 | 209 | PyThreadState_Get(), /*PyThreadState *tstate,*/ |
paul@37 | 210 | py_code, /*PyCodeObject *code,*/ |
paul@37 | 211 | py_globals, /*PyObject *globals,*/ |
paul@37 | 212 | 0 /*PyObject *locals*/ |
paul@37 | 213 | ); |
paul@37 | 214 | if (!py_frame) goto bad; |
paul@37 | 215 | py_frame->f_lineno = __pyx_lineno; |
paul@37 | 216 | PyTraceBack_Here(py_frame); |
paul@37 | 217 | bad: |
paul@37 | 218 | Py_XDECREF(py_srcfile); |
paul@37 | 219 | Py_XDECREF(py_funcname); |
paul@37 | 220 | Py_XDECREF(empty_tuple); |
paul@37 | 221 | Py_XDECREF(empty_string); |
paul@37 | 222 | Py_XDECREF(py_code); |
paul@37 | 223 | Py_XDECREF(py_frame); |
paul@37 | 224 | } |