| Viewing file:  raiser.c (51.53 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/* Generated by Cython 0.14.1 on Tue Mar  8 19:41:56 2011 */
 #define PY_SSIZE_T_CLEAN
 #include "Python.h"
 #ifndef Py_PYTHON_H
 #error Python headers needed to compile C extensions, please install development version of Python.
 #else
 
 #include <stddef.h> /* For offsetof */
 #ifndef offsetof
 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
 #endif
 
 #if !defined(WIN32) && !defined(MS_WINDOWS)
 #ifndef __stdcall
 #define __stdcall
 #endif
 #ifndef __cdecl
 #define __cdecl
 #endif
 #ifndef __fastcall
 #define __fastcall
 #endif
 #endif
 
 #ifndef DL_IMPORT
 #define DL_IMPORT(t) t
 #endif
 #ifndef DL_EXPORT
 #define DL_EXPORT(t) t
 #endif
 
 #ifndef PY_LONG_LONG
 #define PY_LONG_LONG LONG_LONG
 #endif
 
 #if PY_VERSION_HEX < 0x02040000
 #define METH_COEXIST 0
 #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
 #define PyDict_Contains(d,o)   PySequence_Contains(d,o)
 #endif
 
 #if PY_VERSION_HEX < 0x02050000
 typedef int Py_ssize_t;
 #define PY_SSIZE_T_MAX INT_MAX
 #define PY_SSIZE_T_MIN INT_MIN
 #define PY_FORMAT_SIZE_T ""
 #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
 #define PyInt_AsSsize_t(o)   PyInt_AsLong(o)
 #define PyNumber_Index(o)    PyNumber_Int(o)
 #define PyIndex_Check(o)     PyNumber_Check(o)
 #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
 #endif
 
 #if PY_VERSION_HEX < 0x02060000
 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
 #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
 #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
 #define PyVarObject_HEAD_INIT(type, size) \
 PyObject_HEAD_INIT(type) size,
 #define PyType_Modified(t)
 
 typedef struct {
 void *buf;
 PyObject *obj;
 Py_ssize_t len;
 Py_ssize_t itemsize;
 int readonly;
 int ndim;
 char *format;
 Py_ssize_t *shape;
 Py_ssize_t *strides;
 Py_ssize_t *suboffsets;
 void *internal;
 } Py_buffer;
 
 #define PyBUF_SIMPLE 0
 #define PyBUF_WRITABLE 0x0001
 #define PyBUF_FORMAT 0x0004
 #define PyBUF_ND 0x0008
 #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
 #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
 #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
 #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
 #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
 
 #endif
 
 #if PY_MAJOR_VERSION < 3
 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
 #else
 #define __Pyx_BUILTIN_MODULE_NAME "builtins"
 #endif
 
 #if PY_MAJOR_VERSION >= 3
 #define Py_TPFLAGS_CHECKTYPES 0
 #define Py_TPFLAGS_HAVE_INDEX 0
 #endif
 
 #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
 #define Py_TPFLAGS_HAVE_NEWBUFFER 0
 #endif
 
 #if PY_MAJOR_VERSION >= 3
 #define PyBaseString_Type            PyUnicode_Type
 #define PyStringObject               PyUnicodeObject
 #define PyString_Type                PyUnicode_Type
 #define PyString_Check               PyUnicode_Check
 #define PyString_CheckExact          PyUnicode_CheckExact
 #endif
 
 #if PY_VERSION_HEX < 0x02060000
 #define PyBytesObject                PyStringObject
 #define PyBytes_Type                 PyString_Type
 #define PyBytes_Check                PyString_Check
 #define PyBytes_CheckExact           PyString_CheckExact
 #define PyBytes_FromString           PyString_FromString
 #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
 #define PyBytes_FromFormat           PyString_FromFormat
 #define PyBytes_DecodeEscape         PyString_DecodeEscape
 #define PyBytes_AsString             PyString_AsString
 #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
 #define PyBytes_Size                 PyString_Size
 #define PyBytes_AS_STRING            PyString_AS_STRING
 #define PyBytes_GET_SIZE             PyString_GET_SIZE
 #define PyBytes_Repr                 PyString_Repr
 #define PyBytes_Concat               PyString_Concat
 #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
 #endif
 
 #if PY_VERSION_HEX < 0x02060000
 #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
 #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
 #endif
 #ifndef PySet_CheckExact
 #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
 #endif
 
 #define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
 
 #if PY_MAJOR_VERSION >= 3
 #define PyIntObject                  PyLongObject
 #define PyInt_Type                   PyLong_Type
 #define PyInt_Check(op)              PyLong_Check(op)
 #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
 #define PyInt_FromString             PyLong_FromString
 #define PyInt_FromUnicode            PyLong_FromUnicode
 #define PyInt_FromLong               PyLong_FromLong
 #define PyInt_FromSize_t             PyLong_FromSize_t
 #define PyInt_FromSsize_t            PyLong_FromSsize_t
 #define PyInt_AsLong                 PyLong_AsLong
 #define PyInt_AS_LONG                PyLong_AS_LONG
 #define PyInt_AsSsize_t              PyLong_AsSsize_t
 #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
 #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
 #endif
 
 #if PY_MAJOR_VERSION >= 3
 #define PyBoolObject                 PyLongObject
 #endif
 
 
 #if PY_MAJOR_VERSION >= 3
 #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
 #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
 #else
 #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
 #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
 #endif
 
 #if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
 #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
 #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
 #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
 #else
 #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
 (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
 (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
 #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
 (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
 (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
 #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
 (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
 (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
 (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
 #endif
 
 #if PY_MAJOR_VERSION >= 3
 #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
 #endif
 
 #if PY_VERSION_HEX < 0x02050000
 #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
 #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
 #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
 #else
 #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
 #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
 #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
 #endif
 
 #if PY_VERSION_HEX < 0x02050000
 #define __Pyx_NAMESTR(n) ((char *)(n))
 #define __Pyx_DOCSTR(n)  ((char *)(n))
 #else
 #define __Pyx_NAMESTR(n) (n)
 #define __Pyx_DOCSTR(n)  (n)
 #endif
 
 #ifdef __cplusplus
 #define __PYX_EXTERN_C extern "C"
 #else
 #define __PYX_EXTERN_C extern
 #endif
 
 #if defined(WIN32) || defined(MS_WINDOWS)
 #define _USE_MATH_DEFINES
 #endif
 #include <math.h>
 #define __PYX_HAVE_API__twisted__test__raiser
 
 #ifdef PYREX_WITHOUT_ASSERTIONS
 #define CYTHON_WITHOUT_ASSERTIONS
 #endif
 
 
 /* inline attribute */
 #ifndef CYTHON_INLINE
 #if defined(__GNUC__)
 #define CYTHON_INLINE __inline__
 #elif defined(_MSC_VER)
 #define CYTHON_INLINE __inline
 #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 #define CYTHON_INLINE inline
 #else
 #define CYTHON_INLINE
 #endif
 #endif
 
 /* unused attribute */
 #ifndef CYTHON_UNUSED
 # if defined(__GNUC__)
 #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
 #     define CYTHON_UNUSED __attribute__ ((__unused__))
 #   else
 #     define CYTHON_UNUSED
 #   endif
 # elif defined(__ICC) || defined(__INTEL_COMPILER)
 #   define CYTHON_UNUSED __attribute__ ((__unused__))
 # else
 #   define CYTHON_UNUSED
 # endif
 #endif
 
 typedef 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*/
 
 
 /* Type Conversion Predeclarations */
 
 #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
 #define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
 
 #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
 
 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
 static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
 
 #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
 
 
 #ifdef __GNUC__
 /* Test for GCC > 2.95 */
 #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
 #define likely(x)   __builtin_expect(!!(x), 1)
 #define unlikely(x) __builtin_expect(!!(x), 0)
 #else /* __GNUC__ > 2 ... */
 #define likely(x)   (x)
 #define unlikely(x) (x)
 #endif /* __GNUC__ > 2 ... */
 #else /* __GNUC__ */
 #define likely(x)   (x)
 #define unlikely(x) (x)
 #endif /* __GNUC__ */
 
 static PyObject *__pyx_m;
 static PyObject *__pyx_b;
 static PyObject *__pyx_empty_tuple;
 static PyObject *__pyx_empty_bytes;
 static int __pyx_lineno;
 static int __pyx_clineno = 0;
 static const char * __pyx_cfilenm= __FILE__;
 static const char *__pyx_filename;
 
 
 static const char *__pyx_f[] = {
 "raiser.pyx",
 };
 
 /* Type declarations */
 
 #ifndef CYTHON_REFNANNY
 #define CYTHON_REFNANNY 0
 #endif
 
 #if CYTHON_REFNANNY
 typedef struct {
 void (*INCREF)(void*, PyObject*, int);
 void (*DECREF)(void*, PyObject*, int);
 void (*GOTREF)(void*, PyObject*, int);
 void (*GIVEREF)(void*, PyObject*, int);
 void* (*SetupContext)(const char*, int, const char*);
 void (*FinishContext)(void**);
 } __Pyx_RefNannyAPIStruct;
 static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
 static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) {
 PyObject *m = NULL, *p = NULL;
 void *r = NULL;
 m = PyImport_ImportModule((char *)modname);
 if (!m) goto end;
 p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
 if (!p) goto end;
 r = PyLong_AsVoidPtr(p);
 end:
 Py_XDECREF(p);
 Py_XDECREF(m);
 return (__Pyx_RefNannyAPIStruct *)r;
 }
 #define __Pyx_RefNannySetupContext(name)           void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
 #define __Pyx_RefNannyFinishContext()           __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
 #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
 #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
 #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
 #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
 #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0)
 #else
 #define __Pyx_RefNannySetupContext(name)
 #define __Pyx_RefNannyFinishContext()
 #define __Pyx_INCREF(r) Py_INCREF(r)
 #define __Pyx_DECREF(r) Py_DECREF(r)
 #define __Pyx_GOTREF(r)
 #define __Pyx_GIVEREF(r)
 #define __Pyx_XDECREF(r) Py_XDECREF(r)
 #endif /* CYTHON_REFNANNY */
 #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0)
 #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0)
 
 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
 
 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
 
 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 
 static PyObject *__Pyx_FindPy2Metaclass(PyObject *bases); /*proto*/
 
 static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name,
 PyObject *modname); /*proto*/
 
 static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
 
 static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
 
 static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
 
 static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
 
 static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
 
 static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
 
 static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
 
 static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
 
 static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
 
 static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
 
 static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
 
 static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
 
 static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
 
 static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
 
 static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
 
 static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
 
 static void __Pyx_AddTraceback(const char *funcname); /*proto*/
 
 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
 /* Module declarations from twisted.test.raiser */
 
 #define __Pyx_MODULE_NAME "twisted.test.raiser"
 static int __pyx_module_is_main_twisted__test__raiser = 0;
 
 /* Implementation of twisted.test.raiser */
 static PyObject *__pyx_builtin_Exception;
 static char __pyx_k_1[] = "This function is intentionally broken";
 static char __pyx_k_3[] = "\nA trivial extension that just raises an exception.\nSee L{twisted.test.test_failure.test_failureConstructionWithMungedStackSucceeds}.\n";
 static char __pyx_k_4[] = "\n    A speficic exception only used to be identified in tests.\n    ";
 static char __pyx_k_5[] = "twisted.test.raiser";
 static char __pyx_k____main__[] = "__main__";
 static char __pyx_k____test__[] = "__test__";
 static char __pyx_k__Exception[] = "Exception";
 static char __pyx_k__raiseException[] = "raiseException";
 static char __pyx_k__RaiserException[] = "RaiserException";
 static PyObject *__pyx_kp_s_1;
 static PyObject *__pyx_kp_s_4;
 static PyObject *__pyx_n_s_5;
 static PyObject *__pyx_n_s__Exception;
 static PyObject *__pyx_n_s__RaiserException;
 static PyObject *__pyx_n_s____main__;
 static PyObject *__pyx_n_s____test__;
 static PyObject *__pyx_n_s__raiseException;
 static PyObject *__pyx_k_tuple_2;
 
 /* "twisted/test/raiser.pyx":17
 *
 *
 * def raiseException():             # <<<<<<<<<<<<<<
 *     """
 *     Raise L{RaiserException}.
 */
 
 static PyObject *__pyx_pf_7twisted_4test_6raiser_raiseException(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
 static char __pyx_doc_7twisted_4test_6raiser_raiseException[] = "\n    Raise L{RaiserException}.\n    ";
 static PyMethodDef __pyx_mdef_7twisted_4test_6raiser_raiseException = {__Pyx_NAMESTR("raiseException"), (PyCFunction)__pyx_pf_7twisted_4test_6raiser_raiseException, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_7twisted_4test_6raiser_raiseException)};
 static PyObject *__pyx_pf_7twisted_4test_6raiser_raiseException(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
 PyObject *__pyx_r = NULL;
 PyObject *__pyx_t_1 = NULL;
 PyObject *__pyx_t_2 = NULL;
 __Pyx_RefNannySetupContext("raiseException");
 __pyx_self = __pyx_self;
 
 /* "twisted/test/raiser.pyx":21
 *     Raise L{RaiserException}.
 *     """
 *     raise RaiserException("This function is intentionally broken")             # <<<<<<<<<<<<<<
 */
 __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;}
 __Pyx_GOTREF(__pyx_t_1);
 __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 __Pyx_GOTREF(__pyx_t_2);
 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 __Pyx_Raise(__pyx_t_2, 0, 0);
 __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
 __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_AddTraceback("twisted.test.raiser.raiseException");
 __pyx_r = NULL;
 __pyx_L0:;
 __Pyx_XGIVEREF(__pyx_r);
 __Pyx_RefNannyFinishContext();
 return __pyx_r;
 }
 
 static PyMethodDef __pyx_methods[] = {
 {0, 0, 0, 0}
 };
 
 #if PY_MAJOR_VERSION >= 3
 static struct PyModuleDef __pyx_moduledef = {
 PyModuleDef_HEAD_INIT,
 __Pyx_NAMESTR("raiser"),
 __Pyx_DOCSTR(__pyx_k_3), /* m_doc */
 -1, /* m_size */
 __pyx_methods /* m_methods */,
 NULL, /* m_reload */
 NULL, /* m_traverse */
 NULL, /* m_clear */
 NULL /* m_free */
 };
 #endif
 
 static __Pyx_StringTabEntry __pyx_string_tab[] = {
 {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
 {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
 {&__pyx_n_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 1},
 {&__pyx_n_s__Exception, __pyx_k__Exception, sizeof(__pyx_k__Exception), 0, 0, 1, 1},
 {&__pyx_n_s__RaiserException, __pyx_k__RaiserException, sizeof(__pyx_k__RaiserException), 0, 0, 1, 1},
 {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
 {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
 {&__pyx_n_s__raiseException, __pyx_k__raiseException, sizeof(__pyx_k__raiseException), 0, 0, 1, 1},
 {0, 0, 0, 0, 0, 0, 0}
 };
 static int __Pyx_InitCachedBuiltins(void) {
 __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;}
 return 0;
 __pyx_L1_error:;
 return -1;
 }
 
 static int __Pyx_InitCachedConstants(void) {
 __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants");
 
 /* "twisted/test/raiser.pyx":21
 *     Raise L{RaiserException}.
 *     """
 *     raise RaiserException("This function is intentionally broken")             # <<<<<<<<<<<<<<
 */
 __pyx_k_tuple_2 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_2));
 __Pyx_INCREF(((PyObject *)__pyx_kp_s_1));
 PyTuple_SET_ITEM(__pyx_k_tuple_2, 0, ((PyObject *)__pyx_kp_s_1));
 __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_1));
 __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
 __Pyx_RefNannyFinishContext();
 return 0;
 __pyx_L1_error:;
 __Pyx_RefNannyFinishContext();
 return -1;
 }
 
 static int __Pyx_InitGlobals(void) {
 if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 return 0;
 __pyx_L1_error:;
 return -1;
 }
 
 #if PY_MAJOR_VERSION < 3
 PyMODINIT_FUNC initraiser(void); /*proto*/
 PyMODINIT_FUNC initraiser(void)
 #else
 PyMODINIT_FUNC PyInit_raiser(void); /*proto*/
 PyMODINIT_FUNC PyInit_raiser(void)
 #endif
 {
 PyObject *__pyx_t_1 = NULL;
 PyObject *__pyx_t_2 = NULL;
 PyObject *__pyx_t_3 = NULL;
 #if CYTHON_REFNANNY
 void* __pyx_refnanny = NULL;
 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
 if (!__Pyx_RefNanny) {
 PyErr_Clear();
 __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
 if (!__Pyx_RefNanny)
 Py_FatalError("failed to import 'refnanny' module");
 }
 __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_raiser(void)", __LINE__, __FILE__);
 #endif
 __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;}
 __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;}
 #ifdef __pyx_binding_PyCFunctionType_USED
 if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 #endif
 /*--- Library function declarations ---*/
 /*--- Threads initialization code ---*/
 #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
 #ifdef WITH_THREAD /* Python build with threading support? */
 PyEval_InitThreads();
 #endif
 #endif
 /*--- Module creation code ---*/
 #if PY_MAJOR_VERSION < 3
 __pyx_m = Py_InitModule4(__Pyx_NAMESTR("raiser"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_3), 0, PYTHON_API_VERSION);
 #else
 __pyx_m = PyModule_Create(&__pyx_moduledef);
 #endif
 if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 #if PY_MAJOR_VERSION < 3
 Py_INCREF(__pyx_m);
 #endif
 __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME));
 if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 /*--- Initialize various global constants etc. ---*/
 if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 if (__pyx_module_is_main_twisted__test__raiser) {
 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;};
 }
 /*--- Builtin init code ---*/
 if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 /*--- Constants init code ---*/
 if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 /*--- Global init code ---*/
 /*--- Function export code ---*/
 /*--- Type init code ---*/
 /*--- Type import code ---*/
 /*--- Function import code ---*/
 /*--- Execution code ---*/
 
 /* "twisted/test/raiser.pyx":11
 *
 *
 * class RaiserException(Exception):             # <<<<<<<<<<<<<<
 *     """
 *     A speficic exception only used to be identified in tests.
 */
 __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;}
 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 __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;}
 __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 __Pyx_INCREF(__pyx_builtin_Exception);
 PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_builtin_Exception);
 __Pyx_GIVEREF(__pyx_builtin_Exception);
 if (PyDict_SetItemString(((PyObject *)__pyx_t_1), "__doc__", ((PyObject *)__pyx_kp_s_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 __pyx_t_3 = __Pyx_CreateClass(((PyObject *)__pyx_t_2), ((PyObject *)__pyx_t_1), __pyx_n_s__RaiserException, __pyx_n_s_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 __Pyx_GOTREF(__pyx_t_3);
 __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 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;}
 __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
 /* "twisted/test/raiser.pyx":17
 *
 *
 * def raiseException():             # <<<<<<<<<<<<<<
 *     """
 *     Raise L{RaiserException}.
 */
 __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_7twisted_4test_6raiser_raiseException, NULL, __pyx_n_s_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 __Pyx_GOTREF(__pyx_t_1);
 if (PyObject_SetAttr(__pyx_m, __pyx_n_s__raiseException, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
 /* "twisted/test/raiser.pyx":1
 * # Copyright (c) Twisted Matrix Laboratories.             # <<<<<<<<<<<<<<
 * # See LICENSE for details.
 *
 */
 __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;}
 __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 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;}
 __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 goto __pyx_L0;
 __pyx_L1_error:;
 __Pyx_XDECREF(__pyx_t_1);
 __Pyx_XDECREF(__pyx_t_2);
 __Pyx_XDECREF(__pyx_t_3);
 if (__pyx_m) {
 __Pyx_AddTraceback("init twisted.test.raiser");
 Py_DECREF(__pyx_m); __pyx_m = 0;
 } else if (!PyErr_Occurred()) {
 PyErr_SetString(PyExc_ImportError, "init twisted.test.raiser");
 }
 __pyx_L0:;
 __Pyx_RefNannyFinishContext();
 #if PY_MAJOR_VERSION < 3
 return;
 #else
 return __pyx_m;
 #endif
 }
 
 /* Runtime support code */
 
 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
 PyObject *result;
 result = PyObject_GetAttr(dict, name);
 if (!result)
 PyErr_SetObject(PyExc_NameError, name);
 return result;
 }
 
 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
 PyObject *tmp_type, *tmp_value, *tmp_tb;
 PyThreadState *tstate = PyThreadState_GET();
 
 tmp_type = tstate->curexc_type;
 tmp_value = tstate->curexc_value;
 tmp_tb = tstate->curexc_traceback;
 tstate->curexc_type = type;
 tstate->curexc_value = value;
 tstate->curexc_traceback = tb;
 Py_XDECREF(tmp_type);
 Py_XDECREF(tmp_value);
 Py_XDECREF(tmp_tb);
 }
 
 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
 PyThreadState *tstate = PyThreadState_GET();
 *type = tstate->curexc_type;
 *value = tstate->curexc_value;
 *tb = tstate->curexc_traceback;
 
 tstate->curexc_type = 0;
 tstate->curexc_value = 0;
 tstate->curexc_traceback = 0;
 }
 
 
 #if PY_MAJOR_VERSION < 3
 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
 Py_XINCREF(type);
 Py_XINCREF(value);
 Py_XINCREF(tb);
 /* First, check the traceback argument, replacing None with NULL. */
 if (tb == Py_None) {
 Py_DECREF(tb);
 tb = 0;
 }
 else if (tb != NULL && !PyTraceBack_Check(tb)) {
 PyErr_SetString(PyExc_TypeError,
 "raise: arg 3 must be a traceback or None");
 goto raise_error;
 }
 /* Next, replace a missing value with None */
 if (value == NULL) {
 value = Py_None;
 Py_INCREF(value);
 }
 #if PY_VERSION_HEX < 0x02050000
 if (!PyClass_Check(type))
 #else
 if (!PyType_Check(type))
 #endif
 {
 /* Raising an instance.  The value should be a dummy. */
 if (value != Py_None) {
 PyErr_SetString(PyExc_TypeError,
 "instance exception may not have a separate value");
 goto raise_error;
 }
 /* Normalize to raise <class>, <instance> */
 Py_DECREF(value);
 value = type;
 #if PY_VERSION_HEX < 0x02050000
 if (PyInstance_Check(type)) {
 type = (PyObject*) ((PyInstanceObject*)type)->in_class;
 Py_INCREF(type);
 }
 else {
 type = 0;
 PyErr_SetString(PyExc_TypeError,
 "raise: exception must be an old-style class or instance");
 goto raise_error;
 }
 #else
 type = (PyObject*) Py_TYPE(type);
 Py_INCREF(type);
 if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
 PyErr_SetString(PyExc_TypeError,
 "raise: exception class must be a subclass of BaseException");
 goto raise_error;
 }
 #endif
 }
 
 __Pyx_ErrRestore(type, value, tb);
 return;
 raise_error:
 Py_XDECREF(value);
 Py_XDECREF(type);
 Py_XDECREF(tb);
 return;
 }
 
 #else /* Python 3+ */
 
 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
 if (tb == Py_None) {
 tb = 0;
 } else if (tb && !PyTraceBack_Check(tb)) {
 PyErr_SetString(PyExc_TypeError,
 "raise: arg 3 must be a traceback or None");
 goto bad;
 }
 if (value == Py_None)
 value = 0;
 
 if (PyExceptionInstance_Check(type)) {
 if (value) {
 PyErr_SetString(PyExc_TypeError,
 "instance exception may not have a separate value");
 goto bad;
 }
 value = type;
 type = (PyObject*) Py_TYPE(value);
 } else if (!PyExceptionClass_Check(type)) {
 PyErr_SetString(PyExc_TypeError,
 "raise: exception class must be a subclass of BaseException");
 goto bad;
 }
 
 PyErr_SetObject(type, value);
 
 if (tb) {
 PyThreadState *tstate = PyThreadState_GET();
 PyObject* tmp_tb = tstate->curexc_traceback;
 if (tb != tmp_tb) {
 Py_INCREF(tb);
 tstate->curexc_traceback = tb;
 Py_XDECREF(tmp_tb);
 }
 }
 
 bad:
 return;
 }
 #endif
 
 static PyObject *__Pyx_FindPy2Metaclass(PyObject *bases) {
 PyObject *metaclass;
 /* Default metaclass */
 #if PY_MAJOR_VERSION < 3
 if (PyTuple_Check(bases) && PyTuple_GET_SIZE(bases) > 0) {
 PyObject *base = PyTuple_GET_ITEM(bases, 0);
 metaclass = PyObject_GetAttrString(base, "__class__");
 if (!metaclass) {
 PyErr_Clear();
 metaclass = (PyObject*) Py_TYPE(base);
 }
 } else {
 metaclass = (PyObject *) &PyClass_Type;
 }
 #else
 if (PyTuple_Check(bases) && PyTuple_GET_SIZE(bases) > 0) {
 PyObject *base = PyTuple_GET_ITEM(bases, 0);
 metaclass = (PyObject*) Py_TYPE(base);
 } else {
 metaclass = (PyObject *) &PyType_Type;
 }
 #endif
 Py_INCREF(metaclass);
 return metaclass;
 }
 
 static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name,
 PyObject *modname) {
 PyObject *result;
 PyObject *metaclass;
 
 if (PyDict_SetItemString(dict, "__module__", modname) < 0)
 return NULL;
 
 /* Python2 __metaclass__ */
 metaclass = PyDict_GetItemString(dict, "__metaclass__");
 if (metaclass) {
 Py_INCREF(metaclass);
 } else {
 metaclass = __Pyx_FindPy2Metaclass(bases);
 }
 result = PyObject_CallFunctionObjArgs(metaclass, name, bases, dict, NULL);
 Py_DECREF(metaclass);
 return result;
 }
 
 static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
 const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(unsigned char) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(unsigned char)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to unsigned char" :
 "value too large to convert to unsigned char");
 }
 return (unsigned char)-1;
 }
 return (unsigned char)val;
 }
 return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
 }
 
 static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
 const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(unsigned short) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(unsigned short)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to unsigned short" :
 "value too large to convert to unsigned short");
 }
 return (unsigned short)-1;
 }
 return (unsigned short)val;
 }
 return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
 }
 
 static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
 const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(unsigned int) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(unsigned int)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to unsigned int" :
 "value too large to convert to unsigned int");
 }
 return (unsigned int)-1;
 }
 return (unsigned int)val;
 }
 return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
 }
 
 static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
 const char neg_one = (char)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(char) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(char)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to char" :
 "value too large to convert to char");
 }
 return (char)-1;
 }
 return (char)val;
 }
 return (char)__Pyx_PyInt_AsLong(x);
 }
 
 static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
 const short neg_one = (short)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(short) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(short)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to short" :
 "value too large to convert to short");
 }
 return (short)-1;
 }
 return (short)val;
 }
 return (short)__Pyx_PyInt_AsLong(x);
 }
 
 static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
 const int neg_one = (int)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(int) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(int)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to int" :
 "value too large to convert to int");
 }
 return (int)-1;
 }
 return (int)val;
 }
 return (int)__Pyx_PyInt_AsLong(x);
 }
 
 static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
 const signed char neg_one = (signed char)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(signed char) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(signed char)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to signed char" :
 "value too large to convert to signed char");
 }
 return (signed char)-1;
 }
 return (signed char)val;
 }
 return (signed char)__Pyx_PyInt_AsSignedLong(x);
 }
 
 static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
 const signed short neg_one = (signed short)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(signed short) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(signed short)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to signed short" :
 "value too large to convert to signed short");
 }
 return (signed short)-1;
 }
 return (signed short)val;
 }
 return (signed short)__Pyx_PyInt_AsSignedLong(x);
 }
 
 static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
 const signed int neg_one = (signed int)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(signed int) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(signed int)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to signed int" :
 "value too large to convert to signed int");
 }
 return (signed int)-1;
 }
 return (signed int)val;
 }
 return (signed int)__Pyx_PyInt_AsSignedLong(x);
 }
 
 static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
 const int neg_one = (int)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 if (sizeof(int) < sizeof(long)) {
 long val = __Pyx_PyInt_AsLong(x);
 if (unlikely(val != (long)(int)val)) {
 if (!unlikely(val == -1 && PyErr_Occurred())) {
 PyErr_SetString(PyExc_OverflowError,
 (is_unsigned && unlikely(val < 0)) ?
 "can't convert negative value to int" :
 "value too large to convert to int");
 }
 return (int)-1;
 }
 return (int)val;
 }
 return (int)__Pyx_PyInt_AsLong(x);
 }
 
 static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
 const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 #if PY_VERSION_HEX < 0x03000000
 if (likely(PyInt_Check(x))) {
 long val = PyInt_AS_LONG(x);
 if (is_unsigned && unlikely(val < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to unsigned long");
 return (unsigned long)-1;
 }
 return (unsigned long)val;
 } else
 #endif
 if (likely(PyLong_Check(x))) {
 if (is_unsigned) {
 if (unlikely(Py_SIZE(x) < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to unsigned long");
 return (unsigned long)-1;
 }
 return PyLong_AsUnsignedLong(x);
 } else {
 return PyLong_AsLong(x);
 }
 } else {
 unsigned long val;
 PyObject *tmp = __Pyx_PyNumber_Int(x);
 if (!tmp) return (unsigned long)-1;
 val = __Pyx_PyInt_AsUnsignedLong(tmp);
 Py_DECREF(tmp);
 return val;
 }
 }
 
 static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
 const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 #if PY_VERSION_HEX < 0x03000000
 if (likely(PyInt_Check(x))) {
 long val = PyInt_AS_LONG(x);
 if (is_unsigned && unlikely(val < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to unsigned PY_LONG_LONG");
 return (unsigned PY_LONG_LONG)-1;
 }
 return (unsigned PY_LONG_LONG)val;
 } else
 #endif
 if (likely(PyLong_Check(x))) {
 if (is_unsigned) {
 if (unlikely(Py_SIZE(x) < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to unsigned PY_LONG_LONG");
 return (unsigned PY_LONG_LONG)-1;
 }
 return PyLong_AsUnsignedLongLong(x);
 } else {
 return PyLong_AsLongLong(x);
 }
 } else {
 unsigned PY_LONG_LONG val;
 PyObject *tmp = __Pyx_PyNumber_Int(x);
 if (!tmp) return (unsigned PY_LONG_LONG)-1;
 val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
 Py_DECREF(tmp);
 return val;
 }
 }
 
 static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
 const long neg_one = (long)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 #if PY_VERSION_HEX < 0x03000000
 if (likely(PyInt_Check(x))) {
 long val = PyInt_AS_LONG(x);
 if (is_unsigned && unlikely(val < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to long");
 return (long)-1;
 }
 return (long)val;
 } else
 #endif
 if (likely(PyLong_Check(x))) {
 if (is_unsigned) {
 if (unlikely(Py_SIZE(x) < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to long");
 return (long)-1;
 }
 return PyLong_AsUnsignedLong(x);
 } else {
 return PyLong_AsLong(x);
 }
 } else {
 long val;
 PyObject *tmp = __Pyx_PyNumber_Int(x);
 if (!tmp) return (long)-1;
 val = __Pyx_PyInt_AsLong(tmp);
 Py_DECREF(tmp);
 return val;
 }
 }
 
 static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
 const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 #if PY_VERSION_HEX < 0x03000000
 if (likely(PyInt_Check(x))) {
 long val = PyInt_AS_LONG(x);
 if (is_unsigned && unlikely(val < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to PY_LONG_LONG");
 return (PY_LONG_LONG)-1;
 }
 return (PY_LONG_LONG)val;
 } else
 #endif
 if (likely(PyLong_Check(x))) {
 if (is_unsigned) {
 if (unlikely(Py_SIZE(x) < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to PY_LONG_LONG");
 return (PY_LONG_LONG)-1;
 }
 return PyLong_AsUnsignedLongLong(x);
 } else {
 return PyLong_AsLongLong(x);
 }
 } else {
 PY_LONG_LONG val;
 PyObject *tmp = __Pyx_PyNumber_Int(x);
 if (!tmp) return (PY_LONG_LONG)-1;
 val = __Pyx_PyInt_AsLongLong(tmp);
 Py_DECREF(tmp);
 return val;
 }
 }
 
 static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
 const signed long neg_one = (signed long)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 #if PY_VERSION_HEX < 0x03000000
 if (likely(PyInt_Check(x))) {
 long val = PyInt_AS_LONG(x);
 if (is_unsigned && unlikely(val < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to signed long");
 return (signed long)-1;
 }
 return (signed long)val;
 } else
 #endif
 if (likely(PyLong_Check(x))) {
 if (is_unsigned) {
 if (unlikely(Py_SIZE(x) < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to signed long");
 return (signed long)-1;
 }
 return PyLong_AsUnsignedLong(x);
 } else {
 return PyLong_AsLong(x);
 }
 } else {
 signed long val;
 PyObject *tmp = __Pyx_PyNumber_Int(x);
 if (!tmp) return (signed long)-1;
 val = __Pyx_PyInt_AsSignedLong(tmp);
 Py_DECREF(tmp);
 return val;
 }
 }
 
 static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
 const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
 const int is_unsigned = neg_one > const_zero;
 #if PY_VERSION_HEX < 0x03000000
 if (likely(PyInt_Check(x))) {
 long val = PyInt_AS_LONG(x);
 if (is_unsigned && unlikely(val < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to signed PY_LONG_LONG");
 return (signed PY_LONG_LONG)-1;
 }
 return (signed PY_LONG_LONG)val;
 } else
 #endif
 if (likely(PyLong_Check(x))) {
 if (is_unsigned) {
 if (unlikely(Py_SIZE(x) < 0)) {
 PyErr_SetString(PyExc_OverflowError,
 "can't convert negative value to signed PY_LONG_LONG");
 return (signed PY_LONG_LONG)-1;
 }
 return PyLong_AsUnsignedLongLong(x);
 } else {
 return PyLong_AsLongLong(x);
 }
 } else {
 signed PY_LONG_LONG val;
 PyObject *tmp = __Pyx_PyNumber_Int(x);
 if (!tmp) return (signed PY_LONG_LONG)-1;
 val = __Pyx_PyInt_AsSignedLongLong(tmp);
 Py_DECREF(tmp);
 return val;
 }
 }
 
 #include "compile.h"
 #include "frameobject.h"
 #include "traceback.h"
 
 static void __Pyx_AddTraceback(const char *funcname) {
 PyObject *py_srcfile = 0;
 PyObject *py_funcname = 0;
 PyObject *py_globals = 0;
 PyCodeObject *py_code = 0;
 PyFrameObject *py_frame = 0;
 
 #if PY_MAJOR_VERSION < 3
 py_srcfile = PyString_FromString(__pyx_filename);
 #else
 py_srcfile = PyUnicode_FromString(__pyx_filename);
 #endif
 if (!py_srcfile) goto bad;
 if (__pyx_clineno) {
 #if PY_MAJOR_VERSION < 3
 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
 #else
 py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
 #endif
 }
 else {
 #if PY_MAJOR_VERSION < 3
 py_funcname = PyString_FromString(funcname);
 #else
 py_funcname = PyUnicode_FromString(funcname);
 #endif
 }
 if (!py_funcname) goto bad;
 py_globals = PyModule_GetDict(__pyx_m);
 if (!py_globals) goto bad;
 py_code = PyCode_New(
 0,            /*int argcount,*/
 #if PY_MAJOR_VERSION >= 3
 0,            /*int kwonlyargcount,*/
 #endif
 0,            /*int nlocals,*/
 0,            /*int stacksize,*/
 0,            /*int flags,*/
 __pyx_empty_bytes, /*PyObject *code,*/
 __pyx_empty_tuple,  /*PyObject *consts,*/
 __pyx_empty_tuple,  /*PyObject *names,*/
 __pyx_empty_tuple,  /*PyObject *varnames,*/
 __pyx_empty_tuple,  /*PyObject *freevars,*/
 __pyx_empty_tuple,  /*PyObject *cellvars,*/
 py_srcfile,   /*PyObject *filename,*/
 py_funcname,  /*PyObject *name,*/
 __pyx_lineno,   /*int firstlineno,*/
 __pyx_empty_bytes  /*PyObject *lnotab*/
 );
 if (!py_code) goto bad;
 py_frame = PyFrame_New(
 PyThreadState_GET(), /*PyThreadState *tstate,*/
 py_code,             /*PyCodeObject *code,*/
 py_globals,          /*PyObject *globals,*/
 0                    /*PyObject *locals*/
 );
 if (!py_frame) goto bad;
 py_frame->f_lineno = __pyx_lineno;
 PyTraceBack_Here(py_frame);
 bad:
 Py_XDECREF(py_srcfile);
 Py_XDECREF(py_funcname);
 Py_XDECREF(py_code);
 Py_XDECREF(py_frame);
 }
 
 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
 while (t->p) {
 #if PY_MAJOR_VERSION < 3
 if (t->is_unicode) {
 *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
 } else if (t->intern) {
 *t->p = PyString_InternFromString(t->s);
 } else {
 *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
 }
 #else  /* Python 3+ has unicode identifiers */
 if (t->is_unicode | t->is_str) {
 if (t->intern) {
 *t->p = PyUnicode_InternFromString(t->s);
 } else if (t->encoding) {
 *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
 } else {
 *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
 }
 } else {
 *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
 }
 #endif
 if (!*t->p)
 return -1;
 ++t;
 }
 return 0;
 }
 
 /* Type Conversion Functions */
 
 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
 int is_true = x == Py_True;
 if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
 else return PyObject_IsTrue(x);
 }
 
 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
 PyNumberMethods *m;
 const char *name = NULL;
 PyObject *res = NULL;
 #if PY_VERSION_HEX < 0x03000000
 if (PyInt_Check(x) || PyLong_Check(x))
 #else
 if (PyLong_Check(x))
 #endif
 return Py_INCREF(x), x;
 m = Py_TYPE(x)->tp_as_number;
 #if PY_VERSION_HEX < 0x03000000
 if (m && m->nb_int) {
 name = "int";
 res = PyNumber_Int(x);
 }
 else if (m && m->nb_long) {
 name = "long";
 res = PyNumber_Long(x);
 }
 #else
 if (m && m->nb_int) {
 name = "int";
 res = PyNumber_Long(x);
 }
 #endif
 if (res) {
 #if PY_VERSION_HEX < 0x03000000
 if (!PyInt_Check(res) && !PyLong_Check(res)) {
 #else
 if (!PyLong_Check(res)) {
 #endif
 PyErr_Format(PyExc_TypeError,
 "__%s__ returned non-%s (type %.200s)",
 name, name, Py_TYPE(res)->tp_name);
 Py_DECREF(res);
 return NULL;
 }
 }
 else if (!PyErr_Occurred()) {
 PyErr_SetString(PyExc_TypeError,
 "an integer is required");
 }
 return res;
 }
 
 static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
 Py_ssize_t ival;
 PyObject* x = PyNumber_Index(b);
 if (!x) return -1;
 ival = PyInt_AsSsize_t(x);
 Py_DECREF(x);
 return ival;
 }
 
 static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
 #if PY_VERSION_HEX < 0x02050000
 if (ival <= LONG_MAX)
 return PyInt_FromLong((long)ival);
 else {
 unsigned char *bytes = (unsigned char *) &ival;
 int one = 1; int little = (int)*(unsigned char*)&one;
 return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
 }
 #else
 return PyInt_FromSize_t(ival);
 #endif
 }
 
 static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
 unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
 if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
 return (size_t)-1;
 } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
 PyErr_SetString(PyExc_OverflowError,
 "value too large to convert to size_t");
 return (size_t)-1;
 }
 return (size_t)val;
 }
 
 
 #endif /* Py_PYTHON_H */
 
 |