Ticket #4247: raiser.diff

File raiser.diff, 56.0 KB (added by loewis, 5 years ago)
  • twisted/test/raiser.c

     
    1 /* Generated by Pyrex 0.9.5.1a on Wed Apr  9 19:55:33 2008 */ 
     1/* Generated by Cython 0.12 on Sat Jan 30 18:57:30 2010 */ 
    22 
     3#define PY_SSIZE_T_CLEAN 
    34#include "Python.h" 
    45#include "structmember.h" 
     6#ifndef Py_PYTHON_H 
     7    #error Python headers needed to compile C extensions, please install development version of Python. 
     8#else 
    59#ifndef PY_LONG_LONG 
    610  #define PY_LONG_LONG LONG_LONG 
    711#endif 
     12#ifndef DL_EXPORT 
     13  #define DL_EXPORT(t) t 
     14#endif 
     15#if PY_VERSION_HEX < 0x02040000 
     16  #define METH_COEXIST 0 
     17  #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) 
     18  #define PyDict_Contains(d,o)   PySequence_Contains(d,o) 
     19#endif 
     20#if PY_VERSION_HEX < 0x02050000 
     21  typedef int Py_ssize_t; 
     22  #define PY_SSIZE_T_MAX INT_MAX 
     23  #define PY_SSIZE_T_MIN INT_MIN 
     24  #define PY_FORMAT_SIZE_T "" 
     25  #define PyInt_FromSsize_t(z) PyInt_FromLong(z) 
     26  #define PyInt_AsSsize_t(o)   PyInt_AsLong(o) 
     27  #define PyNumber_Index(o)    PyNumber_Int(o) 
     28  #define PyIndex_Check(o)     PyNumber_Check(o) 
     29#endif 
     30#if PY_VERSION_HEX < 0x02060000 
     31  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) 
     32  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type) 
     33  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size) 
     34  #define PyVarObject_HEAD_INIT(type, size) \ 
     35          PyObject_HEAD_INIT(type) size, 
     36  #define PyType_Modified(t) 
     37 
     38  typedef struct { 
     39       void *buf; 
     40       PyObject *obj; 
     41       Py_ssize_t len; 
     42       Py_ssize_t itemsize; 
     43       int readonly; 
     44       int ndim; 
     45       char *format; 
     46       Py_ssize_t *shape; 
     47       Py_ssize_t *strides; 
     48       Py_ssize_t *suboffsets; 
     49       void *internal; 
     50  } Py_buffer; 
     51 
     52  #define PyBUF_SIMPLE 0 
     53  #define PyBUF_WRITABLE 0x0001 
     54  #define PyBUF_FORMAT 0x0004 
     55  #define PyBUF_ND 0x0008 
     56  #define PyBUF_STRIDES (0x0010 | PyBUF_ND) 
     57  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) 
     58  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) 
     59  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) 
     60  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) 
     61 
     62#endif 
     63#if PY_MAJOR_VERSION < 3 
     64  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" 
     65#else 
     66  #define __Pyx_BUILTIN_MODULE_NAME "builtins" 
     67#endif 
     68#if PY_MAJOR_VERSION >= 3 
     69  #define Py_TPFLAGS_CHECKTYPES 0 
     70  #define Py_TPFLAGS_HAVE_INDEX 0 
     71#endif 
     72#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) 
     73  #define Py_TPFLAGS_HAVE_NEWBUFFER 0 
     74#endif 
     75#if PY_MAJOR_VERSION >= 3 
     76  #define PyBaseString_Type            PyUnicode_Type 
     77  #define PyString_Type                PyUnicode_Type 
     78  #define PyString_CheckExact          PyUnicode_CheckExact 
     79#else 
     80  #define PyBytes_Type                 PyString_Type 
     81  #define PyBytes_CheckExact           PyString_CheckExact 
     82#endif 
     83#if PY_MAJOR_VERSION >= 3 
     84  #define PyInt_Type                   PyLong_Type 
     85  #define PyInt_Check(op)              PyLong_Check(op) 
     86  #define PyInt_CheckExact(op)         PyLong_CheckExact(op) 
     87  #define PyInt_FromString             PyLong_FromString 
     88  #define PyInt_FromUnicode            PyLong_FromUnicode 
     89  #define PyInt_FromLong               PyLong_FromLong 
     90  #define PyInt_FromSize_t             PyLong_FromSize_t 
     91  #define PyInt_FromSsize_t            PyLong_FromSsize_t 
     92  #define PyInt_AsLong                 PyLong_AsLong 
     93  #define PyInt_AS_LONG                PyLong_AS_LONG 
     94  #define PyInt_AsSsize_t              PyLong_AsSsize_t 
     95  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask 
     96  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask 
     97  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y) 
     98  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y) 
     99#else 
     100  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y) 
     101  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y) 
     102#endif 
     103#if PY_MAJOR_VERSION >= 3 
     104  #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) 
     105#endif 
     106#if !defined(WIN32) && !defined(MS_WINDOWS) 
     107  #ifndef __stdcall 
     108    #define __stdcall 
     109  #endif 
     110  #ifndef __cdecl 
     111    #define __cdecl 
     112  #endif 
     113  #ifndef __fastcall 
     114    #define __fastcall 
     115  #endif 
     116#else 
     117  #define _USE_MATH_DEFINES 
     118#endif 
     119#if PY_VERSION_HEX < 0x02050000 
     120  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n))) 
     121  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) 
     122  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n))) 
     123#else 
     124  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n)) 
     125  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) 
     126  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n)) 
     127#endif 
     128#if PY_VERSION_HEX < 0x02050000 
     129  #define __Pyx_NAMESTR(n) ((char *)(n)) 
     130  #define __Pyx_DOCSTR(n)  ((char *)(n)) 
     131#else 
     132  #define __Pyx_NAMESTR(n) (n) 
     133  #define __Pyx_DOCSTR(n)  (n) 
     134#endif 
    8135#ifdef __cplusplus 
    9136#define __PYX_EXTERN_C extern "C" 
    10137#else 
    11138#define __PYX_EXTERN_C extern 
    12139#endif 
    13 __PYX_EXTERN_C double pow(double, double); 
     140#include <math.h> 
     141#define __PYX_HAVE_API__twisted__test__raiser 
    14142 
     143#ifdef __GNUC__ 
     144#define INLINE __inline__ 
     145#elif _WIN32 
     146#define INLINE __inline 
     147#else 
     148#define INLINE  
     149#endif 
    15150 
    16 typedef struct {PyObject **p; char *s;} __Pyx_InternTabEntry; /*proto*/ 
    17 typedef struct {PyObject **p; char *s; long n;} __Pyx_StringTabEntry; /*proto*/ 
     151typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/ 
    18152 
     153 
     154/* Type Conversion Predeclarations */ 
     155 
     156#if PY_MAJOR_VERSION < 3 
     157#define __Pyx_PyBytes_FromString          PyString_FromString 
     158#define __Pyx_PyBytes_FromStringAndSize   PyString_FromStringAndSize 
     159#define __Pyx_PyBytes_AsString            PyString_AsString 
     160#else 
     161#define __Pyx_PyBytes_FromString          PyBytes_FromString 
     162#define __Pyx_PyBytes_FromStringAndSize   PyBytes_FromStringAndSize 
     163#define __Pyx_PyBytes_AsString            PyBytes_AsString 
     164#endif 
     165 
     166#define __Pyx_PyBytes_FromUString(s)      __Pyx_PyBytes_FromString((char*)s) 
     167#define __Pyx_PyBytes_AsUString(s)        ((unsigned char*) __Pyx_PyBytes_AsString(s)) 
     168 
     169#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) 
     170static INLINE int __Pyx_PyObject_IsTrue(PyObject*); 
     171static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); 
     172 
     173#if !defined(T_PYSSIZET) 
     174#if PY_VERSION_HEX < 0x02050000 
     175#define T_PYSSIZET T_INT 
     176#elif !defined(T_LONGLONG) 
     177#define T_PYSSIZET \ 
     178        ((sizeof(Py_ssize_t) == sizeof(int))  ? T_INT  : \ 
     179        ((sizeof(Py_ssize_t) == sizeof(long)) ? T_LONG : -1)) 
     180#else 
     181#define T_PYSSIZET \ 
     182        ((sizeof(Py_ssize_t) == sizeof(int))          ? T_INT      : \ 
     183        ((sizeof(Py_ssize_t) == sizeof(long))         ? T_LONG     : \ 
     184        ((sizeof(Py_ssize_t) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))) 
     185#endif 
     186#endif 
     187 
     188 
     189#if !defined(T_ULONGLONG) 
     190#define __Pyx_T_UNSIGNED_INT(x) \ 
     191        ((sizeof(x) == sizeof(unsigned char))  ? T_UBYTE : \ 
     192        ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ 
     193        ((sizeof(x) == sizeof(unsigned int))   ? T_UINT : \ 
     194        ((sizeof(x) == sizeof(unsigned long))  ? T_ULONG : -1)))) 
     195#else 
     196#define __Pyx_T_UNSIGNED_INT(x) \ 
     197        ((sizeof(x) == sizeof(unsigned char))  ? T_UBYTE : \ 
     198        ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ 
     199        ((sizeof(x) == sizeof(unsigned int))   ? T_UINT : \ 
     200        ((sizeof(x) == sizeof(unsigned long))  ? T_ULONG : \ 
     201        ((sizeof(x) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))))) 
     202#endif 
     203#if !defined(T_LONGLONG) 
     204#define __Pyx_T_SIGNED_INT(x) \ 
     205        ((sizeof(x) == sizeof(char))  ? T_BYTE : \ 
     206        ((sizeof(x) == sizeof(short)) ? T_SHORT : \ 
     207        ((sizeof(x) == sizeof(int))   ? T_INT : \ 
     208        ((sizeof(x) == sizeof(long))  ? T_LONG : -1)))) 
     209#else 
     210#define __Pyx_T_SIGNED_INT(x) \ 
     211        ((sizeof(x) == sizeof(char))  ? T_BYTE : \ 
     212        ((sizeof(x) == sizeof(short)) ? T_SHORT : \ 
     213        ((sizeof(x) == sizeof(int))   ? T_INT : \ 
     214        ((sizeof(x) == sizeof(long))  ? T_LONG : \ 
     215        ((sizeof(x) == sizeof(PY_LONG_LONG))   ? T_LONGLONG : -1))))) 
     216#endif 
     217 
     218#define __Pyx_T_FLOATING(x) \ 
     219        ((sizeof(x) == sizeof(float)) ? T_FLOAT : \ 
     220        ((sizeof(x) == sizeof(double)) ? T_DOUBLE : -1)) 
     221 
     222#if !defined(T_SIZET) 
     223#if !defined(T_ULONGLONG) 
     224#define T_SIZET \ 
     225        ((sizeof(size_t) == sizeof(unsigned int))  ? T_UINT  : \ 
     226        ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : -1)) 
     227#else 
     228#define T_SIZET \ 
     229        ((sizeof(size_t) == sizeof(unsigned int))          ? T_UINT      : \ 
     230        ((sizeof(size_t) == sizeof(unsigned long))         ? T_ULONG     : \ 
     231        ((sizeof(size_t) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))) 
     232#endif 
     233#endif 
     234 
     235static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); 
     236static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); 
     237static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); 
     238 
     239#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) 
     240 
     241 
     242#ifdef __GNUC__ 
     243/* Test for GCC > 2.95 */ 
     244#if __GNUC__ > 2 ||               (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))  
     245#define likely(x)   __builtin_expect(!!(x), 1) 
     246#define unlikely(x) __builtin_expect(!!(x), 0) 
     247#else /* __GNUC__ > 2 ... */ 
     248#define likely(x)   (x) 
     249#define unlikely(x) (x) 
     250#endif /* __GNUC__ > 2 ... */ 
     251#else /* __GNUC__ */ 
     252#define likely(x)   (x) 
     253#define unlikely(x) (x) 
     254#endif /* __GNUC__ */ 
     255     
    19256static PyObject *__pyx_m; 
    20257static PyObject *__pyx_b; 
     258static PyObject *__pyx_empty_tuple; 
     259static PyObject *__pyx_empty_bytes; 
    21260static int __pyx_lineno; 
    22 static char *__pyx_filename; 
    23 static char **__pyx_f; 
     261static int __pyx_clineno = 0; 
     262static const char * __pyx_cfilenm= __FILE__; 
     263static const char *__pyx_filename; 
     264static const char **__pyx_f; 
    24265 
    25 static char __pyx_mdoc[] = "\nA trivial extension that just raises an exception.\nSee L{twisted.test.test_failure.test_failureConstructionWithMungedStackSucceeds}.\n"; 
    26266 
     267/* Type declarations */ 
     268 
     269#ifndef CYTHON_REFNANNY 
     270  #define CYTHON_REFNANNY 0 
     271#endif 
     272 
     273#if CYTHON_REFNANNY 
     274  typedef struct { 
     275    void (*INCREF)(void*, PyObject*, int); 
     276    void (*DECREF)(void*, PyObject*, int); 
     277    void (*GOTREF)(void*, PyObject*, int); 
     278    void (*GIVEREF)(void*, PyObject*, int); 
     279    void* (*SetupContext)(const char*, int, const char*); 
     280    void (*FinishContext)(void**); 
     281  } __Pyx_RefNannyAPIStruct; 
     282  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; 
     283  static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { 
     284    PyObject *m = NULL, *p = NULL; 
     285    void *r = NULL; 
     286    m = PyImport_ImportModule((char *)modname); 
     287    if (!m) goto end; 
     288    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); 
     289    if (!p) goto end; 
     290    r = PyLong_AsVoidPtr(p); 
     291  end: 
     292    Py_XDECREF(p); 
     293    Py_XDECREF(m); 
     294    return (__Pyx_RefNannyAPIStruct *)r; 
     295  } 
     296  #define __Pyx_RefNannySetupContext(name)           void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) 
     297  #define __Pyx_RefNannyFinishContext()           __Pyx_RefNanny->FinishContext(&__pyx_refnanny) 
     298  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) 
     299  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) 
     300  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) 
     301  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) 
     302  #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) 
     303#else 
     304  #define __Pyx_RefNannySetupContext(name) 
     305  #define __Pyx_RefNannyFinishContext() 
     306  #define __Pyx_INCREF(r) Py_INCREF(r) 
     307  #define __Pyx_DECREF(r) Py_DECREF(r) 
     308  #define __Pyx_GOTREF(r) 
     309  #define __Pyx_GIVEREF(r) 
     310  #define __Pyx_XDECREF(r) Py_XDECREF(r) 
     311#endif /* CYTHON_REFNANNY */ 
     312#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) 
     313#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) 
     314 
    27315static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ 
    28316 
    29 static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, char *modname); /*proto*/ 
     317static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name, const char *modname); /*proto*/ 
    30318 
     319static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ 
     320static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ 
     321 
    31322static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ 
    32323 
    33 static int __Pyx_InternStrings(__Pyx_InternTabEntry *t); /*proto*/ 
     324static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); 
    34325 
    35 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ 
     326static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); 
    36327 
    37 static void __Pyx_AddTraceback(char *funcname); /*proto*/ 
     328static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); 
    38329 
    39 /* Declarations from raiser */ 
     330static INLINE char __Pyx_PyInt_AsChar(PyObject *); 
    40331 
     332static INLINE short __Pyx_PyInt_AsShort(PyObject *); 
    41333 
     334static INLINE int __Pyx_PyInt_AsInt(PyObject *); 
    42335 
    43 /* Implementation of raiser */ 
     336static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); 
    44337 
    45 static char (__pyx_k2[]) = "\n    A speficic exception only used to be identified in tests.\n    "; 
     338static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); 
    46339 
    47 static PyObject *__pyx_n_RaiserException; 
    48 static PyObject *__pyx_n_raiseException; 
    49 static PyObject *__pyx_n_Exception; 
     340static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); 
    50341 
    51 static PyObject *__pyx_k2p; 
     342static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); 
    52343 
    53 static PyObject *__pyx_k3p; 
     344static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); 
    54345 
    55 static char (__pyx_k3[]) = "This function is intentionally broken"; 
     346static INLINE long __Pyx_PyInt_AsLong(PyObject *); 
    56347 
    57 static PyObject *__pyx_f_6raiser_raiseException(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ 
    58 static char __pyx_doc_6raiser_raiseException[] = "\n    Raise L{RaiserException}.\n    "; 
    59 static PyObject *__pyx_f_6raiser_raiseException(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { 
    60   PyObject *__pyx_r; 
    61   PyObject *__pyx_1 = 0; 
    62   PyObject *__pyx_2 = 0; 
    63   PyObject *__pyx_3 = 0; 
    64   static char *__pyx_argnames[] = {0}; 
    65   if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0; 
     348static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); 
    66349 
    67   /* "/home/therve/Projects/Twisted/branches/failure-c-extension-3132/twisted/test/raiser.pyx":21 */ 
    68   __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_RaiserException); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} 
    69   __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} 
    70   Py_INCREF(__pyx_k3p); 
    71   PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k3p); 
    72   __pyx_3 = PyObject_CallObject(__pyx_1, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} 
    73   Py_DECREF(__pyx_1); __pyx_1 = 0; 
    74   Py_DECREF(__pyx_2); __pyx_2 = 0; 
    75   __Pyx_Raise(__pyx_3, 0, 0); 
    76   Py_DECREF(__pyx_3); __pyx_3 = 0; 
    77   {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} 
     350static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); 
    78351 
    79   __pyx_r = Py_None; Py_INCREF(Py_None); 
     352static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); 
     353 
     354static void __Pyx_AddTraceback(const char *funcname); /*proto*/ 
     355 
     356static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ 
     357/* Module declarations from b'twisted.test.raiser' */ 
     358 
     359#define __Pyx_MODULE_NAME "twisted.test.raiser" 
     360int __pyx_module_is_main_twisted__test__raiser = 0; 
     361 
     362/* Implementation of twisted.test.raiser */ 
     363static PyObject *__pyx_builtin_Exception; 
     364static char __pyx_k_1[] = "This function is intentionally broken"; 
     365static char __pyx_k_2[] = "\nA trivial extension that just raises an exception.\nSee L{twisted.test.test_failure.test_failureConstructionWithMungedStackSucceeds}.\n"; 
     366static char __pyx_k_3[] = "\n    A speficic exception only used to be identified in tests.\n    "; 
     367static char __pyx_k_4[] = "raiseException (line 17)"; 
     368static char __pyx_k____main__[] = "__main__"; 
     369static char __pyx_k____test__[] = "__test__"; 
     370static char __pyx_k__Exception[] = "Exception"; 
     371static char __pyx_k__raiseException[] = "raiseException"; 
     372static char __pyx_k__RaiserException[] = "RaiserException"; 
     373static PyObject *__pyx_kp_s_1; 
     374static PyObject *__pyx_kp_s_3; 
     375static PyObject *__pyx_kp_u_4; 
     376static PyObject *__pyx_n_s__Exception; 
     377static PyObject *__pyx_n_s__RaiserException; 
     378static PyObject *__pyx_n_s____main__; 
     379static PyObject *__pyx_n_s____test__; 
     380static PyObject *__pyx_n_s__raiseException; 
     381 
     382/* "/home/martin/work/twisted.3k/twisted/test/raiser.pyx":17 
     383 *  
     384 *  
     385 * def raiseException():             # <<<<<<<<<<<<<< 
     386 *     """ 
     387 *     Raise L{RaiserException}. 
     388 */ 
     389 
     390static PyObject *__pyx_pf_7twisted_4test_6raiser_raiseException(PyObject *__pyx_self, PyObject *unused); /*proto*/ 
     391static char __pyx_doc_7twisted_4test_6raiser_raiseException[] = "\n    Raise L{RaiserException}.\n    "; 
     392static PyObject *__pyx_pf_7twisted_4test_6raiser_raiseException(PyObject *__pyx_self, PyObject *unused) { 
     393  PyObject *__pyx_r = NULL; 
     394  PyObject *__pyx_t_1 = NULL; 
     395  PyObject *__pyx_t_2 = NULL; 
     396  PyObject *__pyx_t_3 = NULL; 
     397  __Pyx_RefNannySetupContext("raiseException"); 
     398  __pyx_self = __pyx_self; 
     399 
     400  /* "/home/martin/work/twisted.3k/twisted/test/raiser.pyx":21 
     401 *     Raise L{RaiserException}. 
     402 *     """ 
     403 *     raise RaiserException("This function is intentionally broken")             # <<<<<<<<<<<<<< 
     404 */ 
     405  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__RaiserException); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     406  __Pyx_GOTREF(__pyx_t_1); 
     407  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     408  __Pyx_GOTREF(__pyx_t_2); 
     409  __Pyx_INCREF(((PyObject *)__pyx_kp_s_1)); 
     410  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_1)); 
     411  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_1)); 
     412  __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     413  __Pyx_GOTREF(__pyx_t_3); 
     414  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; 
     415  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; 
     416  __Pyx_Raise(__pyx_t_3, 0, 0); 
     417  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; 
     418  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     419 
     420  __pyx_r = Py_None; __Pyx_INCREF(Py_None); 
    80421  goto __pyx_L0; 
    81   __pyx_L1:; 
    82   Py_XDECREF(__pyx_1); 
    83   Py_XDECREF(__pyx_2); 
    84   Py_XDECREF(__pyx_3); 
    85   __Pyx_AddTraceback("raiser.raiseException"); 
    86   __pyx_r = 0; 
     422  __pyx_L1_error:; 
     423  __Pyx_XDECREF(__pyx_t_1); 
     424  __Pyx_XDECREF(__pyx_t_2); 
     425  __Pyx_XDECREF(__pyx_t_3); 
     426  __Pyx_AddTraceback("twisted.test.raiser.raiseException"); 
     427  __pyx_r = NULL; 
    87428  __pyx_L0:; 
     429  __Pyx_XGIVEREF(__pyx_r); 
     430  __Pyx_RefNannyFinishContext(); 
    88431  return __pyx_r; 
    89432} 
    90433 
    91 static __Pyx_InternTabEntry __pyx_intern_tab[] = { 
    92   {&__pyx_n_Exception, "Exception"}, 
    93   {&__pyx_n_RaiserException, "RaiserException"}, 
    94   {&__pyx_n_raiseException, "raiseException"}, 
    95   {0, 0} 
     434static struct PyMethodDef __pyx_methods[] = { 
     435  {__Pyx_NAMESTR("raiseException"), (PyCFunction)__pyx_pf_7twisted_4test_6raiser_raiseException, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_7twisted_4test_6raiser_raiseException)}, 
     436  {0, 0, 0, 0} 
    96437}; 
    97438 
    98 static __Pyx_StringTabEntry __pyx_string_tab[] = { 
    99   {&__pyx_k2p, __pyx_k2, sizeof(__pyx_k2)}, 
    100   {&__pyx_k3p, __pyx_k3, sizeof(__pyx_k3)}, 
    101   {0, 0, 0} 
     439static void __pyx_init_filenames(void); /*proto*/ 
     440 
     441#if PY_MAJOR_VERSION >= 3 
     442static struct PyModuleDef __pyx_moduledef = { 
     443    PyModuleDef_HEAD_INIT, 
     444    __Pyx_NAMESTR("raiser"), 
     445    __Pyx_DOCSTR(__pyx_k_2), /* m_doc */ 
     446    -1, /* m_size */ 
     447    __pyx_methods /* m_methods */, 
     448    NULL, /* m_reload */ 
     449    NULL, /* m_traverse */ 
     450    NULL, /* m_clear */ 
     451    NULL /* m_free */ 
    102452}; 
     453#endif 
    103454 
    104 static struct PyMethodDef __pyx_methods[] = { 
    105   {"raiseException", (PyCFunction)__pyx_f_6raiser_raiseException, METH_VARARGS|METH_KEYWORDS, __pyx_doc_6raiser_raiseException}, 
    106   {0, 0, 0, 0} 
     455static __Pyx_StringTabEntry __pyx_string_tab[] = { 
     456  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, 
     457  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0}, 
     458  {&__pyx_kp_u_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 1, 0, 0}, 
     459  {&__pyx_n_s__Exception, __pyx_k__Exception, sizeof(__pyx_k__Exception), 0, 0, 1, 1}, 
     460  {&__pyx_n_s__RaiserException, __pyx_k__RaiserException, sizeof(__pyx_k__RaiserException), 0, 0, 1, 1}, 
     461  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, 
     462  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1}, 
     463  {&__pyx_n_s__raiseException, __pyx_k__raiseException, sizeof(__pyx_k__raiseException), 0, 0, 1, 1}, 
     464  {0, 0, 0, 0, 0, 0, 0} 
    107465}; 
     466static int __Pyx_InitCachedBuiltins(void) { 
     467  __pyx_builtin_Exception = __Pyx_GetName(__pyx_b, __pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     468  return 0; 
     469  __pyx_L1_error:; 
     470  return -1; 
     471} 
    108472 
    109 static void __pyx_init_filenames(void); /*proto*/ 
     473static int __Pyx_InitGlobals(void) { 
     474  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; 
     475  return 0; 
     476  __pyx_L1_error:; 
     477  return -1; 
     478} 
    110479 
     480#if PY_MAJOR_VERSION < 3 
    111481PyMODINIT_FUNC initraiser(void); /*proto*/ 
    112 PyMODINIT_FUNC initraiser(void) { 
    113   PyObject *__pyx_1 = 0; 
    114   PyObject *__pyx_2 = 0; 
    115   PyObject *__pyx_3 = 0; 
     482PyMODINIT_FUNC initraiser(void) 
     483#else 
     484PyMODINIT_FUNC PyInit_raiser(void); /*proto*/ 
     485PyMODINIT_FUNC PyInit_raiser(void) 
     486#endif 
     487{ 
     488  PyObject *__pyx_t_1 = NULL; 
     489  PyObject *__pyx_t_2 = NULL; 
     490  PyObject *__pyx_t_3 = NULL; 
     491  #if CYTHON_REFNANNY 
     492  void* __pyx_refnanny = NULL; 
     493  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); 
     494  if (!__Pyx_RefNanny) { 
     495      PyErr_Clear(); 
     496      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); 
     497      if (!__Pyx_RefNanny) 
     498          Py_FatalError("failed to import 'refnanny' module"); 
     499  } 
     500  __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_raiser(void)", __LINE__, __FILE__); 
     501  #endif 
    116502  __pyx_init_filenames(); 
    117   __pyx_m = Py_InitModule4("raiser", __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION); 
    118   if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;}; 
    119   __pyx_b = PyImport_AddModule("__builtin__"); 
    120   if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;}; 
    121   if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;}; 
    122   if (__Pyx_InternStrings(__pyx_intern_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;}; 
    123   if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 4; goto __pyx_L1;}; 
     503  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     504  #if PY_MAJOR_VERSION < 3 
     505  __pyx_empty_bytes = PyString_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     506  #else 
     507  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     508  #endif 
     509  /*--- Library function declarations ---*/ 
     510  /*--- Threads initialization code ---*/ 
     511  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS 
     512  #ifdef WITH_THREAD /* Python build with threading support? */ 
     513  PyEval_InitThreads(); 
     514  #endif 
     515  #endif 
     516  /*--- Module creation code ---*/ 
     517  #if PY_MAJOR_VERSION < 3 
     518  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("raiser"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_2), 0, PYTHON_API_VERSION); 
     519  #else 
     520  __pyx_m = PyModule_Create(&__pyx_moduledef); 
     521  #endif 
     522  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; 
     523  #if PY_MAJOR_VERSION < 3 
     524  Py_INCREF(__pyx_m); 
     525  #endif 
     526  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); 
     527  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; 
     528  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; 
     529  /*--- Initialize various global constants etc. ---*/ 
     530  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     531  if (__pyx_module_is_main_twisted__test__raiser) { 
     532    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; 
     533  } 
     534  /*--- Builtin init code ---*/ 
     535  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     536  /*--- Global init code ---*/ 
     537  /*--- Function export code ---*/ 
     538  /*--- Type init code ---*/ 
     539  /*--- Type import code ---*/ 
     540  /*--- Function import code ---*/ 
     541  /*--- Execution code ---*/ 
    124542 
    125   /* "/home/therve/Projects/Twisted/branches/failure-c-extension-3132/twisted/test/raiser.pyx":11 */ 
    126   __pyx_1 = PyDict_New(); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} 
    127   __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_Exception); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} 
    128   __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} 
    129   PyTuple_SET_ITEM(__pyx_3, 0, __pyx_2); 
    130   __pyx_2 = 0; 
    131   if (PyDict_SetItemString(__pyx_1, "__doc__", __pyx_k2p) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} 
    132   __pyx_2 = __Pyx_CreateClass(__pyx_3, __pyx_1, __pyx_n_RaiserException, "raiser"); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} 
    133   Py_DECREF(__pyx_3); __pyx_3 = 0; 
    134   if (PyObject_SetAttr(__pyx_m, __pyx_n_RaiserException, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; goto __pyx_L1;} 
    135   Py_DECREF(__pyx_2); __pyx_2 = 0; 
    136   Py_DECREF(__pyx_1); __pyx_1 = 0; 
     543  /* "/home/martin/work/twisted.3k/twisted/test/raiser.pyx":11 
     544 *  
     545 *  
     546 * class RaiserException(Exception):             # <<<<<<<<<<<<<< 
     547 *     """ 
     548 *     A speficic exception only used to be identified in tests. 
     549 */ 
     550  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     551  __Pyx_GOTREF(((PyObject *)__pyx_t_1)); 
     552  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     553  __Pyx_GOTREF(__pyx_t_2); 
     554  __Pyx_INCREF(__pyx_builtin_Exception); 
     555  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_builtin_Exception); 
     556  __Pyx_GIVEREF(__pyx_builtin_Exception); 
     557  if (PyDict_SetItemString(((PyObject *)__pyx_t_1), "__doc__", ((PyObject *)__pyx_kp_s_3)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     558  __pyx_t_3 = __Pyx_CreateClass(__pyx_t_2, ((PyObject *)__pyx_t_1), __pyx_n_s__RaiserException, "twisted.test.raiser"); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     559  __Pyx_GOTREF(__pyx_t_3); 
     560  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; 
     561  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__RaiserException, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     562  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; 
     563  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; 
    137564 
    138   /* "/home/therve/Projects/Twisted/branches/failure-c-extension-3132/twisted/test/raiser.pyx":17 */ 
     565  /* "/home/martin/work/twisted.3k/twisted/test/raiser.pyx":1 
     566 * # Copyright (c) 2008 Twisted Matrix Laboratories.             # <<<<<<<<<<<<<< 
     567 * # See LICENSE for details. 
     568 *  
     569 */ 
     570  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     571  __Pyx_GOTREF(((PyObject *)__pyx_t_1)); 
     572  __pyx_t_3 = PyObject_GetAttr(__pyx_m, __pyx_n_s__raiseException); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     573  __Pyx_GOTREF(__pyx_t_3); 
     574  __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); 
     575  __Pyx_GOTREF(__pyx_t_2); 
     576  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; 
     577  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_4), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     578  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; 
     579  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
     580  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; 
     581  goto __pyx_L0; 
     582  __pyx_L1_error:; 
     583  __Pyx_XDECREF(__pyx_t_1); 
     584  __Pyx_XDECREF(__pyx_t_2); 
     585  __Pyx_XDECREF(__pyx_t_3); 
     586  if (__pyx_m) { 
     587    __Pyx_AddTraceback("init twisted.test.raiser"); 
     588    Py_DECREF(__pyx_m); __pyx_m = 0; 
     589  } else if (!PyErr_Occurred()) { 
     590    PyErr_SetString(PyExc_ImportError, "init twisted.test.raiser"); 
     591  } 
     592  __pyx_L0:; 
     593  __Pyx_RefNannyFinishContext(); 
     594  #if PY_MAJOR_VERSION < 3 
    139595  return; 
    140   __pyx_L1:; 
    141   Py_XDECREF(__pyx_1); 
    142   Py_XDECREF(__pyx_2); 
    143   Py_XDECREF(__pyx_3); 
    144   __Pyx_AddTraceback("raiser"); 
     596  #else 
     597  return __pyx_m; 
     598  #endif 
    145599} 
    146600 
    147 static char *__pyx_filenames[] = { 
     601static const char *__pyx_filenames[] = { 
    148602  "raiser.pyx", 
    149603}; 
    150604 
     
    163617} 
    164618 
    165619static PyObject *__Pyx_CreateClass( 
    166     PyObject *bases, PyObject *dict, PyObject *name, char *modname) 
     620    PyObject *bases, PyObject *dict, PyObject *name, const char *modname) 
    167621{ 
    168622    PyObject *py_modname; 
    169623    PyObject *result = 0; 
    170      
     624 
     625    #if PY_MAJOR_VERSION < 3 
    171626    py_modname = PyString_FromString(modname); 
     627    #else 
     628    py_modname = PyUnicode_FromString(modname); 
     629    #endif 
    172630    if (!py_modname) 
    173631        goto bad; 
    174632    if (PyDict_SetItemString(dict, "__module__", py_modname) < 0) 
    175633        goto bad; 
     634    #if PY_MAJOR_VERSION < 3 
    176635    result = PyClass_New(bases, dict, name); 
     636    #else 
     637    result = PyObject_CallFunctionObjArgs((PyObject *)&PyType_Type, name, bases, dict, NULL); 
     638    #endif 
    177639bad: 
    178640    Py_XDECREF(py_modname); 
    179641    return result; 
    180642} 
    181643 
     644static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { 
     645    PyObject *tmp_type, *tmp_value, *tmp_tb; 
     646    PyThreadState *tstate = PyThreadState_GET(); 
     647 
     648    tmp_type = tstate->curexc_type; 
     649    tmp_value = tstate->curexc_value; 
     650    tmp_tb = tstate->curexc_traceback; 
     651    tstate->curexc_type = type; 
     652    tstate->curexc_value = value; 
     653    tstate->curexc_traceback = tb; 
     654    Py_XDECREF(tmp_type); 
     655    Py_XDECREF(tmp_value); 
     656    Py_XDECREF(tmp_tb); 
     657} 
     658 
     659static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { 
     660    PyThreadState *tstate = PyThreadState_GET(); 
     661    *type = tstate->curexc_type; 
     662    *value = tstate->curexc_value; 
     663    *tb = tstate->curexc_traceback; 
     664 
     665    tstate->curexc_type = 0; 
     666    tstate->curexc_value = 0; 
     667    tstate->curexc_traceback = 0; 
     668} 
     669 
     670 
     671#if PY_MAJOR_VERSION < 3 
    182672static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { 
    183673    Py_XINCREF(type); 
    184674    Py_XINCREF(value); 
     
    198688        value = Py_None; 
    199689        Py_INCREF(value); 
    200690    } 
    201     /* Next, repeatedly, replace a tuple exception with its first item */ 
    202     while (PyTuple_Check(type) && PyTuple_Size(type) > 0) { 
    203         PyObject *tmp = type; 
    204         type = PyTuple_GET_ITEM(type, 0); 
    205         Py_INCREF(type); 
    206         Py_DECREF(tmp); 
    207     } 
    208     if (PyString_Check(type)) { 
    209         if (PyErr_Warn(PyExc_DeprecationWarning, 
    210                 "raising a string exception is deprecated")) 
    211             goto raise_error; 
    212     } 
    213     else if (PyType_Check(type) || PyClass_Check(type)) 
    214         ; /*PyErr_NormalizeException(&type, &value, &tb);*/ 
    215     else { 
     691    #if PY_VERSION_HEX < 0x02050000 
     692    if (!PyClass_Check(type)) 
     693    #else 
     694    if (!PyType_Check(type)) 
     695    #endif 
     696    { 
    216697        /* Raising an instance.  The value should be a dummy. */ 
    217698        if (value != Py_None) { 
    218699            PyErr_SetString(PyExc_TypeError, 
     
    222703        /* Normalize to raise <class>, <instance> */ 
    223704        Py_DECREF(value); 
    224705        value = type; 
    225         if (PyInstance_Check(type)) 
    226             type = (PyObject*) ((PyInstanceObject*)type)->in_class; 
    227         else 
    228             type = (PyObject*) type->ob_type; 
    229         Py_INCREF(type); 
     706        #if PY_VERSION_HEX < 0x02050000 
     707            if (PyInstance_Check(type)) { 
     708                type = (PyObject*) ((PyInstanceObject*)type)->in_class; 
     709                Py_INCREF(type); 
     710            } 
     711            else { 
     712                type = 0; 
     713                PyErr_SetString(PyExc_TypeError, 
     714                    "raise: exception must be an old-style class or instance"); 
     715                goto raise_error; 
     716            } 
     717        #else 
     718            type = (PyObject*) Py_TYPE(type); 
     719            Py_INCREF(type); 
     720            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { 
     721                PyErr_SetString(PyExc_TypeError, 
     722                    "raise: exception class must be a subclass of BaseException"); 
     723                goto raise_error; 
     724            } 
     725        #endif 
    230726    } 
    231     PyErr_Restore(type, value, tb); 
     727 
     728    __Pyx_ErrRestore(type, value, tb); 
    232729    return; 
    233730raise_error: 
    234731    Py_XDECREF(value); 
     
    237734    return; 
    238735} 
    239736 
    240 static int __Pyx_InternStrings(__Pyx_InternTabEntry *t) { 
    241     while (t->p) { 
    242         *t->p = PyString_InternFromString(t->s); 
    243         if (!*t->p) 
    244             return -1; 
    245         ++t; 
     737#else /* Python 3+ */ 
     738 
     739static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { 
     740    if (tb == Py_None) { 
     741        tb = 0; 
     742    } else if (tb && !PyTraceBack_Check(tb)) { 
     743        PyErr_SetString(PyExc_TypeError, 
     744            "raise: arg 3 must be a traceback or None"); 
     745        goto bad; 
    246746    } 
    247     return 0; 
     747    if (value == Py_None) 
     748        value = 0; 
     749 
     750    if (PyExceptionInstance_Check(type)) { 
     751        if (value) { 
     752            PyErr_SetString(PyExc_TypeError, 
     753                "instance exception may not have a separate value"); 
     754            goto bad; 
     755        } 
     756        value = type; 
     757        type = (PyObject*) Py_TYPE(value); 
     758    } else if (!PyExceptionClass_Check(type)) { 
     759        PyErr_SetString(PyExc_TypeError, 
     760            "raise: exception class must be a subclass of BaseException"); 
     761        goto bad; 
     762    } 
     763 
     764    PyErr_SetObject(type, value); 
     765 
     766    if (tb) { 
     767        PyThreadState *tstate = PyThreadState_GET(); 
     768        PyObject* tmp_tb = tstate->curexc_traceback; 
     769        if (tb != tmp_tb) { 
     770            Py_INCREF(tb); 
     771            tstate->curexc_traceback = tb; 
     772            Py_XDECREF(tmp_tb); 
     773        } 
     774    } 
     775 
     776bad: 
     777    return; 
    248778} 
     779#endif 
    249780 
    250 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { 
    251     while (t->p) { 
    252         *t->p = PyString_FromStringAndSize(t->s, t->n - 1); 
    253         if (!*t->p) 
    254             return -1; 
    255         ++t; 
     781static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { 
     782    const unsigned char neg_one = (unsigned char)-1, const_zero = 0; 
     783    const int is_unsigned = neg_one > const_zero; 
     784    if (sizeof(unsigned char) < sizeof(long)) { 
     785        long val = __Pyx_PyInt_AsLong(x); 
     786        if (unlikely(val != (long)(unsigned char)val)) { 
     787            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     788                PyErr_SetString(PyExc_OverflowError, 
     789                    (is_unsigned && unlikely(val < 0)) ? 
     790                    "can't convert negative value to unsigned char" : 
     791                    "value too large to convert to unsigned char"); 
     792            } 
     793            return (unsigned char)-1; 
     794        } 
     795        return (unsigned char)val; 
    256796    } 
    257     return 0; 
     797    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x); 
    258798} 
    259799 
     800static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) { 
     801    const unsigned short neg_one = (unsigned short)-1, const_zero = 0; 
     802    const int is_unsigned = neg_one > const_zero; 
     803    if (sizeof(unsigned short) < sizeof(long)) { 
     804        long val = __Pyx_PyInt_AsLong(x); 
     805        if (unlikely(val != (long)(unsigned short)val)) { 
     806            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     807                PyErr_SetString(PyExc_OverflowError, 
     808                    (is_unsigned && unlikely(val < 0)) ? 
     809                    "can't convert negative value to unsigned short" : 
     810                    "value too large to convert to unsigned short"); 
     811            } 
     812            return (unsigned short)-1; 
     813        } 
     814        return (unsigned short)val; 
     815    } 
     816    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x); 
     817} 
     818 
     819static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) { 
     820    const unsigned int neg_one = (unsigned int)-1, const_zero = 0; 
     821    const int is_unsigned = neg_one > const_zero; 
     822    if (sizeof(unsigned int) < sizeof(long)) { 
     823        long val = __Pyx_PyInt_AsLong(x); 
     824        if (unlikely(val != (long)(unsigned int)val)) { 
     825            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     826                PyErr_SetString(PyExc_OverflowError, 
     827                    (is_unsigned && unlikely(val < 0)) ? 
     828                    "can't convert negative value to unsigned int" : 
     829                    "value too large to convert to unsigned int"); 
     830            } 
     831            return (unsigned int)-1; 
     832        } 
     833        return (unsigned int)val; 
     834    } 
     835    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x); 
     836} 
     837 
     838static INLINE char __Pyx_PyInt_AsChar(PyObject* x) { 
     839    const char neg_one = (char)-1, const_zero = 0; 
     840    const int is_unsigned = neg_one > const_zero; 
     841    if (sizeof(char) < sizeof(long)) { 
     842        long val = __Pyx_PyInt_AsLong(x); 
     843        if (unlikely(val != (long)(char)val)) { 
     844            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     845                PyErr_SetString(PyExc_OverflowError, 
     846                    (is_unsigned && unlikely(val < 0)) ? 
     847                    "can't convert negative value to char" : 
     848                    "value too large to convert to char"); 
     849            } 
     850            return (char)-1; 
     851        } 
     852        return (char)val; 
     853    } 
     854    return (char)__Pyx_PyInt_AsLong(x); 
     855} 
     856 
     857static INLINE short __Pyx_PyInt_AsShort(PyObject* x) { 
     858    const short neg_one = (short)-1, const_zero = 0; 
     859    const int is_unsigned = neg_one > const_zero; 
     860    if (sizeof(short) < sizeof(long)) { 
     861        long val = __Pyx_PyInt_AsLong(x); 
     862        if (unlikely(val != (long)(short)val)) { 
     863            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     864                PyErr_SetString(PyExc_OverflowError, 
     865                    (is_unsigned && unlikely(val < 0)) ? 
     866                    "can't convert negative value to short" : 
     867                    "value too large to convert to short"); 
     868            } 
     869            return (short)-1; 
     870        } 
     871        return (short)val; 
     872    } 
     873    return (short)__Pyx_PyInt_AsLong(x); 
     874} 
     875 
     876static INLINE int __Pyx_PyInt_AsInt(PyObject* x) { 
     877    const int neg_one = (int)-1, const_zero = 0; 
     878    const int is_unsigned = neg_one > const_zero; 
     879    if (sizeof(int) < sizeof(long)) { 
     880        long val = __Pyx_PyInt_AsLong(x); 
     881        if (unlikely(val != (long)(int)val)) { 
     882            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     883                PyErr_SetString(PyExc_OverflowError, 
     884                    (is_unsigned && unlikely(val < 0)) ? 
     885                    "can't convert negative value to int" : 
     886                    "value too large to convert to int"); 
     887            } 
     888            return (int)-1; 
     889        } 
     890        return (int)val; 
     891    } 
     892    return (int)__Pyx_PyInt_AsLong(x); 
     893} 
     894 
     895static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) { 
     896    const signed char neg_one = (signed char)-1, const_zero = 0; 
     897    const int is_unsigned = neg_one > const_zero; 
     898    if (sizeof(signed char) < sizeof(long)) { 
     899        long val = __Pyx_PyInt_AsLong(x); 
     900        if (unlikely(val != (long)(signed char)val)) { 
     901            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     902                PyErr_SetString(PyExc_OverflowError, 
     903                    (is_unsigned && unlikely(val < 0)) ? 
     904                    "can't convert negative value to signed char" : 
     905                    "value too large to convert to signed char"); 
     906            } 
     907            return (signed char)-1; 
     908        } 
     909        return (signed char)val; 
     910    } 
     911    return (signed char)__Pyx_PyInt_AsSignedLong(x); 
     912} 
     913 
     914static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) { 
     915    const signed short neg_one = (signed short)-1, const_zero = 0; 
     916    const int is_unsigned = neg_one > const_zero; 
     917    if (sizeof(signed short) < sizeof(long)) { 
     918        long val = __Pyx_PyInt_AsLong(x); 
     919        if (unlikely(val != (long)(signed short)val)) { 
     920            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     921                PyErr_SetString(PyExc_OverflowError, 
     922                    (is_unsigned && unlikely(val < 0)) ? 
     923                    "can't convert negative value to signed short" : 
     924                    "value too large to convert to signed short"); 
     925            } 
     926            return (signed short)-1; 
     927        } 
     928        return (signed short)val; 
     929    } 
     930    return (signed short)__Pyx_PyInt_AsSignedLong(x); 
     931} 
     932 
     933static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) { 
     934    const signed int neg_one = (signed int)-1, const_zero = 0; 
     935    const int is_unsigned = neg_one > const_zero; 
     936    if (sizeof(signed int) < sizeof(long)) { 
     937        long val = __Pyx_PyInt_AsLong(x); 
     938        if (unlikely(val != (long)(signed int)val)) { 
     939            if (!unlikely(val == -1 && PyErr_Occurred())) { 
     940                PyErr_SetString(PyExc_OverflowError, 
     941                    (is_unsigned && unlikely(val < 0)) ? 
     942                    "can't convert negative value to signed int" : 
     943                    "value too large to convert to signed int"); 
     944            } 
     945            return (signed int)-1; 
     946        } 
     947        return (signed int)val; 
     948    } 
     949    return (signed int)__Pyx_PyInt_AsSignedLong(x); 
     950} 
     951 
     952static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { 
     953    const unsigned long neg_one = (unsigned long)-1, const_zero = 0; 
     954    const int is_unsigned = neg_one > const_zero; 
     955#if PY_VERSION_HEX < 0x03000000 
     956    if (likely(PyInt_Check(x))) { 
     957        long val = PyInt_AS_LONG(x); 
     958        if (is_unsigned && unlikely(val < 0)) { 
     959            PyErr_SetString(PyExc_OverflowError, 
     960                            "can't convert negative value to unsigned long"); 
     961            return (unsigned long)-1; 
     962        } 
     963        return (unsigned long)val; 
     964    } else 
     965#endif 
     966    if (likely(PyLong_Check(x))) { 
     967        if (is_unsigned) { 
     968            if (unlikely(Py_SIZE(x) < 0)) { 
     969                PyErr_SetString(PyExc_OverflowError, 
     970                                "can't convert negative value to unsigned long"); 
     971                return (unsigned long)-1; 
     972            } 
     973            return PyLong_AsUnsignedLong(x); 
     974        } else { 
     975            return PyLong_AsLong(x); 
     976        } 
     977    } else { 
     978        unsigned long val; 
     979        PyObject *tmp = __Pyx_PyNumber_Int(x); 
     980        if (!tmp) return (unsigned long)-1; 
     981        val = __Pyx_PyInt_AsUnsignedLong(tmp); 
     982        Py_DECREF(tmp); 
     983        return val; 
     984    } 
     985} 
     986 
     987static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { 
     988    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0; 
     989    const int is_unsigned = neg_one > const_zero; 
     990#if PY_VERSION_HEX < 0x03000000 
     991    if (likely(PyInt_Check(x))) { 
     992        long val = PyInt_AS_LONG(x); 
     993        if (is_unsigned && unlikely(val < 0)) { 
     994            PyErr_SetString(PyExc_OverflowError, 
     995                            "can't convert negative value to unsigned PY_LONG_LONG"); 
     996            return (unsigned PY_LONG_LONG)-1; 
     997        } 
     998        return (unsigned PY_LONG_LONG)val; 
     999    } else 
     1000#endif 
     1001    if (likely(PyLong_Check(x))) { 
     1002        if (is_unsigned) { 
     1003            if (unlikely(Py_SIZE(x) < 0)) { 
     1004                PyErr_SetString(PyExc_OverflowError, 
     1005                                "can't convert negative value to unsigned PY_LONG_LONG"); 
     1006                return (unsigned PY_LONG_LONG)-1; 
     1007            } 
     1008            return PyLong_AsUnsignedLongLong(x); 
     1009        } else { 
     1010            return PyLong_AsLongLong(x); 
     1011        } 
     1012    } else { 
     1013        unsigned PY_LONG_LONG val; 
     1014        PyObject *tmp = __Pyx_PyNumber_Int(x); 
     1015        if (!tmp) return (unsigned PY_LONG_LONG)-1; 
     1016        val = __Pyx_PyInt_AsUnsignedLongLong(tmp); 
     1017        Py_DECREF(tmp); 
     1018        return val; 
     1019    } 
     1020} 
     1021 
     1022static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { 
     1023    const long neg_one = (long)-1, const_zero = 0; 
     1024    const int is_unsigned = neg_one > const_zero; 
     1025#if PY_VERSION_HEX < 0x03000000 
     1026    if (likely(PyInt_Check(x))) { 
     1027        long val = PyInt_AS_LONG(x); 
     1028        if (is_unsigned && unlikely(val < 0)) { 
     1029            PyErr_SetString(PyExc_OverflowError, 
     1030                            "can't convert negative value to long"); 
     1031            return (long)-1; 
     1032        } 
     1033        return (long)val; 
     1034    } else 
     1035#endif 
     1036    if (likely(PyLong_Check(x))) { 
     1037        if (is_unsigned) { 
     1038            if (unlikely(Py_SIZE(x) < 0)) { 
     1039                PyErr_SetString(PyExc_OverflowError, 
     1040                                "can't convert negative value to long"); 
     1041                return (long)-1; 
     1042            } 
     1043            return PyLong_AsUnsignedLong(x); 
     1044        } else { 
     1045            return PyLong_AsLong(x); 
     1046        } 
     1047    } else { 
     1048        long val; 
     1049        PyObject *tmp = __Pyx_PyNumber_Int(x); 
     1050        if (!tmp) return (long)-1; 
     1051        val = __Pyx_PyInt_AsLong(tmp); 
     1052        Py_DECREF(tmp); 
     1053        return val; 
     1054    } 
     1055} 
     1056 
     1057static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { 
     1058    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0; 
     1059    const int is_unsigned = neg_one > const_zero; 
     1060#if PY_VERSION_HEX < 0x03000000 
     1061    if (likely(PyInt_Check(x))) { 
     1062        long val = PyInt_AS_LONG(x); 
     1063        if (is_unsigned && unlikely(val < 0)) { 
     1064            PyErr_SetString(PyExc_OverflowError, 
     1065                            "can't convert negative value to PY_LONG_LONG"); 
     1066            return (PY_LONG_LONG)-1; 
     1067        } 
     1068        return (PY_LONG_LONG)val; 
     1069    } else 
     1070#endif 
     1071    if (likely(PyLong_Check(x))) { 
     1072        if (is_unsigned) { 
     1073            if (unlikely(Py_SIZE(x) < 0)) { 
     1074                PyErr_SetString(PyExc_OverflowError, 
     1075                                "can't convert negative value to PY_LONG_LONG"); 
     1076                return (PY_LONG_LONG)-1; 
     1077            } 
     1078            return PyLong_AsUnsignedLongLong(x); 
     1079        } else { 
     1080            return PyLong_AsLongLong(x); 
     1081        } 
     1082    } else { 
     1083        PY_LONG_LONG val; 
     1084        PyObject *tmp = __Pyx_PyNumber_Int(x); 
     1085        if (!tmp) return (PY_LONG_LONG)-1; 
     1086        val = __Pyx_PyInt_AsLongLong(tmp); 
     1087        Py_DECREF(tmp); 
     1088        return val; 
     1089    } 
     1090} 
     1091 
     1092static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { 
     1093    const signed long neg_one = (signed long)-1, const_zero = 0; 
     1094    const int is_unsigned = neg_one > const_zero; 
     1095#if PY_VERSION_HEX < 0x03000000 
     1096    if (likely(PyInt_Check(x))) { 
     1097        long val = PyInt_AS_LONG(x); 
     1098        if (is_unsigned && unlikely(val < 0)) { 
     1099            PyErr_SetString(PyExc_OverflowError, 
     1100                            "can't convert negative value to signed long"); 
     1101            return (signed long)-1; 
     1102        } 
     1103        return (signed long)val; 
     1104    } else 
     1105#endif 
     1106    if (likely(PyLong_Check(x))) { 
     1107        if (is_unsigned) { 
     1108            if (unlikely(Py_SIZE(x) < 0)) { 
     1109                PyErr_SetString(PyExc_OverflowError, 
     1110                                "can't convert negative value to signed long"); 
     1111                return (signed long)-1; 
     1112            } 
     1113            return PyLong_AsUnsignedLong(x); 
     1114        } else { 
     1115            return PyLong_AsLong(x); 
     1116        } 
     1117    } else { 
     1118        signed long val; 
     1119        PyObject *tmp = __Pyx_PyNumber_Int(x); 
     1120        if (!tmp) return (signed long)-1; 
     1121        val = __Pyx_PyInt_AsSignedLong(tmp); 
     1122        Py_DECREF(tmp); 
     1123        return val; 
     1124    } 
     1125} 
     1126 
     1127static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { 
     1128    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0; 
     1129    const int is_unsigned = neg_one > const_zero; 
     1130#if PY_VERSION_HEX < 0x03000000 
     1131    if (likely(PyInt_Check(x))) { 
     1132        long val = PyInt_AS_LONG(x); 
     1133        if (is_unsigned && unlikely(val < 0)) { 
     1134            PyErr_SetString(PyExc_OverflowError, 
     1135                            "can't convert negative value to signed PY_LONG_LONG"); 
     1136            return (signed PY_LONG_LONG)-1; 
     1137        } 
     1138        return (signed PY_LONG_LONG)val; 
     1139    } else 
     1140#endif 
     1141    if (likely(PyLong_Check(x))) { 
     1142        if (is_unsigned) { 
     1143            if (unlikely(Py_SIZE(x) < 0)) { 
     1144                PyErr_SetString(PyExc_OverflowError, 
     1145                                "can't convert negative value to signed PY_LONG_LONG"); 
     1146                return (signed PY_LONG_LONG)-1; 
     1147            } 
     1148            return PyLong_AsUnsignedLongLong(x); 
     1149        } else { 
     1150            return PyLong_AsLongLong(x); 
     1151        } 
     1152    } else { 
     1153        signed PY_LONG_LONG val; 
     1154        PyObject *tmp = __Pyx_PyNumber_Int(x); 
     1155        if (!tmp) return (signed PY_LONG_LONG)-1; 
     1156        val = __Pyx_PyInt_AsSignedLongLong(tmp); 
     1157        Py_DECREF(tmp); 
     1158        return val; 
     1159    } 
     1160} 
     1161 
    2601162#include "compile.h" 
    2611163#include "frameobject.h" 
    2621164#include "traceback.h" 
    2631165 
    264 static void __Pyx_AddTraceback(char *funcname) { 
     1166static void __Pyx_AddTraceback(const char *funcname) { 
    2651167    PyObject *py_srcfile = 0; 
    2661168    PyObject *py_funcname = 0; 
    2671169    PyObject *py_globals = 0; 
    268     PyObject *empty_tuple = 0; 
    269     PyObject *empty_string = 0; 
    2701170    PyCodeObject *py_code = 0; 
    2711171    PyFrameObject *py_frame = 0; 
    272      
     1172 
     1173    #if PY_MAJOR_VERSION < 3 
    2731174    py_srcfile = PyString_FromString(__pyx_filename); 
     1175    #else 
     1176    py_srcfile = PyUnicode_FromString(__pyx_filename); 
     1177    #endif 
    2741178    if (!py_srcfile) goto bad; 
    275     py_funcname = PyString_FromString(funcname); 
     1179    if (__pyx_clineno) { 
     1180        #if PY_MAJOR_VERSION < 3 
     1181        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); 
     1182        #else 
     1183        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); 
     1184        #endif 
     1185    } 
     1186    else { 
     1187        #if PY_MAJOR_VERSION < 3 
     1188        py_funcname = PyString_FromString(funcname); 
     1189        #else 
     1190        py_funcname = PyUnicode_FromString(funcname); 
     1191        #endif 
     1192    } 
    2761193    if (!py_funcname) goto bad; 
    2771194    py_globals = PyModule_GetDict(__pyx_m); 
    2781195    if (!py_globals) goto bad; 
    279     empty_tuple = PyTuple_New(0); 
    280     if (!empty_tuple) goto bad; 
    281     empty_string = PyString_FromString(""); 
    282     if (!empty_string) goto bad; 
    2831196    py_code = PyCode_New( 
    2841197        0,            /*int argcount,*/ 
     1198        #if PY_MAJOR_VERSION >= 3 
     1199        0,            /*int kwonlyargcount,*/ 
     1200        #endif 
    2851201        0,            /*int nlocals,*/ 
    2861202        0,            /*int stacksize,*/ 
    2871203        0,            /*int flags,*/ 
    288         empty_string, /*PyObject *code,*/ 
    289         empty_tuple,  /*PyObject *consts,*/ 
    290         empty_tuple,  /*PyObject *names,*/ 
    291         empty_tuple,  /*PyObject *varnames,*/ 
    292         empty_tuple,  /*PyObject *freevars,*/ 
    293         empty_tuple,  /*PyObject *cellvars,*/ 
     1204        __pyx_empty_bytes, /*PyObject *code,*/ 
     1205        __pyx_empty_tuple,  /*PyObject *consts,*/ 
     1206        __pyx_empty_tuple,  /*PyObject *names,*/ 
     1207        __pyx_empty_tuple,  /*PyObject *varnames,*/ 
     1208        __pyx_empty_tuple,  /*PyObject *freevars,*/ 
     1209        __pyx_empty_tuple,  /*PyObject *cellvars,*/ 
    2941210        py_srcfile,   /*PyObject *filename,*/ 
    2951211        py_funcname,  /*PyObject *name,*/ 
    2961212        __pyx_lineno,   /*int firstlineno,*/ 
    297         empty_string  /*PyObject *lnotab*/ 
     1213        __pyx_empty_bytes  /*PyObject *lnotab*/ 
    2981214    ); 
    2991215    if (!py_code) goto bad; 
    3001216    py_frame = PyFrame_New( 
    301         PyThreadState_Get(), /*PyThreadState *tstate,*/ 
     1217        PyThreadState_GET(), /*PyThreadState *tstate,*/ 
    3021218        py_code,             /*PyCodeObject *code,*/ 
    3031219        py_globals,          /*PyObject *globals,*/ 
    3041220        0                    /*PyObject *locals*/ 
     
    3091225bad: 
    3101226    Py_XDECREF(py_srcfile); 
    3111227    Py_XDECREF(py_funcname); 
    312     Py_XDECREF(empty_tuple); 
    313     Py_XDECREF(empty_string); 
    3141228    Py_XDECREF(py_code); 
    3151229    Py_XDECREF(py_frame); 
    3161230} 
     1231 
     1232static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { 
     1233    while (t->p) { 
     1234        #if PY_MAJOR_VERSION < 3 
     1235        if (t->is_unicode) { 
     1236            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); 
     1237        } else if (t->intern) { 
     1238            *t->p = PyString_InternFromString(t->s); 
     1239        } else { 
     1240            *t->p = PyString_FromStringAndSize(t->s, t->n - 1); 
     1241        } 
     1242        #else  /* Python 3+ has unicode identifiers */ 
     1243        if (t->is_unicode | t->is_str) { 
     1244            if (t->intern) { 
     1245                *t->p = PyUnicode_InternFromString(t->s); 
     1246            } else if (t->encoding) { 
     1247                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); 
     1248            } else { 
     1249                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); 
     1250            } 
     1251        } else { 
     1252            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); 
     1253        } 
     1254        #endif 
     1255        if (!*t->p) 
     1256            return -1; 
     1257        ++t; 
     1258    } 
     1259    return 0; 
     1260} 
     1261 
     1262/* Type Conversion Functions */ 
     1263 
     1264static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { 
     1265   if (x == Py_True) return 1; 
     1266   else if ((x == Py_False) | (x == Py_None)) return 0; 
     1267   else return PyObject_IsTrue(x); 
     1268} 
     1269 
     1270static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { 
     1271  PyNumberMethods *m; 
     1272  const char *name = NULL; 
     1273  PyObject *res = NULL; 
     1274#if PY_VERSION_HEX < 0x03000000 
     1275  if (PyInt_Check(x) || PyLong_Check(x)) 
     1276#else 
     1277  if (PyLong_Check(x)) 
     1278#endif 
     1279    return Py_INCREF(x), x; 
     1280  m = Py_TYPE(x)->tp_as_number; 
     1281#if PY_VERSION_HEX < 0x03000000 
     1282  if (m && m->nb_int) { 
     1283    name = "int"; 
     1284    res = PyNumber_Int(x); 
     1285  } 
     1286  else if (m && m->nb_long) { 
     1287    name = "long"; 
     1288    res = PyNumber_Long(x); 
     1289  } 
     1290#else 
     1291  if (m && m->nb_int) { 
     1292    name = "int"; 
     1293    res = PyNumber_Long(x); 
     1294  } 
     1295#endif 
     1296  if (res) { 
     1297#if PY_VERSION_HEX < 0x03000000 
     1298    if (!PyInt_Check(res) && !PyLong_Check(res)) { 
     1299#else 
     1300    if (!PyLong_Check(res)) { 
     1301#endif 
     1302      PyErr_Format(PyExc_TypeError, 
     1303                   "__%s__ returned non-%s (type %.200s)", 
     1304                   name, name, Py_TYPE(res)->tp_name); 
     1305      Py_DECREF(res); 
     1306      return NULL; 
     1307    } 
     1308  } 
     1309  else if (!PyErr_Occurred()) { 
     1310    PyErr_SetString(PyExc_TypeError, 
     1311                    "an integer is required"); 
     1312  } 
     1313  return res; 
     1314} 
     1315 
     1316static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { 
     1317  Py_ssize_t ival; 
     1318  PyObject* x = PyNumber_Index(b); 
     1319  if (!x) return -1; 
     1320  ival = PyInt_AsSsize_t(x); 
     1321  Py_DECREF(x); 
     1322  return ival; 
     1323} 
     1324 
     1325static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { 
     1326#if PY_VERSION_HEX < 0x02050000 
     1327   if (ival <= LONG_MAX) 
     1328       return PyInt_FromLong((long)ival); 
     1329   else { 
     1330       unsigned char *bytes = (unsigned char *) &ival; 
     1331       int one = 1; int little = (int)*(unsigned char*)&one; 
     1332       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0); 
     1333   } 
     1334#else 
     1335   return PyInt_FromSize_t(ival); 
     1336#endif 
     1337} 
     1338 
     1339static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { 
     1340   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x); 
     1341   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) { 
     1342       return (size_t)-1; 
     1343   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) { 
     1344       PyErr_SetString(PyExc_OverflowError, 
     1345                       "value too large to convert to size_t"); 
     1346       return (size_t)-1; 
     1347   } 
     1348   return (size_t)val; 
     1349} 
     1350 
     1351 
     1352#endif /* Py_PYTHON_H */