diff --git a/bolt/trainer/avgperceptron.c b/bolt/trainer/avgperceptron.c index e688be1..cff2e09 100644 --- a/bolt/trainer/avgperceptron.c +++ b/bolt/trainer/avgperceptron.c @@ -1,11 +1,12 @@ -/* Generated by Cython 0.11.2 on Fri Sep 24 17:18:13 2010 */ +/* Generated by Cython 0.12.1 on Sun Sep 26 10:58:11 2010 */ #define PY_SSIZE_T_CLEAN #include "Python.h" #include "structmember.h" #ifndef Py_PYTHON_H #error Python headers needed to compile C extensions, please install development version of Python. -#endif +#else + #ifndef PY_LONG_LONG #define PY_LONG_LONG LONG_LONG #endif @@ -15,7 +16,9 @@ #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 @@ -25,7 +28,9 @@ #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) @@ -35,17 +40,17 @@ #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; + 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 @@ -59,22 +64,32 @@ #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 PyString_Type PyBytes_Type - #define PyString_CheckExact PyBytes_CheckExact + #define PyString_Type PyUnicode_Type + #define PyString_CheckExact PyUnicode_CheckExact +#else + #define PyBytes_Type PyString_Type + #define PyBytes_CheckExact PyString_CheckExact +#endif + +#if PY_MAJOR_VERSION >= 3 #define PyInt_Type PyLong_Type #define PyInt_Check(op) PyLong_Check(op) #define PyInt_CheckExact(op) PyLong_CheckExact(op) @@ -89,13 +104,17 @@ #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask #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_TrueDivide(x,y) - #define PyBytes_Type PyString_Type + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) + #endif + #if PY_MAJOR_VERSION >= 3 #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) #endif + #if !defined(WIN32) && !defined(MS_WINDOWS) #ifndef __stdcall #define __stdcall @@ -109,6 +128,7 @@ #else #define _USE_MATH_DEFINES #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)) @@ -118,6 +138,7 @@ #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)) @@ -133,23 +154,21 @@ #include #define __PYX_HAVE_API__bolt__trainer__avgperceptron #include "stdlib.h" +#include "stdio.h" #include "numpy/arrayobject.h" -#define __PYX_USE_C99_COMPLEX defined(_Complex_I) +#include "numpy/ufuncobject.h" - -#ifdef __GNUC__ -#define INLINE __inline__ -#elif _WIN32 -#define INLINE __inline -#else -#define INLINE +#ifndef CYTHON_INLINE + #if defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #else + #define CYTHON_INLINE + #endif #endif -typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/ - - - -static int __pyx_skip_dispatch = 0; +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 */ @@ -164,9 +183,12 @@ static int __pyx_skip_dispatch = 0; #define __Pyx_PyBytes_AsString PyBytes_AsString #endif +#define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) +#define __Pyx_PyBytes_AsUString(s) ((unsigned char*) __Pyx_PyBytes_AsString(s)) + #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) -static INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #if !defined(T_PYSSIZET) #if PY_VERSION_HEX < 0x02050000 @@ -183,6 +205,40 @@ static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #endif #endif + +#if !defined(T_ULONGLONG) +#define __Pyx_T_UNSIGNED_INT(x) \ + ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ + ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ + ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : -1)))) +#else +#define __Pyx_T_UNSIGNED_INT(x) \ + ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ + ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ + ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : \ + ((sizeof(x) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))))) +#endif +#if !defined(T_LONGLONG) +#define __Pyx_T_SIGNED_INT(x) \ + ((sizeof(x) == sizeof(char)) ? T_BYTE : \ + ((sizeof(x) == sizeof(short)) ? T_SHORT : \ + ((sizeof(x) == sizeof(int)) ? T_INT : \ + ((sizeof(x) == sizeof(long)) ? T_LONG : -1)))) +#else +#define __Pyx_T_SIGNED_INT(x) \ + ((sizeof(x) == sizeof(char)) ? T_BYTE : \ + ((sizeof(x) == sizeof(short)) ? T_SHORT : \ + ((sizeof(x) == sizeof(int)) ? T_INT : \ + ((sizeof(x) == sizeof(long)) ? T_LONG : \ + ((sizeof(x) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))))) +#endif + +#define __Pyx_T_FLOATING(x) \ + ((sizeof(x) == sizeof(float)) ? T_FLOAT : \ + ((sizeof(x) == sizeof(double)) ? T_DOUBLE : -1)) + #if !defined(T_SIZET) #if !defined(T_ULONGLONG) #define T_SIZET \ @@ -196,9 +252,9 @@ static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #endif #endif -static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); +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)) @@ -220,6 +276,7 @@ static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); 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__; @@ -227,35 +284,175 @@ static const char *__pyx_filename; static const char **__pyx_f; -#ifdef 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* (*NewContext)(const char*, int, const char*); - void (*FinishContext)(void**); -} __Pyx_RefnannyAPIStruct; -static __Pyx_RefnannyAPIStruct *__Pyx_Refnanny = NULL; -#define __Pyx_ImportRefcountAPI(name) (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI") -#define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r) -#define __Pyx_SetupRefcountContext(name) void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__) -#define __Pyx_FinishRefcountContext() __Pyx_Refnanny->FinishContext(&__pyx_refchk) +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif + +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif + +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif + +typedef npy_int8 __pyx_t_5numpy_int8_t; + +typedef npy_int16 __pyx_t_5numpy_int16_t; + +typedef npy_int32 __pyx_t_5numpy_int32_t; + +typedef npy_int64 __pyx_t_5numpy_int64_t; + +typedef npy_uint8 __pyx_t_5numpy_uint8_t; + +typedef npy_uint16 __pyx_t_5numpy_uint16_t; + +typedef npy_uint32 __pyx_t_5numpy_uint32_t; + +typedef npy_uint64 __pyx_t_5numpy_uint64_t; + +typedef npy_float32 __pyx_t_5numpy_float32_t; + +typedef npy_float64 __pyx_t_5numpy_float64_t; + +typedef npy_long __pyx_t_5numpy_int_t; + +typedef npy_longlong __pyx_t_5numpy_long_t; + +typedef npy_intp __pyx_t_5numpy_intp_t; + +typedef npy_uintp __pyx_t_5numpy_uintp_t; + +typedef npy_ulong __pyx_t_5numpy_uint_t; + +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; + +typedef npy_double __pyx_t_5numpy_float_t; + +typedef npy_double __pyx_t_5numpy_double_t; + +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; + +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif + +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif + +/* Type declarations */ + +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; + +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; + +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; + +typedef npy_cdouble __pyx_t_5numpy_complex_t; + +/* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":25 + * # ---------------------------------------- + * + * cdef struct Pair: # <<<<<<<<<<<<<< + * np.uint32_t idx + * np.float32_t val + */ + +struct __pyx_t_4bolt_7trainer_13avgperceptron_Pair { + __pyx_t_5numpy_uint32_t idx; + __pyx_t_5numpy_float32_t val; +}; + +/* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":64 + * return max_j + * + * cdef class AveragedPerceptron(object): # <<<<<<<<<<<<<< + * """Averaged Perceptron learning algorithm. + * + */ + +struct __pyx_obj_4bolt_7trainer_13avgperceptron_AveragedPerceptron { + PyObject_HEAD + struct __pyx_vtabstruct_4bolt_7trainer_13avgperceptron_AveragedPerceptron *__pyx_vtab; + int epochs; +}; + + +struct __pyx_vtabstruct_4bolt_7trainer_13avgperceptron_AveragedPerceptron { + void (*_train_multi)(struct __pyx_obj_4bolt_7trainer_13avgperceptron_AveragedPerceptron *, PyObject *, PyObject *, PyObject *, PyObject *); +}; +static struct __pyx_vtabstruct_4bolt_7trainer_13avgperceptron_AveragedPerceptron *__pyx_vtabptr_4bolt_7trainer_13avgperceptron_AveragedPerceptron; + +#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_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) -#define __Pyx_SetupRefcountContext(name) -#define __Pyx_FinishRefcountContext() + #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) if((r) == NULL) ; else __Pyx_GIVEREF(r) -#define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r) +#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 void __Pyx_RaiseDoubleKeywordsError( const char* func_name, PyObject* kw_name); /*proto*/ @@ -265,7 +462,7 @@ static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ /* Run-time type information about structs used with buffers */ struct __Pyx_StructField_; @@ -289,11 +486,18 @@ typedef struct { } __Pyx_BufFmt_StackElem; -static INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); static int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(void); + +static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/ +static int __Pyx_EndUnpack(PyObject *); /*proto*/ + -static INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { PyObject *r; if (!j) return NULL; r = PyObject_GetItem(o, j); @@ -306,7 +510,7 @@ static INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { __Pyx_GetItemInt_List_Fast(o, i, size <= sizeof(long)) : \ __Pyx_GetItemInt_Generic(o, to_py_func(i))) -static INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, int fits_long) { +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, int fits_long) { if (likely(o != Py_None)) { if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { PyObject *r = PyList_GET_ITEM(o, i); @@ -326,7 +530,7 @@ static INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, in __Pyx_GetItemInt_Tuple_Fast(o, i, size <= sizeof(long)) : \ __Pyx_GetItemInt_Generic(o, to_py_func(i))) -static INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, int fits_long) { +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, int fits_long) { if (likely(o != Py_None)) { if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { PyObject *r = PyTuple_GET_ITEM(o, i); @@ -347,7 +551,7 @@ static INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, i __Pyx_GetItemInt_Fast(o, i, size <= sizeof(long)) : \ __Pyx_GetItemInt_Generic(o, to_py_func(i))) -static INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int fits_long) { +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int fits_long) { PyObject *r; if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { r = PyList_GET_ITEM(o, i); @@ -366,8 +570,12 @@ static INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int fit return r; } -static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*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 CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); + +static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/ #if PY_MAJOR_VERSION < 3 static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); static void __Pyx_ReleaseBuffer(Py_buffer *view); @@ -391,370 +599,160 @@ static PyObject* __pyx_print_kwargs = 0; static int __Pyx_PrintOne(PyObject *o); /*proto*/ -static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -static INLINE void __Pyx_RaiseTooManyValuesError(void); - -static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/ -static int __Pyx_EndUnpack(PyObject *); /*proto*/ - static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -#if __PYX_USE_C99_COMPLEX - #define __Pyx_REAL_PART(z) __real__(z) - #define __Pyx_IMAG_PART(z) __imag__(z) +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif #else - #define __Pyx_REAL_PART(z) ((z).real) - #define __Pyx_IMAG_PART(z) ((z).imag) + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) #endif -#define __pyx_PyObject_from_complex(z) PyComplex_FromDoubles((double)__Pyx_REAL_PART(z), (double)__Pyx_IMAG_PART(z)) - -#if __PYX_USE_C99_COMPLEX - - typedef float _Complex __pyx_t_float_complex; - static INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return x + y*(__pyx_t_float_complex)_Complex_I; - } - - #define __pyx_t_float_complex_is_zero(a) ((a) == 0) - #define __pyx_t_float_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_float_complex_add(a, b) ((a)+(b)) - #define __pyx_t_float_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_float_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_float_complex_div(a, b) ((a)/(b)) - #define __pyx_t_float_complex_neg(a) (-(a)) - +#if defined(_WIN32) && defined(__cplusplus) && CYTHON_CCOMPLEX + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) #else - - typedef struct { float real, imag; } __pyx_t_float_complex; - static INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - __pyx_t_float_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_float_complex_is_zero(__pyx_t_float_complex a) { - return (a.real == 0) & (a.imag == 0); - } - - static INLINE int __pyx_t_float_complex_eq(__pyx_t_float_complex a, __pyx_t_float_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_add(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_sub(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_mul(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_div(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - float denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_neg(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) #endif -#if __PYX_USE_C99_COMPLEX - - typedef double _Complex __pyx_t_double_complex; - static INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return x + y*(__pyx_t_double_complex)_Complex_I; - } - - #define __pyx_t_double_complex_is_zero(a) ((a) == 0) - #define __pyx_t_double_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_double_complex_add(a, b) ((a)+(b)) - #define __pyx_t_double_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_double_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_double_complex_div(a, b) ((a)/(b)) - #define __pyx_t_double_complex_neg(a) (-(a)) - +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +#if CYTHON_CCOMPLEX + #define __Pyx_c_eqf(a, b) ((a)==(b)) + #define __Pyx_c_sumf(a, b) ((a)+(b)) + #define __Pyx_c_difff(a, b) ((a)-(b)) + #define __Pyx_c_prodf(a, b) ((a)*(b)) + #define __Pyx_c_quotf(a, b) ((a)/(b)) + #define __Pyx_c_negf(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zerof(z) ((z)==(float)0) + #define __Pyx_c_conjf(z) (::std::conj(z)) + /*#define __Pyx_c_absf(z) (::std::abs(z))*/ + #else + #define __Pyx_c_is_zerof(z) ((z)==0) + #define __Pyx_c_conjf(z) (conjf(z)) + /*#define __Pyx_c_absf(z) (cabsf(z))*/ + #endif #else - - typedef struct { double real, imag; } __pyx_t_double_complex; - static INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - __pyx_t_double_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_double_complex_is_zero(__pyx_t_double_complex a) { - return (a.real == 0) & (a.imag == 0); - } - - static INLINE int __pyx_t_double_complex_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_add(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_sub(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_mul(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_div(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - double denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_neg(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - + static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex); + /*static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex);*/ #endif -#if __PYX_USE_C99_COMPLEX - - typedef long double _Complex __pyx_t_long__double_complex; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_from_parts(long double x, long double y) { - return x + y*(__pyx_t_long__double_complex)_Complex_I; - } - - #define __pyx_t_long__double_complex_is_zero(a) ((a) == 0) - #define __pyx_t_long__double_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_long__double_complex_add(a, b) ((a)+(b)) - #define __pyx_t_long__double_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_long__double_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_long__double_complex_div(a, b) ((a)/(b)) - #define __pyx_t_long__double_complex_neg(a) (-(a)) - +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq(a, b) ((a)==(b)) + #define __Pyx_c_sum(a, b) ((a)+(b)) + #define __Pyx_c_diff(a, b) ((a)-(b)) + #define __Pyx_c_prod(a, b) ((a)*(b)) + #define __Pyx_c_quot(a, b) ((a)/(b)) + #define __Pyx_c_neg(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero(z) ((z)==(double)0) + #define __Pyx_c_conj(z) (::std::conj(z)) + /*#define __Pyx_c_abs(z) (::std::abs(z))*/ + #else + #define __Pyx_c_is_zero(z) ((z)==0) + #define __Pyx_c_conj(z) (conj(z)) + /*#define __Pyx_c_abs(z) (cabs(z))*/ + #endif #else - - typedef struct { long double real, imag; } __pyx_t_long__double_complex; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_from_parts(long double x, long double y) { - __pyx_t_long__double_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_long__double_complex_is_zero(__pyx_t_long__double_complex a) { - return (a.real == 0) & (a.imag == 0); - } - - static INLINE int __pyx_t_long__double_complex_eq(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_add(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_sub(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_mul(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_div(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - long double denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_neg(__pyx_t_long__double_complex a) { - __pyx_t_long__double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - + static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex); + /*static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex);*/ #endif -static INLINE int __Pyx_StrEq(const char *, const char *); /*proto*/ - -static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); +static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); -static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); +static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); -static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); +static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); -static INLINE char __Pyx_PyInt_AsChar(PyObject *); +static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *); -static INLINE short __Pyx_PyInt_AsShort(PyObject *); +static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *); -static INLINE int __Pyx_PyInt_AsInt(PyObject *); +static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *); -static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); +static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); -static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); +static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); -static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); +static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); -static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); +static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); -static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); +static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); -static INLINE long __Pyx_PyInt_AsLong(PyObject *); +static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *); -static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); +static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); -static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); +static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); -static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); +static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); static void __Pyx_WriteUnraisable(const char *name); /*proto*/ static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ -static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size); /*proto*/ +static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ static void __Pyx_AddTraceback(const char *funcname); /*proto*/ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ - -/* Type declarations */ - -typedef npy_int8 __pyx_t_5numpy_int8_t; - -typedef npy_int16 __pyx_t_5numpy_int16_t; - -typedef npy_int32 __pyx_t_5numpy_int32_t; - -typedef npy_int64 __pyx_t_5numpy_int64_t; - -typedef npy_uint8 __pyx_t_5numpy_uint8_t; - -typedef npy_uint16 __pyx_t_5numpy_uint16_t; - -typedef npy_uint32 __pyx_t_5numpy_uint32_t; - -typedef npy_uint64 __pyx_t_5numpy_uint64_t; - -typedef npy_float32 __pyx_t_5numpy_float32_t; - -typedef npy_float64 __pyx_t_5numpy_float64_t; - -typedef npy_complex64 __pyx_t_5numpy_complex64_t; - -typedef npy_complex128 __pyx_t_5numpy_complex128_t; - -typedef npy_long __pyx_t_5numpy_int_t; - -typedef npy_longlong __pyx_t_5numpy_long_t; - -typedef npy_ulong __pyx_t_5numpy_uint_t; - -typedef npy_ulonglong __pyx_t_5numpy_ulong_t; - -typedef npy_double __pyx_t_5numpy_float_t; - -typedef npy_double __pyx_t_5numpy_double_t; - -typedef npy_longdouble __pyx_t_5numpy_longdouble_t; - -typedef npy_cfloat __pyx_t_5numpy_cfloat_t; - -typedef npy_cdouble __pyx_t_5numpy_cdouble_t; - -typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; - -typedef npy_cdouble __pyx_t_5numpy_complex_t; - -/* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":25 - * # ---------------------------------------- - * - * cdef struct Pair: # <<<<<<<<<<<<<< - * np.uint32_t idx - * np.float32_t val - */ - -struct __pyx_t_4bolt_7trainer_13avgperceptron_Pair { - __pyx_t_5numpy_uint32_t idx; - __pyx_t_5numpy_float32_t val; -}; - -/* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":64 - * return max_j - * - * cdef class AveragedPerceptron(object): # <<<<<<<<<<<<<< - * """Averaged Perceptron learning algorithm. - * - */ - -struct __pyx_obj_4bolt_7trainer_13avgperceptron_AveragedPerceptron { - PyObject_HEAD - struct __pyx_vtabstruct_4bolt_7trainer_13avgperceptron_AveragedPerceptron *__pyx_vtab; - int epochs; -}; - - -struct __pyx_vtabstruct_4bolt_7trainer_13avgperceptron_AveragedPerceptron { - void (*_train_multi)(struct __pyx_obj_4bolt_7trainer_13avgperceptron_AveragedPerceptron *, PyObject *, PyObject *, PyObject *, PyObject *); -}; -static struct __pyx_vtabstruct_4bolt_7trainer_13avgperceptron_AveragedPerceptron *__pyx_vtabptr_4bolt_7trainer_13avgperceptron_AveragedPerceptron; /* Module declarations from python_buffer */ +/* Module declarations from python_ref */ + /* Module declarations from stdlib */ +/* Module declarations from stdio */ + /* Module declarations from numpy */ /* Module declarations from numpy */ static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; -static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *, PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *); /*proto*/ /* Module declarations from cython */ /* Module declarations from bolt.trainer.avgperceptron */ static PyTypeObject *__pyx_ptype_4bolt_7trainer_13avgperceptron_AveragedPerceptron = 0; -static PyObject *__pyx_k_32 = 0; static double __pyx_f_4bolt_7trainer_13avgperceptron_dot(double *, struct __pyx_t_4bolt_7trainer_13avgperceptron_Pair *, int); /*proto*/ static void __pyx_f_4bolt_7trainer_13avgperceptron_add(double *, int, struct __pyx_t_4bolt_7trainer_13avgperceptron_Pair *, int, int, double, double *, double); /*proto*/ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *, int, struct __pyx_t_4bolt_7trainer_13avgperceptron_Pair *, int, int, int); /*proto*/ @@ -763,129 +761,155 @@ static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "numpy.floa int __pyx_module_is_main_bolt__trainer__avgperceptron = 0; /* Implementation of bolt.trainer.avgperceptron */ -static char __pyx_k_31[] = "\"Peter Prettenhofer\" "; -static PyObject *__pyx_int_5; -static PyObject *__pyx_int_0; -static PyObject *__pyx_int_1; -static char __pyx_k___main__[] = "__main__"; -static PyObject *__pyx_kp___main__; -static char __pyx_k___init__[] = "__init__"; -static PyObject *__pyx_kp___init__; -static char __pyx_k_train[] = "train"; -static PyObject *__pyx_kp_train; -static char __pyx_k_epochs[] = "epochs"; -static PyObject *__pyx_kp_epochs; -static char __pyx_k_model[] = "model"; -static PyObject *__pyx_kp_model; -static char __pyx_k_dataset[] = "dataset"; -static PyObject *__pyx_kp_dataset; -static char __pyx_k_verbose[] = "verbose"; -static PyObject *__pyx_kp_verbose; -static char __pyx_k_shuffle[] = "shuffle"; -static PyObject *__pyx_kp_shuffle; -static char __pyx_k_numpy[] = "numpy"; -static PyObject *__pyx_kp_numpy; -static char __pyx_k_np[] = "np"; -static PyObject *__pyx_kp_np; -static char __pyx_k_sys[] = "sys"; -static PyObject *__pyx_kp_sys; -static char __pyx_k_time[] = "time"; -static PyObject *__pyx_kp_time; -static char __pyx_k___authors__[] = "__authors__"; -static PyObject *__pyx_kp___authors__; -static char __pyx_k_m[] = "m"; -static PyObject *__pyx_kp_m; -static char __pyx_k_k[] = "k"; -static PyObject *__pyx_kp_k; -static char __pyx_k_n[] = "n"; -static PyObject *__pyx_kp_n; -static char __pyx_k_W[] = "W"; -static PyObject *__pyx_kp_W; -static char __pyx_k_zeros[] = "zeros"; -static PyObject *__pyx_kp_zeros; -static char __pyx_k_dtype[] = "dtype"; -static PyObject *__pyx_kp_dtype; -static char __pyx_k_33[] = "float64"; -static PyObject *__pyx_kp_33; -static char __pyx_k_nonzero[] = "nonzero"; -static PyObject *__pyx_kp_nonzero; -static char __pyx_k_shape[] = "shape"; -static PyObject *__pyx_kp_shape; -static char __pyx_k_any[] = "any"; -static PyObject *__pyx_kp_any; -static char __pyx_k_isinf[] = "isinf"; -static PyObject *__pyx_kp_isinf; -static char __pyx_k_isnan[] = "isnan"; -static PyObject *__pyx_kp_isnan; -static char __pyx_k_ValueError[] = "ValueError"; -static PyObject *__pyx_kp_ValueError; -static PyObject *__pyx_kp_31; static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_kp_34; -static PyObject *__pyx_kp_35; -static PyObject *__pyx_kp_36; -static PyObject *__pyx_kp_37; -static char __pyx_k_34[] = "-- Epoch %d"; -static char __pyx_k_35[] = "NADDs: %d; NNZs: %d. "; -static char __pyx_k_36[] = "Total training time: %.2f seconds."; -static char __pyx_k_37[] = "floating-point under-/overflow occured."; -static PyObject *__pyx_int_15; -static char __pyx_k___getbuffer__[] = "__getbuffer__"; -static PyObject *__pyx_kp___getbuffer__; -static char __pyx_k___releasebuffer__[] = "__releasebuffer__"; -static PyObject *__pyx_kp___releasebuffer__; -static char __pyx_k_info[] = "info"; -static PyObject *__pyx_kp_info; -static char __pyx_k_flags[] = "flags"; -static PyObject *__pyx_kp_flags; -static char __pyx_k_range[] = "range"; -static PyObject *__pyx_kp_range; -static char __pyx_k_itervalues[] = "itervalues"; -static PyObject *__pyx_kp_itervalues; -static char __pyx_k_RuntimeError[] = "RuntimeError"; -static PyObject *__pyx_kp_RuntimeError; -static PyObject *__pyx_kp_1; -static PyObject *__pyx_kp_2; -static PyObject *__pyx_kp_5; -static PyObject *__pyx_kp_23; static PyObject *__pyx_builtin_range; static PyObject *__pyx_builtin_RuntimeError; -static char __pyx_k_1[] = "ndarray is not C contiguous"; -static char __pyx_k_2[] = "ndarray is not Fortran contiguous"; -static char __pyx_k_3[] = ">"; -static char __pyx_k_4[] = "<"; -static char __pyx_k_5[] = "Non-native byte order not supported"; -static char __pyx_k_6[] = "b"; -static char __pyx_k_7[] = "B"; -static char __pyx_k_8[] = "h"; -static char __pyx_k_9[] = "H"; -static char __pyx_k_10[] = "i"; -static char __pyx_k_11[] = "I"; -static char __pyx_k_12[] = "l"; -static char __pyx_k_13[] = "L"; -static char __pyx_k_14[] = "q"; -static char __pyx_k_15[] = "Q"; -static char __pyx_k_16[] = "f"; -static char __pyx_k_17[] = "d"; -static char __pyx_k_18[] = "g"; -static char __pyx_k_19[] = "Zf"; -static char __pyx_k_20[] = "Zd"; -static char __pyx_k_21[] = "Zg"; -static char __pyx_k_22[] = "O"; -static char __pyx_k_23[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_24[] = "^"; -static PyObject *__pyx_kp_25; -static PyObject *__pyx_kp_28; -static PyObject *__pyx_kp_29; -static PyObject *__pyx_kp_30; -static char __pyx_k_25[] = "Format string allocated too short, see comment in numpy.pxd"; -static char __pyx_k_26[] = ">"; -static char __pyx_k_27[] = "<"; -static char __pyx_k_28[] = "Non-native byte order not supported"; -static char __pyx_k_29[] = "Format string allocated too short."; -static char __pyx_k_30[] = "unknown dtype code in numpy.pxd (%d)"; - -/* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":29 +static char __pyx_k_2[] = "-- Epoch %d"; +static char __pyx_k_3[] = "NADDs: %d; NNZs: %d. "; +static char __pyx_k_4[] = "Total training time: %.2f seconds."; +static char __pyx_k_5[] = "floating-point under-/overflow occured."; +static char __pyx_k_6[] = "ndarray is not C contiguous"; +static char __pyx_k_7[] = "ndarray is not Fortran contiguous"; +static char __pyx_k_8[] = "Non-native byte order not supported"; +static char __pyx_k_9[] = "unknown dtype code in numpy.pxd (%d)"; +static char __pyx_k_10[] = "Format string allocated too short, see comment in numpy.pxd"; +static char __pyx_k_11[] = "Format string allocated too short."; +static char __pyx_k_12[] = "\"Peter Prettenhofer\" "; +static char __pyx_k_13[] = "AveragedPerceptron.__init__ (line 76)"; +static char __pyx_k_14[] = "AveragedPerceptron.train (line 84)"; +static char __pyx_k__B[] = "B"; +static char __pyx_k__H[] = "H"; +static char __pyx_k__I[] = "I"; +static char __pyx_k__L[] = "L"; +static char __pyx_k__O[] = "O"; +static char __pyx_k__Q[] = "Q"; +static char __pyx_k__W[] = "W"; +static char __pyx_k__b[] = "b"; +static char __pyx_k__d[] = "d"; +static char __pyx_k__f[] = "f"; +static char __pyx_k__g[] = "g"; +static char __pyx_k__h[] = "h"; +static char __pyx_k__i[] = "i"; +static char __pyx_k__k[] = "k"; +static char __pyx_k__l[] = "l"; +static char __pyx_k__m[] = "m"; +static char __pyx_k__n[] = "n"; +static char __pyx_k__q[] = "q"; +static char __pyx_k__Zd[] = "Zd"; +static char __pyx_k__Zf[] = "Zf"; +static char __pyx_k__Zg[] = "Zg"; +static char __pyx_k__np[] = "np"; +static char __pyx_k__any[] = "any"; +static char __pyx_k__buf[] = "buf"; +static char __pyx_k__idx[] = "idx"; +static char __pyx_k__obj[] = "obj"; +static char __pyx_k__sys[] = "sys"; +static char __pyx_k__val[] = "val"; +static char __pyx_k__base[] = "base"; +static char __pyx_k__data[] = "data"; +static char __pyx_k__ndim[] = "ndim"; +static char __pyx_k__time[] = "time"; +static char __pyx_k__descr[] = "descr"; +static char __pyx_k__dtype[] = "dtype"; +static char __pyx_k__isinf[] = "isinf"; +static char __pyx_k__isnan[] = "isnan"; +static char __pyx_k__model[] = "model"; +static char __pyx_k__names[] = "names"; +static char __pyx_k__numpy[] = "numpy"; +static char __pyx_k__range[] = "range"; +static char __pyx_k__shape[] = "shape"; +static char __pyx_k__train[] = "train"; +static char __pyx_k__zeros[] = "zeros"; +static char __pyx_k__epochs[] = "epochs"; +static char __pyx_k__fields[] = "fields"; +static char __pyx_k__format[] = "format"; +static char __pyx_k__dataset[] = "dataset"; +static char __pyx_k__float64[] = "float64"; +static char __pyx_k__nonzero[] = "nonzero"; +static char __pyx_k__shuffle[] = "shuffle"; +static char __pyx_k__strides[] = "strides"; +static char __pyx_k__verbose[] = "verbose"; +static char __pyx_k____init__[] = "__init__"; +static char __pyx_k____main__[] = "__main__"; +static char __pyx_k____test__[] = "__test__"; +static char __pyx_k__itemsize[] = "itemsize"; +static char __pyx_k__readonly[] = "readonly"; +static char __pyx_k__type_num[] = "type_num"; +static char __pyx_k__byteorder[] = "byteorder"; +static char __pyx_k__ValueError[] = "ValueError"; +static char __pyx_k__suboffsets[] = "suboffsets"; +static char __pyx_k____authors__[] = "__authors__"; +static char __pyx_k__RuntimeError[] = "RuntimeError"; +static char __pyx_k___train_multi[] = "_train_multi"; +static char __pyx_k__AveragedPerceptron[] = "AveragedPerceptron"; +static PyObject *__pyx_kp_u_10; +static PyObject *__pyx_kp_u_11; +static PyObject *__pyx_kp_s_12; +static PyObject *__pyx_kp_u_13; +static PyObject *__pyx_kp_u_14; +static PyObject *__pyx_kp_s_2; +static PyObject *__pyx_kp_s_3; +static PyObject *__pyx_kp_s_4; +static PyObject *__pyx_kp_s_5; +static PyObject *__pyx_kp_u_6; +static PyObject *__pyx_kp_u_7; +static PyObject *__pyx_kp_u_8; +static PyObject *__pyx_kp_u_9; +static PyObject *__pyx_n_s__AveragedPerceptron; +static PyObject *__pyx_n_s__RuntimeError; +static PyObject *__pyx_n_s__ValueError; +static PyObject *__pyx_n_s__W; +static PyObject *__pyx_n_s____authors__; +static PyObject *__pyx_n_s____init__; +static PyObject *__pyx_n_s____main__; +static PyObject *__pyx_n_s____test__; +static PyObject *__pyx_n_s___train_multi; +static PyObject *__pyx_n_s__any; +static PyObject *__pyx_n_s__base; +static PyObject *__pyx_n_s__buf; +static PyObject *__pyx_n_s__byteorder; +static PyObject *__pyx_n_s__data; +static PyObject *__pyx_n_s__dataset; +static PyObject *__pyx_n_s__descr; +static PyObject *__pyx_n_s__dtype; +static PyObject *__pyx_n_s__epochs; +static PyObject *__pyx_n_s__fields; +static PyObject *__pyx_n_s__float64; +static PyObject *__pyx_n_s__format; +static PyObject *__pyx_n_s__idx; +static PyObject *__pyx_n_s__isinf; +static PyObject *__pyx_n_s__isnan; +static PyObject *__pyx_n_s__itemsize; +static PyObject *__pyx_n_s__k; +static PyObject *__pyx_n_s__m; +static PyObject *__pyx_n_s__model; +static PyObject *__pyx_n_s__n; +static PyObject *__pyx_n_s__names; +static PyObject *__pyx_n_s__ndim; +static PyObject *__pyx_n_s__nonzero; +static PyObject *__pyx_n_s__np; +static PyObject *__pyx_n_s__numpy; +static PyObject *__pyx_n_s__obj; +static PyObject *__pyx_n_s__range; +static PyObject *__pyx_n_s__readonly; +static PyObject *__pyx_n_s__shape; +static PyObject *__pyx_n_s__shuffle; +static PyObject *__pyx_n_s__strides; +static PyObject *__pyx_n_s__suboffsets; +static PyObject *__pyx_n_s__sys; +static PyObject *__pyx_n_s__time; +static PyObject *__pyx_n_s__train; +static PyObject *__pyx_n_s__type_num; +static PyObject *__pyx_n_s__val; +static PyObject *__pyx_n_s__verbose; +static PyObject *__pyx_n_s__zeros; +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_5; +static PyObject *__pyx_int_15; +static PyObject *__pyx_k_1; + +/* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":29 * np.float32_t val * * cdef double dot(double *w, Pair *x, int nnz): # <<<<<<<<<<<<<< @@ -899,9 +923,9 @@ static double __pyx_f_4bolt_7trainer_13avgperceptron_dot(double *__pyx_v_w, str int __pyx_v_i; double __pyx_r; int __pyx_t_1; - __Pyx_SetupRefcountContext("dot"); + __Pyx_RefNannySetupContext("dot"); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":32 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":32 * """Dot product of weight vector w and example x. * """ * cdef double sum = 0.0 # <<<<<<<<<<<<<< @@ -910,7 +934,7 @@ static double __pyx_f_4bolt_7trainer_13avgperceptron_dot(double *__pyx_v_w, str */ __pyx_v_sum = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":35 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":35 * cdef Pair pair * cdef int i * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -920,7 +944,7 @@ static double __pyx_f_4bolt_7trainer_13avgperceptron_dot(double *__pyx_v_w, str __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":36 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":36 * cdef int i * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -929,7 +953,7 @@ static double __pyx_f_4bolt_7trainer_13avgperceptron_dot(double *__pyx_v_w, str */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":37 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":37 * for i from 0 <= i < nnz: * pair = x[i] * sum += w[pair.idx] * pair.val # <<<<<<<<<<<<<< @@ -939,7 +963,7 @@ static double __pyx_f_4bolt_7trainer_13avgperceptron_dot(double *__pyx_v_w, str __pyx_v_sum += ((__pyx_v_w[__pyx_v_pair.idx]) * __pyx_v_pair.val); } - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":38 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":38 * pair = x[i] * sum += w[pair.idx] * pair.val * return sum # <<<<<<<<<<<<<< @@ -951,11 +975,11 @@ static double __pyx_f_4bolt_7trainer_13avgperceptron_dot(double *__pyx_v_w, str __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":40 +/* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":40 * return sum * * cdef void add(double *w, int stride, Pair *x, int nnz, int y, double c, double *wbar, double u): # <<<<<<<<<<<<<< @@ -968,9 +992,9 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_add(double *__pyx_v_w, int _ int __pyx_v_i; int __pyx_v_offset; int __pyx_t_1; - __Pyx_SetupRefcountContext("add"); + __Pyx_RefNannySetupContext("add"); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":43 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":43 * cdef Pair pair * cdef int i * cdef int offset = (y*stride) # <<<<<<<<<<<<<< @@ -979,7 +1003,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_add(double *__pyx_v_w, int _ */ __pyx_v_offset = (__pyx_v_y * __pyx_v_stride); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":44 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":44 * cdef int i * cdef int offset = (y*stride) * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -989,7 +1013,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_add(double *__pyx_v_w, int _ __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":45 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":45 * cdef int offset = (y*stride) * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -998,7 +1022,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_add(double *__pyx_v_w, int _ */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":46 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":46 * for i from 0 <= i < nnz: * pair = x[i] * w[offset + pair.idx] += (pair.val * c) # <<<<<<<<<<<<<< @@ -1007,7 +1031,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_add(double *__pyx_v_w, int _ */ (__pyx_v_w[(__pyx_v_offset + __pyx_v_pair.idx)]) += (__pyx_v_pair.val * __pyx_v_c); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":47 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":47 * pair = x[i] * w[offset + pair.idx] += (pair.val * c) * wbar[offset + pair.idx] += (c*u*pair.val) # <<<<<<<<<<<<<< @@ -1017,10 +1041,10 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_add(double *__pyx_v_w, int _ (__pyx_v_wbar[(__pyx_v_offset + __pyx_v_pair.idx)]) += ((__pyx_v_c * __pyx_v_u) * __pyx_v_pair.val); } - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); } -/* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":49 +/* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":49 * wbar[offset + pair.idx] += (c*u*pair.val) * * cdef int argmax(double *w, int wstride, Pair *x, int xnnz, int y, int k): # <<<<<<<<<<<<<< @@ -1037,9 +1061,9 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int int __pyx_r; int __pyx_t_1; int __pyx_t_2; - __Pyx_SetupRefcountContext("argmax"); + __Pyx_RefNannySetupContext("argmax"); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":53 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":53 * cdef int j * cdef double *wk * cdef double max_score = -1.0 # <<<<<<<<<<<<<< @@ -1048,7 +1072,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int */ __pyx_v_max_score = (-1.0); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":54 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":54 * cdef double *wk * cdef double max_score = -1.0 * cdef double p = 0.0 # <<<<<<<<<<<<<< @@ -1057,7 +1081,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int */ __pyx_v_p = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":55 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":55 * cdef double max_score = -1.0 * cdef double p = 0.0 * cdef int max_j = 0 # <<<<<<<<<<<<<< @@ -1066,7 +1090,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int */ __pyx_v_max_j = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":56 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":56 * cdef double p = 0.0 * cdef int max_j = 0 * for j from 0 <= j < k: # <<<<<<<<<<<<<< @@ -1076,7 +1100,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int __pyx_t_1 = __pyx_v_k; for (__pyx_v_j = 0; __pyx_v_j < __pyx_t_1; __pyx_v_j++) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":57 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":57 * cdef int max_j = 0 * for j from 0 <= j < k: * wk = w + (wstride*j) # <<<<<<<<<<<<<< @@ -1085,7 +1109,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int */ __pyx_v_wk = (__pyx_v_w + (__pyx_v_wstride * __pyx_v_j)); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":58 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":58 * for j from 0 <= j < k: * wk = w + (wstride*j) * p = dot(wk, x, xnnz) # <<<<<<<<<<<<<< @@ -1094,7 +1118,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int */ __pyx_v_p = __pyx_f_4bolt_7trainer_13avgperceptron_dot(__pyx_v_wk, __pyx_v_x, __pyx_v_xnnz); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":59 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":59 * wk = w + (wstride*j) * p = dot(wk, x, xnnz) * if p >= max_score: # <<<<<<<<<<<<<< @@ -1104,7 +1128,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int __pyx_t_2 = (__pyx_v_p >= __pyx_v_max_score); if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":60 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":60 * p = dot(wk, x, xnnz) * if p >= max_score: * max_j = j # <<<<<<<<<<<<<< @@ -1113,7 +1137,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int */ __pyx_v_max_j = __pyx_v_j; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":61 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":61 * if p >= max_score: * max_j = j * max_score = p # <<<<<<<<<<<<<< @@ -1126,7 +1150,7 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int __pyx_L5:; } - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":62 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":62 * max_j = j * max_score = p * return max_j # <<<<<<<<<<<<<< @@ -1138,11 +1162,11 @@ static int __pyx_f_4bolt_7trainer_13avgperceptron_argmax(double *__pyx_v_w, int __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":76 +/* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":76 * cdef int epochs * * def __init__(self, epochs = 5): # <<<<<<<<<<<<<< @@ -1156,12 +1180,12 @@ static int __pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron___init__ PyObject *__pyx_v_epochs = 0; int __pyx_r; int __pyx_t_1; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_epochs,0}; - __Pyx_SetupRefcountContext("__init__"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__epochs,0}; + __Pyx_RefNannySetupContext("__init__"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[1] = {0}; - values[0] = __pyx_int_5; + values[0] = ((PyObject *)__pyx_int_5); switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; @@ -1170,7 +1194,7 @@ static int __pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron___init__ switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_epochs); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__epochs); if (unlikely(value)) { values[0] = value; kw_args--; } } } @@ -1179,7 +1203,7 @@ static int __pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron___init__ } __pyx_v_epochs = values[0]; } else { - __pyx_v_epochs = __pyx_int_5; + __pyx_v_epochs = ((PyObject *)__pyx_int_5); switch (PyTuple_GET_SIZE(__pyx_args)) { case 1: __pyx_v_epochs = PyTuple_GET_ITEM(__pyx_args, 0); case 0: break; @@ -1194,7 +1218,7 @@ static int __pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron___init__ return -1; __pyx_L4_argument_unpacking_done:; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":81 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":81 * :type epochs: int * """ * self.epochs = epochs # <<<<<<<<<<<<<< @@ -1210,11 +1234,11 @@ static int __pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron___init__ __Pyx_AddTraceback("bolt.trainer.avgperceptron.AveragedPerceptron.__init__"); __pyx_r = -1; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":84 +/* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":84 * * * def train(self, model, dataset, verbose = 0, shuffle = False): # <<<<<<<<<<<<<< @@ -1230,13 +1254,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron_tr PyObject *__pyx_v_verbose = 0; PyObject *__pyx_v_shuffle = 0; PyObject *__pyx_r = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_model,&__pyx_kp_dataset,&__pyx_kp_verbose,&__pyx_kp_shuffle,0}; - __Pyx_SetupRefcountContext("train"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__model,&__pyx_n_s__dataset,&__pyx_n_s__verbose,&__pyx_n_s__shuffle,0}; + __Pyx_RefNannySetupContext("train"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[4] = {0,0,0,0}; - values[2] = __pyx_int_0; - values[3] = __pyx_k_32; + values[2] = ((PyObject *)__pyx_int_0); + values[3] = __pyx_k_1; switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); @@ -1247,23 +1271,23 @@ static PyObject *__pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron_tr } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_model); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__model); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_dataset); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dataset); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("train", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_verbose); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__verbose); if (unlikely(value)) { values[2] = value; kw_args--; } } case 3: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_shuffle); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shuffle); if (unlikely(value)) { values[3] = value; kw_args--; } } } @@ -1275,8 +1299,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron_tr __pyx_v_verbose = values[2]; __pyx_v_shuffle = values[3]; } else { - __pyx_v_verbose = __pyx_int_0; - __pyx_v_shuffle = __pyx_k_32; + __pyx_v_verbose = ((PyObject *)__pyx_int_0); + __pyx_v_shuffle = __pyx_k_1; switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: __pyx_v_shuffle = PyTuple_GET_ITEM(__pyx_args, 3); @@ -1297,7 +1321,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron_tr return NULL; __pyx_L4_argument_unpacking_done:; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":92 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":92 * :arg shuffle: Whether or not the training data should be shuffled after each epoch. * """ * self._train_multi(model, dataset, verbose, shuffle) # <<<<<<<<<<<<<< @@ -1308,11 +1332,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_13avgperceptron_18AveragedPerceptron_tr __pyx_r = Py_None; __Pyx_INCREF(Py_None); __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":94 +/* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":94 * self._train_multi(model, dataset, verbose, shuffle) * * cdef void _train_multi(self,model, dataset, verbose, shuffle): # <<<<<<<<<<<<<< @@ -1353,70 +1377,72 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ Py_ssize_t __pyx_bstride_1_wbar = 0; Py_ssize_t __pyx_bshape_0_wbar = 0; Py_ssize_t __pyx_bshape_1_wbar = 0; - PyObject *__pyx_1 = 0; - PyObject *__pyx_2 = 0; - long __pyx_3; - PyObject *__pyx_4 = 0; PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyArrayObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; - PyArrayObject *__pyx_t_7 = NULL; - int __pyx_t_8; - Py_ssize_t __pyx_t_9; - float __pyx_t_10; - PyObject *__pyx_t_11 = NULL; - double __pyx_t_12; - int __pyx_t_13; + PyObject *__pyx_t_7 = NULL; + PyArrayObject *__pyx_t_8 = NULL; + long __pyx_t_9; + int __pyx_t_10; + Py_ssize_t __pyx_t_11; + float __pyx_t_12; + double __pyx_t_13; int __pyx_t_14; - __Pyx_SetupRefcountContext("_train_multi"); + int __pyx_t_15; + __Pyx_RefNannySetupContext("_train_multi"); + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_model); + __Pyx_INCREF(__pyx_v_dataset); + __Pyx_INCREF(__pyx_v_verbose); + __Pyx_INCREF(__pyx_v_shuffle); __pyx_v_t1 = Py_None; __Pyx_INCREF(Py_None); __pyx_v_e = Py_None; __Pyx_INCREF(Py_None); __pyx_bstruct_w.buf = NULL; __pyx_bstruct_wbar.buf = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":95 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":95 * * cdef void _train_multi(self,model, dataset, verbose, shuffle): * cdef int m = model.m # <<<<<<<<<<<<<< * cdef int k = model.k * cdef int n = dataset.n */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_m = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":96 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":96 * cdef void _train_multi(self,model, dataset, verbose, shuffle): * cdef int m = model.m * cdef int k = model.k # <<<<<<<<<<<<<< * cdef int n = dataset.n * cdef int length = k*m */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_k = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":97 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":97 * cdef int m = model.m * cdef int k = model.k * cdef int n = dataset.n # <<<<<<<<<<<<<< * cdef int length = k*m * */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":98 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":98 * cdef int k = model.k * cdef int n = dataset.n * cdef int length = k*m # <<<<<<<<<<<<<< @@ -1425,16 +1451,16 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_length = (__pyx_v_k * __pyx_v_m); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":100 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":100 * cdef int length = k*m * * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] w = model.W # <<<<<<<<<<<<<< * # maintain a averaged w * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] wbar = np.zeros((k,m), */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_W); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__W); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; @@ -1449,73 +1475,73 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ __pyx_v_w = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":102 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":102 * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] w = model.W * # maintain a averaged w * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] wbar = np.zeros((k,m), # <<<<<<<<<<<<<< * dtype = np.float64) * cdef double *wdata = w.data */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_zeros); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_4 = PyInt_FromLong(__pyx_v_k); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__zeros); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyInt_FromLong(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyInt_FromLong(__pyx_v_m); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_6)); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_4 = 0; + __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_6)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_1)); + __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_6)); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":103 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":103 * # maintain a averaged w * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] wbar = np.zeros((k,m), * dtype = np.float64) # <<<<<<<<<<<<<< * cdef double *wdata = w.data * cdef double *wbardata = wbar.data */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_6 = PyObject_GetAttr(__pyx_2, __pyx_kp_33); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_t_5), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_7 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__float64); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; - if (!(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_7 = ((PyArrayObject *)__pyx_t_6); + if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__dtype), __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyEval_CallObjectWithKeywords(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; + if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = ((PyArrayObject *)__pyx_t_7); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_wbar, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_wbar, (PyObject*)__pyx_t_8, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) { __pyx_v_wbar = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_bstruct_wbar.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_bstride_0_wbar = __pyx_bstruct_wbar.strides[0]; __pyx_bstride_1_wbar = __pyx_bstruct_wbar.strides[1]; __pyx_bshape_0_wbar = __pyx_bstruct_wbar.shape[0]; __pyx_bshape_1_wbar = __pyx_bstruct_wbar.shape[1]; } } + __pyx_t_8 = 0; + __pyx_v_wbar = ((PyArrayObject *)__pyx_t_7); __pyx_t_7 = 0; - __pyx_v_wbar = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":104 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":104 * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] wbar = np.zeros((k,m), * dtype = np.float64) * cdef double *wdata = w.data # <<<<<<<<<<<<<< @@ -1524,7 +1550,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_wdata = ((double *)__pyx_v_w->data); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":105 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":105 * dtype = np.float64) * cdef double *wdata = w.data * cdef double *wbardata = wbar.data # <<<<<<<<<<<<<< @@ -1533,7 +1559,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_wbardata = ((double *)__pyx_v_wbar->data); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":106 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":106 * cdef double *wdata = w.data * cdef double *wbardata = wbar.data * cdef int wstride0 = w.strides[0] # <<<<<<<<<<<<<< @@ -1542,7 +1568,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_wstride0 = (__pyx_v_w->strides[0]); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":107 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":107 * cdef double *wbardata = wbar.data * cdef int wstride0 = w.strides[0] * cdef int wstride1 = w.strides[1] # <<<<<<<<<<<<<< @@ -1551,7 +1577,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_wstride1 = (__pyx_v_w->strides[1]); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":108 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":108 * cdef int wstride0 = w.strides[0] * cdef int wstride1 = w.strides[1] * cdef int wstride = (wstride0 / wstride1) # <<<<<<<<<<<<<< @@ -1560,7 +1586,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_wstride = ((int)(__pyx_v_wstride0 / __pyx_v_wstride1)); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":111 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":111 * * # training instance * cdef np.ndarray x = None # <<<<<<<<<<<<<< @@ -1570,7 +1596,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ __Pyx_INCREF(Py_None); __pyx_v_x = ((PyArrayObject *)Py_None); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":112 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":112 * # training instance * cdef np.ndarray x = None * cdef Pair *xdata = NULL # <<<<<<<<<<<<<< @@ -1579,7 +1605,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_xdata = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":113 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":113 * cdef np.ndarray x = None * cdef Pair *xdata = NULL * cdef float y = 0 # <<<<<<<<<<<<<< @@ -1588,7 +1614,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_y = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":114 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":114 * cdef Pair *xdata = NULL * cdef float y = 0 * cdef int z = 0 # <<<<<<<<<<<<<< @@ -1597,7 +1623,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_z = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":115 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":115 * cdef float y = 0 * cdef int z = 0 * cdef int xnnz = 0, nadds = 0, i = 0 # <<<<<<<<<<<<<< @@ -1608,7 +1634,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ __pyx_v_nadds = 0; __pyx_v_i = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":116 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":116 * cdef int z = 0 * cdef int xnnz = 0, nadds = 0, i = 0 * cdef int E = self.epochs # <<<<<<<<<<<<<< @@ -1617,7 +1643,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_E = __pyx_v_self->epochs; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":117 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":117 * cdef int xnnz = 0, nadds = 0, i = 0 * cdef int E = self.epochs * cdef double u = 0.0 # <<<<<<<<<<<<<< @@ -1626,23 +1652,23 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_u = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":118 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":118 * cdef int E = self.epochs * cdef double u = 0.0 * t1=time() # <<<<<<<<<<<<<< * for e from 0 <= e < E: * if verbose > 0: */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_time); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_6 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__time); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_v_t1); __pyx_v_t1 = __pyx_t_6; __pyx_t_6 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":119 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":119 * cdef double u = 0.0 * t1=time() * for e from 0 <= e < E: # <<<<<<<<<<<<<< @@ -1650,14 +1676,14 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ * print("-- Epoch %d" % (e+1)) */ __pyx_t_2 = __pyx_v_E; - for (__pyx_3 = 0; __pyx_3 < __pyx_t_2; __pyx_3++) { - __pyx_t_6 = PyInt_FromLong(__pyx_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_2; __pyx_t_9++) { + __pyx_t_6 = PyInt_FromLong(__pyx_t_9); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_v_e); __pyx_v_e = __pyx_t_6; __pyx_t_6 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":120 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":120 * t1=time() * for e from 0 <= e < E: * if verbose > 0: # <<<<<<<<<<<<<< @@ -1666,11 +1692,11 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_t_6 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_8) { + if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":121 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":121 * for e from 0 <= e < E: * if verbose > 0: * print("-- Epoch %d" % (e+1)) # <<<<<<<<<<<<<< @@ -1679,43 +1705,43 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_t_6 = PyNumber_Add(__pyx_v_e, __pyx_int_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyNumber_Remainder(__pyx_kp_34, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_2), __pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__Pyx_PrintOne(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__Pyx_PrintOne(__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L5; } __pyx_L5:; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":122 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":122 * if verbose > 0: * print("-- Epoch %d" % (e+1)) * if shuffle: # <<<<<<<<<<<<<< * dataset.shuffle() * nadds = 0 */ - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_shuffle); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__pyx_t_8) { + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_shuffle); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":123 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":123 * print("-- Epoch %d" % (e+1)) * if shuffle: * dataset.shuffle() # <<<<<<<<<<<<<< * nadds = 0 * i = 0 */ - __pyx_t_5 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_shuffle); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__shuffle); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6; } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":124 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":124 * if shuffle: * dataset.shuffle() * nadds = 0 # <<<<<<<<<<<<<< @@ -1724,7 +1750,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_nadds = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":125 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":125 * dataset.shuffle() * nadds = 0 * i = 0 # <<<<<<<<<<<<<< @@ -1733,7 +1759,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_i = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":126 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":126 * nadds = 0 * i = 0 * for x,y in dataset: # <<<<<<<<<<<<<< @@ -1741,58 +1767,58 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ * xdata = x.data */ if (PyList_CheckExact(__pyx_v_dataset) || PyTuple_CheckExact(__pyx_v_dataset)) { - __pyx_t_9 = 0; __pyx_t_6 = __pyx_v_dataset; __Pyx_INCREF(__pyx_t_6); + __pyx_t_11 = 0; __pyx_t_6 = __pyx_v_dataset; __Pyx_INCREF(__pyx_t_6); } else { - __pyx_t_9 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_dataset); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_dataset); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); } for (;;) { if (likely(PyList_CheckExact(__pyx_t_6))) { - if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_6)) break; - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; + if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_6)) break; + __pyx_t_7 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_7); __pyx_t_11++; } else if (likely(PyTuple_CheckExact(__pyx_t_6))) { - if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_6)) break; - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; + if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_6)) break; + __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_7); __pyx_t_11++; } else { - __pyx_t_5 = PyIter_Next(__pyx_t_6); - if (!__pyx_t_5) { + __pyx_t_7 = PyIter_Next(__pyx_t_6); + if (!__pyx_t_7) { if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} break; } - __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_7); } - if (PyTuple_CheckExact(__pyx_t_5) && likely(PyTuple_GET_SIZE(__pyx_t_5) == 2)) { - PyObject* tuple = __pyx_t_5; - __pyx_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_2); - if (!(__Pyx_TypeTest(__pyx_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_4); - __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_4); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (PyTuple_CheckExact(__pyx_t_7) && likely(PyTuple_GET_SIZE(__pyx_t_7) == 2)) { + PyObject* tuple = __pyx_t_7; + __pyx_t_5 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_5); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4); + __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_12 == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_x)); - __pyx_v_x = ((PyArrayObject *)__pyx_2); - __pyx_2 = 0; - __pyx_v_y = __pyx_t_10; + __pyx_v_x = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + __pyx_v_y = __pyx_t_12; } else { - __pyx_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_2 = __Pyx_UnpackItem(__pyx_1, 0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - if (!(__Pyx_TypeTest(__pyx_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_4 = __Pyx_UnpackItem(__pyx_1, 1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); - __pyx_t_10 = __pyx_PyFloat_AsDouble(__pyx_4); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; - if (__Pyx_EndUnpack(__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_1, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_1, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_12 == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_EndUnpack(__pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_x)); - __pyx_v_x = ((PyArrayObject *)__pyx_2); - __pyx_2 = 0; - __pyx_v_y = __pyx_t_10; + __pyx_v_x = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; + __pyx_v_y = __pyx_t_12; } - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":127 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":127 * i = 0 * for x,y in dataset: * xnnz = x.shape[0] # <<<<<<<<<<<<<< @@ -1801,7 +1827,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_xnnz = (__pyx_v_x->dimensions[0]); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":128 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":128 * for x,y in dataset: * xnnz = x.shape[0] * xdata = x.data # <<<<<<<<<<<<<< @@ -1810,7 +1836,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_xdata = ((struct __pyx_t_4bolt_7trainer_13avgperceptron_Pair *)__pyx_v_x->data); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":129 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":129 * xnnz = x.shape[0] * xdata = x.data * z = argmax(wdata, wstride, xdata, xnnz, y, k) # <<<<<<<<<<<<<< @@ -1819,48 +1845,48 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_v_z = __pyx_f_4bolt_7trainer_13avgperceptron_argmax(__pyx_v_wdata, __pyx_v_wstride, __pyx_v_xdata, __pyx_v_xnnz, ((int)__pyx_v_y), __pyx_v_k); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":130 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":130 * xdata = x.data * z = argmax(wdata, wstride, xdata, xnnz, y, k) * u = (E*n - (n*e+i+1)) # <<<<<<<<<<<<<< * if z != y: * add(wdata, wstride, xdata, xnnz, y, 1, wbardata, u) */ - __pyx_t_5 = PyInt_FromLong((__pyx_v_E * __pyx_v_n)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyInt_FromLong((__pyx_v_E * __pyx_v_n)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = PyInt_FromLong(__pyx_v_n); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_5 = PyNumber_Multiply(__pyx_t_4, __pyx_v_e); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyInt_FromLong(__pyx_v_n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyNumber_Multiply(__pyx_t_1, __pyx_v_e); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_11 = PyNumber_Add(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Add(__pyx_t_1, __pyx_int_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyNumber_Add(__pyx_t_11, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyNumber_Subtract(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_11 = PyNumber_Subtract(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_13 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_13 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_11); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_v_u = ((double)__pyx_t_12); + __pyx_v_u = ((double)__pyx_t_13); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":131 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":131 * z = argmax(wdata, wstride, xdata, xnnz, y, k) * u = (E*n - (n*e+i+1)) * if z != y: # <<<<<<<<<<<<<< * add(wdata, wstride, xdata, xnnz, y, 1, wbardata, u) * add(wdata, wstride, xdata, xnnz, z, -1, wbardata, u) */ - __pyx_t_8 = (__pyx_v_z != __pyx_v_y); - if (__pyx_t_8) { + __pyx_t_10 = (__pyx_v_z != __pyx_v_y); + if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":132 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":132 * u = (E*n - (n*e+i+1)) * if z != y: * add(wdata, wstride, xdata, xnnz, y, 1, wbardata, u) # <<<<<<<<<<<<<< @@ -1869,7 +1895,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_f_4bolt_7trainer_13avgperceptron_add(__pyx_v_wdata, __pyx_v_wstride, __pyx_v_xdata, __pyx_v_xnnz, ((int)__pyx_v_y), 1, __pyx_v_wbardata, __pyx_v_u); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":133 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":133 * if z != y: * add(wdata, wstride, xdata, xnnz, y, 1, wbardata, u) * add(wdata, wstride, xdata, xnnz, z, -1, wbardata, u) # <<<<<<<<<<<<<< @@ -1878,7 +1904,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_f_4bolt_7trainer_13avgperceptron_add(__pyx_v_wdata, __pyx_v_wstride, __pyx_v_xdata, __pyx_v_xnnz, __pyx_v_z, -1, __pyx_v_wbardata, __pyx_v_u); - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":134 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":134 * add(wdata, wstride, xdata, xnnz, y, 1, wbardata, u) * add(wdata, wstride, xdata, xnnz, z, -1, wbardata, u) * nadds += 1 # <<<<<<<<<<<<<< @@ -1890,7 +1916,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ } __pyx_L9:; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":136 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":136 * nadds += 1 * * i += 1 # <<<<<<<<<<<<<< @@ -1901,7 +1927,7 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":138 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":138 * i += 1 * # report epoche information * if verbose > 0: # <<<<<<<<<<<<<< @@ -1910,11 +1936,11 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_t_6 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_8) { + if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":139 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":139 * # report epoche information * if verbose > 0: * print("NADDs: %d; NNZs: %d. " % (nadds, w.nonzero()[0].shape[0])) # <<<<<<<<<<<<<< @@ -1923,192 +1949,189 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ */ __pyx_t_6 = PyInt_FromLong(__pyx_v_nadds); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_11 = PyObject_GetAttr(((PyObject *)__pyx_v_w), __pyx_kp_nonzero); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __pyx_t_1 = PyObject_Call(__pyx_t_11, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_w), __pyx_n_s__nonzero); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_4 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); + __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_GetAttr(__pyx_4, __pyx_kp_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_4, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; - __pyx_1 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__shape); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); + __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_4, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_1); - __Pyx_GIVEREF(__pyx_1); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); __pyx_t_6 = 0; - __pyx_1 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_kp_35, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - if (__Pyx_PrintOne(__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = 0; + __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_3), __pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (__Pyx_PrintOne(__pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":140 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":140 * if verbose > 0: * print("NADDs: %d; NNZs: %d. " % (nadds, w.nonzero()[0].shape[0])) * print("Total training time: %.2f seconds." % (time()-t1)) # <<<<<<<<<<<<<< * * # floating-point under-/overflow check. */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_time); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_6 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __pyx_t_1 = PyNumber_Subtract(__pyx_t_6, __pyx_v_t1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_kp_36, __pyx_t_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__Pyx_PrintOne(__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_1 = PyNumber_Subtract(__pyx_t_4, __pyx_v_t1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (__Pyx_PrintOne(__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L10; } __pyx_L10:; - __pyx_3 = __Pyx_PyInt_AsLong(__pyx_v_e); if (unlikely((__pyx_3 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_AsLong(__pyx_v_e); if (unlikely((__pyx_t_9 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":119 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":119 * cdef double u = 0.0 * t1=time() * for e from 0 <= e < E: # <<<<<<<<<<<<<< * if verbose > 0: * print("-- Epoch %d" % (e+1)) */ - __pyx_t_6 = PyInt_FromLong(__pyx_3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_4 = PyInt_FromLong(__pyx_t_9); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_v_e); - __pyx_v_e = __pyx_t_6; - __pyx_t_6 = 0; + __pyx_v_e = __pyx_t_4; + __pyx_t_4 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":143 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":143 * * # floating-point under-/overflow check. * if np.any(np.isinf(w)) or np.any(np.isnan(w)): # <<<<<<<<<<<<<< * raise ValueError("floating-point under-/overflow occured.") * */ - __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); - __pyx_t_6 = PyObject_GetAttr(__pyx_4, __pyx_kp_any); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_isinf); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__any); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_11)); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__isinf); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_11, 0, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_5 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_11), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; - __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_11)); - PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_11), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (!__pyx_t_8) { - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_5 = PyObject_GetAttr(__pyx_2, __pyx_kp_any); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); - __pyx_t_11 = PyObject_GetAttr(__pyx_4, __pyx_kp_isnan); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_11); - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_6)); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); + __pyx_t_7 = 0; + __pyx_t_7 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (!__pyx_t_10) { + __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_4 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__any); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_1 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__isnan); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_1 = PyObject_Call(__pyx_t_11, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_6)); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_1 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; - __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_14 = __pyx_t_13; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_6 = PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_15 = __pyx_t_14; } else { - __pyx_t_14 = __pyx_t_8; + __pyx_t_15 = __pyx_t_10; } - if (__pyx_t_14) { + if (__pyx_t_15) { - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":144 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":144 * # floating-point under-/overflow check. * if np.any(np.isinf(w)) or np.any(np.isnan(w)): * raise ValueError("floating-point under-/overflow occured.") # <<<<<<<<<<<<<< * * model.W = wbar * (1.0 / (n*E)) */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_37); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_37); - __Pyx_GIVEREF(__pyx_kp_37); - __pyx_t_6 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __Pyx_Raise(__pyx_t_6, 0, 0); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_5)); + PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_kp_s_5)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_5)); + __pyx_t_7 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __Pyx_Raise(__pyx_t_7, 0, 0); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L11; } __pyx_L11:; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":146 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":146 * raise ValueError("floating-point under-/overflow occured.") * * model.W = wbar * (1.0 / (n*E)) # <<<<<<<<<<<<<< */ - __pyx_t_6 = PyFloat_FromDouble((1.0 / (__pyx_v_n * __pyx_v_E))); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_7 = PyFloat_FromDouble((1.0 / ((double)(__pyx_v_n * __pyx_v_E)))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_6 = PyNumber_Multiply(((PyObject *)__pyx_v_wbar), __pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_1 = PyNumber_Multiply(((PyObject *)__pyx_v_wbar), __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PyObject_SetAttr(__pyx_v_model, __pyx_n_s__W, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyObject_SetAttr(__pyx_v_model, __pyx_kp_W, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); - __Pyx_XDECREF(__pyx_2); - __Pyx_XDECREF(__pyx_4); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_7); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_bstruct_w); @@ -2125,10 +2148,15 @@ static void __pyx_f_4bolt_7trainer_13avgperceptron_18AveragedPerceptron__train_ __Pyx_XDECREF((PyObject *)__pyx_v_x); __Pyx_DECREF(__pyx_v_t1); __Pyx_DECREF(__pyx_v_e); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_model); + __Pyx_DECREF(__pyx_v_dataset); + __Pyx_DECREF(__pyx_v_verbose); + __Pyx_DECREF(__pyx_v_shuffle); + __Pyx_RefNannyFinishContext(); } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":65 +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":187 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -2150,18 +2178,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf int __pyx_v_hasfields; int __pyx_r; int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; int __pyx_t_6; - char *__pyx_t_7; - __Pyx_SetupRefcountContext("__getbuffer__"); + int __pyx_t_7; + int __pyx_t_8; + char *__pyx_t_9; + __Pyx_RefNannySetupContext("__getbuffer__"); if (__pyx_v_info == NULL) return 0; __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); __Pyx_GIVEREF(__pyx_v_info->obj); + __Pyx_INCREF((PyObject *)__pyx_v_self); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":71 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":193 * # of flags * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -2170,7 +2201,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_endian_detector = 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":72 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":194 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -2179,7 +2210,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":74 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":196 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -2188,7 +2219,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_ndim = PyArray_NDIM(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":76 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":198 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -2198,7 +2229,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":77 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":199 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -2210,7 +2241,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":79 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":201 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -2221,96 +2252,100 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":81 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":203 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): - * raise ValueError("ndarray is not C contiguous") + * raise ValueError(u"ndarray is not C contiguous") */ - if (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS)) { + __pyx_t_1 = ((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS); + if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":82 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":204 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError("ndarray is not C contiguous") + * raise ValueError(u"ndarray is not C contiguous") * */ - __pyx_t_1 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_C_CONTIGUOUS)); + __pyx_t_2 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_C_CONTIGUOUS)); + __pyx_t_3 = __pyx_t_2; } else { - __pyx_t_1 = ((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS); + __pyx_t_3 = __pyx_t_1; } - if (__pyx_t_1) { + if (__pyx_t_3) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":83 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":205 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): - * raise ValueError("ndarray is not C contiguous") # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_1); - __Pyx_GIVEREF(__pyx_kp_1); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_6)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_u_6)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_6)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":85 - * raise ValueError("ndarray is not C contiguous") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":207 + * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): - * raise ValueError("ndarray is not Fortran contiguous") + * raise ValueError(u"ndarray is not Fortran contiguous") */ - if (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS)) { + __pyx_t_3 = ((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS); + if (__pyx_t_3) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":86 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":208 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError("ndarray is not Fortran contiguous") + * raise ValueError(u"ndarray is not Fortran contiguous") * */ __pyx_t_1 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_F_CONTIGUOUS)); + __pyx_t_2 = __pyx_t_1; } else { - __pyx_t_1 = ((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS); + __pyx_t_2 = __pyx_t_3; } - if (__pyx_t_1) { + if (__pyx_t_2) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":87 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":209 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): - * raise ValueError("ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< * * info.buf = PyArray_DATA(self) */ - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __Pyx_INCREF(__pyx_kp_2); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_2); - __Pyx_GIVEREF(__pyx_kp_2); - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_7)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_u_7)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_7)); + __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L7; } __pyx_L7:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":89 - * raise ValueError("ndarray is not Fortran contiguous") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":211 + * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< * info.ndim = ndim @@ -2318,7 +2353,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->buf = PyArray_DATA(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":90 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":212 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -2327,17 +2362,17 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":91 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":213 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< * # Allocate new buffer for strides and shape info. This is allocated * # as one block, strides first. */ - __pyx_t_4 = __pyx_v_copy_shape; - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_copy_shape; + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":94 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":216 * # Allocate new buffer for strides and shape info. This is allocated * # as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -2346,7 +2381,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * __pyx_v_ndim) * 2))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":95 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":217 * # as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -2355,17 +2390,18 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":96 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":218 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] */ - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_v_ndim; __pyx_t_4+=1) { - __pyx_v_i = __pyx_t_4; + __pyx_t_6 = __pyx_v_ndim; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i = __pyx_t_7; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":97 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":219 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -2374,7 +2410,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(((PyArrayObject *)__pyx_v_self))[__pyx_v_i]); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":98 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":220 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -2387,7 +2423,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":100 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":222 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -2396,7 +2432,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(((PyArrayObject *)__pyx_v_self))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":101 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":223 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -2407,7 +2443,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L8:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":102 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":224 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -2416,7 +2452,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->suboffsets = NULL; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":103 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":225 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -2425,7 +2461,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":104 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":226 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -2434,7 +2470,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->readonly = (!PyArray_ISWRITEABLE(((PyArrayObject *)__pyx_v_self))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":107 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":229 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -2443,7 +2479,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_f = NULL; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":108 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":230 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -2453,7 +2489,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __Pyx_INCREF(((PyObject *)((PyArrayObject *)__pyx_v_self)->descr)); __pyx_v_descr = ((PyArrayObject *)__pyx_v_self)->descr; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":112 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":234 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -2462,21 +2498,23 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":114 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":236 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< * # do not call releasebuffer * info.obj = None */ - if ((!__pyx_v_hasfields)) { - __pyx_t_1 = (!__pyx_v_copy_shape); + __pyx_t_2 = (!__pyx_v_hasfields); + if (__pyx_t_2) { + __pyx_t_3 = (!__pyx_v_copy_shape); + __pyx_t_1 = __pyx_t_3; } else { - __pyx_t_1 = (!__pyx_v_hasfields); + __pyx_t_1 = __pyx_t_2; } if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":116 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":238 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -2492,7 +2530,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":119 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":241 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -2507,7 +2545,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L11:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":121 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":243 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -2517,7 +2555,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_t_1 = (!__pyx_v_hasfields); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":122 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":244 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -2526,286 +2564,322 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_t = __pyx_v_descr->type_num; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":123 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":245 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == '>' and little_endian) or # <<<<<<<<<<<<<< * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") */ - if ((__pyx_v_descr->byteorder == '>')) { - __pyx_t_1 = __pyx_v_little_endian; + __pyx_t_1 = (__pyx_v_descr->byteorder == '>'); + if (__pyx_t_1) { + __pyx_t_2 = __pyx_v_little_endian; } else { - __pyx_t_1 = (__pyx_v_descr->byteorder == '>'); + __pyx_t_2 = __pyx_t_1; } - if (!__pyx_t_1) { + if (!__pyx_t_2) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":124 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":246 * t = descr.type_num * if ((descr.byteorder == '>' and little_endian) or * (descr.byteorder == '<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" */ - if ((__pyx_v_descr->byteorder == '<')) { - __pyx_t_5 = (!__pyx_v_little_endian); + __pyx_t_1 = (__pyx_v_descr->byteorder == '<'); + if (__pyx_t_1) { + __pyx_t_3 = (!__pyx_v_little_endian); + __pyx_t_8 = __pyx_t_3; } else { - __pyx_t_5 = (__pyx_v_descr->byteorder == '<'); + __pyx_t_8 = __pyx_t_1; } - __pyx_t_6 = __pyx_t_5; + __pyx_t_1 = __pyx_t_8; } else { - __pyx_t_6 = __pyx_t_1; + __pyx_t_1 = __pyx_t_2; } - if (__pyx_t_6) { + if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":125 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":247 * if ((descr.byteorder == '>' and little_endian) or * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_5); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_5); - __Pyx_GIVEREF(__pyx_kp_5); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_8)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_u_8)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_8)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L13; } __pyx_L13:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":126 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":248 * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" */ - switch (__pyx_v_t) { - case NPY_BYTE: - __pyx_v_f = __pyx_k_6; - break; + __pyx_t_1 = (__pyx_v_t == NPY_BYTE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__b; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":127 - * raise ValueError("Non-native byte order not supported") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":249 + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" */ - case NPY_UBYTE: - __pyx_v_f = __pyx_k_7; - break; + __pyx_t_1 = (__pyx_v_t == NPY_UBYTE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__B; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":128 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":250 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" */ - case NPY_SHORT: - __pyx_v_f = __pyx_k_8; - break; + __pyx_t_1 = (__pyx_v_t == NPY_SHORT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__h; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":129 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":251 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" */ - case NPY_USHORT: - __pyx_v_f = __pyx_k_9; - break; + __pyx_t_1 = (__pyx_v_t == NPY_USHORT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__H; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":130 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":252 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" */ - case NPY_INT: - __pyx_v_f = __pyx_k_10; - break; + __pyx_t_1 = (__pyx_v_t == NPY_INT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__i; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":131 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":253 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" */ - case NPY_UINT: - __pyx_v_f = __pyx_k_11; - break; + __pyx_t_1 = (__pyx_v_t == NPY_UINT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__I; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":132 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":254 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" */ - case NPY_LONG: - __pyx_v_f = __pyx_k_12; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__l; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":133 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":255 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" */ - case NPY_ULONG: - __pyx_v_f = __pyx_k_13; - break; + __pyx_t_1 = (__pyx_v_t == NPY_ULONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__L; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":134 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":256 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" */ - case NPY_LONGLONG: - __pyx_v_f = __pyx_k_14; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONGLONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__q; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":135 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":257 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" */ - case NPY_ULONGLONG: - __pyx_v_f = __pyx_k_15; - break; + __pyx_t_1 = (__pyx_v_t == NPY_ULONGLONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Q; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":136 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":258 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" */ - case NPY_FLOAT: - __pyx_v_f = __pyx_k_16; - break; + __pyx_t_1 = (__pyx_v_t == NPY_FLOAT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__f; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":137 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":259 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" */ - case NPY_DOUBLE: - __pyx_v_f = __pyx_k_17; - break; + __pyx_t_1 = (__pyx_v_t == NPY_DOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__d; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":138 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":260 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" */ - case NPY_LONGDOUBLE: - __pyx_v_f = __pyx_k_18; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONGDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__g; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":139 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":261 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" */ - case NPY_CFLOAT: - __pyx_v_f = __pyx_k_19; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CFLOAT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zf; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":140 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":262 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" */ - case NPY_CDOUBLE: - __pyx_v_f = __pyx_k_20; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zd; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":141 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":263 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< * elif t == NPY_OBJECT: f = "O" * else: */ - case NPY_CLONGDOUBLE: - __pyx_v_f = __pyx_k_21; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CLONGDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zg; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":142 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":264 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) */ - case NPY_OBJECT: - __pyx_v_f = __pyx_k_22; - break; - default: + __pyx_t_1 = (__pyx_v_t == NPY_OBJECT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__O; + goto __pyx_L14; + } + /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":144 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":266 * elif t == NPY_OBJECT: f = "O" * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< * info.format = f * return */ - __pyx_t_3 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyNumber_Remainder(__pyx_kp_23, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - break; + __pyx_t_5 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_9), __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_L14:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":145 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":267 * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< * return * else: */ __pyx_v_info->format = __pyx_v_f; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":146 - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":268 + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< * else: @@ -2817,7 +2891,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":148 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":270 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -2826,7 +2900,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->format = ((char *)malloc(255)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":149 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":271 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = '^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -2835,7 +2909,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ (__pyx_v_info->format[0]) = '^'; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":150 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":272 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = '^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -2844,17 +2918,17 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_offset = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":153 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":275 * f = _util_dtypestring(descr, info.format + 1, * info.format + _buffer_format_string_len, * &offset) # <<<<<<<<<<<<<< * f[0] = 0 # Terminate format string * */ - __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_f = __pyx_t_7; + __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_f = __pyx_t_9; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":154 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":276 * info.format + _buffer_format_string_len, * &offset) * f[0] = 0 # Terminate format string # <<<<<<<<<<<<<< @@ -2868,8 +2942,8 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("numpy.ndarray.__getbuffer__"); __pyx_r = -1; __Pyx_GOTREF(__pyx_v_info->obj); @@ -2882,11 +2956,12 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_descr); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":156 +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":278 * f[0] = 0 # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -2897,10 +2972,10 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { int __pyx_t_1; - int __pyx_t_2; - __Pyx_SetupRefcountContext("__releasebuffer__"); + __Pyx_RefNannySetupContext("__releasebuffer__"); + __Pyx_INCREF((PyObject *)__pyx_v_self); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":157 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":279 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -2910,7 +2985,7 @@ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, P __pyx_t_1 = PyArray_HASFIELDS(((PyArrayObject *)__pyx_v_self)); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":158 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":280 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -2922,48 +2997,244 @@ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, P } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":159 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":281 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * stdlib.free(info.strides) * # info.shape was stored after info.strides in the same block */ - __pyx_t_2 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); - if (__pyx_t_2) { + __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); + if (__pyx_t_1) { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":282 + * stdlib.free(info.format) + * if sizeof(npy_intp) != sizeof(Py_ssize_t): + * stdlib.free(info.strides) # <<<<<<<<<<<<<< + * # info.shape was stored after info.strides in the same block + * + */ + free(__pyx_v_info->strides); + goto __pyx_L6; + } + __pyx_L6:; + + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":755 + * ctypedef npy_cdouble complex_t + * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":756 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":758 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":759 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":761 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":762 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":764 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":765 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":767 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5"); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":160 - * stdlib.free(info.format) - * if sizeof(npy_intp) != sizeof(Py_ssize_t): - * stdlib.free(info.strides) # <<<<<<<<<<<<<< - * # info.shape was stored after info.strides in the same block + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":768 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: */ - free(__pyx_v_info->strides); - goto __pyx_L6; - } - __pyx_L6:; + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; - __Pyx_FinishRefcountContext(); + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":277 - * ctypedef npy_cdouble complex_t +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":770 + * return PyArray_MultiIterNew(5, a, b, c, d, e) * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< * # Recursive utility function used in __getbuffer__ to get format * # string. The new location in the format string is returned. */ -static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { PyArray_Descr *__pyx_v_child; - PyObject *__pyx_v_i; int __pyx_v_endian_detector; int __pyx_v_little_endian; + PyObject *__pyx_v_fields; + PyObject *__pyx_v_childname; PyObject *__pyx_v_new_offset; PyObject *__pyx_v_t; char *__pyx_r; - PyObject *__pyx_1 = 0; Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; @@ -2972,199 +3243,195 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc int __pyx_t_6; int __pyx_t_7; int __pyx_t_8; - char *__pyx_t_9; - __Pyx_SetupRefcountContext("_util_dtypestring"); + int __pyx_t_9; + char *__pyx_t_10; + __Pyx_RefNannySetupContext("_util_dtypestring"); + __Pyx_INCREF((PyObject *)__pyx_v_descr); __pyx_v_child = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None); - __pyx_v_i = ((PyObject *)Py_None); __Pyx_INCREF(Py_None); + __pyx_v_fields = ((PyObject *)Py_None); __Pyx_INCREF(Py_None); + __pyx_v_childname = Py_None; __Pyx_INCREF(Py_None); __pyx_v_new_offset = Py_None; __Pyx_INCREF(Py_None); __pyx_v_t = Py_None; __Pyx_INCREF(Py_None); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":284 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":777 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) - * + * cdef tuple fields */ __pyx_v_endian_detector = 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":285 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":778 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * cdef tuple fields * - * for i in descr.fields.itervalues(): */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":287 - * cdef bint little_endian = ((&endian_detector)[0] != 0) + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":781 + * cdef tuple fields * - * for i in descr.fields.itervalues(): # <<<<<<<<<<<<<< - * child = i[0] - * new_offset = i[1] + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields */ - __pyx_t_2 = PyObject_GetAttr(__pyx_v_descr->fields, __pyx_kp_itervalues); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); + if (likely(((PyObject *)__pyx_v_descr->names) != Py_None)) { + __pyx_t_1 = 0; __pyx_t_2 = ((PyObject *)__pyx_v_descr->names); __Pyx_INCREF(__pyx_t_2); } else { - __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break; - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; - } else if (likely(PyTuple_CheckExact(__pyx_t_2))) { - if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; - } else { - __pyx_t_3 = PyIter_Next(__pyx_t_2); - if (!__pyx_t_3) { - if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - if (!(likely(PyTuple_CheckExact(__pyx_t_3)) || (__pyx_t_3) == Py_None || (PyErr_Format(PyExc_TypeError, "Expected tuple, got %s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_v_i)); - __pyx_v_i = ((PyObject *)__pyx_t_3); + if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; + __Pyx_DECREF(__pyx_v_childname); + __pyx_v_childname = __pyx_t_3; __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":288 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":782 * - * for i in descr.fields.itervalues(): - * child = i[0] # <<<<<<<<<<<<<< - * new_offset = i[1] + * for childname in descr.names: + * fields = descr.fields[childname] # <<<<<<<<<<<<<< + * child, new_offset = fields * */ - __pyx_1 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_i), 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!(__Pyx_TypeTest(__pyx_1, __pyx_ptype_5numpy_dtype))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_v_child)); - __pyx_v_child = ((PyArray_Descr *)__pyx_1); - __pyx_1 = 0; + __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (!__pyx_t_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_v_fields)); + __pyx_v_fields = ((PyObject *)__pyx_t_3); + __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":289 - * for i in descr.fields.itervalues(): - * child = i[0] - * new_offset = i[1] # <<<<<<<<<<<<<< + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":783 + * for childname in descr.names: + * fields = descr.fields[childname] + * child, new_offset = fields # <<<<<<<<<<<<<< * * if (end - f) - (new_offset - offset[0]) < 15: */ - __pyx_1 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_i), 1, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __Pyx_DECREF(__pyx_v_new_offset); - __pyx_v_new_offset = __pyx_1; - __pyx_1 = 0; + if (likely(((PyObject *)__pyx_v_fields) != Py_None) && likely(PyTuple_GET_SIZE(((PyObject *)__pyx_v_fields)) == 2)) { + PyObject* tuple = ((PyObject *)__pyx_v_fields); + __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3); + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4); + __Pyx_DECREF(((PyObject *)__pyx_v_child)); + __pyx_v_child = ((PyArray_Descr *)__pyx_t_3); + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_v_new_offset); + __pyx_v_new_offset = __pyx_t_4; + __pyx_t_4 = 0; + } else { + __Pyx_UnpackTupleError(((PyObject *)__pyx_v_fields), 2); + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":291 - * new_offset = i[1] + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":785 + * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * */ - __pyx_t_3 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":292 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":786 * * if (end - f) - (new_offset - offset[0]) < 15: - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< * * if ((child.byteorder == '>' and little_endian) or */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - __Pyx_INCREF(__pyx_kp_25); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_25); - __Pyx_GIVEREF(__pyx_kp_25); - __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_10)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_u_10)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_10)); + __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L5; } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":294 - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":788 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == '>' and little_endian) or # <<<<<<<<<<<<<< * (child.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") */ - if ((__pyx_v_child->byteorder == '>')) { - __pyx_t_6 = __pyx_v_little_endian; + __pyx_t_6 = (__pyx_v_child->byteorder == '>'); + if (__pyx_t_6) { + __pyx_t_7 = __pyx_v_little_endian; } else { - __pyx_t_6 = (__pyx_v_child->byteorder == '>'); + __pyx_t_7 = __pyx_t_6; } - if (!__pyx_t_6) { + if (!__pyx_t_7) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":295 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":789 * * if ((child.byteorder == '>' and little_endian) or * (child.byteorder == '<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * # One could encode it in the format string and have Cython */ - if ((__pyx_v_child->byteorder == '<')) { - __pyx_t_7 = (!__pyx_v_little_endian); + __pyx_t_6 = (__pyx_v_child->byteorder == '<'); + if (__pyx_t_6) { + __pyx_t_8 = (!__pyx_v_little_endian); + __pyx_t_9 = __pyx_t_8; } else { - __pyx_t_7 = (__pyx_v_child->byteorder == '<'); + __pyx_t_9 = __pyx_t_6; } - __pyx_t_8 = __pyx_t_7; + __pyx_t_6 = __pyx_t_9; } else { - __pyx_t_8 = __pyx_t_6; + __pyx_t_6 = __pyx_t_7; } - if (__pyx_t_8) { + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":296 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":790 * if ((child.byteorder == '>' and little_endian) or * (child.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * # One could encode it in the format string and have Cython * # complain instead, BUT: < and > in format strings also imply */ - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_28); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_28); - __Pyx_GIVEREF(__pyx_kp_28); - __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_8)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_u_8)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_8)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_5, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":306 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":800 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -3172,16 +3439,16 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc * f += 1 */ while (1) { - __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_8) break; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!__pyx_t_6) break; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":307 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":801 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -3190,7 +3457,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ (__pyx_v_f[0]) = 120; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":308 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":802 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -3199,7 +3466,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ __pyx_v_f += 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":309 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":803 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -3209,7 +3476,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc (__pyx_v_offset[0]) += 1; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":311 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":805 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -3218,417 +3485,417 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ (__pyx_v_offset[0]) += __pyx_v_child->elsize; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":313 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":807 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< * t = child.type_num * if end - f < 5: */ - __pyx_t_8 = (!PyDataType_HASFIELDS(__pyx_v_child)); - if (__pyx_t_8) { + __pyx_t_6 = (!PyDataType_HASFIELDS(__pyx_v_child)); + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":314 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":808 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< * if end - f < 5: - * raise RuntimeError("Format string allocated too short.") + * raise RuntimeError(u"Format string allocated too short.") */ - __pyx_t_4 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_v_t); - __pyx_v_t = __pyx_t_4; - __pyx_t_4 = 0; + __pyx_v_t = __pyx_t_3; + __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":315 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":809 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< - * raise RuntimeError("Format string allocated too short.") + * raise RuntimeError(u"Format string allocated too short.") * */ - __pyx_t_8 = ((__pyx_v_end - __pyx_v_f) < 5); - if (__pyx_t_8) { + __pyx_t_6 = ((__pyx_v_end - __pyx_v_f) < 5); + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":316 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":810 * t = child.type_num * if end - f < 5: - * raise RuntimeError("Format string allocated too short.") # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< * * # Until ticket #99 is fixed, use integers to avoid warnings */ - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_29); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_29); - __Pyx_GIVEREF(__pyx_kp_29); - __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_11)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_u_11)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_11)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_5, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L10; } __pyx_L10:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":319 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":813 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" */ - __pyx_t_5 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 98; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":320 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":814 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" */ - __pyx_t_4 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 66; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":321 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":815 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" */ - __pyx_t_5 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 104; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":322 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":816 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" */ - __pyx_t_4 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 72; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":323 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":817 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" */ - __pyx_t_5 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 105; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":324 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":818 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" */ - __pyx_t_4 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 73; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":325 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":819 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" */ - __pyx_t_5 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 108; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":326 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":820 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" */ - __pyx_t_4 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 76; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":327 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":821 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" */ - __pyx_t_5 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 113; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":328 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":822 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" */ - __pyx_t_4 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 81; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":329 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":823 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" */ - __pyx_t_5 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 102; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":330 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":824 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf */ - __pyx_t_4 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 100; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":331 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":825 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd */ - __pyx_t_5 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 103; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":332 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":826 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg */ - __pyx_t_4 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 102; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":333 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":827 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" */ - __pyx_t_5 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 100; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":334 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":828 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: */ - __pyx_t_4 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 103; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":335 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":829 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) */ - __pyx_t_5 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 79; goto __pyx_L11; } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":337 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":831 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< * f += 1 * else: */ - __pyx_t_4 = PyNumber_Remainder(__pyx_kp_30, __pyx_v_t); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_9), __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L11:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":338 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":832 * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< * else: * # Cython ignores struct boundary information ("T{...}"), @@ -3638,25 +3905,26 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":342 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":836 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< * return f * */ - __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_f = __pyx_t_9; + __pyx_t_10 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_10 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_f = __pyx_t_10; } __pyx_L9:; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":343 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":837 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< * + * */ __pyx_r = __pyx_v_f; goto __pyx_L0; @@ -3664,7 +3932,6 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); @@ -3673,10 +3940,151 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc __pyx_r = NULL; __pyx_L0:; __Pyx_DECREF((PyObject *)__pyx_v_child); - __Pyx_DECREF(__pyx_v_i); + __Pyx_DECREF(__pyx_v_fields); + __Pyx_DECREF(__pyx_v_childname); __Pyx_DECREF(__pyx_v_new_offset); __Pyx_DECREF(__pyx_v_t); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_descr); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":952 + * + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * cdef PyObject* baseptr + * if base is None: + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + PyObject *__pyx_v_baseptr; + int __pyx_t_1; + __Pyx_RefNannySetupContext("set_array_base"); + __Pyx_INCREF((PyObject *)__pyx_v_arr); + __Pyx_INCREF(__pyx_v_base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":954 + * cdef inline void set_array_base(ndarray arr, object base): + * cdef PyObject* baseptr + * if base is None: # <<<<<<<<<<<<<< + * baseptr = NULL + * else: + */ + __pyx_t_1 = (__pyx_v_base == Py_None); + if (__pyx_t_1) { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":955 + * cdef PyObject* baseptr + * if base is None: + * baseptr = NULL # <<<<<<<<<<<<<< + * else: + * Py_INCREF(base) # important to do this before decref below! + */ + __pyx_v_baseptr = NULL; + goto __pyx_L3; + } + /*else*/ { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":957 + * baseptr = NULL + * else: + * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< + * baseptr = base + * Py_XDECREF(arr.base) + */ + Py_INCREF(__pyx_v_base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":958 + * else: + * Py_INCREF(base) # important to do this before decref below! + * baseptr = base # <<<<<<<<<<<<<< + * Py_XDECREF(arr.base) + * arr.base = baseptr + */ + __pyx_v_baseptr = ((PyObject *)__pyx_v_base); + } + __pyx_L3:; + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":959 + * Py_INCREF(base) # important to do this before decref below! + * baseptr = base + * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< + * arr.base = baseptr + * + */ + Py_XDECREF(__pyx_v_arr->base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":960 + * baseptr = base + * Py_XDECREF(arr.base) + * arr.base = baseptr # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + __pyx_v_arr->base = __pyx_v_baseptr; + + __Pyx_DECREF((PyObject *)__pyx_v_arr); + __Pyx_DECREF(__pyx_v_base); + __Pyx_RefNannyFinishContext(); +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":962 + * arr.base = baseptr + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * if arr.base is NULL: + * return None + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_r = NULL; + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base"); + __Pyx_INCREF((PyObject *)__pyx_v_arr); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":963 + * + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: # <<<<<<<<<<<<<< + * return None + * else: + */ + __pyx_t_1 = (__pyx_v_arr->base == NULL); + if (__pyx_t_1) { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":964 + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: + * return None # <<<<<<<<<<<<<< + * else: + * return arr.base + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + goto __pyx_L3; + } + /*else*/ { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":966 + * return None + * else: + * return arr.base # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_arr->base)); + __pyx_r = ((PyObject *)__pyx_v_arr->base); + goto __pyx_L0; + } + __pyx_L3:; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __pyx_L0:; + __Pyx_DECREF((PyObject *)__pyx_v_arr); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); return __pyx_r; } static struct __pyx_vtabstruct_4bolt_7trainer_13avgperceptron_AveragedPerceptron __pyx_vtable_4bolt_7trainer_13avgperceptron_AveragedPerceptron; @@ -3843,6 +4251,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_13avgperceptron_AveragedPerceptron = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct PyMethodDef __pyx_methods[] = { @@ -3866,69 +4278,84 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp___main__, __pyx_k___main__, sizeof(__pyx_k___main__), 1, 1, 1}, - {&__pyx_kp___init__, __pyx_k___init__, sizeof(__pyx_k___init__), 1, 1, 1}, - {&__pyx_kp_train, __pyx_k_train, sizeof(__pyx_k_train), 1, 1, 1}, - {&__pyx_kp_epochs, __pyx_k_epochs, sizeof(__pyx_k_epochs), 1, 1, 1}, - {&__pyx_kp_model, __pyx_k_model, sizeof(__pyx_k_model), 1, 1, 1}, - {&__pyx_kp_dataset, __pyx_k_dataset, sizeof(__pyx_k_dataset), 1, 1, 1}, - {&__pyx_kp_verbose, __pyx_k_verbose, sizeof(__pyx_k_verbose), 1, 1, 1}, - {&__pyx_kp_shuffle, __pyx_k_shuffle, sizeof(__pyx_k_shuffle), 1, 1, 1}, - {&__pyx_kp_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 1, 1, 1}, - {&__pyx_kp_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 1, 1}, - {&__pyx_kp_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 1, 1, 1}, - {&__pyx_kp_time, __pyx_k_time, sizeof(__pyx_k_time), 1, 1, 1}, - {&__pyx_kp___authors__, __pyx_k___authors__, sizeof(__pyx_k___authors__), 1, 1, 1}, - {&__pyx_kp_m, __pyx_k_m, sizeof(__pyx_k_m), 1, 1, 1}, - {&__pyx_kp_k, __pyx_k_k, sizeof(__pyx_k_k), 1, 1, 1}, - {&__pyx_kp_n, __pyx_k_n, sizeof(__pyx_k_n), 1, 1, 1}, - {&__pyx_kp_W, __pyx_k_W, sizeof(__pyx_k_W), 1, 1, 1}, - {&__pyx_kp_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 1, 1, 1}, - {&__pyx_kp_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 1, 1, 1}, - {&__pyx_kp_33, __pyx_k_33, sizeof(__pyx_k_33), 1, 1, 1}, - {&__pyx_kp_nonzero, __pyx_k_nonzero, sizeof(__pyx_k_nonzero), 1, 1, 1}, - {&__pyx_kp_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 1, 1, 1}, - {&__pyx_kp_any, __pyx_k_any, sizeof(__pyx_k_any), 1, 1, 1}, - {&__pyx_kp_isinf, __pyx_k_isinf, sizeof(__pyx_k_isinf), 1, 1, 1}, - {&__pyx_kp_isnan, __pyx_k_isnan, sizeof(__pyx_k_isnan), 1, 1, 1}, - {&__pyx_kp_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 1, 1, 1}, - {&__pyx_kp_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 0, 0}, - {&__pyx_kp_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 0}, - {&__pyx_kp_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 0}, - {&__pyx_kp_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 0}, - {&__pyx_kp_37, __pyx_k_37, sizeof(__pyx_k_37), 0, 0, 0}, - {&__pyx_kp___getbuffer__, __pyx_k___getbuffer__, sizeof(__pyx_k___getbuffer__), 1, 1, 1}, - {&__pyx_kp___releasebuffer__, __pyx_k___releasebuffer__, sizeof(__pyx_k___releasebuffer__), 1, 1, 1}, - {&__pyx_kp_info, __pyx_k_info, sizeof(__pyx_k_info), 1, 1, 1}, - {&__pyx_kp_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 1, 1, 1}, - {&__pyx_kp_range, __pyx_k_range, sizeof(__pyx_k_range), 1, 1, 1}, - {&__pyx_kp_itervalues, __pyx_k_itervalues, sizeof(__pyx_k_itervalues), 1, 1, 1}, - {&__pyx_kp_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 1, 1, 1}, - {&__pyx_kp_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 0}, - {&__pyx_kp_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 0}, - {&__pyx_kp_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 0}, - {&__pyx_kp_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 0, 0}, - {&__pyx_kp_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 0}, - {&__pyx_kp_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 0}, - {&__pyx_kp_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 0}, - {&__pyx_kp_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 0}, - {0, 0, 0, 0, 0, 0} + {&__pyx_kp_u_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 1, 0, 0}, + {&__pyx_kp_u_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 1, 0, 0}, + {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0}, + {&__pyx_kp_u_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 1, 0, 0}, + {&__pyx_kp_u_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 1, 0, 0}, + {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, + {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0}, + {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, + {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, + {&__pyx_kp_u_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 1, 0, 0}, + {&__pyx_kp_u_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 1, 0, 0}, + {&__pyx_kp_u_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 1, 0, 0}, + {&__pyx_kp_u_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 1, 0, 0}, + {&__pyx_n_s__AveragedPerceptron, __pyx_k__AveragedPerceptron, sizeof(__pyx_k__AveragedPerceptron), 0, 0, 1, 1}, + {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1}, + {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1}, + {&__pyx_n_s__W, __pyx_k__W, sizeof(__pyx_k__W), 0, 0, 1, 1}, + {&__pyx_n_s____authors__, __pyx_k____authors__, sizeof(__pyx_k____authors__), 0, 0, 1, 1}, + {&__pyx_n_s____init__, __pyx_k____init__, sizeof(__pyx_k____init__), 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___train_multi, __pyx_k___train_multi, sizeof(__pyx_k___train_multi), 0, 0, 1, 1}, + {&__pyx_n_s__any, __pyx_k__any, sizeof(__pyx_k__any), 0, 0, 1, 1}, + {&__pyx_n_s__base, __pyx_k__base, sizeof(__pyx_k__base), 0, 0, 1, 1}, + {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1}, + {&__pyx_n_s__byteorder, __pyx_k__byteorder, sizeof(__pyx_k__byteorder), 0, 0, 1, 1}, + {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1}, + {&__pyx_n_s__dataset, __pyx_k__dataset, sizeof(__pyx_k__dataset), 0, 0, 1, 1}, + {&__pyx_n_s__descr, __pyx_k__descr, sizeof(__pyx_k__descr), 0, 0, 1, 1}, + {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1}, + {&__pyx_n_s__epochs, __pyx_k__epochs, sizeof(__pyx_k__epochs), 0, 0, 1, 1}, + {&__pyx_n_s__fields, __pyx_k__fields, sizeof(__pyx_k__fields), 0, 0, 1, 1}, + {&__pyx_n_s__float64, __pyx_k__float64, sizeof(__pyx_k__float64), 0, 0, 1, 1}, + {&__pyx_n_s__format, __pyx_k__format, sizeof(__pyx_k__format), 0, 0, 1, 1}, + {&__pyx_n_s__idx, __pyx_k__idx, sizeof(__pyx_k__idx), 0, 0, 1, 1}, + {&__pyx_n_s__isinf, __pyx_k__isinf, sizeof(__pyx_k__isinf), 0, 0, 1, 1}, + {&__pyx_n_s__isnan, __pyx_k__isnan, sizeof(__pyx_k__isnan), 0, 0, 1, 1}, + {&__pyx_n_s__itemsize, __pyx_k__itemsize, sizeof(__pyx_k__itemsize), 0, 0, 1, 1}, + {&__pyx_n_s__k, __pyx_k__k, sizeof(__pyx_k__k), 0, 0, 1, 1}, + {&__pyx_n_s__m, __pyx_k__m, sizeof(__pyx_k__m), 0, 0, 1, 1}, + {&__pyx_n_s__model, __pyx_k__model, sizeof(__pyx_k__model), 0, 0, 1, 1}, + {&__pyx_n_s__n, __pyx_k__n, sizeof(__pyx_k__n), 0, 0, 1, 1}, + {&__pyx_n_s__names, __pyx_k__names, sizeof(__pyx_k__names), 0, 0, 1, 1}, + {&__pyx_n_s__ndim, __pyx_k__ndim, sizeof(__pyx_k__ndim), 0, 0, 1, 1}, + {&__pyx_n_s__nonzero, __pyx_k__nonzero, sizeof(__pyx_k__nonzero), 0, 0, 1, 1}, + {&__pyx_n_s__np, __pyx_k__np, sizeof(__pyx_k__np), 0, 0, 1, 1}, + {&__pyx_n_s__numpy, __pyx_k__numpy, sizeof(__pyx_k__numpy), 0, 0, 1, 1}, + {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1}, + {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1}, + {&__pyx_n_s__readonly, __pyx_k__readonly, sizeof(__pyx_k__readonly), 0, 0, 1, 1}, + {&__pyx_n_s__shape, __pyx_k__shape, sizeof(__pyx_k__shape), 0, 0, 1, 1}, + {&__pyx_n_s__shuffle, __pyx_k__shuffle, sizeof(__pyx_k__shuffle), 0, 0, 1, 1}, + {&__pyx_n_s__strides, __pyx_k__strides, sizeof(__pyx_k__strides), 0, 0, 1, 1}, + {&__pyx_n_s__suboffsets, __pyx_k__suboffsets, sizeof(__pyx_k__suboffsets), 0, 0, 1, 1}, + {&__pyx_n_s__sys, __pyx_k__sys, sizeof(__pyx_k__sys), 0, 0, 1, 1}, + {&__pyx_n_s__time, __pyx_k__time, sizeof(__pyx_k__time), 0, 0, 1, 1}, + {&__pyx_n_s__train, __pyx_k__train, sizeof(__pyx_k__train), 0, 0, 1, 1}, + {&__pyx_n_s__type_num, __pyx_k__type_num, sizeof(__pyx_k__type_num), 0, 0, 1, 1}, + {&__pyx_n_s__val, __pyx_k__val, sizeof(__pyx_k__val), 0, 0, 1, 1}, + {&__pyx_n_s__verbose, __pyx_k__verbose, sizeof(__pyx_k__verbose), 0, 0, 1, 1}, + {&__pyx_n_s__zeros, __pyx_k__zeros, sizeof(__pyx_k__zeros), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_kp_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_kp_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_kp_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; } static int __Pyx_InitGlobals(void) { - __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - 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; @@ -3942,31 +4369,34 @@ PyMODINIT_FUNC PyInit_avgperceptron(void); /*proto*/ PyMODINIT_FUNC PyInit_avgperceptron(void) #endif { - PyObject *__pyx_1 = 0; - PyObject *__pyx_2 = 0; PyObject *__pyx_t_1 = NULL; - #ifdef CYTHON_REFNANNY - void* __pyx_refchk = NULL; - __Pyx_Refnanny = __Pyx_ImportRefcountAPI("refnanny"); - if (!__Pyx_Refnanny) { + 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_ImportRefcountAPI("Cython.Runtime.refnanny"); - if (!__Pyx_Refnanny) - Py_FatalError("failed to import refnanny module"); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); } - __pyx_refchk = __Pyx_Refnanny->NewContext("PyMODINIT_FUNC PyInit_avgperceptron(void)", __LINE__, __FILE__); + __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_avgperceptron(void)", __LINE__, __FILE__); #endif + __pyx_init_filenames(); __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;} + #if PY_MAJOR_VERSION < 3 + __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;} + #else + __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;} + #endif /*--- Library function declarations ---*/ - __pyx_init_filenames(); /*--- 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 - /*--- 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;} /*--- Module creation code ---*/ #if PY_MAJOR_VERSION < 3 __pyx_m = Py_InitModule4(__Pyx_NAMESTR("avgperceptron"), __pyx_methods, 0, 0, PYTHON_API_VERSION); @@ -3980,12 +4410,13 @@ PyMODINIT_FUNC PyInit_avgperceptron(void) __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_bolt__trainer__avgperceptron) { - if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_kp___main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + 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;} - __pyx_skip_dispatch = 0; /*--- Global init code ---*/ /*--- Function export code ---*/ /*--- Type init code ---*/ @@ -4000,36 +4431,39 @@ PyMODINIT_FUNC PyInit_avgperceptron(void) if (__Pyx_SetAttrString(__pyx_m, "AveragedPerceptron", (PyObject *)&__pyx_type_4bolt_7trainer_13avgperceptron_AveragedPerceptron) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_4bolt_7trainer_13avgperceptron_AveragedPerceptron = &__pyx_type_4bolt_7trainer_13avgperceptron_AveragedPerceptron; /*--- Type import code ---*/ - __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr)); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject)); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Function import code ---*/ /*--- Execution code ---*/ - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":8 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":8 * from __future__ import division * * import numpy as np # <<<<<<<<<<<<<< * import sys * */ - __pyx_1 = __Pyx_Import(__pyx_kp_numpy, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_np, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":9 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":9 * * import numpy as np * import sys # <<<<<<<<<<<<<< * * cimport numpy as np */ - __pyx_1 = __Pyx_Import(__pyx_kp_sys, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_sys, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":14 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":14 * cimport cython * * from time import time # <<<<<<<<<<<<<< @@ -4038,47 +4472,77 @@ PyMODINIT_FUNC PyInit_avgperceptron(void) */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_time); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_time); - __Pyx_GIVEREF(__pyx_kp_time); - __pyx_1 = __Pyx_Import(__pyx_kp_time, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __Pyx_INCREF(((PyObject *)__pyx_n_s__time)); + PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_n_s__time)); + __Pyx_GIVEREF(((PyObject *)__pyx_n_s__time)); + __pyx_t_2 = __Pyx_Import(((PyObject *)__pyx_n_s__time), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_time); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_time, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__time, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":17 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":16 + * from time import time * - * __authors__ = [ - * '"Peter Prettenhofer" ' # <<<<<<<<<<<<<< + * __authors__ = [ # <<<<<<<<<<<<<< + * '"Peter Prettenhofer" ' * ] - * */ - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_31); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_31); - __Pyx_GIVEREF(__pyx_kp_31); - if (PyObject_SetAttr(__pyx_m, __pyx_kp___authors__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_12)); + PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_12)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12)); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s____authors__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/avgperceptron.pyx":84 + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":84 * * * def train(self, model, dataset, verbose = 0, shuffle = False): # <<<<<<<<<<<<<< * """Train `model` on the `dataset` using SGD. * */ - __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_k_1 = __pyx_t_2; + __Pyx_GIVEREF(__pyx_t_2); + __pyx_t_2 = 0; + + /* "/home/pprett/workspace/bolt/bolt/trainer/avgperceptron.pyx":1 + * # encoding: utf-8 # <<<<<<<<<<<<<< + * # cython: cdivision=True + * # cython: boundscheck=False + */ + __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __pyx_t_1 = PyObject_GetAttr(__pyx_m, __pyx_n_s__AveragedPerceptron); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_k_32 = __pyx_t_1; - __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_k_32); + __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____init__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_kp_u_13), __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyObject_GetAttr(__pyx_m, __pyx_n_s__AveragedPerceptron); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__train); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_kp_u_14), __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/stdlib.pxd":2 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/stdlib.pxd":2 * * cdef extern from "stdlib.h" nogil: # <<<<<<<<<<<<<< * void free(void *ptr) @@ -4086,13 +4550,17 @@ PyMODINIT_FUNC PyInit_avgperceptron(void) */ goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); - __Pyx_XDECREF(__pyx_2); __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("bolt.trainer.avgperceptron"); - Py_DECREF(__pyx_m); __pyx_m = 0; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + if (__pyx_m) { + __Pyx_AddTraceback("init bolt.trainer.avgperceptron"); + Py_DECREF(__pyx_m); __pyx_m = 0; + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init bolt.trainer.avgperceptron"); + } __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); #if PY_MAJOR_VERSION < 3 return; #else @@ -4233,19 +4701,19 @@ static int __Pyx_ParseOptionalKeywords( return -1; } -static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { - if (!type) { +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { PyErr_Format(PyExc_SystemError, "Missing type object"); return 0; } - if (obj == Py_None || PyObject_TypeCheck(obj, type)) + if (likely(PyObject_TypeCheck(obj, type))) return 1; - PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s", - Py_TYPE(obj)->tp_name, type->tp_name); + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); return 0; } -static INLINE int __Pyx_IsLittleEndian(void) { +static CYTHON_INLINE int __Pyx_IsLittleEndian(void) { unsigned int n = 1; return *(unsigned char*)(&n) != 0; } @@ -4642,7 +5110,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha } } -static INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) { +static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) { buf->buf = NULL; buf->obj = NULL; buf->strides = __Pyx_zeros; @@ -4683,34 +5151,54 @@ fail:; return -1; } -static INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { - if (info->buf == NULL) return; - if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; - __Pyx_ReleaseBuffer(info); +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { + if (info->buf == NULL) return; + if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; + __Pyx_ReleaseBuffer(info); +} + +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + #if PY_VERSION_HEX < 0x02050000 + "need more than %d value%s to unpack", (int)index, + #else + "need more than %zd value%s to unpack", index, + #endif + (index == 1) ? "" : "s"); +} + +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(void) { + PyErr_SetString(PyExc_ValueError, "too many values to unpack"); +} + +static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) { + PyObject *item; + if (!(item = PyIter_Next(iter))) { + if (!PyErr_Occurred()) { + __Pyx_RaiseNeedMoreValuesError(index); + } + } + return item; +} + +static int __Pyx_EndUnpack(PyObject *iter) { + PyObject *item; + if ((item = PyIter_Next(iter))) { + Py_DECREF(item); + __Pyx_RaiseTooManyValuesError(); + return -1; + } + else if (!PyErr_Occurred()) + return 0; + else + return -1; } -static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); -#if PY_MAJOR_VERSION >= 3 - /* Note: this is a temporary work-around to prevent crashes in Python 3.0 */ - if ((tstate->exc_type != NULL) & (tstate->exc_type != Py_None)) { - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - PyErr_NormalizeException(&type, &value, &tb); - PyErr_NormalizeException(&tmp_type, &tmp_value, &tmp_tb); - tstate->exc_type = 0; - tstate->exc_value = 0; - tstate->exc_traceback = 0; - PyException_SetContext(value, tmp_value); - Py_DECREF(tmp_type); - Py_XDECREF(tmp_tb); - } -#endif - tmp_type = tstate->curexc_type; tmp_value = tstate->curexc_value; tmp_tb = tstate->curexc_traceback; @@ -4722,7 +5210,7 @@ static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *t Py_XDECREF(tmp_tb); } -static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **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; @@ -4734,6 +5222,20 @@ static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject ** } +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); +} + +static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { + if (t == Py_None) { + __Pyx_RaiseNoneNotIterableError(); + } else if (PyTuple_GET_SIZE(t) < index) { + __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); + } else { + __Pyx_RaiseTooManyValuesError(); + } +} + #if PY_MAJOR_VERSION < 3 static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) { #if PY_VERSION_HEX >= 0x02060000 @@ -4912,43 +5414,7 @@ static int __Pyx_PrintOne(PyObject *o) { #endif -static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - #if PY_VERSION_HEX < 0x02050000 - "need more than %d value%s to unpack", (int)index, - #else - "need more than %zd value%s to unpack", index, - #endif - (index == 1) ? "" : "s"); -} - -static INLINE void __Pyx_RaiseTooManyValuesError(void) { - PyErr_SetString(PyExc_ValueError, "too many values to unpack"); -} - -static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) { - PyObject *item; - if (!(item = PyIter_Next(iter))) { - if (!PyErr_Occurred()) { - __Pyx_RaiseNeedMoreValuesError(index); - } - } - return item; -} - -static int __Pyx_EndUnpack(PyObject *iter) { - PyObject *item; - if ((item = PyIter_Next(iter))) { - Py_DECREF(item); - __Pyx_RaiseTooManyValuesError(); - return -1; - } - else if (!PyErr_Occurred()) - return 0; - else - return -1; -} - +#if PY_MAJOR_VERSION < 3 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { Py_XINCREF(type); Py_XINCREF(value); @@ -5004,6 +5470,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { } #endif } + __Pyx_ErrRestore(type, value, tb); return; raise_error: @@ -5013,24 +5480,212 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { return; } -static INLINE int __Pyx_StrEq(const char *s1, const char *s2) { - while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; } - return *s1 == *s2; +#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 + +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +#if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float denom = b.real * b.real + b.imag * b.imag; + z.real = (a.real * b.real + a.imag * b.imag) / denom; + z.imag = (a.imag * b.real - a.real * b.imag) / denom; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } +/* + static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex z) { +#if HAVE_HYPOT + return hypotf(z.real, z.imag); +#else + return sqrtf(z.real*z.real + z.imag*z.imag); +#endif + } +*/ +#endif + +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif + +#if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double denom = b.real * b.real + b.imag * b.imag; + z.real = (a.real * b.real + a.imag * b.imag) / denom; + z.imag = (a.imag * b.real - a.real * b.imag) / denom; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } +/* + static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex z) { +#if HAVE_HYPOT + return hypot(z.real, z.imag); +#else + return sqrt(z.real*z.real + z.imag*z.imag); +#endif + } +*/ +#endif -static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { +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())) - return (unsigned char)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned char"); - return (unsigned char)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned char" : + "value too large to convert to unsigned char"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned char"); return (unsigned char)-1; } return (unsigned char)val; @@ -5038,19 +5693,18 @@ static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* 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())) - return (unsigned short)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned short"); - return (unsigned short)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned short" : + "value too large to convert to unsigned short"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned short"); return (unsigned short)-1; } return (unsigned short)val; @@ -5058,19 +5712,18 @@ static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) { return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* 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())) - return (unsigned int)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned int"); - return (unsigned int)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned int" : + "value too large to convert to unsigned int"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned int"); return (unsigned int)-1; } return (unsigned int)val; @@ -5078,14 +5731,18 @@ static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) { return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE char __Pyx_PyInt_AsChar(PyObject* 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())) - return (char)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to char"); + 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; @@ -5093,14 +5750,18 @@ static INLINE char __Pyx_PyInt_AsChar(PyObject* x) { return (char)__Pyx_PyInt_AsLong(x); } -static INLINE short __Pyx_PyInt_AsShort(PyObject* 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())) - return (short)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to short"); + 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; @@ -5108,14 +5769,18 @@ static INLINE short __Pyx_PyInt_AsShort(PyObject* x) { return (short)__Pyx_PyInt_AsLong(x); } -static INLINE int __Pyx_PyInt_AsInt(PyObject* 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())) - return (int)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); + 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; @@ -5123,14 +5788,18 @@ static INLINE int __Pyx_PyInt_AsInt(PyObject* x) { return (int)__Pyx_PyInt_AsLong(x); } -static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* 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())) - return (signed char)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed char"); + 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; @@ -5138,14 +5807,18 @@ static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) { return (signed char)__Pyx_PyInt_AsSignedLong(x); } -static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* 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())) - return (signed short)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed short"); + 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; @@ -5153,14 +5826,18 @@ static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) { return (signed short)__Pyx_PyInt_AsSignedLong(x); } -static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* 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())) - return (signed int)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed int"); + 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; @@ -5168,11 +5845,13 @@ static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) { return (signed int)__Pyx_PyInt_AsSignedLong(x); } -static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* 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_CheckExact(x) || PyInt_Check(x))) { + if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); - if (unlikely(val < 0)) { + if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; @@ -5180,13 +5859,17 @@ static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { return (unsigned long)val; } else #endif - if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) { - if (unlikely(Py_SIZE(x) < 0)) { - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned long"); - return (unsigned long)-1; + 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); } - return PyLong_AsUnsignedLong(x); } else { unsigned long val; PyObject *tmp = __Pyx_PyNumber_Int(x); @@ -5197,11 +5880,13 @@ static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { } } -static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); - if (unlikely(val < 0)) { + 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; @@ -5209,13 +5894,17 @@ static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) return (unsigned PY_LONG_LONG)val; } else #endif - if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) { - 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; + 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); } - return PyLong_AsUnsignedLongLong(x); } else { unsigned PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); @@ -5226,15 +5915,31 @@ static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) } } -static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLong(x); + 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); @@ -5245,15 +5950,31 @@ static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { } } -static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLongLong(x); + 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); @@ -5264,15 +5985,31 @@ static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { } } -static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLong(x); + 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); @@ -5283,15 +6020,31 @@ static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { } } -static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLongLong(x); + 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); @@ -5321,32 +6074,31 @@ static void __Pyx_WriteUnraisable(const char *name) { } static int __Pyx_SetVtable(PyObject *dict, void *vtable) { - PyObject *pycobj = 0; - int result; - - pycobj = PyCObject_FromVoidPtr(vtable, 0); - if (!pycobj) +#if PY_VERSION_HEX < 0x03010000 + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#else + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#endif + if (!ob) goto bad; - if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0) + if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0) goto bad; - result = 0; - goto done; - + Py_DECREF(ob); + return 0; bad: - result = -1; -done: - Py_XDECREF(pycobj); - return result; + Py_XDECREF(ob); + return -1; } #ifndef __PYX_HAVE_RT_ImportType #define __PYX_HAVE_RT_ImportType static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, - long size) + long size, int strict) { PyObject *py_module = 0; PyObject *result = 0; PyObject *py_name = 0; + char warning[200]; py_module = __Pyx_ImportModule(module_name); if (!py_module) @@ -5371,9 +6123,15 @@ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class module_name, class_name); goto bad; } - if (((PyTypeObject *)result)->tp_basicsize != size) { + if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility", + module_name, class_name); + PyErr_WarnEx(NULL, warning, 0); + } + else if (((PyTypeObject *)result)->tp_basicsize != size) { PyErr_Format(PyExc_ValueError, - "%s.%s does not appear to be the correct type object", + "%s.%s has the wrong size, try recompiling", module_name, class_name); goto bad; } @@ -5415,7 +6173,6 @@ static void __Pyx_AddTraceback(const char *funcname) { PyObject *py_srcfile = 0; PyObject *py_funcname = 0; PyObject *py_globals = 0; - PyObject *empty_string = 0; PyCodeObject *py_code = 0; PyFrameObject *py_frame = 0; @@ -5442,12 +6199,6 @@ static void __Pyx_AddTraceback(const char *funcname) { if (!py_funcname) goto bad; py_globals = PyModule_GetDict(__pyx_m); if (!py_globals) goto bad; - #if PY_MAJOR_VERSION < 3 - empty_string = PyString_FromStringAndSize("", 0); - #else - empty_string = PyBytes_FromStringAndSize("", 0); - #endif - if (!empty_string) goto bad; py_code = PyCode_New( 0, /*int argcount,*/ #if PY_MAJOR_VERSION >= 3 @@ -5456,7 +6207,7 @@ static void __Pyx_AddTraceback(const char *funcname) { 0, /*int nlocals,*/ 0, /*int stacksize,*/ 0, /*int flags,*/ - empty_string, /*PyObject *code,*/ + __pyx_empty_bytes, /*PyObject *code,*/ __pyx_empty_tuple, /*PyObject *consts,*/ __pyx_empty_tuple, /*PyObject *names,*/ __pyx_empty_tuple, /*PyObject *varnames,*/ @@ -5465,7 +6216,7 @@ static void __Pyx_AddTraceback(const char *funcname) { py_srcfile, /*PyObject *filename,*/ py_funcname, /*PyObject *name,*/ __pyx_lineno, /*int firstlineno,*/ - empty_string /*PyObject *lnotab*/ + __pyx_empty_bytes /*PyObject *lnotab*/ ); if (!py_code) goto bad; py_frame = PyFrame_New( @@ -5480,7 +6231,6 @@ static void __Pyx_AddTraceback(const char *funcname) { bad: Py_XDECREF(py_srcfile); Py_XDECREF(py_funcname); - Py_XDECREF(empty_string); Py_XDECREF(py_code); Py_XDECREF(py_frame); } @@ -5488,7 +6238,7 @@ static void __Pyx_AddTraceback(const char *funcname) { static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { while (t->p) { #if PY_MAJOR_VERSION < 3 - if (t->is_unicode && (!t->is_identifier)) { + if (t->is_unicode) { *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); } else if (t->intern) { *t->p = PyString_InternFromString(t->s); @@ -5496,10 +6246,14 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { *t->p = PyString_FromStringAndSize(t->s, t->n - 1); } #else /* Python 3+ has unicode identifiers */ - if (t->is_identifier || (t->is_unicode && t->intern)) { - *t->p = PyUnicode_InternFromString(t->s); - } else if (t->is_unicode) { - *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + 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); } @@ -5513,13 +6267,13 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { /* Type Conversion Functions */ -static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { if (x == Py_True) return 1; else if ((x == Py_False) | (x == Py_None)) return 0; else return PyObject_IsTrue(x); } -static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { PyNumberMethods *m; const char *name = NULL; PyObject *res = NULL; @@ -5565,7 +6319,7 @@ static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { return res; } -static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { +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; @@ -5574,7 +6328,7 @@ static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { return ival; } -static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t 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); @@ -5588,7 +6342,7 @@ static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { #endif } -static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { +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; @@ -5601,3 +6355,4 @@ static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { } +#endif /* Py_PYTHON_H */ diff --git a/bolt/trainer/maxent.c b/bolt/trainer/maxent.c index 37c7c11..9099dc9 100644 --- a/bolt/trainer/maxent.c +++ b/bolt/trainer/maxent.c @@ -1,11 +1,12 @@ -/* Generated by Cython 0.11.2 on Fri Sep 24 17:18:03 2010 */ +/* Generated by Cython 0.12.1 on Sun Sep 26 10:58:02 2010 */ #define PY_SSIZE_T_CLEAN #include "Python.h" #include "structmember.h" #ifndef Py_PYTHON_H #error Python headers needed to compile C extensions, please install development version of Python. -#endif +#else + #ifndef PY_LONG_LONG #define PY_LONG_LONG LONG_LONG #endif @@ -15,7 +16,9 @@ #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 @@ -25,7 +28,9 @@ #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) @@ -35,17 +40,17 @@ #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; + 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 @@ -59,22 +64,32 @@ #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 PyString_Type PyBytes_Type - #define PyString_CheckExact PyBytes_CheckExact + #define PyString_Type PyUnicode_Type + #define PyString_CheckExact PyUnicode_CheckExact +#else + #define PyBytes_Type PyString_Type + #define PyBytes_CheckExact PyString_CheckExact +#endif + +#if PY_MAJOR_VERSION >= 3 #define PyInt_Type PyLong_Type #define PyInt_Check(op) PyLong_Check(op) #define PyInt_CheckExact(op) PyLong_CheckExact(op) @@ -89,13 +104,17 @@ #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask #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_TrueDivide(x,y) - #define PyBytes_Type PyString_Type + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) + #endif + #if PY_MAJOR_VERSION >= 3 #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) #endif + #if !defined(WIN32) && !defined(MS_WINDOWS) #ifndef __stdcall #define __stdcall @@ -109,6 +128,7 @@ #else #define _USE_MATH_DEFINES #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)) @@ -118,6 +138,7 @@ #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)) @@ -133,24 +154,22 @@ #include #define __PYX_HAVE_API__bolt__trainer__maxent #include "stdlib.h" +#include "stdio.h" #include "numpy/arrayobject.h" +#include "numpy/ufuncobject.h" #include "math.h" -#define __PYX_USE_C99_COMPLEX defined(_Complex_I) - -#ifdef __GNUC__ -#define INLINE __inline__ -#elif _WIN32 -#define INLINE __inline -#else -#define INLINE +#ifndef CYTHON_INLINE + #if defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #else + #define CYTHON_INLINE + #endif #endif -typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/ - - - -static int __pyx_skip_dispatch = 0; +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 */ @@ -165,9 +184,12 @@ static int __pyx_skip_dispatch = 0; #define __Pyx_PyBytes_AsString PyBytes_AsString #endif +#define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) +#define __Pyx_PyBytes_AsUString(s) ((unsigned char*) __Pyx_PyBytes_AsString(s)) + #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) -static INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #if !defined(T_PYSSIZET) #if PY_VERSION_HEX < 0x02050000 @@ -184,6 +206,40 @@ static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #endif #endif + +#if !defined(T_ULONGLONG) +#define __Pyx_T_UNSIGNED_INT(x) \ + ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ + ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ + ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : -1)))) +#else +#define __Pyx_T_UNSIGNED_INT(x) \ + ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ + ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ + ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : \ + ((sizeof(x) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))))) +#endif +#if !defined(T_LONGLONG) +#define __Pyx_T_SIGNED_INT(x) \ + ((sizeof(x) == sizeof(char)) ? T_BYTE : \ + ((sizeof(x) == sizeof(short)) ? T_SHORT : \ + ((sizeof(x) == sizeof(int)) ? T_INT : \ + ((sizeof(x) == sizeof(long)) ? T_LONG : -1)))) +#else +#define __Pyx_T_SIGNED_INT(x) \ + ((sizeof(x) == sizeof(char)) ? T_BYTE : \ + ((sizeof(x) == sizeof(short)) ? T_SHORT : \ + ((sizeof(x) == sizeof(int)) ? T_INT : \ + ((sizeof(x) == sizeof(long)) ? T_LONG : \ + ((sizeof(x) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))))) +#endif + +#define __Pyx_T_FLOATING(x) \ + ((sizeof(x) == sizeof(float)) ? T_FLOAT : \ + ((sizeof(x) == sizeof(double)) ? T_DOUBLE : -1)) + #if !defined(T_SIZET) #if !defined(T_ULONGLONG) #define T_SIZET \ @@ -197,9 +253,9 @@ static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #endif #endif -static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); +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)) @@ -221,6 +277,7 @@ static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); 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__; @@ -228,538 +285,405 @@ static const char *__pyx_filename; static const char **__pyx_f; -#ifdef 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* (*NewContext)(const char*, int, const char*); - void (*FinishContext)(void**); -} __Pyx_RefnannyAPIStruct; -static __Pyx_RefnannyAPIStruct *__Pyx_Refnanny = NULL; -#define __Pyx_ImportRefcountAPI(name) (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI") -#define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r) -#define __Pyx_SetupRefcountContext(name) void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__) -#define __Pyx_FinishRefcountContext() __Pyx_Refnanny->FinishContext(&__pyx_refchk) -#else -#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) -#define __Pyx_SetupRefcountContext(name) -#define __Pyx_FinishRefcountContext() -#endif /* CYTHON_REFNANNY */ -#define __Pyx_XGIVEREF(r) if((r) == NULL) ; else __Pyx_GIVEREF(r) -#define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r) - -static void __Pyx_RaiseDoubleKeywordsError( - const char* func_name, PyObject* kw_name); /*proto*/ - -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ - -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ - -static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ - -/* Run-time type information about structs used with buffers */ -struct __Pyx_StructField_; - -typedef struct { - const char* name; /* for error messages only */ - struct __Pyx_StructField_* fields; - size_t size; /* sizeof(type) */ - char typegroup; /* _R_eal, _C_omplex, Signed _I_nt, _U_nsigned int, _S_truct, _P_ointer, _O_bject */ -} __Pyx_TypeInfo; - -typedef struct __Pyx_StructField_ { - __Pyx_TypeInfo* type; - const char* name; - size_t offset; -} __Pyx_StructField; - -typedef struct { - __Pyx_StructField* field; - size_t parent_offset; -} __Pyx_BufFmt_StackElem; - - -static INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); -static int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); - -static void __Pyx_RaiseBufferFallbackError(void); /*proto*/ - -static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif -static INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif -#define __Pyx_GetItemInt_List(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_List_Fast(o, i, size <= sizeof(long)) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) +typedef npy_int8 __pyx_t_5numpy_int8_t; -static INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, int fits_long) { - if (likely(o != Py_None)) { - if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, i); - Py_INCREF(r); - return r; - } - else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { - PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); - Py_INCREF(r); - return r; - } - } - return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); -} +typedef npy_int16 __pyx_t_5numpy_int16_t; -#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_Tuple_Fast(o, i, size <= sizeof(long)) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) +typedef npy_int32 __pyx_t_5numpy_int32_t; -static INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, int fits_long) { - if (likely(o != Py_None)) { - if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, i); - Py_INCREF(r); - return r; - } - else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { - PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); - Py_INCREF(r); - return r; - } - } - return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); -} +typedef npy_int64 __pyx_t_5numpy_int64_t; +typedef npy_uint8 __pyx_t_5numpy_uint8_t; -#define __Pyx_GetItemInt(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_Fast(o, i, size <= sizeof(long)) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) +typedef npy_uint16 __pyx_t_5numpy_uint16_t; -static INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int fits_long) { - PyObject *r; - if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { - r = PyList_GET_ITEM(o, i); - Py_INCREF(r); - } - else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { - r = PyTuple_GET_ITEM(o, i); - Py_INCREF(r); - } - else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) { - r = PySequence_GetItem(o, i); - } - else { - r = __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); - } - return r; -} -#if PY_MAJOR_VERSION < 3 -static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); -static void __Pyx_ReleaseBuffer(Py_buffer *view); -#else -#define __Pyx_GetBuffer PyObject_GetBuffer -#define __Pyx_ReleaseBuffer PyBuffer_Release -#endif +typedef npy_uint32 __pyx_t_5numpy_uint32_t; -Py_ssize_t __Pyx_zeros[] = {0, 0}; -Py_ssize_t __Pyx_minusones[] = {-1, -1}; +typedef npy_uint64 __pyx_t_5numpy_uint64_t; -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ +typedef npy_float32 __pyx_t_5numpy_float32_t; -static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ +typedef npy_float64 __pyx_t_5numpy_float64_t; -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ +typedef npy_long __pyx_t_5numpy_int_t; -static int __Pyx_Print(PyObject *, int); /*proto*/ -#if PY_MAJOR_VERSION >= 3 -static PyObject* __pyx_print = 0; -static PyObject* __pyx_print_kwargs = 0; -#endif +typedef npy_longlong __pyx_t_5numpy_long_t; -static int __Pyx_PrintOne(PyObject *o); /*proto*/ +typedef npy_intp __pyx_t_5numpy_intp_t; -static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); +typedef npy_uintp __pyx_t_5numpy_uintp_t; -static INLINE void __Pyx_RaiseTooManyValuesError(void); +typedef npy_ulong __pyx_t_5numpy_uint_t; -static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/ -static int __Pyx_EndUnpack(PyObject *); /*proto*/ +typedef npy_ulonglong __pyx_t_5numpy_ulong_t; -#if __PYX_USE_C99_COMPLEX - #define __Pyx_REAL_PART(z) __real__(z) - #define __Pyx_IMAG_PART(z) __imag__(z) -#else - #define __Pyx_REAL_PART(z) ((z).real) - #define __Pyx_IMAG_PART(z) ((z).imag) -#endif +typedef npy_double __pyx_t_5numpy_float_t; -#define __pyx_PyObject_from_complex(z) PyComplex_FromDoubles((double)__Pyx_REAL_PART(z), (double)__Pyx_IMAG_PART(z)) +typedef npy_double __pyx_t_5numpy_double_t; -#if __PYX_USE_C99_COMPLEX +typedef npy_longdouble __pyx_t_5numpy_longdouble_t; +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else typedef float _Complex __pyx_t_float_complex; - static INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return x + y*(__pyx_t_float_complex)_Complex_I; - } - - #define __pyx_t_float_complex_is_zero(a) ((a) == 0) - #define __pyx_t_float_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_float_complex_add(a, b) ((a)+(b)) - #define __pyx_t_float_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_float_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_float_complex_div(a, b) ((a)/(b)) - #define __pyx_t_float_complex_neg(a) (-(a)) - + #endif #else - typedef struct { float real, imag; } __pyx_t_float_complex; - static INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - __pyx_t_float_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_float_complex_is_zero(__pyx_t_float_complex a) { - return (a.real == 0) & (a.imag == 0); - } - - static INLINE int __pyx_t_float_complex_eq(__pyx_t_float_complex a, __pyx_t_float_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_add(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_sub(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_mul(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_div(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - float denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_neg(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - #endif -#if __PYX_USE_C99_COMPLEX - +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else typedef double _Complex __pyx_t_double_complex; - static INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return x + y*(__pyx_t_double_complex)_Complex_I; - } - - #define __pyx_t_double_complex_is_zero(a) ((a) == 0) - #define __pyx_t_double_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_double_complex_add(a, b) ((a)+(b)) - #define __pyx_t_double_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_double_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_double_complex_div(a, b) ((a)/(b)) - #define __pyx_t_double_complex_neg(a) (-(a)) - + #endif #else - typedef struct { double real, imag; } __pyx_t_double_complex; - static INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - __pyx_t_double_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_double_complex_is_zero(__pyx_t_double_complex a) { - return (a.real == 0) & (a.imag == 0); - } - - static INLINE int __pyx_t_double_complex_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_add(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_sub(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_mul(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_div(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - double denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_neg(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - #endif -#if __PYX_USE_C99_COMPLEX - - typedef long double _Complex __pyx_t_long__double_complex; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_from_parts(long double x, long double y) { - return x + y*(__pyx_t_long__double_complex)_Complex_I; - } - - #define __pyx_t_long__double_complex_is_zero(a) ((a) == 0) - #define __pyx_t_long__double_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_long__double_complex_add(a, b) ((a)+(b)) - #define __pyx_t_long__double_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_long__double_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_long__double_complex_div(a, b) ((a)/(b)) - #define __pyx_t_long__double_complex_neg(a) (-(a)) - -#else +/* Type declarations */ - typedef struct { long double real, imag; } __pyx_t_long__double_complex; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_from_parts(long double x, long double y) { - __pyx_t_long__double_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_long__double_complex_is_zero(__pyx_t_long__double_complex a) { - return (a.real == 0) & (a.imag == 0); - } +typedef npy_cfloat __pyx_t_5numpy_cfloat_t; - static INLINE int __pyx_t_long__double_complex_eq(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } +typedef npy_cdouble __pyx_t_5numpy_cdouble_t; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_add(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } +typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_sub(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } +typedef npy_cdouble __pyx_t_5numpy_complex_t; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_mul(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":32 + * # ---------------------------------------- + * + * cdef struct Pair: # <<<<<<<<<<<<<< + * np.uint32_t idx + * np.float32_t val + */ - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_div(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - long double denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } +struct __pyx_t_4bolt_7trainer_6maxent_Pair { + __pyx_t_5numpy_uint32_t idx; + __pyx_t_5numpy_float32_t val; +}; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_neg(__pyx_t_long__double_complex a) { - __pyx_t_long__double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":94 + * # ---------------------------------------- + * + * cdef class MaxentSGD(object): # <<<<<<<<<<<<<< + * """Stochastic gradient descent solver for maxent (aka multinomial logistic regression). The solver supports various penalties (L1, L2, and Elastic-Net). + * + */ -#endif +struct __pyx_obj_4bolt_7trainer_6maxent_MaxentSGD { + PyObject_HEAD + struct __pyx_vtabstruct_4bolt_7trainer_6maxent_MaxentSGD *__pyx_vtab; + int epochs; + double reg; + int norm; +}; -static INLINE int __Pyx_StrEq(const char *, const char *); /*proto*/ -static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); +struct __pyx_vtabstruct_4bolt_7trainer_6maxent_MaxentSGD { + void (*_train)(struct __pyx_obj_4bolt_7trainer_6maxent_MaxentSGD *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); +}; +static struct __pyx_vtabstruct_4bolt_7trainer_6maxent_MaxentSGD *__pyx_vtabptr_4bolt_7trainer_6maxent_MaxentSGD; -static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); +#ifndef CYTHON_REFNANNY + #define CYTHON_REFNANNY 0 +#endif -static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); +#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 INLINE char __Pyx_PyInt_AsChar(PyObject *); +static void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, PyObject* kw_name); /*proto*/ -static INLINE short __Pyx_PyInt_AsShort(PyObject *); +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ -static INLINE int __Pyx_PyInt_AsInt(PyObject *); +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ -static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ -static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); +/* Run-time type information about structs used with buffers */ +struct __Pyx_StructField_; -static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); +typedef struct { + const char* name; /* for error messages only */ + struct __Pyx_StructField_* fields; + size_t size; /* sizeof(type) */ + char typegroup; /* _R_eal, _C_omplex, Signed _I_nt, _U_nsigned int, _S_truct, _P_ointer, _O_bject */ +} __Pyx_TypeInfo; -static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); +typedef struct __Pyx_StructField_ { + __Pyx_TypeInfo* type; + const char* name; + size_t offset; +} __Pyx_StructField; -static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); +typedef struct { + __Pyx_StructField* field; + size_t parent_offset; +} __Pyx_BufFmt_StackElem; -static INLINE long __Pyx_PyInt_AsLong(PyObject *); -static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); +static int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); -static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); +static void __Pyx_RaiseBufferFallbackError(void); /*proto*/ -static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); +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_WriteUnraisable(const char *name); /*proto*/ +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); -static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(void); -static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size); /*proto*/ +static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/ +static int __Pyx_EndUnpack(PyObject *); /*proto*/ -static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); -static void __Pyx_AddTraceback(const char *funcname); /*proto*/ +static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/ +#if PY_MAJOR_VERSION < 3 +static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); +static void __Pyx_ReleaseBuffer(Py_buffer *view); +#else +#define __Pyx_GetBuffer PyObject_GetBuffer +#define __Pyx_ReleaseBuffer PyBuffer_Release +#endif -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ +Py_ssize_t __Pyx_zeros[] = {0, 0}; +Py_ssize_t __Pyx_minusones[] = {-1, -1}; -/* Type declarations */ +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ -typedef npy_int8 __pyx_t_5numpy_int8_t; +static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ -typedef npy_int16 __pyx_t_5numpy_int16_t; +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -typedef npy_int32 __pyx_t_5numpy_int32_t; +static int __Pyx_Print(PyObject *, int); /*proto*/ +#if PY_MAJOR_VERSION >= 3 +static PyObject* __pyx_print = 0; +static PyObject* __pyx_print_kwargs = 0; +#endif -typedef npy_int64 __pyx_t_5numpy_int64_t; +static int __Pyx_PrintOne(PyObject *o); /*proto*/ -typedef npy_uint8 __pyx_t_5numpy_uint8_t; +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif -typedef npy_uint16 __pyx_t_5numpy_uint16_t; +#if defined(_WIN32) && defined(__cplusplus) && CYTHON_CCOMPLEX + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif -typedef npy_uint32 __pyx_t_5numpy_uint32_t; +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +#if CYTHON_CCOMPLEX + #define __Pyx_c_eqf(a, b) ((a)==(b)) + #define __Pyx_c_sumf(a, b) ((a)+(b)) + #define __Pyx_c_difff(a, b) ((a)-(b)) + #define __Pyx_c_prodf(a, b) ((a)*(b)) + #define __Pyx_c_quotf(a, b) ((a)/(b)) + #define __Pyx_c_negf(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zerof(z) ((z)==(float)0) + #define __Pyx_c_conjf(z) (::std::conj(z)) + /*#define __Pyx_c_absf(z) (::std::abs(z))*/ + #else + #define __Pyx_c_is_zerof(z) ((z)==0) + #define __Pyx_c_conjf(z) (conjf(z)) + /*#define __Pyx_c_absf(z) (cabsf(z))*/ + #endif +#else + static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex); + /*static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex);*/ +#endif -typedef npy_uint64 __pyx_t_5numpy_uint64_t; +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq(a, b) ((a)==(b)) + #define __Pyx_c_sum(a, b) ((a)+(b)) + #define __Pyx_c_diff(a, b) ((a)-(b)) + #define __Pyx_c_prod(a, b) ((a)*(b)) + #define __Pyx_c_quot(a, b) ((a)/(b)) + #define __Pyx_c_neg(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero(z) ((z)==(double)0) + #define __Pyx_c_conj(z) (::std::conj(z)) + /*#define __Pyx_c_abs(z) (::std::abs(z))*/ + #else + #define __Pyx_c_is_zero(z) ((z)==0) + #define __Pyx_c_conj(z) (conj(z)) + /*#define __Pyx_c_abs(z) (cabs(z))*/ + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex); + /*static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex);*/ +#endif -typedef npy_float32 __pyx_t_5numpy_float32_t; +static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); -typedef npy_float64 __pyx_t_5numpy_float64_t; +static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); -typedef npy_complex64 __pyx_t_5numpy_complex64_t; +static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); -typedef npy_complex128 __pyx_t_5numpy_complex128_t; +static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *); -typedef npy_long __pyx_t_5numpy_int_t; +static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *); -typedef npy_longlong __pyx_t_5numpy_long_t; +static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *); -typedef npy_ulong __pyx_t_5numpy_uint_t; +static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); -typedef npy_ulonglong __pyx_t_5numpy_ulong_t; +static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); -typedef npy_double __pyx_t_5numpy_float_t; +static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); -typedef npy_double __pyx_t_5numpy_double_t; +static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); -typedef npy_longdouble __pyx_t_5numpy_longdouble_t; +static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); -typedef npy_cfloat __pyx_t_5numpy_cfloat_t; +static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *); -typedef npy_cdouble __pyx_t_5numpy_cdouble_t; +static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); -typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; +static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); -typedef npy_cdouble __pyx_t_5numpy_complex_t; +static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":32 - * # ---------------------------------------- - * - * cdef struct Pair: # <<<<<<<<<<<<<< - * np.uint32_t idx - * np.float32_t val - */ +static void __Pyx_WriteUnraisable(const char *name); /*proto*/ -struct __pyx_t_4bolt_7trainer_6maxent_Pair { - __pyx_t_5numpy_uint32_t idx; - __pyx_t_5numpy_float32_t val; -}; +static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":94 - * # ---------------------------------------- - * - * cdef class MaxentSGD(object): # <<<<<<<<<<<<<< - * """Stochastic gradient descent solver for maxent (aka multinomial logistic regression). The solver supports various penalties (L1, L2, and Elastic-Net). - * - */ +static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ -struct __pyx_obj_4bolt_7trainer_6maxent_MaxentSGD { - PyObject_HEAD - struct __pyx_vtabstruct_4bolt_7trainer_6maxent_MaxentSGD *__pyx_vtab; - int epochs; - double reg; - int norm; -}; +static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ +static void __Pyx_AddTraceback(const char *funcname); /*proto*/ -struct __pyx_vtabstruct_4bolt_7trainer_6maxent_MaxentSGD { - void (*_train)(struct __pyx_obj_4bolt_7trainer_6maxent_MaxentSGD *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); -}; -static struct __pyx_vtabstruct_4bolt_7trainer_6maxent_MaxentSGD *__pyx_vtabptr_4bolt_7trainer_6maxent_MaxentSGD; +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ /* Module declarations from python_buffer */ +/* Module declarations from python_ref */ + /* Module declarations from stdlib */ +/* Module declarations from stdio */ + /* Module declarations from numpy */ /* Module declarations from numpy */ static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; -static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *, PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *); /*proto*/ /* Module declarations from cython */ /* Module declarations from bolt.trainer.maxent */ static PyTypeObject *__pyx_ptype_4bolt_7trainer_6maxent_MaxentSGD = 0; -static PyObject *__pyx_k_32 = 0; static double __pyx_f_4bolt_7trainer_6maxent_dot(double *, struct __pyx_t_4bolt_7trainer_6maxent_Pair *, int); /*proto*/ static double __pyx_f_4bolt_7trainer_6maxent_dot_checked(double *, struct __pyx_t_4bolt_7trainer_6maxent_Pair *, int, int); /*proto*/ static double __pyx_f_4bolt_7trainer_6maxent_add(double *, int, double, double *, struct __pyx_t_4bolt_7trainer_6maxent_Pair *, int, int, double); /*proto*/ @@ -771,170 +695,195 @@ static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "numpy.floa int __pyx_module_is_main_bolt__trainer__maxent = 0; /* Implementation of bolt.trainer.maxent */ -static char __pyx_k_31[] = "\"Peter Prettenhofer\" "; -static PyObject *__pyx_int_5; -static PyObject *__pyx_int_2; +static PyObject *__pyx_builtin_ValueError; +static PyObject *__pyx_builtin_range; +static PyObject *__pyx_builtin_RuntimeError; +static char __pyx_k_1[] = "reg must be larger than 0. "; +static char __pyx_k_2[] = "norm must be in {1,2,3}. "; +static char __pyx_k_4[] = "-- Epoch %d"; +static char __pyx_k_5[] = "Scaling w"; +static char __pyx_k_6[] = "Wscale: %.6f"; +static char __pyx_k_7[] = "Log-likelihood: %.6f"; +static char __pyx_k_8[] = "Total training time: %.2f seconds."; +static char __pyx_k_9[] = "Current eta: %.9f"; +static char __pyx_k_10[] = "floating-point under-/overflow occured."; +static char __pyx_k_11[] = "eta:%.9f ll:%.6f"; +static char __pyx_k_12[] = "Best eta:%.9f ll:%.6f"; +static char __pyx_k_13[] = "ndarray is not C contiguous"; +static char __pyx_k_14[] = "ndarray is not Fortran contiguous"; +static char __pyx_k_15[] = "Non-native byte order not supported"; +static char __pyx_k_16[] = "unknown dtype code in numpy.pxd (%d)"; +static char __pyx_k_17[] = "Format string allocated too short, see comment in numpy.pxd"; +static char __pyx_k_18[] = "Format string allocated too short."; +static char __pyx_k_19[] = "\"Peter Prettenhofer\" "; +static char __pyx_k_20[] = "MaxentSGD.__init__ (line 112)"; +static char __pyx_k_21[] = "MaxentSGD.train (line 132)"; +static char __pyx_k__B[] = "B"; +static char __pyx_k__C[] = "C"; +static char __pyx_k__H[] = "H"; +static char __pyx_k__I[] = "I"; +static char __pyx_k__L[] = "L"; +static char __pyx_k__O[] = "O"; +static char __pyx_k__Q[] = "Q"; +static char __pyx_k__W[] = "W"; +static char __pyx_k__b[] = "b"; +static char __pyx_k__d[] = "d"; +static char __pyx_k__f[] = "f"; +static char __pyx_k__g[] = "g"; +static char __pyx_k__h[] = "h"; +static char __pyx_k__i[] = "i"; +static char __pyx_k__k[] = "k"; +static char __pyx_k__l[] = "l"; +static char __pyx_k__m[] = "m"; +static char __pyx_k__n[] = "n"; +static char __pyx_k__q[] = "q"; +static char __pyx_k__w[] = "w"; +static char __pyx_k__Zd[] = "Zd"; +static char __pyx_k__Zf[] = "Zf"; +static char __pyx_k__Zg[] = "Zg"; +static char __pyx_k__np[] = "np"; +static char __pyx_k__any[] = "any"; +static char __pyx_k__buf[] = "buf"; +static char __pyx_k__idx[] = "idx"; +static char __pyx_k__obj[] = "obj"; +static char __pyx_k__reg[] = "reg"; +static char __pyx_k__sys[] = "sys"; +static char __pyx_k__val[] = "val"; +static char __pyx_k__base[] = "base"; +static char __pyx_k__bias[] = "bias"; +static char __pyx_k__copy[] = "copy"; +static char __pyx_k__data[] = "data"; +static char __pyx_k__izip[] = "izip"; +static char __pyx_k__ndim[] = "ndim"; +static char __pyx_k__norm[] = "norm"; +static char __pyx_k__seed[] = "seed"; +static char __pyx_k__time[] = "time"; +static char __pyx_k__descr[] = "descr"; +static char __pyx_k__dtype[] = "dtype"; +static char __pyx_k__isinf[] = "isinf"; +static char __pyx_k__isnan[] = "isnan"; +static char __pyx_k__model[] = "model"; +static char __pyx_k__names[] = "names"; +static char __pyx_k__numpy[] = "numpy"; +static char __pyx_k__range[] = "range"; +static char __pyx_k__shape[] = "shape"; +static char __pyx_k__train[] = "train"; +static char __pyx_k__zeros[] = "zeros"; +static char __pyx_k___train[] = "_train"; +static char __pyx_k__epochs[] = "epochs"; +static char __pyx_k__fields[] = "fields"; +static char __pyx_k__format[] = "format"; +static char __pyx_k__nprobe[] = "nprobe"; +static char __pyx_k__sample[] = "sample"; +static char __pyx_k__dataset[] = "dataset"; +static char __pyx_k__float64[] = "float64"; +static char __pyx_k__shuffle[] = "shuffle"; +static char __pyx_k__strides[] = "strides"; +static char __pyx_k__verbose[] = "verbose"; +static char __pyx_k____init__[] = "__init__"; +static char __pyx_k____main__[] = "__main__"; +static char __pyx_k____test__[] = "__test__"; +static char __pyx_k__itemsize[] = "itemsize"; +static char __pyx_k__readonly[] = "readonly"; +static char __pyx_k__type_num[] = "type_num"; +static char __pyx_k__MaxentSGD[] = "MaxentSGD"; +static char __pyx_k__byteorder[] = "byteorder"; +static char __pyx_k__itertools[] = "itertools"; +static char __pyx_k__ValueError[] = "ValueError"; +static char __pyx_k__suboffsets[] = "suboffsets"; +static char __pyx_k____authors__[] = "__authors__"; +static char __pyx_k__RuntimeError[] = "RuntimeError"; +static PyObject *__pyx_kp_s_1; +static PyObject *__pyx_kp_s_10; +static PyObject *__pyx_kp_s_11; +static PyObject *__pyx_kp_s_12; +static PyObject *__pyx_kp_u_13; +static PyObject *__pyx_kp_u_14; +static PyObject *__pyx_kp_u_15; +static PyObject *__pyx_kp_u_16; +static PyObject *__pyx_kp_u_17; +static PyObject *__pyx_kp_u_18; +static PyObject *__pyx_kp_s_19; +static PyObject *__pyx_kp_s_2; +static PyObject *__pyx_kp_u_20; +static PyObject *__pyx_kp_u_21; +static PyObject *__pyx_kp_s_4; +static PyObject *__pyx_kp_s_5; +static PyObject *__pyx_kp_s_6; +static PyObject *__pyx_kp_s_7; +static PyObject *__pyx_kp_s_8; +static PyObject *__pyx_kp_s_9; +static PyObject *__pyx_n_s__C; +static PyObject *__pyx_n_s__MaxentSGD; +static PyObject *__pyx_n_s__RuntimeError; +static PyObject *__pyx_n_s__ValueError; +static PyObject *__pyx_n_s__W; +static PyObject *__pyx_n_s____authors__; +static PyObject *__pyx_n_s____init__; +static PyObject *__pyx_n_s____main__; +static PyObject *__pyx_n_s____test__; +static PyObject *__pyx_n_s___train; +static PyObject *__pyx_n_s__any; +static PyObject *__pyx_n_s__b; +static PyObject *__pyx_n_s__base; +static PyObject *__pyx_n_s__bias; +static PyObject *__pyx_n_s__buf; +static PyObject *__pyx_n_s__byteorder; +static PyObject *__pyx_n_s__copy; +static PyObject *__pyx_n_s__data; +static PyObject *__pyx_n_s__dataset; +static PyObject *__pyx_n_s__descr; +static PyObject *__pyx_n_s__dtype; +static PyObject *__pyx_n_s__epochs; +static PyObject *__pyx_n_s__fields; +static PyObject *__pyx_n_s__float64; +static PyObject *__pyx_n_s__format; +static PyObject *__pyx_n_s__idx; +static PyObject *__pyx_n_s__isinf; +static PyObject *__pyx_n_s__isnan; +static PyObject *__pyx_n_s__itemsize; +static PyObject *__pyx_n_s__itertools; +static PyObject *__pyx_n_s__izip; +static PyObject *__pyx_n_s__k; +static PyObject *__pyx_n_s__m; +static PyObject *__pyx_n_s__model; +static PyObject *__pyx_n_s__n; +static PyObject *__pyx_n_s__names; +static PyObject *__pyx_n_s__ndim; +static PyObject *__pyx_n_s__norm; +static PyObject *__pyx_n_s__np; +static PyObject *__pyx_n_s__nprobe; +static PyObject *__pyx_n_s__numpy; +static PyObject *__pyx_n_s__obj; +static PyObject *__pyx_n_s__range; +static PyObject *__pyx_n_s__readonly; +static PyObject *__pyx_n_s__reg; +static PyObject *__pyx_n_s__sample; +static PyObject *__pyx_n_s__seed; +static PyObject *__pyx_n_s__shape; +static PyObject *__pyx_n_s__shuffle; +static PyObject *__pyx_n_s__strides; +static PyObject *__pyx_n_s__suboffsets; +static PyObject *__pyx_n_s__sys; +static PyObject *__pyx_n_s__time; +static PyObject *__pyx_n_s__train; +static PyObject *__pyx_n_s__type_num; +static PyObject *__pyx_n_s__val; +static PyObject *__pyx_n_s__verbose; +static PyObject *__pyx_n_s__w; +static PyObject *__pyx_n_s__zeros; static PyObject *__pyx_int_0; -static PyObject *__pyx_int_neg_1; static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; static PyObject *__pyx_int_3; +static PyObject *__pyx_int_5; +static PyObject *__pyx_int_neg_1; static PyObject *__pyx_int_10; static PyObject *__pyx_int_13; -static char __pyx_k___main__[] = "__main__"; -static PyObject *__pyx_kp___main__; -static char __pyx_k___init__[] = "__init__"; -static PyObject *__pyx_kp___init__; -static char __pyx_k_train[] = "train"; -static PyObject *__pyx_kp_train; -static char __pyx_k_reg[] = "reg"; -static PyObject *__pyx_kp_reg; -static char __pyx_k_epochs[] = "epochs"; -static PyObject *__pyx_kp_epochs; -static char __pyx_k_norm[] = "norm"; -static PyObject *__pyx_kp_norm; -static char __pyx_k_model[] = "model"; -static PyObject *__pyx_kp_model; -static char __pyx_k_dataset[] = "dataset"; -static PyObject *__pyx_kp_dataset; -static char __pyx_k_verbose[] = "verbose"; -static PyObject *__pyx_kp_verbose; -static char __pyx_k_shuffle[] = "shuffle"; -static PyObject *__pyx_kp_shuffle; -static char __pyx_k_nprobe[] = "nprobe"; -static PyObject *__pyx_kp_nprobe; -static char __pyx_k_numpy[] = "numpy"; -static PyObject *__pyx_kp_numpy; -static char __pyx_k_np[] = "np"; -static PyObject *__pyx_kp_np; -static char __pyx_k_sys[] = "sys"; -static PyObject *__pyx_kp_sys; -static char __pyx_k_time[] = "time"; -static PyObject *__pyx_kp_time; -static char __pyx_k_itertools[] = "itertools"; -static PyObject *__pyx_kp_itertools; -static char __pyx_k_izip[] = "izip"; -static PyObject *__pyx_kp_izip; -static char __pyx_k___authors__[] = "__authors__"; -static PyObject *__pyx_kp___authors__; -static char __pyx_k_ValueError[] = "ValueError"; -static PyObject *__pyx_kp_ValueError; -static char __pyx_k_sample[] = "sample"; -static PyObject *__pyx_kp_sample; -static char __pyx_k_n[] = "n"; -static PyObject *__pyx_kp_n; -static char __pyx_k_seed[] = "seed"; -static PyObject *__pyx_kp_seed; -static char __pyx_k_m[] = "m"; -static PyObject *__pyx_kp_m; -static char __pyx_k_k[] = "k"; -static PyObject *__pyx_kp_k; -static char __pyx_k_W[] = "W"; -static PyObject *__pyx_kp_W; -static char __pyx_k_b[] = "b"; -static PyObject *__pyx_kp_b; -static char __pyx_k_zeros[] = "zeros"; -static PyObject *__pyx_kp_zeros; -static char __pyx_k_dtype[] = "dtype"; -static PyObject *__pyx_kp_dtype; -static char __pyx_k_35[] = "float64"; -static PyObject *__pyx_kp_35; -static char __pyx_k_any[] = "any"; -static PyObject *__pyx_kp_any; -static char __pyx_k_isinf[] = "isinf"; -static PyObject *__pyx_kp_isinf; -static char __pyx_k_isnan[] = "isnan"; -static PyObject *__pyx_kp_isnan; -static char __pyx_k_w[] = "w"; -static PyObject *__pyx_kp_w; -static char __pyx_k_bias[] = "bias"; -static PyObject *__pyx_kp_bias; -static char __pyx_k_copy[] = "copy"; -static PyObject *__pyx_kp_copy; -static char __pyx_k_43[] = "C"; -static PyObject *__pyx_kp_43; -static char __pyx_k_44[] = "C"; -static PyObject *__pyx_kp_44; -static PyObject *__pyx_kp_31; -static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_kp_33; -static PyObject *__pyx_kp_34; -static char __pyx_k_33[] = "reg must be larger than 0. "; -static char __pyx_k_34[] = "norm must be in {1,2,3}. "; -static PyObject *__pyx_kp_36; -static PyObject *__pyx_kp_37; -static PyObject *__pyx_kp_38; -static PyObject *__pyx_kp_39; -static PyObject *__pyx_kp_40; -static PyObject *__pyx_kp_41; -static PyObject *__pyx_kp_42; -static char __pyx_k_36[] = "-- Epoch %d"; -static char __pyx_k_37[] = "Scaling w"; -static char __pyx_k_38[] = "Wscale: %.6f"; -static char __pyx_k_39[] = "Log-likelihood: %.6f"; -static char __pyx_k_40[] = "Total training time: %.2f seconds."; -static char __pyx_k_41[] = "Current eta: %.9f"; -static char __pyx_k_42[] = "floating-point under-/overflow occured."; -static PyObject *__pyx_kp_45; -static PyObject *__pyx_kp_46; -static char __pyx_k_45[] = "eta:%.9f ll:%.6f"; -static char __pyx_k_46[] = "Best eta:%.9f ll:%.6f"; static PyObject *__pyx_int_15; -static char __pyx_k___getbuffer__[] = "__getbuffer__"; -static PyObject *__pyx_kp___getbuffer__; -static char __pyx_k___releasebuffer__[] = "__releasebuffer__"; -static PyObject *__pyx_kp___releasebuffer__; -static char __pyx_k_info[] = "info"; -static PyObject *__pyx_kp_info; -static char __pyx_k_flags[] = "flags"; -static PyObject *__pyx_kp_flags; -static char __pyx_k_range[] = "range"; -static PyObject *__pyx_kp_range; -static char __pyx_k_itervalues[] = "itervalues"; -static PyObject *__pyx_kp_itervalues; -static char __pyx_k_RuntimeError[] = "RuntimeError"; -static PyObject *__pyx_kp_RuntimeError; -static PyObject *__pyx_kp_1; -static PyObject *__pyx_kp_2; -static PyObject *__pyx_kp_5; -static PyObject *__pyx_kp_23; -static PyObject *__pyx_builtin_range; -static PyObject *__pyx_builtin_RuntimeError; -static char __pyx_k_1[] = "ndarray is not C contiguous"; -static char __pyx_k_2[] = "ndarray is not Fortran contiguous"; -static char __pyx_k_3[] = ">"; -static char __pyx_k_4[] = "<"; -static char __pyx_k_5[] = "Non-native byte order not supported"; -static char __pyx_k_6[] = "b"; -static char __pyx_k_7[] = "B"; -static char __pyx_k_8[] = "h"; -static char __pyx_k_9[] = "H"; -static char __pyx_k_10[] = "i"; -static char __pyx_k_11[] = "I"; -static char __pyx_k_12[] = "l"; -static char __pyx_k_13[] = "L"; -static char __pyx_k_14[] = "q"; -static char __pyx_k_15[] = "Q"; -static char __pyx_k_16[] = "f"; -static char __pyx_k_17[] = "d"; -static char __pyx_k_18[] = "g"; -static char __pyx_k_19[] = "Zf"; -static char __pyx_k_20[] = "Zd"; -static char __pyx_k_21[] = "Zg"; -static char __pyx_k_22[] = "O"; -static char __pyx_k_23[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_24[] = "^"; -static PyObject *__pyx_kp_25; -static PyObject *__pyx_kp_28; -static PyObject *__pyx_kp_29; -static PyObject *__pyx_kp_30; -static char __pyx_k_25[] = "Format string allocated too short, see comment in numpy.pxd"; -static char __pyx_k_26[] = ">"; -static char __pyx_k_27[] = "<"; -static char __pyx_k_28[] = "Non-native byte order not supported"; -static char __pyx_k_29[] = "Format string allocated too short."; -static char __pyx_k_30[] = "unknown dtype code in numpy.pxd (%d)"; - -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":36 +static PyObject *__pyx_k_3; + +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":36 * np.float32_t val * * cdef double dot(double *w, Pair *x, int nnz): # <<<<<<<<<<<<<< @@ -948,9 +897,9 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot(double *__pyx_v_w, struct __py int __pyx_v_i; double __pyx_r; int __pyx_t_1; - __Pyx_SetupRefcountContext("dot"); + __Pyx_RefNannySetupContext("dot"); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":39 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":39 * """Dot product of weight vector w and example x. * """ * cdef double sum = 0.0 # <<<<<<<<<<<<<< @@ -959,7 +908,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot(double *__pyx_v_w, struct __py */ __pyx_v_sum = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":42 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":42 * cdef Pair pair * cdef int i * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -969,7 +918,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot(double *__pyx_v_w, struct __py __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":43 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":43 * cdef int i * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -978,7 +927,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot(double *__pyx_v_w, struct __py */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":44 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":44 * for i from 0 <= i < nnz: * pair = x[i] * sum += w[pair.idx] * pair.val # <<<<<<<<<<<<<< @@ -988,7 +937,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot(double *__pyx_v_w, struct __py __pyx_v_sum += ((__pyx_v_w[__pyx_v_pair.idx]) * __pyx_v_pair.val); } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":45 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":45 * pair = x[i] * sum += w[pair.idx] * pair.val * return sum # <<<<<<<<<<<<<< @@ -1000,11 +949,11 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot(double *__pyx_v_w, struct __py __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":47 +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":47 * return sum * * cdef double dot_checked(double *w, Pair *x, int nnz, int wdim): # <<<<<<<<<<<<<< @@ -1019,9 +968,9 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot_checked(double *__pyx_v_w, str double __pyx_r; int __pyx_t_1; int __pyx_t_2; - __Pyx_SetupRefcountContext("dot_checked"); + __Pyx_RefNannySetupContext("dot_checked"); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":51 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":51 * with a higher index than dimension of w. * """ * cdef double sum = 0.0 # <<<<<<<<<<<<<< @@ -1030,7 +979,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot_checked(double *__pyx_v_w, str */ __pyx_v_sum = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":54 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":54 * cdef Pair pair * cdef int i * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -1040,7 +989,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot_checked(double *__pyx_v_w, str __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":55 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":55 * cdef int i * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -1049,7 +998,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot_checked(double *__pyx_v_w, str */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":56 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":56 * for i from 0 <= i < nnz: * pair = x[i] * if pair.idx < wdim: # <<<<<<<<<<<<<< @@ -1059,7 +1008,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot_checked(double *__pyx_v_w, str __pyx_t_2 = (__pyx_v_pair.idx < __pyx_v_wdim); if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":57 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":57 * pair = x[i] * if pair.idx < wdim: * sum +=w[pair.idx]*pair.val # <<<<<<<<<<<<<< @@ -1072,7 +1021,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot_checked(double *__pyx_v_w, str __pyx_L5:; } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":58 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":58 * if pair.idx < wdim: * sum +=w[pair.idx]*pair.val * return sum # <<<<<<<<<<<<<< @@ -1084,11 +1033,11 @@ static double __pyx_f_4bolt_7trainer_6maxent_dot_checked(double *__pyx_v_w, str __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":60 +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":60 * return sum * * cdef double add(double *w, int stride, double wscale, double *b, # <<<<<<<<<<<<<< @@ -1104,9 +1053,9 @@ static double __pyx_f_4bolt_7trainer_6maxent_add(double *__pyx_v_w, int __pyx_v int __pyx_v_i; double __pyx_r; int __pyx_t_1; - __Pyx_SetupRefcountContext("add"); + __Pyx_RefNannySetupContext("add"); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":65 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":65 * """ * cdef Pair pair * cdef double innerprod = 0.0 # <<<<<<<<<<<<<< @@ -1115,7 +1064,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_add(double *__pyx_v_w, int __pyx_v */ __pyx_v_innerprod = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":66 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":66 * cdef Pair pair * cdef double innerprod = 0.0 * cdef double xsqnorm = 0.0 # <<<<<<<<<<<<<< @@ -1124,7 +1073,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_add(double *__pyx_v_w, int __pyx_v */ __pyx_v_xsqnorm = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":67 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":67 * cdef double innerprod = 0.0 * cdef double xsqnorm = 0.0 * cdef int offset = y * stride # <<<<<<<<<<<<<< @@ -1133,7 +1082,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_add(double *__pyx_v_w, int __pyx_v */ __pyx_v_offset = (__pyx_v_y * __pyx_v_stride); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":69 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":69 * cdef int offset = y * stride * cdef int i * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -1143,7 +1092,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_add(double *__pyx_v_w, int __pyx_v __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":70 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":70 * cdef int i * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -1152,7 +1101,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_add(double *__pyx_v_w, int __pyx_v */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":71 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":71 * for i from 0 <= i < nnz: * pair = x[i] * w[offset + pair.idx] += pair.val * (c / wscale) # <<<<<<<<<<<<<< @@ -1162,7 +1111,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_add(double *__pyx_v_w, int __pyx_v (__pyx_v_w[(__pyx_v_offset + __pyx_v_pair.idx)]) += (__pyx_v_pair.val * (__pyx_v_c / __pyx_v_wscale)); } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":72 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":72 * pair = x[i] * w[offset + pair.idx] += pair.val * (c / wscale) * b[y] += c * 0.01 # update bias # <<<<<<<<<<<<<< @@ -1172,11 +1121,11 @@ static double __pyx_f_4bolt_7trainer_6maxent_add(double *__pyx_v_w, int __pyx_v (__pyx_v_b[__pyx_v_y]) += (__pyx_v_c * 0.01); __pyx_r = 0; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":75 +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":75 * * * cdef double probdist(double *w, int wstride, double wscale, double *b, # <<<<<<<<<<<<<< @@ -1190,9 +1139,9 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ double __pyx_v_sum; double __pyx_r; int __pyx_t_1; - __Pyx_SetupRefcountContext("probdist"); + __Pyx_RefNannySetupContext("probdist"); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":80 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":80 * cdef int j * cdef double *wk * cdef double sum = 0.0 # <<<<<<<<<<<<<< @@ -1201,7 +1150,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ */ __pyx_v_sum = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":81 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":81 * cdef double *wk * cdef double sum = 0.0 * for j from 0 <= j < k: # <<<<<<<<<<<<<< @@ -1211,7 +1160,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ __pyx_t_1 = __pyx_v_k; for (__pyx_v_j = 0; __pyx_v_j < __pyx_t_1; __pyx_v_j++) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":82 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":82 * cdef double sum = 0.0 * for j from 0 <= j < k: * wk = w + (wstride*j) # <<<<<<<<<<<<<< @@ -1220,7 +1169,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ */ __pyx_v_wk = (__pyx_v_w + (__pyx_v_wstride * __pyx_v_j)); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":83 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":83 * for j from 0 <= j < k: * wk = w + (wstride*j) * pd[j] = exp(dot(wk, x, xnnz) * wscale + b[j]) # <<<<<<<<<<<<<< @@ -1229,7 +1178,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ */ (__pyx_v_pd[__pyx_v_j]) = exp(((__pyx_f_4bolt_7trainer_6maxent_dot(__pyx_v_wk, __pyx_v_x, __pyx_v_xnnz) * __pyx_v_wscale) + (__pyx_v_b[__pyx_v_j]))); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":84 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":84 * wk = w + (wstride*j) * pd[j] = exp(dot(wk, x, xnnz) * wscale + b[j]) * sum += pd[j] # <<<<<<<<<<<<<< @@ -1239,7 +1188,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ __pyx_v_sum += (__pyx_v_pd[__pyx_v_j]); } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":85 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":85 * pd[j] = exp(dot(wk, x, xnnz) * wscale + b[j]) * sum += pd[j] * for j from 0 <= j < k: # <<<<<<<<<<<<<< @@ -1249,7 +1198,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ __pyx_t_1 = __pyx_v_k; for (__pyx_v_j = 0; __pyx_v_j < __pyx_t_1; __pyx_v_j++) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":86 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":86 * sum += pd[j] * for j from 0 <= j < k: * pd[j] /= sum # <<<<<<<<<<<<<< @@ -1259,7 +1208,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ (__pyx_v_pd[__pyx_v_j]) /= __pyx_v_sum; } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":87 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":87 * for j from 0 <= j < k: * pd[j] /= sum * return sum # <<<<<<<<<<<<<< @@ -1271,11 +1220,11 @@ static double __pyx_f_4bolt_7trainer_6maxent_probdist(double *__pyx_v_w, int __ __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":112 +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":112 * cdef int norm * * def __init__(self, reg, epochs = 5, norm = 2): # <<<<<<<<<<<<<< @@ -1297,13 +1246,13 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v int __pyx_t_5; double __pyx_t_6; int __pyx_t_7; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_reg,&__pyx_kp_epochs,&__pyx_kp_norm,0}; - __Pyx_SetupRefcountContext("__init__"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__reg,&__pyx_n_s__epochs,&__pyx_n_s__norm,0}; + __Pyx_RefNannySetupContext("__init__"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[3] = {0,0,0}; - values[1] = __pyx_int_5; - values[2] = __pyx_int_2; + values[1] = ((PyObject *)__pyx_int_5); + values[2] = ((PyObject *)__pyx_int_2); switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); @@ -1313,17 +1262,17 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_reg); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__reg); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_epochs); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__epochs); if (unlikely(value)) { values[1] = value; kw_args--; } } case 2: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_norm); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__norm); if (unlikely(value)) { values[2] = value; kw_args--; } } } @@ -1334,8 +1283,8 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v __pyx_v_epochs = values[1]; __pyx_v_norm = values[2]; } else { - __pyx_v_epochs = __pyx_int_5; - __pyx_v_norm = __pyx_int_2; + __pyx_v_epochs = ((PyObject *)__pyx_int_5); + __pyx_v_norm = ((PyObject *)__pyx_int_2); switch (PyTuple_GET_SIZE(__pyx_args)) { case 3: __pyx_v_norm = PyTuple_GET_ITEM(__pyx_args, 2); case 2: __pyx_v_epochs = PyTuple_GET_ITEM(__pyx_args, 1); @@ -1351,8 +1300,12 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v __Pyx_AddTraceback("bolt.trainer.maxent.MaxentSGD.__init__"); return -1; __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_reg); + __Pyx_INCREF(__pyx_v_epochs); + __Pyx_INCREF(__pyx_v_norm); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":123 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":123 * :type alpha: float (0 <= alpha <= 1) * """ * if reg < 0.0: # <<<<<<<<<<<<<< @@ -1368,7 +1321,7 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":124 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":124 * """ * if reg < 0.0: * raise ValueError("reg must be larger than 0. ") # <<<<<<<<<<<<<< @@ -1376,13 +1329,13 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v * raise ValueError("norm must be in {1,2,3}. ") */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_33); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_33); - __Pyx_GIVEREF(__pyx_kp_33); - __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_1)); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_1)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_1)); + __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -1390,7 +1343,7 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":125 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":125 * if reg < 0.0: * raise ValueError("reg must be larger than 0. ") * if norm not in [1,2,3]: # <<<<<<<<<<<<<< @@ -1403,29 +1356,32 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (((int)__pyx_t_3)) { + __pyx_t_4 = ((int)__pyx_t_3); + if (__pyx_t_4) { __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_2, Py_NE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = ((int)__pyx_t_4); - } else { __pyx_t_5 = ((int)__pyx_t_3); + __pyx_t_3 = __pyx_t_5; + } else { + __pyx_t_3 = __pyx_t_4; } - if (__pyx_t_5) { + if (__pyx_t_3) { __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_3, Py_NE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_4 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = ((int)__pyx_t_3); - } else { + __pyx_t_5 = ((int)__pyx_t_4); __pyx_t_4 = __pyx_t_5; + } else { + __pyx_t_4 = __pyx_t_3; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_5 = __pyx_t_4; - if (__pyx_t_5) { + __pyx_t_3 = __pyx_t_4; + if (__pyx_t_3) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":126 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":126 * raise ValueError("reg must be larger than 0. ") * if norm not in [1,2,3]: * raise ValueError("norm must be in {1,2,3}. ") # <<<<<<<<<<<<<< @@ -1433,13 +1389,13 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v * self.epochs = epochs */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_34); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_34); - __Pyx_GIVEREF(__pyx_kp_34); - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_2)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_2)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2)); + __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + __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 = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -1447,17 +1403,17 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v } __pyx_L7:; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":127 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":127 * if norm not in [1,2,3]: * raise ValueError("norm must be in {1,2,3}. ") * self.reg = reg # <<<<<<<<<<<<<< * self.epochs = epochs * self.norm = norm */ - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_reg); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_reg); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_6maxent_MaxentSGD *)__pyx_v_self)->reg = __pyx_t_6; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":128 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":128 * raise ValueError("norm must be in {1,2,3}. ") * self.reg = reg * self.epochs = epochs # <<<<<<<<<<<<<< @@ -1467,7 +1423,7 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_v_epochs); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_6maxent_MaxentSGD *)__pyx_v_self)->epochs = __pyx_t_7; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":129 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":129 * self.reg = reg * self.epochs = epochs * self.norm = norm # <<<<<<<<<<<<<< @@ -1485,11 +1441,15 @@ static int __pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD___init__(PyObject *__pyx_v __Pyx_AddTraceback("bolt.trainer.maxent.MaxentSGD.__init__"); __pyx_r = -1; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_reg); + __Pyx_DECREF(__pyx_v_epochs); + __Pyx_DECREF(__pyx_v_norm); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":132 +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":132 * * * def train(self, model, dataset, verbose = 0, shuffle = False, nprobe = -1): # <<<<<<<<<<<<<< @@ -1507,19 +1467,19 @@ static PyObject *__pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD_train(PyObject *__py PyObject *__pyx_v_nprobe = 0; PyObject *__pyx_v_probeset; PyObject *__pyx_r = NULL; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_model,&__pyx_kp_dataset,&__pyx_kp_verbose,&__pyx_kp_shuffle,&__pyx_kp_nprobe,0}; - __Pyx_SetupRefcountContext("train"); + PyObject *__pyx_t_5 = NULL; + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__model,&__pyx_n_s__dataset,&__pyx_n_s__verbose,&__pyx_n_s__shuffle,&__pyx_n_s__nprobe,0}; + __Pyx_RefNannySetupContext("train"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[5] = {0,0,0,0,0}; - values[2] = __pyx_int_0; - values[3] = __pyx_k_32; - values[4] = __pyx_int_neg_1; + values[2] = ((PyObject *)__pyx_int_0); + values[3] = __pyx_k_3; + values[4] = ((PyObject *)__pyx_int_neg_1); switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); @@ -1531,28 +1491,28 @@ static PyObject *__pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD_train(PyObject *__py } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_model); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__model); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_dataset); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dataset); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("train", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_verbose); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__verbose); if (unlikely(value)) { values[2] = value; kw_args--; } } case 3: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_shuffle); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shuffle); if (unlikely(value)) { values[3] = value; kw_args--; } } case 4: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_nprobe); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__nprobe); if (unlikely(value)) { values[4] = value; kw_args--; } } } @@ -1565,9 +1525,9 @@ static PyObject *__pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD_train(PyObject *__py __pyx_v_shuffle = values[3]; __pyx_v_nprobe = values[4]; } else { - __pyx_v_verbose = __pyx_int_0; - __pyx_v_shuffle = __pyx_k_32; - __pyx_v_nprobe = __pyx_int_neg_1; + __pyx_v_verbose = ((PyObject *)__pyx_int_0); + __pyx_v_shuffle = __pyx_k_3; + __pyx_v_nprobe = ((PyObject *)__pyx_int_neg_1); switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: __pyx_v_nprobe = PyTuple_GET_ITEM(__pyx_args, 4); @@ -1589,9 +1549,15 @@ static PyObject *__pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD_train(PyObject *__py __Pyx_AddTraceback("bolt.trainer.maxent.MaxentSGD.train"); return NULL; __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_model); + __Pyx_INCREF(__pyx_v_dataset); + __Pyx_INCREF(__pyx_v_verbose); + __Pyx_INCREF(__pyx_v_shuffle); + __Pyx_INCREF(__pyx_v_nprobe); __pyx_v_probeset = Py_None; __Pyx_INCREF(Py_None); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":141 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":141 * :arg nprobe: The number of probe examples to determine the learning rate. If -1 use 10 percent of the training data. * """ * if nprobe == -1: # <<<<<<<<<<<<<< @@ -1604,49 +1570,49 @@ static PyObject *__pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD_train(PyObject *__py __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":142 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":142 * """ * if nprobe == -1: * probeset = dataset.sample(int(dataset.n / 10), seed = 13) # <<<<<<<<<<<<<< * else: * assert nprobe > 0 */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_sample); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__sample); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_n); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__n); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_int_10); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); + __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); + __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_1)); - if (PyDict_SetItem(__pyx_1, __pyx_kp_seed, __pyx_int_13) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_t_3), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_4)); + if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__seed), __pyx_int_13) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyEval_CallObjectWithKeywords(__pyx_t_1, __pyx_t_3, ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_v_probeset); - __pyx_v_probeset = __pyx_t_4; - __pyx_t_4 = 0; + __pyx_v_probeset = __pyx_t_5; + __pyx_t_5 = 0; goto __pyx_L6; } /*else*/ { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":144 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":144 * probeset = dataset.sample(int(dataset.n / 10), seed = 13) * else: * assert nprobe > 0 # <<<<<<<<<<<<<< @@ -1654,53 +1620,53 @@ static PyObject *__pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD_train(PyObject *__py * self._train(model, dataset, probeset, verbose, shuffle) */ #ifndef PYREX_WITHOUT_ASSERTIONS - __pyx_t_4 = PyObject_RichCompare(__pyx_v_nprobe, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = PyObject_RichCompare(__pyx_v_nprobe, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) { PyErr_SetNone(PyExc_AssertionError); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } #endif - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":145 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":145 * else: * assert nprobe > 0 * probeset = dataset.sample(int(nprobe), seed = 13) # <<<<<<<<<<<<<< * self._train(model, dataset, probeset, verbose, shuffle) * */ - __pyx_t_4 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_sample); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__sample); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); __Pyx_INCREF(__pyx_v_nprobe); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_nprobe); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_nprobe); __Pyx_GIVEREF(__pyx_v_nprobe); - __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; - __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_1)); - if (PyDict_SetItem(__pyx_1, __pyx_kp_seed, __pyx_int_13) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_1 = PyEval_CallObjectWithKeywords(__pyx_t_4, ((PyObject *)__pyx_t_3), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__seed), __pyx_int_13) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyEval_CallObjectWithKeywords(__pyx_t_5, __pyx_t_4, ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; __Pyx_DECREF(__pyx_v_probeset); __pyx_v_probeset = __pyx_t_1; __pyx_t_1 = 0; } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":146 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":146 * assert nprobe > 0 * probeset = dataset.sample(int(nprobe), seed = 13) * self._train(model, dataset, probeset, verbose, shuffle) # <<<<<<<<<<<<<< @@ -1712,20 +1678,26 @@ static PyObject *__pyx_pf_4bolt_7trainer_6maxent_9MaxentSGD_train(PyObject *__py __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("bolt.trainer.maxent.MaxentSGD.train"); __pyx_r = NULL; __pyx_L0:; __Pyx_DECREF(__pyx_v_probeset); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_model); + __Pyx_DECREF(__pyx_v_dataset); + __Pyx_DECREF(__pyx_v_verbose); + __Pyx_DECREF(__pyx_v_shuffle); + __Pyx_DECREF(__pyx_v_nprobe); __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":148 +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":148 * self._train(model, dataset, probeset, verbose, shuffle) * * cdef void _train(self,model, dataset, probeset, verbose, shuffle): # <<<<<<<<<<<<<< @@ -1765,69 +1737,74 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 Py_ssize_t __pyx_bstride_1_w = 0; Py_ssize_t __pyx_bshape_0_w = 0; Py_ssize_t __pyx_bshape_1_w = 0; - PyObject *__pyx_1 = 0; - PyObject *__pyx_2 = 0; PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyArrayObject *__pyx_t_3 = NULL; PyArrayObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; PyObject *__pyx_t_6 = NULL; - PyArrayObject *__pyx_t_7 = NULL; - int __pyx_t_8; - int __pyx_t_9; - PyObject *__pyx_t_10 = NULL; - PyObject *__pyx_t_11 = NULL; + PyObject *__pyx_t_7 = NULL; + PyObject *__pyx_t_8 = NULL; + PyArrayObject *__pyx_t_9 = NULL; + int __pyx_t_10; + int __pyx_t_11; PyObject *__pyx_t_12 = NULL; PyObject *__pyx_t_13 = NULL; - int __pyx_t_14; + PyObject *__pyx_t_14 = NULL; int __pyx_t_15; - __Pyx_SetupRefcountContext("_train"); + int __pyx_t_16; + __Pyx_RefNannySetupContext("_train"); + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_model); + __Pyx_INCREF(__pyx_v_dataset); + __Pyx_INCREF(__pyx_v_probeset); + __Pyx_INCREF(__pyx_v_verbose); + __Pyx_INCREF(__pyx_v_shuffle); __pyx_v_t1 = Py_None; __Pyx_INCREF(Py_None); __pyx_bstruct_w.buf = NULL; __pyx_bstruct_b.buf = NULL; __pyx_bstruct_PD.buf = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":150 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":150 * cdef void _train(self,model, dataset, probeset, verbose, shuffle): * * cdef int m = model.m # <<<<<<<<<<<<<< * cdef int n = dataset.n * cdef int k = model.k */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_m = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":151 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":151 * * cdef int m = model.m * cdef int n = dataset.n # <<<<<<<<<<<<<< * cdef int k = model.k * cdef double reg = self.reg */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":152 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":152 * cdef int m = model.m * cdef int n = dataset.n * cdef int k = model.k # <<<<<<<<<<<<<< * cdef double reg = self.reg * cdef int length = k*m */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_k = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":153 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":153 * cdef int n = dataset.n * cdef int k = model.k * cdef double reg = self.reg # <<<<<<<<<<<<<< @@ -1836,7 +1813,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_reg = __pyx_v_self->reg; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":154 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":154 * cdef int k = model.k * cdef double reg = self.reg * cdef int length = k*m # <<<<<<<<<<<<<< @@ -1845,16 +1822,16 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_length = (__pyx_v_k * __pyx_v_m); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":156 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":156 * cdef int length = k*m * * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] w = model.W # <<<<<<<<<<<<<< * cdef int wstride0 = w.strides[0] * cdef int wstride1 = w.strides[1] */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_W); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__W); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; @@ -1869,7 +1846,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 __pyx_v_w = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":157 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":157 * * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] w = model.W * cdef int wstride0 = w.strides[0] # <<<<<<<<<<<<<< @@ -1878,7 +1855,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_wstride0 = (__pyx_v_w->strides[0]); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":158 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":158 * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] w = model.W * cdef int wstride0 = w.strides[0] * cdef int wstride1 = w.strides[1] # <<<<<<<<<<<<<< @@ -1887,7 +1864,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_wstride1 = (__pyx_v_w->strides[1]); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":159 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":159 * cdef int wstride0 = w.strides[0] * cdef int wstride1 = w.strides[1] * cdef int wstride = wstride0 / wstride1 # <<<<<<<<<<<<<< @@ -1896,7 +1873,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_wstride = (__pyx_v_wstride0 / __pyx_v_wstride1); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":161 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":161 * cdef int wstride = wstride0 / wstride1 * # weight vector w as c array * cdef double *wdata = w.data # <<<<<<<<<<<<<< @@ -1905,7 +1882,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_wdata = ((double *)__pyx_v_w->data); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":163 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":163 * cdef double *wdata = w.data * # the scale of w * cdef double wscale = 1.0 # <<<<<<<<<<<<<< @@ -1914,16 +1891,16 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_wscale = 1.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":165 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":165 * cdef double wscale = 1.0 * * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] b = model.b # <<<<<<<<<<<<<< * cdef double *bdata = b.data * */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_b); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__b); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_4 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; @@ -1938,7 +1915,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 __pyx_v_b = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":166 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":166 * * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] b = model.b * cdef double *bdata = b.data # <<<<<<<<<<<<<< @@ -1947,60 +1924,60 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_bdata = ((double *)__pyx_v_b->data); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":168 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":168 * cdef double *bdata = b.data * * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] PD = np.zeros((k,), dtype = np.float64) # <<<<<<<<<<<<<< * cdef double *pd = PD.data * cdef double wnorm = 0.0, t = 0.0 */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_zeros); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_5 = PyInt_FromLong(__pyx_v_k); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__zeros); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyInt_FromLong(__pyx_v_k); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_6)); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_6)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); - __pyx_t_6 = 0; - __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_1)); - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_6 = PyObject_GetAttr(__pyx_2, __pyx_kp_35); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_t_5), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_6)); + __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__dtype), __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyEval_CallObjectWithKeywords(__pyx_t_5, __pyx_t_1, ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; - if (!(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_7 = ((PyArrayObject *)__pyx_t_6); + __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; + if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; - if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_PD, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack) == -1)) { + if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_PD, (PyObject*)__pyx_t_9, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack) == -1)) { __pyx_v_PD = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_bstruct_PD.buf = NULL; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } else {__pyx_bstride_0_PD = __pyx_bstruct_PD.strides[0]; __pyx_bshape_0_PD = __pyx_bstruct_PD.shape[0]; } } - __pyx_t_7 = 0; - __pyx_v_PD = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; + __pyx_t_9 = 0; + __pyx_v_PD = ((PyArrayObject *)__pyx_t_8); + __pyx_t_8 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":169 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":169 * * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] PD = np.zeros((k,), dtype = np.float64) * cdef double *pd = PD.data # <<<<<<<<<<<<<< @@ -2009,7 +1986,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_pd = ((double *)__pyx_v_PD->data); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":170 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":170 * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] PD = np.zeros((k,), dtype = np.float64) * cdef double *pd = PD.data * cdef double wnorm = 0.0, t = 0.0 # <<<<<<<<<<<<<< @@ -2019,7 +1996,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 __pyx_v_wnorm = 0.0; __pyx_v_t = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":171 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":171 * cdef double *pd = PD.data * cdef double wnorm = 0.0, t = 0.0 * cdef int e = 0 # <<<<<<<<<<<<<< @@ -2028,7 +2005,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_e = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":172 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":172 * cdef double wnorm = 0.0, t = 0.0 * cdef int e = 0 * cdef double loglikelihood = 0.0 # <<<<<<<<<<<<<< @@ -2037,7 +2014,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_loglikelihood = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":175 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":175 * * * t = probe(probeset, w, wscale, wstride, b, k, pd, reg, n) # <<<<<<<<<<<<<< @@ -2046,23 +2023,23 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_t = __pyx_f_4bolt_7trainer_6maxent_probe(__pyx_v_probeset, ((PyArrayObject *)__pyx_v_w), __pyx_v_wscale, __pyx_v_wstride, ((PyArrayObject *)__pyx_v_b), __pyx_v_k, __pyx_v_pd, __pyx_v_reg, __pyx_v_n); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":177 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":177 * t = probe(probeset, w, wscale, wstride, b, k, pd, reg, n) * * t1=time() # <<<<<<<<<<<<<< * for e from 0 <= e < self.epochs: * if verbose > 0: */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_time); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_6 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_v_t1); __pyx_v_t1 = __pyx_t_6; __pyx_t_6 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":178 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":178 * * t1=time() * for e from 0 <= e < self.epochs: # <<<<<<<<<<<<<< @@ -2072,7 +2049,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 __pyx_t_2 = __pyx_v_self->epochs; for (__pyx_v_e = 0; __pyx_v_e < __pyx_t_2; __pyx_v_e++) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":179 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":179 * t1=time() * for e from 0 <= e < self.epochs: * if verbose > 0: # <<<<<<<<<<<<<< @@ -2081,11 +2058,11 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_t_6 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_8) { + if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":180 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":180 * for e from 0 <= e < self.epochs: * if verbose > 0: * print("-- Epoch %d" % (e+1)) # <<<<<<<<<<<<<< @@ -2094,43 +2071,43 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_t_6 = PyInt_FromLong((__pyx_v_e + 1)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyNumber_Remainder(__pyx_kp_36, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), __pyx_t_6); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__Pyx_PrintOne(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__Pyx_PrintOne(__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L5; } __pyx_L5:; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":181 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":181 * if verbose > 0: * print("-- Epoch %d" % (e+1)) * if shuffle: # <<<<<<<<<<<<<< * dataset.shuffle() * #if e % 10 == 0: */ - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_shuffle); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__pyx_t_8) { + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_shuffle); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":182 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":182 * print("-- Epoch %d" % (e+1)) * if shuffle: * dataset.shuffle() # <<<<<<<<<<<<<< * #if e % 10 == 0: * # print("probing for eta...") */ - __pyx_t_5 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_shuffle); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__shuffle); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L6; } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":188 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":188 * * loglikelihood = learnsweep(dataset, wdata, wstride, &wscale, bdata, * k, pd, &t, reg, n) # <<<<<<<<<<<<<< @@ -2139,26 +2116,26 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_v_loglikelihood = __pyx_f_4bolt_7trainer_6maxent_learnsweep(__pyx_v_dataset, __pyx_v_wdata, __pyx_v_wstride, (&__pyx_v_wscale), __pyx_v_bdata, __pyx_v_k, __pyx_v_pd, (&__pyx_v_t), __pyx_v_reg, __pyx_v_n); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":190 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":190 * k, pd, &t, reg, n) * * if wscale < 1e-9: # <<<<<<<<<<<<<< * print("Scaling w") * w*=wscale */ - __pyx_t_8 = (__pyx_v_wscale < 1.0000000000000001e-09); - if (__pyx_t_8) { + __pyx_t_10 = (__pyx_v_wscale < 1.0000000000000001e-09); + if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":191 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":191 * * if wscale < 1e-9: * print("Scaling w") # <<<<<<<<<<<<<< * w*=wscale * wscale = 1.0 */ - if (__Pyx_PrintOne(__pyx_kp_37) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__Pyx_PrintOne(((PyObject *)__pyx_kp_s_5)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":192 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":192 * if wscale < 1e-9: * print("Scaling w") * w*=wscale # <<<<<<<<<<<<<< @@ -2167,34 +2144,34 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_t_6 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_1 = PyNumber_InPlaceMultiply(((PyObject *)__pyx_v_w), __pyx_t_6); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!(__Pyx_TypeTest(__pyx_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyNumber_InPlaceMultiply(((PyObject *)__pyx_v_w), __pyx_t_6); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_3 = ((PyArrayObject *)__pyx_1); + __pyx_t_3 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_bstruct_w); - __pyx_t_9 = __Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack); - if (unlikely(__pyx_t_9 < 0)) { - PyErr_Fetch(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); + __pyx_t_11 = __Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack); + if (unlikely(__pyx_t_11 < 0)) { + PyErr_Fetch(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 2, 0, __pyx_stack) == -1)) { - Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_12); + Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); __Pyx_RaiseBufferFallbackError(); } else { - PyErr_Restore(__pyx_t_10, __pyx_t_11, __pyx_t_12); + PyErr_Restore(__pyx_t_12, __pyx_t_13, __pyx_t_14); } } __pyx_bstride_0_w = __pyx_bstruct_w.strides[0]; __pyx_bstride_1_w = __pyx_bstruct_w.strides[1]; __pyx_bshape_0_w = __pyx_bstruct_w.shape[0]; __pyx_bshape_1_w = __pyx_bstruct_w.shape[1]; - if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_w)); - __pyx_v_w = ((PyArrayObject *)__pyx_1); - __pyx_1 = 0; + __pyx_v_w = ((PyArrayObject *)__pyx_t_8); + __pyx_t_8 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":193 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":193 * print("Scaling w") * w*=wscale * wscale = 1.0 # <<<<<<<<<<<<<< @@ -2206,71 +2183,71 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 } __pyx_L7:; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":196 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":196 * * # report epoche information * if verbose > 0: # <<<<<<<<<<<<<< * print("Wscale: %.6f" % (wscale)) * print("Log-likelihood: %.6f" % loglikelihood) */ - __pyx_t_6 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__pyx_t_8) { + __pyx_t_8 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":197 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":197 * # report epoche information * if verbose > 0: * print("Wscale: %.6f" % (wscale)) # <<<<<<<<<<<<<< * print("Log-likelihood: %.6f" % loglikelihood) * print("Total training time: %.2f seconds." % (time() - t1)) */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_6), __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyNumber_Remainder(__pyx_kp_38, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (__Pyx_PrintOne(__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__Pyx_PrintOne(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":198 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":198 * if verbose > 0: * print("Wscale: %.6f" % (wscale)) * print("Log-likelihood: %.6f" % loglikelihood) # <<<<<<<<<<<<<< * print("Total training time: %.2f seconds." % (time() - t1)) * print("Current eta: %.9f" % (1.0 / (reg*t))) */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_loglikelihood); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyNumber_Remainder(__pyx_kp_39, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_loglikelihood); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__Pyx_PrintOne(__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_7), __pyx_t_6); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__Pyx_PrintOne(__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":199 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":199 * print("Wscale: %.6f" % (wscale)) * print("Log-likelihood: %.6f" % loglikelihood) * print("Total training time: %.2f seconds." % (time() - t1)) # <<<<<<<<<<<<<< * print("Current eta: %.9f" % (1.0 / (reg*t))) * */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_time); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_6 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__time); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __pyx_t_5 = PyNumber_Subtract(__pyx_t_6, __pyx_v_t1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyNumber_Subtract(__pyx_t_6, __pyx_v_t1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyNumber_Remainder(__pyx_kp_40, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_8), __pyx_t_8); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__Pyx_PrintOne(__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":200 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":200 * print("Log-likelihood: %.6f" % loglikelihood) * print("Total training time: %.2f seconds." % (time() - t1)) * print("Current eta: %.9f" % (1.0 / (reg*t))) # <<<<<<<<<<<<<< @@ -2279,105 +2256,105 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_t_6 = PyFloat_FromDouble((1.0 / (__pyx_v_reg * __pyx_v_t))); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyNumber_Remainder(__pyx_kp_41, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_9), __pyx_t_6); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (__Pyx_PrintOne(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__Pyx_PrintOne(__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L8; } __pyx_L8:; } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":203 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":203 * * # floating-point under-/overflow check. * if np.any(np.isinf(w)) or np.any(np.isnan(w)): # <<<<<<<<<<<<<< * raise ValueError("floating-point under-/overflow occured.") * model.w = w * wscale */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_5 = PyObject_GetAttr(__pyx_1, __pyx_kp_any); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_6 = PyObject_GetAttr(__pyx_2, __pyx_kp_isinf); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__any); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_1 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__isinf); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_13 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); + __pyx_t_5 = PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_13); - __Pyx_GIVEREF(__pyx_t_13); - __pyx_t_13 = 0; - __pyx_t_13 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (!__pyx_t_8) { - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_13 = PyObject_GetAttr(__pyx_1, __pyx_kp_any); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_13); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_isnan); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + if (!__pyx_t_10) { + __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__any); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__isnan); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)__pyx_v_w)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_6 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - __pyx_t_6 = 0; - __pyx_t_6 = PyObject_Call(__pyx_t_13, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_15 = __pyx_t_14; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = PyObject_Call(__pyx_t_8, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_15 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_16 = __pyx_t_15; } else { - __pyx_t_15 = __pyx_t_8; + __pyx_t_16 = __pyx_t_10; } - if (__pyx_t_15) { + if (__pyx_t_16) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":204 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":204 * # floating-point under-/overflow check. * if np.any(np.isinf(w)) or np.any(np.isnan(w)): * raise ValueError("floating-point under-/overflow occured.") # <<<<<<<<<<<<<< * model.w = w * wscale * model.bias = b */ - __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_6)); - __Pyx_INCREF(__pyx_kp_42); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_42); - __Pyx_GIVEREF(__pyx_kp_42); - __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_10)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_10)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_10)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_5, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -2385,7 +2362,7 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 } __pyx_L9:; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":205 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":205 * if np.any(np.isinf(w)) or np.any(np.isnan(w)): * raise ValueError("floating-point under-/overflow occured.") * model.w = w * wscale # <<<<<<<<<<<<<< @@ -2394,29 +2371,28 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 */ __pyx_t_5 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyNumber_Multiply(((PyObject *)__pyx_v_w), __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PyNumber_Multiply(((PyObject *)__pyx_v_w), __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyObject_SetAttr(__pyx_v_model, __pyx_kp_w, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (PyObject_SetAttr(__pyx_v_model, __pyx_n_s__w, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":206 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":206 * raise ValueError("floating-point under-/overflow occured.") * model.w = w * wscale * model.bias = b # <<<<<<<<<<<<<< * * cdef double learnsweep(dataset, double *w, int wstride, double *wscale, double *b, */ - if (PyObject_SetAttr(__pyx_v_model, __pyx_kp_bias, ((PyObject *)__pyx_v_b)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_v_model, __pyx_n_s__bias, ((PyObject *)__pyx_v_b)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); - __Pyx_XDECREF(__pyx_2); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_13); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_bstruct_PD); @@ -2434,10 +2410,16 @@ static void __pyx_f_4bolt_7trainer_6maxent_9MaxentSGD__train(struct __pyx_obj_4 __Pyx_XDECREF((PyObject *)__pyx_v_b); __Pyx_XDECREF((PyObject *)__pyx_v_PD); __Pyx_DECREF(__pyx_v_t1); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_model); + __Pyx_DECREF(__pyx_v_dataset); + __Pyx_DECREF(__pyx_v_probeset); + __Pyx_DECREF(__pyx_v_verbose); + __Pyx_DECREF(__pyx_v_shuffle); + __Pyx_RefNannyFinishContext(); } -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":208 +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":208 * model.bias = b * * cdef double learnsweep(dataset, double *w, int wstride, double *wscale, double *b, # <<<<<<<<<<<<<< @@ -2454,17 +2436,18 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas double __pyx_v_loglikelihood; double __pyx_v_eta; double __pyx_r; - PyObject *__pyx_1 = 0; - PyObject *__pyx_2 = 0; - PyObject *__pyx_3 = 0; Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - float __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("learnsweep"); + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; + float __pyx_t_6; + PyObject *__pyx_t_7 = NULL; + int __pyx_t_8; + __Pyx_RefNannySetupContext("learnsweep"); + __Pyx_INCREF(__pyx_v_dataset); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":212 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":212 * """Perform one learn sweep over the dataset. * """ * cdef np.ndarray x = None # <<<<<<<<<<<<<< @@ -2474,7 +2457,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas __Pyx_INCREF(Py_None); __pyx_v_x = ((PyArrayObject *)Py_None); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":213 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":213 * """ * cdef np.ndarray x = None * cdef Pair *xdata = NULL # <<<<<<<<<<<<<< @@ -2483,7 +2466,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_v_xdata = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":214 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":214 * cdef np.ndarray x = None * cdef Pair *xdata = NULL * cdef float y = 0.0 # <<<<<<<<<<<<<< @@ -2492,7 +2475,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_v_y = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":215 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":215 * cdef Pair *xdata = NULL * cdef float y = 0.0 * cdef int xnnz = 0, j = 0 # <<<<<<<<<<<<<< @@ -2502,7 +2485,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas __pyx_v_xnnz = 0; __pyx_v_j = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":216 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":216 * cdef float y = 0.0 * cdef int xnnz = 0, j = 0 * cdef double loglikelihood = 0.0 # <<<<<<<<<<<<<< @@ -2511,7 +2494,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_v_loglikelihood = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":217 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":217 * cdef int xnnz = 0, j = 0 * cdef double loglikelihood = 0.0 * cdef double eta = 0.0 # <<<<<<<<<<<<<< @@ -2520,7 +2503,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_v_eta = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":218 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":218 * cdef double loglikelihood = 0.0 * cdef double eta = 0.0 * for x,y in dataset: # <<<<<<<<<<<<<< @@ -2550,36 +2533,36 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas } if (PyTuple_CheckExact(__pyx_t_3) && likely(PyTuple_GET_SIZE(__pyx_t_3) == 2)) { PyObject* tuple = __pyx_t_3; - __pyx_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_2); - if (!(__Pyx_TypeTest(__pyx_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_3); - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_3); __pyx_3 = 0; + __pyx_t_4 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_4); + if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5); + __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_6 == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_x)); - __pyx_v_x = ((PyArrayObject *)__pyx_2); - __pyx_2 = 0; - __pyx_v_y = __pyx_t_4; + __pyx_v_x = ((PyArrayObject *)__pyx_t_4); + __pyx_t_4 = 0; + __pyx_v_y = __pyx_t_6; } else { - __pyx_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __pyx_t_7 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_2 = __Pyx_UnpackItem(__pyx_1, 0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - if (!(__Pyx_TypeTest(__pyx_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_3 = __Pyx_UnpackItem(__pyx_1, 1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_3); __pyx_3 = 0; - if (__Pyx_EndUnpack(__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_7, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_7, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_6 == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (__Pyx_EndUnpack(__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_x)); - __pyx_v_x = ((PyArrayObject *)__pyx_2); - __pyx_2 = 0; - __pyx_v_y = __pyx_t_4; + __pyx_v_x = ((PyArrayObject *)__pyx_t_4); + __pyx_t_4 = 0; + __pyx_v_y = __pyx_t_6; } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":219 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":219 * cdef double eta = 0.0 * for x,y in dataset: * eta = 1.0 / (reg*t[0]) # <<<<<<<<<<<<<< @@ -2588,7 +2571,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_v_eta = (1.0 / (__pyx_v_reg * (__pyx_v_t[0]))); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":220 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":220 * for x,y in dataset: * eta = 1.0 / (reg*t[0]) * xnnz = x.shape[0] # <<<<<<<<<<<<<< @@ -2597,7 +2580,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_v_xnnz = (__pyx_v_x->dimensions[0]); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":221 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":221 * eta = 1.0 / (reg*t[0]) * xnnz = x.shape[0] * xdata = x.data # <<<<<<<<<<<<<< @@ -2606,7 +2589,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_v_xdata = ((struct __pyx_t_4bolt_7trainer_6maxent_Pair *)__pyx_v_x->data); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":222 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":222 * xnnz = x.shape[0] * xdata = x.data * probdist(w, wstride, wscale[0], b, xdata, xnnz, k, pd) # <<<<<<<<<<<<<< @@ -2615,7 +2598,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_f_4bolt_7trainer_6maxent_probdist(__pyx_v_w, __pyx_v_wstride, (__pyx_v_wscale[0]), __pyx_v_b, __pyx_v_xdata, __pyx_v_xnnz, __pyx_v_k, __pyx_v_pd); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":223 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":223 * xdata = x.data * probdist(w, wstride, wscale[0], b, xdata, xnnz, k, pd) * loglikelihood += log(pd[y]) # <<<<<<<<<<<<<< @@ -2624,7 +2607,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_v_loglikelihood += log((__pyx_v_pd[((int)__pyx_v_y)])); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":224 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":224 * probdist(w, wstride, wscale[0], b, xdata, xnnz, k, pd) * loglikelihood += log(pd[y]) * add(w, wstride, wscale[0], b, xdata, xnnz, y, eta) # <<<<<<<<<<<<<< @@ -2633,17 +2616,17 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ __pyx_f_4bolt_7trainer_6maxent_add(__pyx_v_w, __pyx_v_wstride, (__pyx_v_wscale[0]), __pyx_v_b, __pyx_v_xdata, __pyx_v_xnnz, ((int)__pyx_v_y), __pyx_v_eta); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":225 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":225 * loglikelihood += log(pd[y]) * add(w, wstride, wscale[0], b, xdata, xnnz, y, eta) * for j from 0 <= j < k: # <<<<<<<<<<<<<< * add(w, wstride, wscale[0], b, * xdata, xnnz, j, -1.0 * eta * pd[j]) */ - __pyx_t_5 = __pyx_v_k; - for (__pyx_v_j = 0; __pyx_v_j < __pyx_t_5; __pyx_v_j++) { + __pyx_t_8 = __pyx_v_k; + for (__pyx_v_j = 0; __pyx_v_j < __pyx_t_8; __pyx_v_j++) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":227 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":227 * for j from 0 <= j < k: * add(w, wstride, wscale[0], b, * xdata, xnnz, j, -1.0 * eta * pd[j]) # <<<<<<<<<<<<<< @@ -2653,7 +2636,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas __pyx_f_4bolt_7trainer_6maxent_add(__pyx_v_w, __pyx_v_wstride, (__pyx_v_wscale[0]), __pyx_v_b, __pyx_v_xdata, __pyx_v_xnnz, __pyx_v_j, (((-1.0) * __pyx_v_eta) * (__pyx_v_pd[__pyx_v_j]))); } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":228 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":228 * add(w, wstride, wscale[0], b, * xdata, xnnz, j, -1.0 * eta * pd[j]) * wscale[0] = wscale[0] * (1 - eta * reg) # <<<<<<<<<<<<<< @@ -2662,7 +2645,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas */ (__pyx_v_wscale[0]) = ((__pyx_v_wscale[0]) * (1 - (__pyx_v_eta * __pyx_v_reg))); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":229 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":229 * xdata, xnnz, j, -1.0 * eta * pd[j]) * wscale[0] = wscale[0] * (1 - eta * reg) * t[0] += 1 # <<<<<<<<<<<<<< @@ -2673,7 +2656,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":230 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":230 * wscale[0] = wscale[0] * (1 - eta * reg) * t[0] += 1 * return loglikelihood # <<<<<<<<<<<<<< @@ -2686,20 +2669,21 @@ static double __pyx_f_4bolt_7trainer_6maxent_learnsweep(PyObject *__pyx_v_datas __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); - __Pyx_XDECREF(__pyx_2); - __Pyx_XDECREF(__pyx_3); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); + __Pyx_XDECREF(__pyx_t_7); __Pyx_WriteUnraisable("bolt.trainer.maxent.learnsweep"); __pyx_r = 0; __pyx_L0:; __Pyx_XDECREF((PyObject *)__pyx_v_x); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF(__pyx_v_dataset); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":232 +/* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":232 * return loglikelihood * * cdef double probe(dataset, np.ndarray org_w, double org_wscale, int wstride, np.ndarray org_b, int k, double *pd, double reg, int n): # <<<<<<<<<<<<<< @@ -2739,11 +2723,14 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; int __pyx_t_10; - __Pyx_SetupRefcountContext("probe"); + __Pyx_RefNannySetupContext("probe"); + __Pyx_INCREF(__pyx_v_dataset); + __Pyx_INCREF((PyObject *)__pyx_v_org_w); + __Pyx_INCREF((PyObject *)__pyx_v_org_b); __pyx_bstruct_w.buf = NULL; __pyx_bstruct_b.buf = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":237 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":237 * and choose the eta with the highest increase in log-likelihood. * """ * cdef int i = 0 # <<<<<<<<<<<<<< @@ -2752,7 +2739,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_i = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":238 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":238 * """ * cdef int i = 0 * cdef double eta = 1.6 #FIXME seta # <<<<<<<<<<<<<< @@ -2761,7 +2748,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_eta = 1.6000000000000001; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":239 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":239 * cdef int i = 0 * cdef double eta = 1.6 #FIXME seta * cdef double best_ll = -100000000000.0 # <<<<<<<<<<<<<< @@ -2770,7 +2757,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_best_ll = (-100000000000.0); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":240 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":240 * cdef double eta = 1.6 #FIXME seta * cdef double best_ll = -100000000000.0 * cdef double cur_ll = 0.0 # <<<<<<<<<<<<<< @@ -2779,7 +2766,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_cur_ll = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":241 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":241 * cdef double best_ll = -100000000000.0 * cdef double cur_ll = 0.0 * cdef double best_eta = 0.0 # <<<<<<<<<<<<<< @@ -2788,7 +2775,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_best_eta = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":242 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":242 * cdef double cur_ll = 0.0 * cdef double best_eta = 0.0 * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] w = None # <<<<<<<<<<<<<< @@ -2809,7 +2796,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __Pyx_INCREF(Py_None); __pyx_v_w = ((PyArrayObject *)Py_None); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":243 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":243 * cdef double best_eta = 0.0 * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] w = None * cdef double *wdata = NULL # <<<<<<<<<<<<<< @@ -2818,7 +2805,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_wdata = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":244 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":244 * cdef np.ndarray[np.float64_t, ndim=2, mode="c"] w = None * cdef double *wdata = NULL * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] b = None # <<<<<<<<<<<<<< @@ -2839,7 +2826,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __Pyx_INCREF(Py_None); __pyx_v_b = ((PyArrayObject *)Py_None); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":245 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":245 * cdef double *wdata = NULL * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] b = None * cdef double *bdata = NULL # <<<<<<<<<<<<<< @@ -2848,7 +2835,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_bdata = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":246 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":246 * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] b = None * cdef double *bdata = NULL * cdef double t = 0.0 # <<<<<<<<<<<<<< @@ -2857,7 +2844,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_t = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":247 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":247 * cdef double *bdata = NULL * cdef double t = 0.0 * cdef double tmp = org_wscale # <<<<<<<<<<<<<< @@ -2866,7 +2853,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_tmp = __pyx_v_org_wscale; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":248 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":248 * cdef double t = 0.0 * cdef double tmp = org_wscale * cdef double *wscale = &tmp # <<<<<<<<<<<<<< @@ -2875,7 +2862,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_wscale = (&__pyx_v_tmp); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":251 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":251 * * #for i from -1 <= i < 7: * for i from 0 <= i < 10: # <<<<<<<<<<<<<< @@ -2884,25 +2871,25 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ for (__pyx_v_i = 0; __pyx_v_i < 10; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":252 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":252 * #for i from -1 <= i < 7: * for i from 0 <= i < 10: * w = org_w.copy('C') # <<<<<<<<<<<<<< * wdata = w.data * b = org_b.copy('C') */ - __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_org_w), __pyx_kp_copy); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_org_w), __pyx_n_s__copy); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_43); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_43); - __Pyx_GIVEREF(__pyx_kp_43); - __pyx_t_5 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_n_s__C)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__C)); + __Pyx_GIVEREF(((PyObject *)__pyx_n_s__C)); + __pyx_t_5 = PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - if (!(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_1 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; @@ -2926,7 +2913,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __pyx_v_w = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":253 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":253 * for i from 0 <= i < 10: * w = org_w.copy('C') * wdata = w.data # <<<<<<<<<<<<<< @@ -2935,25 +2922,25 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_wdata = ((double *)__pyx_v_w->data); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":254 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":254 * w = org_w.copy('C') * wdata = w.data * b = org_b.copy('C') # <<<<<<<<<<<<<< * bdata = b.data * wscale[0] = org_wscale */ - __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_org_b), __pyx_kp_copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_org_b), __pyx_n_s__copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_44); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_44); - __Pyx_GIVEREF(__pyx_kp_44); - __pyx_t_3 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_n_s__C)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__C)); + __Pyx_GIVEREF(((PyObject *)__pyx_n_s__C)); + __pyx_t_3 = PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - if (!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_2 = ((PyArrayObject *)__pyx_t_3); { __Pyx_BufFmt_StackElem __pyx_stack[1]; @@ -2977,7 +2964,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __pyx_v_b = ((PyArrayObject *)__pyx_t_3); __pyx_t_3 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":255 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":255 * wdata = w.data * b = org_b.copy('C') * bdata = b.data # <<<<<<<<<<<<<< @@ -2986,7 +2973,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_bdata = ((double *)__pyx_v_b->data); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":256 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":256 * b = org_b.copy('C') * bdata = b.data * wscale[0] = org_wscale # <<<<<<<<<<<<<< @@ -2995,7 +2982,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ (__pyx_v_wscale[0]) = __pyx_v_org_wscale; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":258 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":258 * wscale[0] = org_wscale * # eta = pow(10,-i) * eta = eta / 2.0 # <<<<<<<<<<<<<< @@ -3004,7 +2991,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_eta = (__pyx_v_eta / 2.0); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":259 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":259 * # eta = pow(10,-i) * eta = eta / 2.0 * t = 1.0 / (eta * reg) # <<<<<<<<<<<<<< @@ -3013,7 +3000,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_t = (1.0 / (__pyx_v_eta * __pyx_v_reg)); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":261 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":261 * t = 1.0 / (eta * reg) * cur_ll = learnsweep(dataset, wdata, wstride, wscale, * bdata, k, pd, &t, reg, n) # <<<<<<<<<<<<<< @@ -3022,7 +3009,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_cur_ll = __pyx_f_4bolt_7trainer_6maxent_learnsweep(__pyx_v_dataset, __pyx_v_wdata, __pyx_v_wstride, __pyx_v_wscale, __pyx_v_bdata, __pyx_v_k, __pyx_v_pd, (&__pyx_v_t), __pyx_v_reg, __pyx_v_n); - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":262 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":262 * cur_ll = learnsweep(dataset, wdata, wstride, wscale, * bdata, k, pd, &t, reg, n) * print("eta:%.9f ll:%.6f" % (eta, cur_ll)) # <<<<<<<<<<<<<< @@ -3034,20 +3021,20 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __pyx_t_4 = PyFloat_FromDouble(__pyx_v_cur_ll); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + __Pyx_GOTREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Remainder(__pyx_kp_45, ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__Pyx_PrintOne(__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":263 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":263 * bdata, k, pd, &t, reg, n) * print("eta:%.9f ll:%.6f" % (eta, cur_ll)) * if cur_ll > best_ll: # <<<<<<<<<<<<<< @@ -3057,7 +3044,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __pyx_t_10 = (__pyx_v_cur_ll > __pyx_v_best_ll); if (__pyx_t_10) { - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":264 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":264 * print("eta:%.9f ll:%.6f" % (eta, cur_ll)) * if cur_ll > best_ll: * best_ll = cur_ll # <<<<<<<<<<<<<< @@ -3066,7 +3053,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P */ __pyx_v_best_ll = __pyx_v_cur_ll; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":265 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":265 * if cur_ll > best_ll: * best_ll = cur_ll * best_eta = eta # <<<<<<<<<<<<<< @@ -3079,7 +3066,7 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __pyx_L5:; } - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":266 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":266 * best_ll = cur_ll * best_eta = eta * print("Best eta:%.9f ll:%.6f" % (best_eta, best_ll)) # <<<<<<<<<<<<<< @@ -3090,20 +3077,20 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __pyx_t_5 = PyFloat_FromDouble(__pyx_v_best_ll); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); + __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_4 = 0; __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Remainder(__pyx_kp_46, ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_12), __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PrintOne(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":267 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":267 * best_eta = eta * print("Best eta:%.9f ll:%.6f" % (best_eta, best_ll)) * return 1.0 / (best_eta * reg) # <<<<<<<<<<<<<< @@ -3131,11 +3118,14 @@ static double __pyx_f_4bolt_7trainer_6maxent_probe(PyObject *__pyx_v_dataset, P __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_w); __Pyx_XDECREF((PyObject *)__pyx_v_b); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF(__pyx_v_dataset); + __Pyx_DECREF((PyObject *)__pyx_v_org_w); + __Pyx_DECREF((PyObject *)__pyx_v_org_b); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":65 +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":187 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -3157,18 +3147,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf int __pyx_v_hasfields; int __pyx_r; int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; int __pyx_t_6; - char *__pyx_t_7; - __Pyx_SetupRefcountContext("__getbuffer__"); + int __pyx_t_7; + int __pyx_t_8; + char *__pyx_t_9; + __Pyx_RefNannySetupContext("__getbuffer__"); if (__pyx_v_info == NULL) return 0; __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); __Pyx_GIVEREF(__pyx_v_info->obj); + __Pyx_INCREF((PyObject *)__pyx_v_self); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":71 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":193 * # of flags * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -3177,7 +3170,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_endian_detector = 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":72 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":194 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -3186,7 +3179,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":74 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":196 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -3195,7 +3188,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_ndim = PyArray_NDIM(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":76 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":198 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -3205,7 +3198,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":77 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":199 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -3217,7 +3210,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":79 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":201 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -3228,96 +3221,100 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":81 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":203 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): - * raise ValueError("ndarray is not C contiguous") + * raise ValueError(u"ndarray is not C contiguous") */ - if (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS)) { + __pyx_t_1 = ((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS); + if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":82 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":204 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError("ndarray is not C contiguous") + * raise ValueError(u"ndarray is not C contiguous") * */ - __pyx_t_1 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_C_CONTIGUOUS)); + __pyx_t_2 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_C_CONTIGUOUS)); + __pyx_t_3 = __pyx_t_2; } else { - __pyx_t_1 = ((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS); + __pyx_t_3 = __pyx_t_1; } - if (__pyx_t_1) { + if (__pyx_t_3) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":83 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":205 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): - * raise ValueError("ndarray is not C contiguous") # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_1); - __Pyx_GIVEREF(__pyx_kp_1); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_13)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_u_13)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_13)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":85 - * raise ValueError("ndarray is not C contiguous") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":207 + * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): - * raise ValueError("ndarray is not Fortran contiguous") + * raise ValueError(u"ndarray is not Fortran contiguous") */ - if (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS)) { + __pyx_t_3 = ((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS); + if (__pyx_t_3) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":86 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":208 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError("ndarray is not Fortran contiguous") + * raise ValueError(u"ndarray is not Fortran contiguous") * */ __pyx_t_1 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_F_CONTIGUOUS)); + __pyx_t_2 = __pyx_t_1; } else { - __pyx_t_1 = ((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS); + __pyx_t_2 = __pyx_t_3; } - if (__pyx_t_1) { + if (__pyx_t_2) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":87 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":209 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): - * raise ValueError("ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< * * info.buf = PyArray_DATA(self) */ - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __Pyx_INCREF(__pyx_kp_2); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_2); - __Pyx_GIVEREF(__pyx_kp_2); - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_14)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_u_14)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_14)); + __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L7; } __pyx_L7:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":89 - * raise ValueError("ndarray is not Fortran contiguous") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":211 + * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< * info.ndim = ndim @@ -3325,7 +3322,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->buf = PyArray_DATA(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":90 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":212 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -3334,17 +3331,17 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":91 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":213 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< * # Allocate new buffer for strides and shape info. This is allocated * # as one block, strides first. */ - __pyx_t_4 = __pyx_v_copy_shape; - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_copy_shape; + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":94 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":216 * # Allocate new buffer for strides and shape info. This is allocated * # as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -3353,7 +3350,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * __pyx_v_ndim) * 2))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":95 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":217 * # as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -3362,17 +3359,18 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":96 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":218 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] */ - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_v_ndim; __pyx_t_4+=1) { - __pyx_v_i = __pyx_t_4; + __pyx_t_6 = __pyx_v_ndim; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i = __pyx_t_7; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":97 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":219 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -3381,7 +3379,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(((PyArrayObject *)__pyx_v_self))[__pyx_v_i]); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":98 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":220 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -3394,7 +3392,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":100 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":222 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -3403,7 +3401,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(((PyArrayObject *)__pyx_v_self))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":101 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":223 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -3414,7 +3412,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L8:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":102 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":224 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -3423,7 +3421,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->suboffsets = NULL; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":103 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":225 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -3432,7 +3430,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":104 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":226 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -3441,7 +3439,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->readonly = (!PyArray_ISWRITEABLE(((PyArrayObject *)__pyx_v_self))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":107 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":229 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -3450,7 +3448,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_f = NULL; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":108 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":230 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -3460,7 +3458,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __Pyx_INCREF(((PyObject *)((PyArrayObject *)__pyx_v_self)->descr)); __pyx_v_descr = ((PyArrayObject *)__pyx_v_self)->descr; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":112 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":234 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -3469,21 +3467,23 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":114 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":236 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< * # do not call releasebuffer * info.obj = None */ - if ((!__pyx_v_hasfields)) { - __pyx_t_1 = (!__pyx_v_copy_shape); + __pyx_t_2 = (!__pyx_v_hasfields); + if (__pyx_t_2) { + __pyx_t_3 = (!__pyx_v_copy_shape); + __pyx_t_1 = __pyx_t_3; } else { - __pyx_t_1 = (!__pyx_v_hasfields); + __pyx_t_1 = __pyx_t_2; } if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":116 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":238 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -3499,7 +3499,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":119 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":241 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -3514,7 +3514,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L11:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":121 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":243 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -3524,7 +3524,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_t_1 = (!__pyx_v_hasfields); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":122 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":244 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -3533,286 +3533,322 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_t = __pyx_v_descr->type_num; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":123 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":245 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == '>' and little_endian) or # <<<<<<<<<<<<<< * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") */ - if ((__pyx_v_descr->byteorder == '>')) { - __pyx_t_1 = __pyx_v_little_endian; + __pyx_t_1 = (__pyx_v_descr->byteorder == '>'); + if (__pyx_t_1) { + __pyx_t_2 = __pyx_v_little_endian; } else { - __pyx_t_1 = (__pyx_v_descr->byteorder == '>'); + __pyx_t_2 = __pyx_t_1; } - if (!__pyx_t_1) { + if (!__pyx_t_2) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":124 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":246 * t = descr.type_num * if ((descr.byteorder == '>' and little_endian) or * (descr.byteorder == '<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" */ - if ((__pyx_v_descr->byteorder == '<')) { - __pyx_t_5 = (!__pyx_v_little_endian); + __pyx_t_1 = (__pyx_v_descr->byteorder == '<'); + if (__pyx_t_1) { + __pyx_t_3 = (!__pyx_v_little_endian); + __pyx_t_8 = __pyx_t_3; } else { - __pyx_t_5 = (__pyx_v_descr->byteorder == '<'); + __pyx_t_8 = __pyx_t_1; } - __pyx_t_6 = __pyx_t_5; + __pyx_t_1 = __pyx_t_8; } else { - __pyx_t_6 = __pyx_t_1; + __pyx_t_1 = __pyx_t_2; } - if (__pyx_t_6) { + if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":125 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":247 * if ((descr.byteorder == '>' and little_endian) or * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_5); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_5); - __Pyx_GIVEREF(__pyx_kp_5); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_15)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_u_15)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_15)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L13; } __pyx_L13:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":126 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":248 * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" */ - switch (__pyx_v_t) { - case NPY_BYTE: - __pyx_v_f = __pyx_k_6; - break; + __pyx_t_1 = (__pyx_v_t == NPY_BYTE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__b; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":127 - * raise ValueError("Non-native byte order not supported") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":249 + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" */ - case NPY_UBYTE: - __pyx_v_f = __pyx_k_7; - break; + __pyx_t_1 = (__pyx_v_t == NPY_UBYTE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__B; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":128 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":250 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" */ - case NPY_SHORT: - __pyx_v_f = __pyx_k_8; - break; + __pyx_t_1 = (__pyx_v_t == NPY_SHORT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__h; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":129 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":251 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" */ - case NPY_USHORT: - __pyx_v_f = __pyx_k_9; - break; + __pyx_t_1 = (__pyx_v_t == NPY_USHORT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__H; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":130 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":252 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" */ - case NPY_INT: - __pyx_v_f = __pyx_k_10; - break; + __pyx_t_1 = (__pyx_v_t == NPY_INT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__i; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":131 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":253 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" */ - case NPY_UINT: - __pyx_v_f = __pyx_k_11; - break; + __pyx_t_1 = (__pyx_v_t == NPY_UINT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__I; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":132 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":254 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" */ - case NPY_LONG: - __pyx_v_f = __pyx_k_12; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__l; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":133 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":255 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" */ - case NPY_ULONG: - __pyx_v_f = __pyx_k_13; - break; + __pyx_t_1 = (__pyx_v_t == NPY_ULONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__L; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":134 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":256 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" */ - case NPY_LONGLONG: - __pyx_v_f = __pyx_k_14; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONGLONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__q; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":135 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":257 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" */ - case NPY_ULONGLONG: - __pyx_v_f = __pyx_k_15; - break; + __pyx_t_1 = (__pyx_v_t == NPY_ULONGLONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Q; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":136 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":258 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" */ - case NPY_FLOAT: - __pyx_v_f = __pyx_k_16; - break; + __pyx_t_1 = (__pyx_v_t == NPY_FLOAT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__f; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":137 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":259 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" */ - case NPY_DOUBLE: - __pyx_v_f = __pyx_k_17; - break; + __pyx_t_1 = (__pyx_v_t == NPY_DOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__d; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":138 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":260 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" */ - case NPY_LONGDOUBLE: - __pyx_v_f = __pyx_k_18; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONGDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__g; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":139 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":261 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" */ - case NPY_CFLOAT: - __pyx_v_f = __pyx_k_19; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CFLOAT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zf; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":140 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":262 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" */ - case NPY_CDOUBLE: - __pyx_v_f = __pyx_k_20; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zd; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":141 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":263 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< * elif t == NPY_OBJECT: f = "O" * else: */ - case NPY_CLONGDOUBLE: - __pyx_v_f = __pyx_k_21; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CLONGDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zg; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":142 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":264 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) */ - case NPY_OBJECT: - __pyx_v_f = __pyx_k_22; - break; - default: + __pyx_t_1 = (__pyx_v_t == NPY_OBJECT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__O; + goto __pyx_L14; + } + /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":144 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":266 * elif t == NPY_OBJECT: f = "O" * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< * info.format = f * return */ - __pyx_t_3 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyNumber_Remainder(__pyx_kp_23, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - break; + __pyx_t_5 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_16), __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_L14:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":145 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":267 * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< * return * else: */ __pyx_v_info->format = __pyx_v_f; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":146 - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":268 + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< * else: @@ -3824,7 +3860,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":148 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":270 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -3833,7 +3869,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->format = ((char *)malloc(255)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":149 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":271 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = '^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -3842,7 +3878,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ (__pyx_v_info->format[0]) = '^'; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":150 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":272 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = '^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -3851,17 +3887,17 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_offset = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":153 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":275 * f = _util_dtypestring(descr, info.format + 1, * info.format + _buffer_format_string_len, * &offset) # <<<<<<<<<<<<<< * f[0] = 0 # Terminate format string * */ - __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_f = __pyx_t_7; + __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_f = __pyx_t_9; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":154 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":276 * info.format + _buffer_format_string_len, * &offset) * f[0] = 0 # Terminate format string # <<<<<<<<<<<<<< @@ -3875,8 +3911,8 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("numpy.ndarray.__getbuffer__"); __pyx_r = -1; __Pyx_GOTREF(__pyx_v_info->obj); @@ -3889,11 +3925,12 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_descr); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":156 +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":278 * f[0] = 0 # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -3904,10 +3941,10 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { int __pyx_t_1; - int __pyx_t_2; - __Pyx_SetupRefcountContext("__releasebuffer__"); + __Pyx_RefNannySetupContext("__releasebuffer__"); + __Pyx_INCREF((PyObject *)__pyx_v_self); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":157 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":279 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -3917,7 +3954,7 @@ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, P __pyx_t_1 = PyArray_HASFIELDS(((PyArrayObject *)__pyx_v_self)); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":158 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":280 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -3929,17 +3966,17 @@ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, P } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":159 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":281 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * stdlib.free(info.strides) * # info.shape was stored after info.strides in the same block */ - __pyx_t_2 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); - if (__pyx_t_2) { + __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); + if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":160 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":282 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -3951,26 +3988,222 @@ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, P } __pyx_L6:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":277 +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":755 * ctypedef npy_cdouble complex_t * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":756 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":758 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":759 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":761 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":762 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":764 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":765 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":767 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":768 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":770 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< * # Recursive utility function used in __getbuffer__ to get format * # string. The new location in the format string is returned. */ -static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { PyArray_Descr *__pyx_v_child; - PyObject *__pyx_v_i; int __pyx_v_endian_detector; int __pyx_v_little_endian; + PyObject *__pyx_v_fields; + PyObject *__pyx_v_childname; PyObject *__pyx_v_new_offset; PyObject *__pyx_v_t; char *__pyx_r; - PyObject *__pyx_1 = 0; Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; @@ -3979,199 +4212,195 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc int __pyx_t_6; int __pyx_t_7; int __pyx_t_8; - char *__pyx_t_9; - __Pyx_SetupRefcountContext("_util_dtypestring"); + int __pyx_t_9; + char *__pyx_t_10; + __Pyx_RefNannySetupContext("_util_dtypestring"); + __Pyx_INCREF((PyObject *)__pyx_v_descr); __pyx_v_child = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None); - __pyx_v_i = ((PyObject *)Py_None); __Pyx_INCREF(Py_None); + __pyx_v_fields = ((PyObject *)Py_None); __Pyx_INCREF(Py_None); + __pyx_v_childname = Py_None; __Pyx_INCREF(Py_None); __pyx_v_new_offset = Py_None; __Pyx_INCREF(Py_None); __pyx_v_t = Py_None; __Pyx_INCREF(Py_None); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":284 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":777 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) - * + * cdef tuple fields */ __pyx_v_endian_detector = 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":285 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":778 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * cdef tuple fields * - * for i in descr.fields.itervalues(): */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":287 - * cdef bint little_endian = ((&endian_detector)[0] != 0) + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":781 + * cdef tuple fields * - * for i in descr.fields.itervalues(): # <<<<<<<<<<<<<< - * child = i[0] - * new_offset = i[1] + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields */ - __pyx_t_2 = PyObject_GetAttr(__pyx_v_descr->fields, __pyx_kp_itervalues); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); + if (likely(((PyObject *)__pyx_v_descr->names) != Py_None)) { + __pyx_t_1 = 0; __pyx_t_2 = ((PyObject *)__pyx_v_descr->names); __Pyx_INCREF(__pyx_t_2); } else { - __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break; - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; - } else if (likely(PyTuple_CheckExact(__pyx_t_2))) { - if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; - } else { - __pyx_t_3 = PyIter_Next(__pyx_t_2); - if (!__pyx_t_3) { - if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - if (!(likely(PyTuple_CheckExact(__pyx_t_3)) || (__pyx_t_3) == Py_None || (PyErr_Format(PyExc_TypeError, "Expected tuple, got %s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_v_i)); - __pyx_v_i = ((PyObject *)__pyx_t_3); + if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; + __Pyx_DECREF(__pyx_v_childname); + __pyx_v_childname = __pyx_t_3; __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":288 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":782 * - * for i in descr.fields.itervalues(): - * child = i[0] # <<<<<<<<<<<<<< - * new_offset = i[1] + * for childname in descr.names: + * fields = descr.fields[childname] # <<<<<<<<<<<<<< + * child, new_offset = fields * */ - __pyx_1 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_i), 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!(__Pyx_TypeTest(__pyx_1, __pyx_ptype_5numpy_dtype))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_v_child)); - __pyx_v_child = ((PyArray_Descr *)__pyx_1); - __pyx_1 = 0; + __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (!__pyx_t_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_v_fields)); + __pyx_v_fields = ((PyObject *)__pyx_t_3); + __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":289 - * for i in descr.fields.itervalues(): - * child = i[0] - * new_offset = i[1] # <<<<<<<<<<<<<< + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":783 + * for childname in descr.names: + * fields = descr.fields[childname] + * child, new_offset = fields # <<<<<<<<<<<<<< * * if (end - f) - (new_offset - offset[0]) < 15: */ - __pyx_1 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_i), 1, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __Pyx_DECREF(__pyx_v_new_offset); - __pyx_v_new_offset = __pyx_1; - __pyx_1 = 0; + if (likely(((PyObject *)__pyx_v_fields) != Py_None) && likely(PyTuple_GET_SIZE(((PyObject *)__pyx_v_fields)) == 2)) { + PyObject* tuple = ((PyObject *)__pyx_v_fields); + __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3); + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4); + __Pyx_DECREF(((PyObject *)__pyx_v_child)); + __pyx_v_child = ((PyArray_Descr *)__pyx_t_3); + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_v_new_offset); + __pyx_v_new_offset = __pyx_t_4; + __pyx_t_4 = 0; + } else { + __Pyx_UnpackTupleError(((PyObject *)__pyx_v_fields), 2); + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":291 - * new_offset = i[1] + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":785 + * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * */ - __pyx_t_3 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":292 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":786 * * if (end - f) - (new_offset - offset[0]) < 15: - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< * * if ((child.byteorder == '>' and little_endian) or */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - __Pyx_INCREF(__pyx_kp_25); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_25); - __Pyx_GIVEREF(__pyx_kp_25); - __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_17)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_u_17)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_17)); + __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L5; } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":294 - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":788 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == '>' and little_endian) or # <<<<<<<<<<<<<< * (child.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") */ - if ((__pyx_v_child->byteorder == '>')) { - __pyx_t_6 = __pyx_v_little_endian; + __pyx_t_6 = (__pyx_v_child->byteorder == '>'); + if (__pyx_t_6) { + __pyx_t_7 = __pyx_v_little_endian; } else { - __pyx_t_6 = (__pyx_v_child->byteorder == '>'); + __pyx_t_7 = __pyx_t_6; } - if (!__pyx_t_6) { + if (!__pyx_t_7) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":295 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":789 * * if ((child.byteorder == '>' and little_endian) or * (child.byteorder == '<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * # One could encode it in the format string and have Cython */ - if ((__pyx_v_child->byteorder == '<')) { - __pyx_t_7 = (!__pyx_v_little_endian); + __pyx_t_6 = (__pyx_v_child->byteorder == '<'); + if (__pyx_t_6) { + __pyx_t_8 = (!__pyx_v_little_endian); + __pyx_t_9 = __pyx_t_8; } else { - __pyx_t_7 = (__pyx_v_child->byteorder == '<'); + __pyx_t_9 = __pyx_t_6; } - __pyx_t_8 = __pyx_t_7; + __pyx_t_6 = __pyx_t_9; } else { - __pyx_t_8 = __pyx_t_6; + __pyx_t_6 = __pyx_t_7; } - if (__pyx_t_8) { + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":296 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":790 * if ((child.byteorder == '>' and little_endian) or * (child.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * # One could encode it in the format string and have Cython * # complain instead, BUT: < and > in format strings also imply */ - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_28); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_28); - __Pyx_GIVEREF(__pyx_kp_28); - __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_15)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_u_15)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_15)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_5, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":306 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":800 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -4179,16 +4408,16 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc * f += 1 */ while (1) { - __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_8) break; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!__pyx_t_6) break; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":307 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":801 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -4197,7 +4426,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ (__pyx_v_f[0]) = 120; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":308 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":802 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -4206,7 +4435,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ __pyx_v_f += 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":309 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":803 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -4216,7 +4445,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc (__pyx_v_offset[0]) += 1; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":311 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":805 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -4225,417 +4454,417 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ (__pyx_v_offset[0]) += __pyx_v_child->elsize; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":313 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":807 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< * t = child.type_num * if end - f < 5: */ - __pyx_t_8 = (!PyDataType_HASFIELDS(__pyx_v_child)); - if (__pyx_t_8) { + __pyx_t_6 = (!PyDataType_HASFIELDS(__pyx_v_child)); + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":314 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":808 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< * if end - f < 5: - * raise RuntimeError("Format string allocated too short.") + * raise RuntimeError(u"Format string allocated too short.") */ - __pyx_t_4 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_v_t); - __pyx_v_t = __pyx_t_4; - __pyx_t_4 = 0; + __pyx_v_t = __pyx_t_3; + __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":315 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":809 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< - * raise RuntimeError("Format string allocated too short.") + * raise RuntimeError(u"Format string allocated too short.") * */ - __pyx_t_8 = ((__pyx_v_end - __pyx_v_f) < 5); - if (__pyx_t_8) { + __pyx_t_6 = ((__pyx_v_end - __pyx_v_f) < 5); + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":316 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":810 * t = child.type_num * if end - f < 5: - * raise RuntimeError("Format string allocated too short.") # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< * * # Until ticket #99 is fixed, use integers to avoid warnings */ - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_29); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_29); - __Pyx_GIVEREF(__pyx_kp_29); - __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_18)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_u_18)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_18)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_5, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L10; } __pyx_L10:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":319 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":813 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" */ - __pyx_t_5 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 98; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":320 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":814 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" */ - __pyx_t_4 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 66; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":321 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":815 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" */ - __pyx_t_5 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 104; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":322 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":816 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" */ - __pyx_t_4 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 72; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":323 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":817 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" */ - __pyx_t_5 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 105; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":324 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":818 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" */ - __pyx_t_4 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 73; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":325 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":819 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" */ - __pyx_t_5 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 108; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":326 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":820 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" */ - __pyx_t_4 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 76; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":327 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":821 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" */ - __pyx_t_5 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 113; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":328 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":822 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" */ - __pyx_t_4 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 81; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":329 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":823 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" */ - __pyx_t_5 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 102; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":330 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":824 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf */ - __pyx_t_4 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 100; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":331 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":825 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd */ - __pyx_t_5 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 103; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":332 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":826 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg */ - __pyx_t_4 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 102; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":333 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":827 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" */ - __pyx_t_5 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 100; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":334 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":828 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: */ - __pyx_t_4 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 103; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":335 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":829 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) */ - __pyx_t_5 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 79; goto __pyx_L11; } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":337 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":831 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< * f += 1 * else: */ - __pyx_t_4 = PyNumber_Remainder(__pyx_kp_30, __pyx_v_t); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_16), __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L11:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":338 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":832 * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< * else: * # Cython ignores struct boundary information ("T{...}"), @@ -4645,25 +4874,26 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":342 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":836 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< * return f * */ - __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_f = __pyx_t_9; + __pyx_t_10 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_10 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_f = __pyx_t_10; } __pyx_L9:; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":343 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":837 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< * + * */ __pyx_r = __pyx_v_f; goto __pyx_L0; @@ -4671,7 +4901,6 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); @@ -4680,10 +4909,151 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc __pyx_r = NULL; __pyx_L0:; __Pyx_DECREF((PyObject *)__pyx_v_child); - __Pyx_DECREF(__pyx_v_i); + __Pyx_DECREF(__pyx_v_fields); + __Pyx_DECREF(__pyx_v_childname); __Pyx_DECREF(__pyx_v_new_offset); __Pyx_DECREF(__pyx_v_t); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_descr); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":952 + * + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * cdef PyObject* baseptr + * if base is None: + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + PyObject *__pyx_v_baseptr; + int __pyx_t_1; + __Pyx_RefNannySetupContext("set_array_base"); + __Pyx_INCREF((PyObject *)__pyx_v_arr); + __Pyx_INCREF(__pyx_v_base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":954 + * cdef inline void set_array_base(ndarray arr, object base): + * cdef PyObject* baseptr + * if base is None: # <<<<<<<<<<<<<< + * baseptr = NULL + * else: + */ + __pyx_t_1 = (__pyx_v_base == Py_None); + if (__pyx_t_1) { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":955 + * cdef PyObject* baseptr + * if base is None: + * baseptr = NULL # <<<<<<<<<<<<<< + * else: + * Py_INCREF(base) # important to do this before decref below! + */ + __pyx_v_baseptr = NULL; + goto __pyx_L3; + } + /*else*/ { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":957 + * baseptr = NULL + * else: + * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< + * baseptr = base + * Py_XDECREF(arr.base) + */ + Py_INCREF(__pyx_v_base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":958 + * else: + * Py_INCREF(base) # important to do this before decref below! + * baseptr = base # <<<<<<<<<<<<<< + * Py_XDECREF(arr.base) + * arr.base = baseptr + */ + __pyx_v_baseptr = ((PyObject *)__pyx_v_base); + } + __pyx_L3:; + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":959 + * Py_INCREF(base) # important to do this before decref below! + * baseptr = base + * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< + * arr.base = baseptr + * + */ + Py_XDECREF(__pyx_v_arr->base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":960 + * baseptr = base + * Py_XDECREF(arr.base) + * arr.base = baseptr # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + __pyx_v_arr->base = __pyx_v_baseptr; + + __Pyx_DECREF((PyObject *)__pyx_v_arr); + __Pyx_DECREF(__pyx_v_base); + __Pyx_RefNannyFinishContext(); +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":962 + * arr.base = baseptr + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * if arr.base is NULL: + * return None + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_r = NULL; + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base"); + __Pyx_INCREF((PyObject *)__pyx_v_arr); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":963 + * + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: # <<<<<<<<<<<<<< + * return None + * else: + */ + __pyx_t_1 = (__pyx_v_arr->base == NULL); + if (__pyx_t_1) { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":964 + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: + * return None # <<<<<<<<<<<<<< + * else: + * return arr.base + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + goto __pyx_L3; + } + /*else*/ { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":966 + * return None + * else: + * return arr.base # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_arr->base)); + __pyx_r = ((PyObject *)__pyx_v_arr->base); + goto __pyx_L0; + } + __pyx_L3:; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __pyx_L0:; + __Pyx_DECREF((PyObject *)__pyx_v_arr); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); return __pyx_r; } static struct __pyx_vtabstruct_4bolt_7trainer_6maxent_MaxentSGD __pyx_vtable_4bolt_7trainer_6maxent_MaxentSGD; @@ -4850,6 +5220,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_6maxent_MaxentSGD = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct PyMethodDef __pyx_methods[] = { @@ -4873,92 +5247,107 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp___main__, __pyx_k___main__, sizeof(__pyx_k___main__), 1, 1, 1}, - {&__pyx_kp___init__, __pyx_k___init__, sizeof(__pyx_k___init__), 1, 1, 1}, - {&__pyx_kp_train, __pyx_k_train, sizeof(__pyx_k_train), 1, 1, 1}, - {&__pyx_kp_reg, __pyx_k_reg, sizeof(__pyx_k_reg), 1, 1, 1}, - {&__pyx_kp_epochs, __pyx_k_epochs, sizeof(__pyx_k_epochs), 1, 1, 1}, - {&__pyx_kp_norm, __pyx_k_norm, sizeof(__pyx_k_norm), 1, 1, 1}, - {&__pyx_kp_model, __pyx_k_model, sizeof(__pyx_k_model), 1, 1, 1}, - {&__pyx_kp_dataset, __pyx_k_dataset, sizeof(__pyx_k_dataset), 1, 1, 1}, - {&__pyx_kp_verbose, __pyx_k_verbose, sizeof(__pyx_k_verbose), 1, 1, 1}, - {&__pyx_kp_shuffle, __pyx_k_shuffle, sizeof(__pyx_k_shuffle), 1, 1, 1}, - {&__pyx_kp_nprobe, __pyx_k_nprobe, sizeof(__pyx_k_nprobe), 1, 1, 1}, - {&__pyx_kp_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 1, 1, 1}, - {&__pyx_kp_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 1, 1}, - {&__pyx_kp_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 1, 1, 1}, - {&__pyx_kp_time, __pyx_k_time, sizeof(__pyx_k_time), 1, 1, 1}, - {&__pyx_kp_itertools, __pyx_k_itertools, sizeof(__pyx_k_itertools), 1, 1, 1}, - {&__pyx_kp_izip, __pyx_k_izip, sizeof(__pyx_k_izip), 1, 1, 1}, - {&__pyx_kp___authors__, __pyx_k___authors__, sizeof(__pyx_k___authors__), 1, 1, 1}, - {&__pyx_kp_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 1, 1, 1}, - {&__pyx_kp_sample, __pyx_k_sample, sizeof(__pyx_k_sample), 1, 1, 1}, - {&__pyx_kp_n, __pyx_k_n, sizeof(__pyx_k_n), 1, 1, 1}, - {&__pyx_kp_seed, __pyx_k_seed, sizeof(__pyx_k_seed), 1, 1, 1}, - {&__pyx_kp_m, __pyx_k_m, sizeof(__pyx_k_m), 1, 1, 1}, - {&__pyx_kp_k, __pyx_k_k, sizeof(__pyx_k_k), 1, 1, 1}, - {&__pyx_kp_W, __pyx_k_W, sizeof(__pyx_k_W), 1, 1, 1}, - {&__pyx_kp_b, __pyx_k_b, sizeof(__pyx_k_b), 1, 1, 1}, - {&__pyx_kp_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 1, 1, 1}, - {&__pyx_kp_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 1, 1, 1}, - {&__pyx_kp_35, __pyx_k_35, sizeof(__pyx_k_35), 1, 1, 1}, - {&__pyx_kp_any, __pyx_k_any, sizeof(__pyx_k_any), 1, 1, 1}, - {&__pyx_kp_isinf, __pyx_k_isinf, sizeof(__pyx_k_isinf), 1, 1, 1}, - {&__pyx_kp_isnan, __pyx_k_isnan, sizeof(__pyx_k_isnan), 1, 1, 1}, - {&__pyx_kp_w, __pyx_k_w, sizeof(__pyx_k_w), 1, 1, 1}, - {&__pyx_kp_bias, __pyx_k_bias, sizeof(__pyx_k_bias), 1, 1, 1}, - {&__pyx_kp_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 1, 1, 1}, - {&__pyx_kp_43, __pyx_k_43, sizeof(__pyx_k_43), 0, 1, 0}, - {&__pyx_kp_44, __pyx_k_44, sizeof(__pyx_k_44), 0, 1, 0}, - {&__pyx_kp_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 0, 0}, - {&__pyx_kp_33, __pyx_k_33, sizeof(__pyx_k_33), 0, 0, 0}, - {&__pyx_kp_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 0}, - {&__pyx_kp_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 0}, - {&__pyx_kp_37, __pyx_k_37, sizeof(__pyx_k_37), 0, 0, 0}, - {&__pyx_kp_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 0, 0}, - {&__pyx_kp_39, __pyx_k_39, sizeof(__pyx_k_39), 0, 0, 0}, - {&__pyx_kp_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 0, 0}, - {&__pyx_kp_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 0, 0}, - {&__pyx_kp_42, __pyx_k_42, sizeof(__pyx_k_42), 0, 0, 0}, - {&__pyx_kp_45, __pyx_k_45, sizeof(__pyx_k_45), 0, 0, 0}, - {&__pyx_kp_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 0}, - {&__pyx_kp___getbuffer__, __pyx_k___getbuffer__, sizeof(__pyx_k___getbuffer__), 1, 1, 1}, - {&__pyx_kp___releasebuffer__, __pyx_k___releasebuffer__, sizeof(__pyx_k___releasebuffer__), 1, 1, 1}, - {&__pyx_kp_info, __pyx_k_info, sizeof(__pyx_k_info), 1, 1, 1}, - {&__pyx_kp_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 1, 1, 1}, - {&__pyx_kp_range, __pyx_k_range, sizeof(__pyx_k_range), 1, 1, 1}, - {&__pyx_kp_itervalues, __pyx_k_itervalues, sizeof(__pyx_k_itervalues), 1, 1, 1}, - {&__pyx_kp_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 1, 1, 1}, - {&__pyx_kp_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 0}, - {&__pyx_kp_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 0}, - {&__pyx_kp_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 0}, - {&__pyx_kp_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 0, 0}, - {&__pyx_kp_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 0}, - {&__pyx_kp_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 0}, - {&__pyx_kp_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 0}, - {&__pyx_kp_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 0}, - {0, 0, 0, 0, 0, 0} + {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, + {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0}, + {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0}, + {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0}, + {&__pyx_kp_u_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 1, 0, 0}, + {&__pyx_kp_u_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 1, 0, 0}, + {&__pyx_kp_u_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 1, 0, 0}, + {&__pyx_kp_u_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 1, 0, 0}, + {&__pyx_kp_u_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 1, 0, 0}, + {&__pyx_kp_u_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 1, 0, 0}, + {&__pyx_kp_s_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 1, 0}, + {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, + {&__pyx_kp_u_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 1, 0, 0}, + {&__pyx_kp_u_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 1, 0, 0}, + {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, + {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, + {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0}, + {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0}, + {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0}, + {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0}, + {&__pyx_n_s__C, __pyx_k__C, sizeof(__pyx_k__C), 0, 0, 1, 1}, + {&__pyx_n_s__MaxentSGD, __pyx_k__MaxentSGD, sizeof(__pyx_k__MaxentSGD), 0, 0, 1, 1}, + {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1}, + {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1}, + {&__pyx_n_s__W, __pyx_k__W, sizeof(__pyx_k__W), 0, 0, 1, 1}, + {&__pyx_n_s____authors__, __pyx_k____authors__, sizeof(__pyx_k____authors__), 0, 0, 1, 1}, + {&__pyx_n_s____init__, __pyx_k____init__, sizeof(__pyx_k____init__), 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___train, __pyx_k___train, sizeof(__pyx_k___train), 0, 0, 1, 1}, + {&__pyx_n_s__any, __pyx_k__any, sizeof(__pyx_k__any), 0, 0, 1, 1}, + {&__pyx_n_s__b, __pyx_k__b, sizeof(__pyx_k__b), 0, 0, 1, 1}, + {&__pyx_n_s__base, __pyx_k__base, sizeof(__pyx_k__base), 0, 0, 1, 1}, + {&__pyx_n_s__bias, __pyx_k__bias, sizeof(__pyx_k__bias), 0, 0, 1, 1}, + {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1}, + {&__pyx_n_s__byteorder, __pyx_k__byteorder, sizeof(__pyx_k__byteorder), 0, 0, 1, 1}, + {&__pyx_n_s__copy, __pyx_k__copy, sizeof(__pyx_k__copy), 0, 0, 1, 1}, + {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1}, + {&__pyx_n_s__dataset, __pyx_k__dataset, sizeof(__pyx_k__dataset), 0, 0, 1, 1}, + {&__pyx_n_s__descr, __pyx_k__descr, sizeof(__pyx_k__descr), 0, 0, 1, 1}, + {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1}, + {&__pyx_n_s__epochs, __pyx_k__epochs, sizeof(__pyx_k__epochs), 0, 0, 1, 1}, + {&__pyx_n_s__fields, __pyx_k__fields, sizeof(__pyx_k__fields), 0, 0, 1, 1}, + {&__pyx_n_s__float64, __pyx_k__float64, sizeof(__pyx_k__float64), 0, 0, 1, 1}, + {&__pyx_n_s__format, __pyx_k__format, sizeof(__pyx_k__format), 0, 0, 1, 1}, + {&__pyx_n_s__idx, __pyx_k__idx, sizeof(__pyx_k__idx), 0, 0, 1, 1}, + {&__pyx_n_s__isinf, __pyx_k__isinf, sizeof(__pyx_k__isinf), 0, 0, 1, 1}, + {&__pyx_n_s__isnan, __pyx_k__isnan, sizeof(__pyx_k__isnan), 0, 0, 1, 1}, + {&__pyx_n_s__itemsize, __pyx_k__itemsize, sizeof(__pyx_k__itemsize), 0, 0, 1, 1}, + {&__pyx_n_s__itertools, __pyx_k__itertools, sizeof(__pyx_k__itertools), 0, 0, 1, 1}, + {&__pyx_n_s__izip, __pyx_k__izip, sizeof(__pyx_k__izip), 0, 0, 1, 1}, + {&__pyx_n_s__k, __pyx_k__k, sizeof(__pyx_k__k), 0, 0, 1, 1}, + {&__pyx_n_s__m, __pyx_k__m, sizeof(__pyx_k__m), 0, 0, 1, 1}, + {&__pyx_n_s__model, __pyx_k__model, sizeof(__pyx_k__model), 0, 0, 1, 1}, + {&__pyx_n_s__n, __pyx_k__n, sizeof(__pyx_k__n), 0, 0, 1, 1}, + {&__pyx_n_s__names, __pyx_k__names, sizeof(__pyx_k__names), 0, 0, 1, 1}, + {&__pyx_n_s__ndim, __pyx_k__ndim, sizeof(__pyx_k__ndim), 0, 0, 1, 1}, + {&__pyx_n_s__norm, __pyx_k__norm, sizeof(__pyx_k__norm), 0, 0, 1, 1}, + {&__pyx_n_s__np, __pyx_k__np, sizeof(__pyx_k__np), 0, 0, 1, 1}, + {&__pyx_n_s__nprobe, __pyx_k__nprobe, sizeof(__pyx_k__nprobe), 0, 0, 1, 1}, + {&__pyx_n_s__numpy, __pyx_k__numpy, sizeof(__pyx_k__numpy), 0, 0, 1, 1}, + {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1}, + {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1}, + {&__pyx_n_s__readonly, __pyx_k__readonly, sizeof(__pyx_k__readonly), 0, 0, 1, 1}, + {&__pyx_n_s__reg, __pyx_k__reg, sizeof(__pyx_k__reg), 0, 0, 1, 1}, + {&__pyx_n_s__sample, __pyx_k__sample, sizeof(__pyx_k__sample), 0, 0, 1, 1}, + {&__pyx_n_s__seed, __pyx_k__seed, sizeof(__pyx_k__seed), 0, 0, 1, 1}, + {&__pyx_n_s__shape, __pyx_k__shape, sizeof(__pyx_k__shape), 0, 0, 1, 1}, + {&__pyx_n_s__shuffle, __pyx_k__shuffle, sizeof(__pyx_k__shuffle), 0, 0, 1, 1}, + {&__pyx_n_s__strides, __pyx_k__strides, sizeof(__pyx_k__strides), 0, 0, 1, 1}, + {&__pyx_n_s__suboffsets, __pyx_k__suboffsets, sizeof(__pyx_k__suboffsets), 0, 0, 1, 1}, + {&__pyx_n_s__sys, __pyx_k__sys, sizeof(__pyx_k__sys), 0, 0, 1, 1}, + {&__pyx_n_s__time, __pyx_k__time, sizeof(__pyx_k__time), 0, 0, 1, 1}, + {&__pyx_n_s__train, __pyx_k__train, sizeof(__pyx_k__train), 0, 0, 1, 1}, + {&__pyx_n_s__type_num, __pyx_k__type_num, sizeof(__pyx_k__type_num), 0, 0, 1, 1}, + {&__pyx_n_s__val, __pyx_k__val, sizeof(__pyx_k__val), 0, 0, 1, 1}, + {&__pyx_n_s__verbose, __pyx_k__verbose, sizeof(__pyx_k__verbose), 0, 0, 1, 1}, + {&__pyx_n_s__w, __pyx_k__w, sizeof(__pyx_k__w), 0, 0, 1, 1}, + {&__pyx_n_s__zeros, __pyx_k__zeros, sizeof(__pyx_k__zeros), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_kp_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_kp_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_kp_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; } static int __Pyx_InitGlobals(void) { - __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_13 = PyInt_FromLong(13); if (unlikely(!__pyx_int_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - 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; @@ -4972,31 +5361,34 @@ PyMODINIT_FUNC PyInit_maxent(void); /*proto*/ PyMODINIT_FUNC PyInit_maxent(void) #endif { - PyObject *__pyx_1 = 0; - PyObject *__pyx_2 = 0; PyObject *__pyx_t_1 = NULL; - #ifdef CYTHON_REFNANNY - void* __pyx_refchk = NULL; - __Pyx_Refnanny = __Pyx_ImportRefcountAPI("refnanny"); - if (!__Pyx_Refnanny) { + 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_ImportRefcountAPI("Cython.Runtime.refnanny"); - if (!__Pyx_Refnanny) - Py_FatalError("failed to import refnanny module"); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); } - __pyx_refchk = __Pyx_Refnanny->NewContext("PyMODINIT_FUNC PyInit_maxent(void)", __LINE__, __FILE__); + __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_maxent(void)", __LINE__, __FILE__); #endif + __pyx_init_filenames(); __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;} + #if PY_MAJOR_VERSION < 3 + __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;} + #else + __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;} + #endif /*--- Library function declarations ---*/ - __pyx_init_filenames(); /*--- 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 - /*--- 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;} /*--- Module creation code ---*/ #if PY_MAJOR_VERSION < 3 __pyx_m = Py_InitModule4(__Pyx_NAMESTR("maxent"), __pyx_methods, 0, 0, PYTHON_API_VERSION); @@ -5010,12 +5402,13 @@ PyMODINIT_FUNC PyInit_maxent(void) __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_bolt__trainer__maxent) { - if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_kp___main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + 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;} - __pyx_skip_dispatch = 0; /*--- Global init code ---*/ /*--- Function export code ---*/ /*--- Type init code ---*/ @@ -5030,36 +5423,39 @@ PyMODINIT_FUNC PyInit_maxent(void) if (__Pyx_SetAttrString(__pyx_m, "MaxentSGD", (PyObject *)&__pyx_type_4bolt_7trainer_6maxent_MaxentSGD) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_4bolt_7trainer_6maxent_MaxentSGD = &__pyx_type_4bolt_7trainer_6maxent_MaxentSGD; /*--- Type import code ---*/ - __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr)); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject)); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Function import code ---*/ /*--- Execution code ---*/ - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":8 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":8 * from __future__ import division * * import numpy as np # <<<<<<<<<<<<<< * import sys * */ - __pyx_1 = __Pyx_Import(__pyx_kp_numpy, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_np, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":9 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":9 * * import numpy as np * import sys # <<<<<<<<<<<<<< * * cimport numpy as np */ - __pyx_1 = __Pyx_Import(__pyx_kp_sys, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_sys, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":14 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":14 * cimport cython * * from time import time # <<<<<<<<<<<<<< @@ -5068,55 +5464,55 @@ PyMODINIT_FUNC PyInit_maxent(void) */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_time); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_time); - __Pyx_GIVEREF(__pyx_kp_time); - __pyx_1 = __Pyx_Import(__pyx_kp_time, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __Pyx_INCREF(((PyObject *)__pyx_n_s__time)); + PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_n_s__time)); + __Pyx_GIVEREF(((PyObject *)__pyx_n_s__time)); + __pyx_t_2 = __Pyx_Import(((PyObject *)__pyx_n_s__time), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_time); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_time, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__time, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":15 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":15 * * from time import time * from itertools import izip # <<<<<<<<<<<<<< * * __authors__ = [ */ - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_izip); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_izip); - __Pyx_GIVEREF(__pyx_kp_izip); - __pyx_1 = __Pyx_Import(__pyx_kp_itertools, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_izip); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_izip, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(((PyObject *)__pyx_n_s__izip)); + PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_n_s__izip)); + __Pyx_GIVEREF(((PyObject *)__pyx_n_s__izip)); + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__itertools), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__izip); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__izip, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":18 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":17 + * from itertools import izip * - * __authors__ = [ - * '"Peter Prettenhofer" ' # <<<<<<<<<<<<<< + * __authors__ = [ # <<<<<<<<<<<<<< + * '"Peter Prettenhofer" ' * ] - * */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_31); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_31); - __Pyx_GIVEREF(__pyx_kp_31); - if (PyObject_SetAttr(__pyx_m, __pyx_kp___authors__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_INCREF(((PyObject *)__pyx_kp_s_19)); + PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_19)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_19)); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s____authors__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/maxent.pyx":132 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":132 * * * def train(self, model, dataset, verbose = 0, shuffle = False, nprobe = -1): # <<<<<<<<<<<<<< @@ -5125,11 +5521,41 @@ PyMODINIT_FUNC PyInit_maxent(void) */ __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_k_32 = __pyx_t_1; + __pyx_k_3 = __pyx_t_1; + __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_k_32); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/stdlib.pxd":2 + /* "/home/pprett/workspace/bolt/bolt/trainer/maxent.pyx":1 + * # encoding: utf-8 # <<<<<<<<<<<<<< + * # cython: cdivision=True + * # cython: boundscheck=False + */ + __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)); + __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__MaxentSGD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____init__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_20), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__MaxentSGD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__train); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_21), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + 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; + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/stdlib.pxd":2 * * cdef extern from "stdlib.h" nogil: # <<<<<<<<<<<<<< * void free(void *ptr) @@ -5137,13 +5563,17 @@ PyMODINIT_FUNC PyInit_maxent(void) */ goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); - __Pyx_XDECREF(__pyx_2); __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("bolt.trainer.maxent"); - Py_DECREF(__pyx_m); __pyx_m = 0; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + if (__pyx_m) { + __Pyx_AddTraceback("init bolt.trainer.maxent"); + Py_DECREF(__pyx_m); __pyx_m = 0; + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init bolt.trainer.maxent"); + } __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); #if PY_MAJOR_VERSION < 3 return; #else @@ -5284,19 +5714,19 @@ static int __Pyx_ParseOptionalKeywords( return -1; } -static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { - if (!type) { +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { PyErr_Format(PyExc_SystemError, "Missing type object"); return 0; } - if (obj == Py_None || PyObject_TypeCheck(obj, type)) + if (likely(PyObject_TypeCheck(obj, type))) return 1; - PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s", - Py_TYPE(obj)->tp_name, type->tp_name); + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); return 0; } -static INLINE int __Pyx_IsLittleEndian(void) { +static CYTHON_INLINE int __Pyx_IsLittleEndian(void) { unsigned int n = 1; return *(unsigned char*)(&n) != 0; } @@ -5693,7 +6123,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha } } -static INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) { +static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) { buf->buf = NULL; buf->obj = NULL; buf->strides = __Pyx_zeros; @@ -5734,7 +6164,7 @@ fail:; return -1; } -static INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { if (info->buf == NULL) return; if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; __Pyx_ReleaseBuffer(info); @@ -5745,51 +6175,84 @@ static void __Pyx_RaiseBufferFallbackError(void) { "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!"); } - -static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { - PyObject *tmp_type, *tmp_value, *tmp_tb; - PyThreadState *tstate = PyThreadState_GET(); - -#if PY_MAJOR_VERSION >= 3 - /* Note: this is a temporary work-around to prevent crashes in Python 3.0 */ - if ((tstate->exc_type != NULL) & (tstate->exc_type != Py_None)) { - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - PyErr_NormalizeException(&type, &value, &tb); - PyErr_NormalizeException(&tmp_type, &tmp_value, &tmp_tb); - tstate->exc_type = 0; - tstate->exc_value = 0; - tstate->exc_traceback = 0; - PyException_SetContext(value, tmp_value); - Py_DECREF(tmp_type); - Py_XDECREF(tmp_tb); + +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; +} + + +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + #if PY_VERSION_HEX < 0x02050000 + "need more than %d value%s to unpack", (int)index, + #else + "need more than %zd value%s to unpack", index, + #endif + (index == 1) ? "" : "s"); +} + +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(void) { + PyErr_SetString(PyExc_ValueError, "too many values to unpack"); +} + +static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) { + PyObject *item; + if (!(item = PyIter_Next(iter))) { + if (!PyErr_Occurred()) { + __Pyx_RaiseNeedMoreValuesError(index); + } + } + return item; +} + +static int __Pyx_EndUnpack(PyObject *iter) { + PyObject *item; + if ((item = PyIter_Next(iter))) { + Py_DECREF(item); + __Pyx_RaiseTooManyValuesError(); + return -1; } -#endif - - 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); + else if (!PyErr_Occurred()) + return 0; + else + return -1; } -static 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; +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); } - +static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { + if (t == Py_None) { + __Pyx_RaiseNoneNotIterableError(); + } else if (PyTuple_GET_SIZE(t) < index) { + __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); + } else { + __Pyx_RaiseTooManyValuesError(); + } +} #if PY_MAJOR_VERSION < 3 static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) { @@ -5856,6 +6319,7 @@ static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { return result; } +#if PY_MAJOR_VERSION < 3 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { Py_XINCREF(type); Py_XINCREF(value); @@ -5911,6 +6375,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { } #endif } + __Pyx_ErrRestore(type, value, tb); return; raise_error: @@ -5920,6 +6385,50 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *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 + #if PY_MAJOR_VERSION < 3 static PyObject *__Pyx_GetStdout(void) { PyObject *f = PySys_GetObject((char *)"stdout"); @@ -6033,61 +6542,168 @@ static int __Pyx_PrintOne(PyObject *o) { #endif -static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - #if PY_VERSION_HEX < 0x02050000 - "need more than %d value%s to unpack", (int)index, - #else - "need more than %zd value%s to unpack", index, - #endif - (index == 1) ? "" : "s"); -} - -static INLINE void __Pyx_RaiseTooManyValuesError(void) { - PyErr_SetString(PyExc_ValueError, "too many values to unpack"); -} +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif -static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) { - PyObject *item; - if (!(item = PyIter_Next(iter))) { - if (!PyErr_Occurred()) { - __Pyx_RaiseNeedMoreValuesError(index); - } +#if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); } - return item; -} + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float denom = b.real * b.real + b.imag * b.imag; + z.real = (a.real * b.real + a.imag * b.imag) / denom; + z.imag = (a.imag * b.real - a.real * b.imag) / denom; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } +/* + static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex z) { +#if HAVE_HYPOT + return hypotf(z.real, z.imag); +#else + return sqrtf(z.real*z.real + z.imag*z.imag); +#endif + } +*/ +#endif -static int __Pyx_EndUnpack(PyObject *iter) { - PyObject *item; - if ((item = PyIter_Next(iter))) { - Py_DECREF(item); - __Pyx_RaiseTooManyValuesError(); - return -1; +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); } - else if (!PyErr_Occurred()) - return 0; - else - return -1; -} + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif -static INLINE int __Pyx_StrEq(const char *s1, const char *s2) { - while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; } - return *s1 == *s2; -} +#if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double denom = b.real * b.real + b.imag * b.imag; + z.real = (a.real * b.real + a.imag * b.imag) / denom; + z.imag = (a.imag * b.real - a.real * b.imag) / denom; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } +/* + static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex z) { +#if HAVE_HYPOT + return hypot(z.real, z.imag); +#else + return sqrt(z.real*z.real + z.imag*z.imag); +#endif + } +*/ +#endif -static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { +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())) - return (unsigned char)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned char"); - return (unsigned char)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned char" : + "value too large to convert to unsigned char"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned char"); return (unsigned char)-1; } return (unsigned char)val; @@ -6095,19 +6711,18 @@ static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* 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())) - return (unsigned short)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned short"); - return (unsigned short)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned short" : + "value too large to convert to unsigned short"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned short"); return (unsigned short)-1; } return (unsigned short)val; @@ -6115,19 +6730,18 @@ static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) { return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* 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())) - return (unsigned int)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned int"); - return (unsigned int)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned int" : + "value too large to convert to unsigned int"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned int"); return (unsigned int)-1; } return (unsigned int)val; @@ -6135,14 +6749,18 @@ static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) { return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE char __Pyx_PyInt_AsChar(PyObject* 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())) - return (char)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to char"); + 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; @@ -6150,14 +6768,18 @@ static INLINE char __Pyx_PyInt_AsChar(PyObject* x) { return (char)__Pyx_PyInt_AsLong(x); } -static INLINE short __Pyx_PyInt_AsShort(PyObject* 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())) - return (short)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to short"); + 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; @@ -6165,14 +6787,18 @@ static INLINE short __Pyx_PyInt_AsShort(PyObject* x) { return (short)__Pyx_PyInt_AsLong(x); } -static INLINE int __Pyx_PyInt_AsInt(PyObject* 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())) - return (int)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); + 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; @@ -6180,14 +6806,18 @@ static INLINE int __Pyx_PyInt_AsInt(PyObject* x) { return (int)__Pyx_PyInt_AsLong(x); } -static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* 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())) - return (signed char)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed char"); + 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; @@ -6195,14 +6825,18 @@ static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) { return (signed char)__Pyx_PyInt_AsSignedLong(x); } -static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* 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())) - return (signed short)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed short"); + 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; @@ -6210,14 +6844,18 @@ static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) { return (signed short)__Pyx_PyInt_AsSignedLong(x); } -static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* 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())) - return (signed int)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed int"); + 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; @@ -6225,11 +6863,13 @@ static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) { return (signed int)__Pyx_PyInt_AsSignedLong(x); } -static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* 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_CheckExact(x) || PyInt_Check(x))) { + if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); - if (unlikely(val < 0)) { + if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; @@ -6237,13 +6877,17 @@ static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { return (unsigned long)val; } else #endif - if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) { - if (unlikely(Py_SIZE(x) < 0)) { - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned long"); - return (unsigned long)-1; + 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); } - return PyLong_AsUnsignedLong(x); } else { unsigned long val; PyObject *tmp = __Pyx_PyNumber_Int(x); @@ -6254,11 +6898,13 @@ static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { } } -static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); - if (unlikely(val < 0)) { + 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; @@ -6266,13 +6912,17 @@ static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) return (unsigned PY_LONG_LONG)val; } else #endif - if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) { - 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; + 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); } - return PyLong_AsUnsignedLongLong(x); } else { unsigned PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); @@ -6283,15 +6933,31 @@ static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) } } -static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLong(x); + 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); @@ -6302,15 +6968,31 @@ static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { } } -static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLongLong(x); + 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); @@ -6321,15 +7003,31 @@ static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { } } -static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLong(x); + 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); @@ -6340,15 +7038,31 @@ static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { } } -static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLongLong(x); + 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); @@ -6378,32 +7092,31 @@ static void __Pyx_WriteUnraisable(const char *name) { } static int __Pyx_SetVtable(PyObject *dict, void *vtable) { - PyObject *pycobj = 0; - int result; - - pycobj = PyCObject_FromVoidPtr(vtable, 0); - if (!pycobj) +#if PY_VERSION_HEX < 0x03010000 + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#else + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#endif + if (!ob) goto bad; - if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0) + if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0) goto bad; - result = 0; - goto done; - + Py_DECREF(ob); + return 0; bad: - result = -1; -done: - Py_XDECREF(pycobj); - return result; + Py_XDECREF(ob); + return -1; } #ifndef __PYX_HAVE_RT_ImportType #define __PYX_HAVE_RT_ImportType static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, - long size) + long size, int strict) { PyObject *py_module = 0; PyObject *result = 0; PyObject *py_name = 0; + char warning[200]; py_module = __Pyx_ImportModule(module_name); if (!py_module) @@ -6428,9 +7141,15 @@ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class module_name, class_name); goto bad; } - if (((PyTypeObject *)result)->tp_basicsize != size) { + if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility", + module_name, class_name); + PyErr_WarnEx(NULL, warning, 0); + } + else if (((PyTypeObject *)result)->tp_basicsize != size) { PyErr_Format(PyExc_ValueError, - "%s.%s does not appear to be the correct type object", + "%s.%s has the wrong size, try recompiling", module_name, class_name); goto bad; } @@ -6472,7 +7191,6 @@ static void __Pyx_AddTraceback(const char *funcname) { PyObject *py_srcfile = 0; PyObject *py_funcname = 0; PyObject *py_globals = 0; - PyObject *empty_string = 0; PyCodeObject *py_code = 0; PyFrameObject *py_frame = 0; @@ -6499,12 +7217,6 @@ static void __Pyx_AddTraceback(const char *funcname) { if (!py_funcname) goto bad; py_globals = PyModule_GetDict(__pyx_m); if (!py_globals) goto bad; - #if PY_MAJOR_VERSION < 3 - empty_string = PyString_FromStringAndSize("", 0); - #else - empty_string = PyBytes_FromStringAndSize("", 0); - #endif - if (!empty_string) goto bad; py_code = PyCode_New( 0, /*int argcount,*/ #if PY_MAJOR_VERSION >= 3 @@ -6513,7 +7225,7 @@ static void __Pyx_AddTraceback(const char *funcname) { 0, /*int nlocals,*/ 0, /*int stacksize,*/ 0, /*int flags,*/ - empty_string, /*PyObject *code,*/ + __pyx_empty_bytes, /*PyObject *code,*/ __pyx_empty_tuple, /*PyObject *consts,*/ __pyx_empty_tuple, /*PyObject *names,*/ __pyx_empty_tuple, /*PyObject *varnames,*/ @@ -6522,7 +7234,7 @@ static void __Pyx_AddTraceback(const char *funcname) { py_srcfile, /*PyObject *filename,*/ py_funcname, /*PyObject *name,*/ __pyx_lineno, /*int firstlineno,*/ - empty_string /*PyObject *lnotab*/ + __pyx_empty_bytes /*PyObject *lnotab*/ ); if (!py_code) goto bad; py_frame = PyFrame_New( @@ -6537,7 +7249,6 @@ static void __Pyx_AddTraceback(const char *funcname) { bad: Py_XDECREF(py_srcfile); Py_XDECREF(py_funcname); - Py_XDECREF(empty_string); Py_XDECREF(py_code); Py_XDECREF(py_frame); } @@ -6545,7 +7256,7 @@ static void __Pyx_AddTraceback(const char *funcname) { static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { while (t->p) { #if PY_MAJOR_VERSION < 3 - if (t->is_unicode && (!t->is_identifier)) { + if (t->is_unicode) { *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); } else if (t->intern) { *t->p = PyString_InternFromString(t->s); @@ -6553,10 +7264,14 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { *t->p = PyString_FromStringAndSize(t->s, t->n - 1); } #else /* Python 3+ has unicode identifiers */ - if (t->is_identifier || (t->is_unicode && t->intern)) { - *t->p = PyUnicode_InternFromString(t->s); - } else if (t->is_unicode) { - *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + 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); } @@ -6570,13 +7285,13 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { /* Type Conversion Functions */ -static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { if (x == Py_True) return 1; else if ((x == Py_False) | (x == Py_None)) return 0; else return PyObject_IsTrue(x); } -static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { PyNumberMethods *m; const char *name = NULL; PyObject *res = NULL; @@ -6622,7 +7337,7 @@ static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { return res; } -static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { +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; @@ -6631,7 +7346,7 @@ static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { return ival; } -static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t 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); @@ -6645,7 +7360,7 @@ static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { #endif } -static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { +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; @@ -6658,3 +7373,4 @@ static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { } +#endif /* Py_PYTHON_H */ diff --git a/bolt/trainer/sgd.c b/bolt/trainer/sgd.c index f897113..2aa383f 100644 --- a/bolt/trainer/sgd.c +++ b/bolt/trainer/sgd.c @@ -1,11 +1,12 @@ -/* Generated by Cython 0.11.2 on Fri Sep 24 17:18:08 2010 */ +/* Generated by Cython 0.12.1 on Sun Sep 26 10:58:07 2010 */ #define PY_SSIZE_T_CLEAN #include "Python.h" #include "structmember.h" #ifndef Py_PYTHON_H #error Python headers needed to compile C extensions, please install development version of Python. -#endif +#else + #ifndef PY_LONG_LONG #define PY_LONG_LONG LONG_LONG #endif @@ -15,7 +16,9 @@ #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 @@ -25,7 +28,9 @@ #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) @@ -35,17 +40,17 @@ #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; + 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 @@ -59,22 +64,32 @@ #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 PyString_Type PyBytes_Type - #define PyString_CheckExact PyBytes_CheckExact + #define PyString_Type PyUnicode_Type + #define PyString_CheckExact PyUnicode_CheckExact +#else + #define PyBytes_Type PyString_Type + #define PyBytes_CheckExact PyString_CheckExact +#endif + +#if PY_MAJOR_VERSION >= 3 #define PyInt_Type PyLong_Type #define PyInt_Check(op) PyLong_Check(op) #define PyInt_CheckExact(op) PyLong_CheckExact(op) @@ -89,13 +104,17 @@ #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask #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_TrueDivide(x,y) - #define PyBytes_Type PyString_Type + #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) + #endif + #if PY_MAJOR_VERSION >= 3 #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) #endif + #if !defined(WIN32) && !defined(MS_WINDOWS) #ifndef __stdcall #define __stdcall @@ -109,6 +128,7 @@ #else #define _USE_MATH_DEFINES #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)) @@ -118,6 +138,7 @@ #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)) @@ -133,24 +154,22 @@ #include #define __PYX_HAVE_API__bolt__trainer__sgd #include "stdlib.h" +#include "stdio.h" #include "numpy/arrayobject.h" +#include "numpy/ufuncobject.h" #include "math.h" -#define __PYX_USE_C99_COMPLEX defined(_Complex_I) - -#ifdef __GNUC__ -#define INLINE __inline__ -#elif _WIN32 -#define INLINE __inline -#else -#define INLINE +#ifndef CYTHON_INLINE + #if defined(__GNUC__) + #define CYTHON_INLINE __inline__ + #elif defined(_MSC_VER) + #define CYTHON_INLINE __inline + #else + #define CYTHON_INLINE + #endif #endif -typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/ - - - -static int __pyx_skip_dispatch = 0; +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 */ @@ -165,9 +184,12 @@ static int __pyx_skip_dispatch = 0; #define __Pyx_PyBytes_AsString PyBytes_AsString #endif +#define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) +#define __Pyx_PyBytes_AsUString(s) ((unsigned char*) __Pyx_PyBytes_AsString(s)) + #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) -static INLINE int __Pyx_PyObject_IsTrue(PyObject*); -static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #if !defined(T_PYSSIZET) #if PY_VERSION_HEX < 0x02050000 @@ -184,489 +206,107 @@ static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #endif #endif -#if !defined(T_SIZET) -#if !defined(T_ULONGLONG) -#define T_SIZET \ - ((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \ - ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : -1)) -#else -#define T_SIZET \ - ((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \ - ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : \ - ((sizeof(size_t) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))) -#endif -#endif - -static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); -static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); -static 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 int __pyx_lineno; -static int __pyx_clineno = 0; -static const char * __pyx_cfilenm= __FILE__; -static const char *__pyx_filename; -static const char **__pyx_f; - -static char __pyx_mdoc[] = "\nThe :mod:`bolt.trainer.sgd` module is the core of bolt. Its an extension\nmodule written in cython containing efficient implementations of Stochastic Gradient Descent and PEGASOS.\n\nThe module contains two `Trainer` classes:\n\n * :class:`SGD`: A plain stochastic gradient descent implementation, supporting various :class:`LossFunction` and different penalties, including L1, L2, and Elastic-net penalty.\n * :class:`PEGASOS`: Similar to SGD, however, after each update it projects the current weight vector onto the L2 ball of radius 1/sqrt(lambda). Currently, only supports hinge loss and L2 penalty. \n\nThe module contains a number of concrete `LossFunction` implementations\nthat can be plugged into the `SGD` trainer. Bolt provides `LossFunctions`\nfor `Classification` and `Regression`.\n\nThe following :class:`Classification` loss functions are supported:\n\n * :class:`ModifiedHuber`: A quadratical smoothed version of the hinge loss. \n * :class:`Hinge`: The loss function employed by the Support Vector Machine classifier.\n * :class:`Log`: The loss function of Logistic Regression.\n\nThe following :class:`Regression` loss functions are supported:\n\n * :class:`SquaredError`: Standard squared error loss function.\n \n * :class:`Huber`: Huber robust regression loss.\n\nThe module also contains a number of utility function:\n\n * :func:`predict`: computes the dot product between a sparse and a dense feature vector. \n\n"; - - -#ifdef 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* (*NewContext)(const char*, int, const char*); - void (*FinishContext)(void**); -} __Pyx_RefnannyAPIStruct; -static __Pyx_RefnannyAPIStruct *__Pyx_Refnanny = NULL; -#define __Pyx_ImportRefcountAPI(name) (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI") -#define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__) -#define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r) -#define __Pyx_SetupRefcountContext(name) void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__) -#define __Pyx_FinishRefcountContext() __Pyx_Refnanny->FinishContext(&__pyx_refchk) -#else -#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) -#define __Pyx_SetupRefcountContext(name) -#define __Pyx_FinishRefcountContext() -#endif /* CYTHON_REFNANNY */ -#define __Pyx_XGIVEREF(r) if((r) == NULL) ; else __Pyx_GIVEREF(r) -#define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r) - -static void __Pyx_RaiseDoubleKeywordsError( - const char* func_name, PyObject* kw_name); /*proto*/ - -static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, - Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ - -static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ - -static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ - -/* Run-time type information about structs used with buffers */ -struct __Pyx_StructField_; - -typedef struct { - const char* name; /* for error messages only */ - struct __Pyx_StructField_* fields; - size_t size; /* sizeof(type) */ - char typegroup; /* _R_eal, _C_omplex, Signed _I_nt, _U_nsigned int, _S_truct, _P_ointer, _O_bject */ -} __Pyx_TypeInfo; - -typedef struct __Pyx_StructField_ { - __Pyx_TypeInfo* type; - const char* name; - size_t offset; -} __Pyx_StructField; - -typedef struct { - __Pyx_StructField* field; - size_t parent_offset; -} __Pyx_BufFmt_StackElem; - - -static INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); -static int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); - -static void __Pyx_RaiseBufferFallbackError(void); /*proto*/ - - -static INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { - PyObject *r; - if (!j) return NULL; - r = PyObject_GetItem(o, j); - Py_DECREF(j); - return r; -} - - -#define __Pyx_GetItemInt_List(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_List_Fast(o, i, size <= sizeof(long)) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) - -static INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, int fits_long) { - if (likely(o != Py_None)) { - if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { - PyObject *r = PyList_GET_ITEM(o, i); - Py_INCREF(r); - return r; - } - else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { - PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); - Py_INCREF(r); - return r; - } - } - return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); -} -#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_Tuple_Fast(o, i, size <= sizeof(long)) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) - -static INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, int fits_long) { - if (likely(o != Py_None)) { - if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { - PyObject *r = PyTuple_GET_ITEM(o, i); - Py_INCREF(r); - return r; - } - else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { - PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); - Py_INCREF(r); - return r; - } - } - return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); -} - - -#define __Pyx_GetItemInt(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ - __Pyx_GetItemInt_Fast(o, i, size <= sizeof(long)) : \ - __Pyx_GetItemInt_Generic(o, to_py_func(i))) - -static INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int fits_long) { - PyObject *r; - if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { - r = PyList_GET_ITEM(o, i); - Py_INCREF(r); - } - else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { - r = PyTuple_GET_ITEM(o, i); - Py_INCREF(r); - } - else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) { - r = PySequence_GetItem(o, i); - } - else { - r = __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); - } - return r; -} - -static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ -static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ - -static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, - const char *name, int exact); /*proto*/ -#if PY_MAJOR_VERSION < 3 -static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); -static void __Pyx_ReleaseBuffer(Py_buffer *view); +#if !defined(T_ULONGLONG) +#define __Pyx_T_UNSIGNED_INT(x) \ + ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ + ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ + ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : -1)))) #else -#define __Pyx_GetBuffer PyObject_GetBuffer -#define __Pyx_ReleaseBuffer PyBuffer_Release +#define __Pyx_T_UNSIGNED_INT(x) \ + ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ + ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ + ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : \ + ((sizeof(x) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))))) #endif - -Py_ssize_t __Pyx_zeros[] = {0}; -Py_ssize_t __Pyx_minusones[] = {-1}; - -static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ - -static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ - -static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ - -static int __Pyx_Print(PyObject *, int); /*proto*/ -#if PY_MAJOR_VERSION >= 3 -static PyObject* __pyx_print = 0; -static PyObject* __pyx_print_kwargs = 0; -#endif - -static int __Pyx_PrintOne(PyObject *o); /*proto*/ - -static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); - -static INLINE void __Pyx_RaiseTooManyValuesError(void); - -static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/ -static int __Pyx_EndUnpack(PyObject *); /*proto*/ - -#if __PYX_USE_C99_COMPLEX - #define __Pyx_REAL_PART(z) __real__(z) - #define __Pyx_IMAG_PART(z) __imag__(z) +#if !defined(T_LONGLONG) +#define __Pyx_T_SIGNED_INT(x) \ + ((sizeof(x) == sizeof(char)) ? T_BYTE : \ + ((sizeof(x) == sizeof(short)) ? T_SHORT : \ + ((sizeof(x) == sizeof(int)) ? T_INT : \ + ((sizeof(x) == sizeof(long)) ? T_LONG : -1)))) #else - #define __Pyx_REAL_PART(z) ((z).real) - #define __Pyx_IMAG_PART(z) ((z).imag) +#define __Pyx_T_SIGNED_INT(x) \ + ((sizeof(x) == sizeof(char)) ? T_BYTE : \ + ((sizeof(x) == sizeof(short)) ? T_SHORT : \ + ((sizeof(x) == sizeof(int)) ? T_INT : \ + ((sizeof(x) == sizeof(long)) ? T_LONG : \ + ((sizeof(x) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))))) #endif -#define __pyx_PyObject_from_complex(z) PyComplex_FromDoubles((double)__Pyx_REAL_PART(z), (double)__Pyx_IMAG_PART(z)) - -#if __PYX_USE_C99_COMPLEX - - typedef float _Complex __pyx_t_float_complex; - static INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - return x + y*(__pyx_t_float_complex)_Complex_I; - } - - #define __pyx_t_float_complex_is_zero(a) ((a) == 0) - #define __pyx_t_float_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_float_complex_add(a, b) ((a)+(b)) - #define __pyx_t_float_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_float_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_float_complex_div(a, b) ((a)/(b)) - #define __pyx_t_float_complex_neg(a) (-(a)) - -#else - - typedef struct { float real, imag; } __pyx_t_float_complex; - static INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { - __pyx_t_float_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_float_complex_is_zero(__pyx_t_float_complex a) { - return (a.real == 0) & (a.imag == 0); - } - - static INLINE int __pyx_t_float_complex_eq(__pyx_t_float_complex a, __pyx_t_float_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_add(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_sub(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_mul(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_div(__pyx_t_float_complex a, __pyx_t_float_complex b) { - __pyx_t_float_complex z; - float denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } - - static INLINE __pyx_t_float_complex __pyx_t_float_complex_neg(__pyx_t_float_complex a) { - __pyx_t_float_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - -#endif - -#if __PYX_USE_C99_COMPLEX - - typedef double _Complex __pyx_t_double_complex; - static INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - return x + y*(__pyx_t_double_complex)_Complex_I; - } - - #define __pyx_t_double_complex_is_zero(a) ((a) == 0) - #define __pyx_t_double_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_double_complex_add(a, b) ((a)+(b)) - #define __pyx_t_double_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_double_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_double_complex_div(a, b) ((a)/(b)) - #define __pyx_t_double_complex_neg(a) (-(a)) - -#else - - typedef struct { double real, imag; } __pyx_t_double_complex; - static INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { - __pyx_t_double_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_double_complex_is_zero(__pyx_t_double_complex a) { - return (a.real == 0) & (a.imag == 0); - } - - static INLINE int __pyx_t_double_complex_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_add(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_sub(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_mul(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_div(__pyx_t_double_complex a, __pyx_t_double_complex b) { - __pyx_t_double_complex z; - double denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } - - static INLINE __pyx_t_double_complex __pyx_t_double_complex_neg(__pyx_t_double_complex a) { - __pyx_t_double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - -#endif - -#if __PYX_USE_C99_COMPLEX - - typedef long double _Complex __pyx_t_long__double_complex; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_from_parts(long double x, long double y) { - return x + y*(__pyx_t_long__double_complex)_Complex_I; - } - - #define __pyx_t_long__double_complex_is_zero(a) ((a) == 0) - #define __pyx_t_long__double_complex_eq(a, b) ((a) == (b)) - #define __pyx_t_long__double_complex_add(a, b) ((a)+(b)) - #define __pyx_t_long__double_complex_sub(a, b) ((a)-(b)) - #define __pyx_t_long__double_complex_mul(a, b) ((a)*(b)) - #define __pyx_t_long__double_complex_div(a, b) ((a)/(b)) - #define __pyx_t_long__double_complex_neg(a) (-(a)) +#define __Pyx_T_FLOATING(x) \ + ((sizeof(x) == sizeof(float)) ? T_FLOAT : \ + ((sizeof(x) == sizeof(double)) ? T_DOUBLE : -1)) +#if !defined(T_SIZET) +#if !defined(T_ULONGLONG) +#define T_SIZET \ + ((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : -1)) #else +#define T_SIZET \ + ((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \ + ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : \ + ((sizeof(size_t) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))) +#endif +#endif - typedef struct { long double real, imag; } __pyx_t_long__double_complex; - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_from_parts(long double x, long double y) { - __pyx_t_long__double_complex c; c.real = x; c.imag = y; return c; - } - - static INLINE int __pyx_t_long__double_complex_is_zero(__pyx_t_long__double_complex a) { - return (a.real == 0) & (a.imag == 0); - } - - static INLINE int __pyx_t_long__double_complex_eq(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - return (a.real == b.real) & (a.imag == b.imag); - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_add(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real + b.real; - z.imag = a.imag + b.imag; - return z; - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_sub(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real - b.real; - z.imag = a.imag - b.imag; - return z; - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_mul(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - z.real = a.real * b.real - a.imag * b.imag; - z.imag = a.real * b.imag + a.imag * b.real; - return z; - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_div(__pyx_t_long__double_complex a, __pyx_t_long__double_complex b) { - __pyx_t_long__double_complex z; - long double denom = b.real*b.real + b.imag*b.imag; - z.real = (a.real * b.real + a.imag * b.imag) / denom; - z.imag = (a.imag * b.real - a.real * b.imag) / denom; - return z; - } - - static INLINE __pyx_t_long__double_complex __pyx_t_long__double_complex_neg(__pyx_t_long__double_complex a) { - __pyx_t_long__double_complex z; - z.real = -a.real; - z.imag = -a.imag; - return z; - } - -#endif - -static INLINE int __Pyx_StrEq(const char *, const char *); /*proto*/ - -static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); - -static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); - -static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); - -static INLINE char __Pyx_PyInt_AsChar(PyObject *); - -static INLINE short __Pyx_PyInt_AsShort(PyObject *); - -static INLINE int __Pyx_PyInt_AsInt(PyObject *); - -static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); - -static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); - -static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); - -static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); - -static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); - -static INLINE long __Pyx_PyInt_AsLong(PyObject *); - -static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); - -static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); - -static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); +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*); -static void __Pyx_WriteUnraisable(const char *name); /*proto*/ +#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) -static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ -static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size); /*proto*/ +#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; -static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ -static void __Pyx_AddTraceback(const char *funcname); /*proto*/ +#if !defined(CYTHON_CCOMPLEX) + #if defined(__cplusplus) + #define CYTHON_CCOMPLEX 1 + #elif defined(_Complex_I) + #define CYTHON_CCOMPLEX 1 + #else + #define CYTHON_CCOMPLEX 0 + #endif +#endif -static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #include + #else + #include + #endif +#endif -/* Type declarations */ +#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__) + #undef _Complex_I + #define _Complex_I 1.0fj +#endif typedef npy_int8 __pyx_t_5numpy_int8_t; @@ -688,14 +328,14 @@ typedef npy_float32 __pyx_t_5numpy_float32_t; typedef npy_float64 __pyx_t_5numpy_float64_t; -typedef npy_complex64 __pyx_t_5numpy_complex64_t; - -typedef npy_complex128 __pyx_t_5numpy_complex128_t; - typedef npy_long __pyx_t_5numpy_int_t; typedef npy_longlong __pyx_t_5numpy_long_t; +typedef npy_intp __pyx_t_5numpy_intp_t; + +typedef npy_uintp __pyx_t_5numpy_uintp_t; + typedef npy_ulong __pyx_t_5numpy_uint_t; typedef npy_ulonglong __pyx_t_5numpy_ulong_t; @@ -706,6 +346,28 @@ typedef npy_double __pyx_t_5numpy_double_t; typedef npy_longdouble __pyx_t_5numpy_longdouble_t; +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< float > __pyx_t_float_complex; + #else + typedef float _Complex __pyx_t_float_complex; + #endif +#else + typedef struct { float real, imag; } __pyx_t_float_complex; +#endif + +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + typedef ::std::complex< double > __pyx_t_double_complex; + #else + typedef double _Complex __pyx_t_double_complex; + #endif +#else + typedef struct { double real, imag; } __pyx_t_double_complex; +#endif + +/* Type declarations */ + typedef npy_cfloat __pyx_t_5numpy_cfloat_t; typedef npy_cdouble __pyx_t_5numpy_cdouble_t; @@ -714,7 +376,7 @@ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; typedef npy_cdouble __pyx_t_5numpy_complex_t; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":237 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":237 * # ---------------------------------------- * * cdef struct Pair: # <<<<<<<<<<<<<< @@ -727,7 +389,7 @@ struct __pyx_t_4bolt_7trainer_3sgd_Pair { __pyx_t_5numpy_float32_t val; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":62 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":62 * # ---------------------------------------- * * cdef class LossFunction: # <<<<<<<<<<<<<< @@ -740,7 +402,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_LossFunction { struct __pyx_vtabstruct_4bolt_7trainer_3sgd_LossFunction *__pyx_vtab; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":83 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":83 * raise NotImplementedError() * * cdef class Regression(LossFunction): # <<<<<<<<<<<<<< @@ -752,7 +414,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_Regression { struct __pyx_obj_4bolt_7trainer_3sgd_LossFunction __pyx_base; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":171 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":171 * return Log,() * * cdef class SquaredError(Regression): # <<<<<<<<<<<<<< @@ -764,7 +426,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_SquaredError { struct __pyx_obj_4bolt_7trainer_3sgd_Regression __pyx_base; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":465 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":465 * ######################################## * * cdef class PEGASOS: # <<<<<<<<<<<<<< @@ -779,7 +441,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_PEGASOS { double reg; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":290 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":290 * # ---------------------------------------- * * cdef class SGD: # <<<<<<<<<<<<<< @@ -797,7 +459,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_SGD { double alpha; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":182 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":182 * return SquaredError,() * * cdef class Huber(Regression): # <<<<<<<<<<<<<< @@ -810,7 +472,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_Huber { double c; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":91 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":91 * * * cdef class Classification(LossFunction): # <<<<<<<<<<<<<< @@ -822,7 +484,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_Classification { struct __pyx_obj_4bolt_7trainer_3sgd_LossFunction __pyx_base; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":129 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":129 * return ModifiedHuber,() * * cdef class Hinge(Classification): # <<<<<<<<<<<<<< @@ -834,7 +496,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_Hinge { struct __pyx_obj_4bolt_7trainer_3sgd_Classification __pyx_base; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":148 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":148 * * * cdef class Log(Classification): # <<<<<<<<<<<<<< @@ -846,7 +508,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_Log { struct __pyx_obj_4bolt_7trainer_3sgd_Classification __pyx_base; }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":98 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":98 * raise NotImplementedError() * * cdef class ModifiedHuber(Classification): # <<<<<<<<<<<<<< @@ -859,7 +521,7 @@ struct __pyx_obj_4bolt_7trainer_3sgd_ModifiedHuber { }; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":62 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":62 * # ---------------------------------------- * * cdef class LossFunction: # <<<<<<<<<<<<<< @@ -874,7 +536,7 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_LossFunction { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_LossFunction *__pyx_vtabptr_4bolt_7trainer_3sgd_LossFunction; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":83 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":83 * raise NotImplementedError() * * cdef class Regression(LossFunction): # <<<<<<<<<<<<<< @@ -888,7 +550,7 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Regression { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Regression *__pyx_vtabptr_4bolt_7trainer_3sgd_Regression; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":171 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":171 * return Log,() * * cdef class SquaredError(Regression): # <<<<<<<<<<<<<< @@ -902,7 +564,7 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_SquaredError { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_SquaredError *__pyx_vtabptr_4bolt_7trainer_3sgd_SquaredError; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":91 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":91 * * * cdef class Classification(LossFunction): # <<<<<<<<<<<<<< @@ -916,7 +578,7 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Classification { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Classification *__pyx_vtabptr_4bolt_7trainer_3sgd_Classification; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":148 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":148 * * * cdef class Log(Classification): # <<<<<<<<<<<<<< @@ -930,7 +592,7 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Log { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Log *__pyx_vtabptr_4bolt_7trainer_3sgd_Log; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":182 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":182 * return SquaredError,() * * cdef class Huber(Regression): # <<<<<<<<<<<<<< @@ -944,7 +606,7 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Huber { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Huber *__pyx_vtabptr_4bolt_7trainer_3sgd_Huber; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":290 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":290 * # ---------------------------------------- * * cdef class SGD: # <<<<<<<<<<<<<< @@ -958,7 +620,7 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_SGD { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_SGD *__pyx_vtabptr_4bolt_7trainer_3sgd_SGD; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":465 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":465 * ######################################## * * cdef class PEGASOS: # <<<<<<<<<<<<<< @@ -972,7 +634,7 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_PEGASOS { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_PEGASOS *__pyx_vtabptr_4bolt_7trainer_3sgd_PEGASOS; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":129 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":129 * return ModifiedHuber,() * * cdef class Hinge(Classification): # <<<<<<<<<<<<<< @@ -986,29 +648,364 @@ struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Hinge { static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Hinge *__pyx_vtabptr_4bolt_7trainer_3sgd_Hinge; -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":98 - * raise NotImplementedError() - * - * cdef class ModifiedHuber(Classification): # <<<<<<<<<<<<<< - * """Modified Huber loss function for binary - * classification tasks with y in {-1,1}. - */ +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":98 + * raise NotImplementedError() + * + * cdef class ModifiedHuber(Classification): # <<<<<<<<<<<<<< + * """Modified Huber loss function for binary + * classification tasks with y in {-1,1}. + */ + +struct __pyx_vtabstruct_4bolt_7trainer_3sgd_ModifiedHuber { + struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Classification __pyx_base; +}; +static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_ModifiedHuber *__pyx_vtabptr_4bolt_7trainer_3sgd_ModifiedHuber; + +#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 void __Pyx_RaiseDoubleKeywordsError( + const char* func_name, PyObject* kw_name); /*proto*/ + +static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, + Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/ + +static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/ + +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/ + +/* Run-time type information about structs used with buffers */ +struct __Pyx_StructField_; + +typedef struct { + const char* name; /* for error messages only */ + struct __Pyx_StructField_* fields; + size_t size; /* sizeof(type) */ + char typegroup; /* _R_eal, _C_omplex, Signed _I_nt, _U_nsigned int, _S_truct, _P_ointer, _O_bject */ +} __Pyx_TypeInfo; + +typedef struct __Pyx_StructField_ { + __Pyx_TypeInfo* type; + const char* name; + size_t offset; +} __Pyx_StructField; + +typedef struct { + __Pyx_StructField* field; + size_t parent_offset; +} __Pyx_BufFmt_StackElem; + + +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info); +static int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack); + +static void __Pyx_RaiseBufferFallbackError(void); /*proto*/ + +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); + +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(void); + +static PyObject *__Pyx_UnpackItem(PyObject *, Py_ssize_t index); /*proto*/ +static int __Pyx_EndUnpack(PyObject *); /*proto*/ + + +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { + PyObject *r; + if (!j) return NULL; + r = PyObject_GetItem(o, j); + Py_DECREF(j); + return r; +} + + +#define __Pyx_GetItemInt_List(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ + __Pyx_GetItemInt_List_Fast(o, i, size <= sizeof(long)) : \ + __Pyx_GetItemInt_Generic(o, to_py_func(i))) + +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, int fits_long) { + if (likely(o != Py_None)) { + if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) { + PyObject *r = PyList_GET_ITEM(o, i); + Py_INCREF(r); + return r; + } + else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) { + PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i); + Py_INCREF(r); + return r; + } + } + return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); +} + +#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ + __Pyx_GetItemInt_Tuple_Fast(o, i, size <= sizeof(long)) : \ + __Pyx_GetItemInt_Generic(o, to_py_func(i))) + +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, int fits_long) { + if (likely(o != Py_None)) { + if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { + PyObject *r = PyTuple_GET_ITEM(o, i); + Py_INCREF(r); + return r; + } + else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) { + PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i); + Py_INCREF(r); + return r; + } + } + return __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); +} + + +#define __Pyx_GetItemInt(o, i, size, to_py_func) ((size <= sizeof(Py_ssize_t)) ? \ + __Pyx_GetItemInt_Fast(o, i, size <= sizeof(long)) : \ + __Pyx_GetItemInt_Generic(o, to_py_func(i))) + +static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int fits_long) { + PyObject *r; + if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) { + r = PyList_GET_ITEM(o, i); + Py_INCREF(r); + } + else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) { + r = PyTuple_GET_ITEM(o, i); + Py_INCREF(r); + } + else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) { + r = PySequence_GetItem(o, i); + } + else { + r = __Pyx_GetItemInt_Generic(o, fits_long ? PyInt_FromLong(i) : PyLong_FromLongLong(i)); + } + return r; +} + +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 CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); + +static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/ + +static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, + const char *name, int exact); /*proto*/ +#if PY_MAJOR_VERSION < 3 +static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags); +static void __Pyx_ReleaseBuffer(Py_buffer *view); +#else +#define __Pyx_GetBuffer PyObject_GetBuffer +#define __Pyx_ReleaseBuffer PyBuffer_Release +#endif + +Py_ssize_t __Pyx_zeros[] = {0}; +Py_ssize_t __Pyx_minusones[] = {-1}; + +static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/ + +static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ + +static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ + +static int __Pyx_Print(PyObject *, int); /*proto*/ +#if PY_MAJOR_VERSION >= 3 +static PyObject* __pyx_print = 0; +static PyObject* __pyx_print_kwargs = 0; +#endif + +static int __Pyx_PrintOne(PyObject *o); /*proto*/ + +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + #define __Pyx_CREAL(z) ((z).real()) + #define __Pyx_CIMAG(z) ((z).imag()) + #else + #define __Pyx_CREAL(z) (__real__(z)) + #define __Pyx_CIMAG(z) (__imag__(z)) + #endif +#else + #define __Pyx_CREAL(z) ((z).real) + #define __Pyx_CIMAG(z) ((z).imag) +#endif + +#if defined(_WIN32) && defined(__cplusplus) && CYTHON_CCOMPLEX + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) +#else + #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x) + #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y) +#endif + +static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float); + +#if CYTHON_CCOMPLEX + #define __Pyx_c_eqf(a, b) ((a)==(b)) + #define __Pyx_c_sumf(a, b) ((a)+(b)) + #define __Pyx_c_difff(a, b) ((a)-(b)) + #define __Pyx_c_prodf(a, b) ((a)*(b)) + #define __Pyx_c_quotf(a, b) ((a)/(b)) + #define __Pyx_c_negf(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zerof(z) ((z)==(float)0) + #define __Pyx_c_conjf(z) (::std::conj(z)) + /*#define __Pyx_c_absf(z) (::std::abs(z))*/ + #else + #define __Pyx_c_is_zerof(z) ((z)==0) + #define __Pyx_c_conjf(z) (conjf(z)) + /*#define __Pyx_c_absf(z) (cabsf(z))*/ + #endif +#else + static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex, __pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex); + static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex); + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex); + /*static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex);*/ +#endif + +static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double); + +#if CYTHON_CCOMPLEX + #define __Pyx_c_eq(a, b) ((a)==(b)) + #define __Pyx_c_sum(a, b) ((a)+(b)) + #define __Pyx_c_diff(a, b) ((a)-(b)) + #define __Pyx_c_prod(a, b) ((a)*(b)) + #define __Pyx_c_quot(a, b) ((a)/(b)) + #define __Pyx_c_neg(a) (-(a)) + #ifdef __cplusplus + #define __Pyx_c_is_zero(z) ((z)==(double)0) + #define __Pyx_c_conj(z) (::std::conj(z)) + /*#define __Pyx_c_abs(z) (::std::abs(z))*/ + #else + #define __Pyx_c_is_zero(z) ((z)==0) + #define __Pyx_c_conj(z) (conj(z)) + /*#define __Pyx_c_abs(z) (cabs(z))*/ + #endif +#else + static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex, __pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex); + static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex); + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex); + /*static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex);*/ +#endif + +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 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_WriteUnraisable(const char *name); /*proto*/ + +static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/ + +static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict); /*proto*/ + +static PyObject *__Pyx_ImportModule(const char *name); /*proto*/ -struct __pyx_vtabstruct_4bolt_7trainer_3sgd_ModifiedHuber { - struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Classification __pyx_base; -}; -static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_ModifiedHuber *__pyx_vtabptr_4bolt_7trainer_3sgd_ModifiedHuber; +static void __Pyx_AddTraceback(const char *funcname); /*proto*/ + +static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ /* Module declarations from python_buffer */ +/* Module declarations from python_ref */ + /* Module declarations from stdlib */ +/* Module declarations from stdio */ + /* Module declarations from numpy */ /* Module declarations from numpy */ static PyTypeObject *__pyx_ptype_5numpy_dtype = 0; +static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0; +static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0; static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0; -static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ +static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0; +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *, PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); /*proto*/ +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/ +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *, PyObject *); /*proto*/ +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *); /*proto*/ /* Module declarations from cython */ /* Module declarations from bolt.trainer.sgd */ @@ -1023,202 +1020,230 @@ static PyTypeObject *__pyx_ptype_4bolt_7trainer_3sgd_SquaredError = 0; static PyTypeObject *__pyx_ptype_4bolt_7trainer_3sgd_Huber = 0; static PyTypeObject *__pyx_ptype_4bolt_7trainer_3sgd_SGD = 0; static PyTypeObject *__pyx_ptype_4bolt_7trainer_3sgd_PEGASOS = 0; -static PyObject *__pyx_k_32 = 0; -static PyObject *__pyx_k_33 = 0; -static PyObject *__pyx_k_34 = 0; -static INLINE double __pyx_f_4bolt_7trainer_3sgd_max(double, double); /*proto*/ -static INLINE double __pyx_f_4bolt_7trainer_3sgd_min(double, double); /*proto*/ +static CYTHON_INLINE double __pyx_f_4bolt_7trainer_3sgd_max(double, double); /*proto*/ +static CYTHON_INLINE double __pyx_f_4bolt_7trainer_3sgd_min(double, double); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_dot(double *, struct __pyx_t_4bolt_7trainer_3sgd_Pair *, int); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_dot_checked(double *, struct __pyx_t_4bolt_7trainer_3sgd_Pair *, int, int); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_add(double *, double, struct __pyx_t_4bolt_7trainer_3sgd_Pair *, int, double); /*proto*/ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double, double *, double *, struct __pyx_t_4bolt_7trainer_3sgd_Pair *, int, double); /*proto*/ -static INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *, double *, double *, double); /*proto*/ -static INLINE void __pyx_f_4bolt_7trainer_3sgd_scale(double *, double *, double); /*proto*/ +static CYTHON_INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *, double *, double *, double); /*proto*/ +static CYTHON_INLINE void __pyx_f_4bolt_7trainer_3sgd_scale(double *, double *, double); /*proto*/ static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t = { "numpy.float64_t", NULL, sizeof(__pyx_t_5numpy_float64_t), 'R' }; #define __Pyx_MODULE_NAME "bolt.trainer.sgd" int __pyx_module_is_main_bolt__trainer__sgd = 0; /* Implementation of bolt.trainer.sgd */ -static char __pyx_k_31[] = "\"Peter Prettenhofer\" "; -static PyObject *__pyx_int_5; -static PyObject *__pyx_int_2; -static PyObject *__pyx_int_0; -static PyObject *__pyx_int_1; -static PyObject *__pyx_int_3; -static char __pyx_k___main__[] = "__main__"; -static PyObject *__pyx_kp___main__; -static char __pyx_k_loss[] = "loss"; -static PyObject *__pyx_kp_loss; -static char __pyx_k_dloss[] = "dloss"; -static PyObject *__pyx_kp_dloss; -static char __pyx_k___reduce__[] = "__reduce__"; -static PyObject *__pyx_kp___reduce__; -static char __pyx_k___init__[] = "__init__"; -static PyObject *__pyx_kp___init__; -static char __pyx_k_train[] = "train"; -static PyObject *__pyx_kp_train; -static char __pyx_k_p[] = "p"; -static PyObject *__pyx_kp_p; -static char __pyx_k_y[] = "y"; -static PyObject *__pyx_kp_y; -static char __pyx_k_c[] = "c"; -static PyObject *__pyx_kp_c; -static char __pyx_k_x[] = "x"; -static PyObject *__pyx_kp_x; -static char __pyx_k_w[] = "w"; -static PyObject *__pyx_kp_w; -static char __pyx_k_bias[] = "bias"; -static PyObject *__pyx_kp_bias; -static char __pyx_k_reg[] = "reg"; -static PyObject *__pyx_kp_reg; -static char __pyx_k_epochs[] = "epochs"; -static PyObject *__pyx_kp_epochs; -static char __pyx_k_norm[] = "norm"; -static PyObject *__pyx_kp_norm; -static char __pyx_k_alpha[] = "alpha"; -static PyObject *__pyx_kp_alpha; -static char __pyx_k_model[] = "model"; -static PyObject *__pyx_kp_model; -static char __pyx_k_dataset[] = "dataset"; -static PyObject *__pyx_kp_dataset; -static char __pyx_k_verbose[] = "verbose"; -static PyObject *__pyx_kp_verbose; -static char __pyx_k_shuffle[] = "shuffle"; -static PyObject *__pyx_kp_shuffle; -static char __pyx_k_numpy[] = "numpy"; -static PyObject *__pyx_kp_numpy; -static char __pyx_k_np[] = "np"; -static PyObject *__pyx_kp_np; -static char __pyx_k_sys[] = "sys"; -static PyObject *__pyx_kp_sys; -static char __pyx_k_time[] = "time"; -static PyObject *__pyx_kp_time; -static char __pyx_k_itertools[] = "itertools"; -static PyObject *__pyx_kp_itertools; -static char __pyx_k_izip[] = "izip"; -static PyObject *__pyx_kp_izip; -static char __pyx_k___authors__[] = "__authors__"; -static PyObject *__pyx_kp___authors__; -static char __pyx_k_NotImplementedError[] = "NotImplementedError"; -static PyObject *__pyx_kp_NotImplementedError; -static char __pyx_k_ValueError[] = "ValueError"; -static PyObject *__pyx_kp_ValueError; -static char __pyx_k_m[] = "m"; -static PyObject *__pyx_kp_m; -static char __pyx_k_n[] = "n"; -static PyObject *__pyx_kp_n; -static char __pyx_k_zeros[] = "zeros"; -static PyObject *__pyx_kp_zeros; -static char __pyx_k_dtype[] = "dtype"; -static PyObject *__pyx_kp_dtype; -static char __pyx_k_39[] = "float64"; -static PyObject *__pyx_kp_39; -static char __pyx_k_order[] = "order"; -static PyObject *__pyx_kp_order; -static char __pyx_k_40[] = "c"; -static PyObject *__pyx_kp_40; -static char __pyx_k_biasterm[] = "biasterm"; -static PyObject *__pyx_kp_biasterm; -static char __pyx_k_dot[] = "dot"; -static PyObject *__pyx_kp_dot; -static char __pyx_k_nonzero[] = "nonzero"; -static PyObject *__pyx_kp_nonzero; -static char __pyx_k_shape[] = "shape"; -static PyObject *__pyx_kp_shape; -static char __pyx_k_any[] = "any"; -static PyObject *__pyx_kp_any; -static char __pyx_k_isinf[] = "isinf"; -static PyObject *__pyx_kp_isinf; -static char __pyx_k_isnan[] = "isnan"; -static PyObject *__pyx_kp_isnan; -static char __pyx_k_sqrt[] = "sqrt"; -static PyObject *__pyx_kp_sqrt; -static PyObject *__pyx_kp_31; static PyObject *__pyx_builtin_NotImplementedError; static PyObject *__pyx_builtin_ValueError; -static PyObject *__pyx_kp_35; -static PyObject *__pyx_kp_36; -static PyObject *__pyx_kp_37; -static PyObject *__pyx_kp_38; -static char __pyx_k_35[] = "Loss function must not be None."; -static char __pyx_k_36[] = "reg must be larger than 0. "; -static char __pyx_k_37[] = "norm must be in {1,2,3}. "; -static char __pyx_k_38[] = "alpha must be in [0,1]. "; -static PyObject *__pyx_kp_41; -static PyObject *__pyx_kp_42; -static PyObject *__pyx_kp_43; -static PyObject *__pyx_kp_44; -static char __pyx_k_41[] = "-- Epoch %d"; -static char __pyx_k_42[] = "Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f"; -static char __pyx_k_43[] = "Total training time: %.2f seconds."; -static char __pyx_k_44[] = "floating-point under-/overflow occured."; -static PyObject *__pyx_kp_45; -static char __pyx_k_45[] = "`reg` must be larger than 0. "; -static PyObject *__pyx_kp_46; -static PyObject *__pyx_kp_47; -static PyObject *__pyx_kp_48; -static PyObject *__pyx_kp_49; -static char __pyx_k_46[] = "-- Epoch %d"; -static char __pyx_k_47[] = "Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f"; -static char __pyx_k_48[] = "Total training time: %.2f seconds."; -static char __pyx_k_49[] = "floating-point under-/overflow occured."; -static PyObject *__pyx_int_15; -static char __pyx_k___getbuffer__[] = "__getbuffer__"; -static PyObject *__pyx_kp___getbuffer__; -static char __pyx_k___releasebuffer__[] = "__releasebuffer__"; -static PyObject *__pyx_kp___releasebuffer__; -static char __pyx_k_info[] = "info"; -static PyObject *__pyx_kp_info; -static char __pyx_k_flags[] = "flags"; -static PyObject *__pyx_kp_flags; -static char __pyx_k_range[] = "range"; -static PyObject *__pyx_kp_range; -static char __pyx_k_itervalues[] = "itervalues"; -static PyObject *__pyx_kp_itervalues; -static char __pyx_k_RuntimeError[] = "RuntimeError"; -static PyObject *__pyx_kp_RuntimeError; -static PyObject *__pyx_kp_1; -static PyObject *__pyx_kp_2; -static PyObject *__pyx_kp_5; -static PyObject *__pyx_kp_23; static PyObject *__pyx_builtin_range; static PyObject *__pyx_builtin_RuntimeError; -static char __pyx_k_1[] = "ndarray is not C contiguous"; -static char __pyx_k_2[] = "ndarray is not Fortran contiguous"; -static char __pyx_k_3[] = ">"; -static char __pyx_k_4[] = "<"; -static char __pyx_k_5[] = "Non-native byte order not supported"; -static char __pyx_k_6[] = "b"; -static char __pyx_k_7[] = "B"; -static char __pyx_k_8[] = "h"; -static char __pyx_k_9[] = "H"; -static char __pyx_k_10[] = "i"; -static char __pyx_k_11[] = "I"; -static char __pyx_k_12[] = "l"; -static char __pyx_k_13[] = "L"; -static char __pyx_k_14[] = "q"; -static char __pyx_k_15[] = "Q"; -static char __pyx_k_16[] = "f"; -static char __pyx_k_17[] = "d"; -static char __pyx_k_18[] = "g"; -static char __pyx_k_19[] = "Zf"; -static char __pyx_k_20[] = "Zd"; -static char __pyx_k_21[] = "Zg"; -static char __pyx_k_22[] = "O"; -static char __pyx_k_23[] = "unknown dtype code in numpy.pxd (%d)"; -static char __pyx_k_24[] = "^"; -static PyObject *__pyx_kp_25; -static PyObject *__pyx_kp_28; -static PyObject *__pyx_kp_29; -static PyObject *__pyx_kp_30; -static char __pyx_k_25[] = "Format string allocated too short, see comment in numpy.pxd"; -static char __pyx_k_26[] = ">"; -static char __pyx_k_27[] = "<"; -static char __pyx_k_28[] = "Non-native byte order not supported"; -static char __pyx_k_29[] = "Format string allocated too short."; -static char __pyx_k_30[] = "unknown dtype code in numpy.pxd (%d)"; - -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":64 +static char __pyx_k_2[] = "Loss function must not be None."; +static char __pyx_k_3[] = "reg must be larger than 0. "; +static char __pyx_k_4[] = "norm must be in {1,2,3}. "; +static char __pyx_k_5[] = "alpha must be in [0,1]. "; +static char __pyx_k_7[] = "-- Epoch %d"; +static char __pyx_k_8[] = "Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f"; +static char __pyx_k_9[] = "Total training time: %.2f seconds."; +static char __pyx_k_10[] = "floating-point under-/overflow occured."; +static char __pyx_k_11[] = "`reg` must be larger than 0. "; +static char __pyx_k_13[] = "ndarray is not C contiguous"; +static char __pyx_k_14[] = "ndarray is not Fortran contiguous"; +static char __pyx_k_15[] = "Non-native byte order not supported"; +static char __pyx_k_16[] = "unknown dtype code in numpy.pxd (%d)"; +static char __pyx_k_17[] = "Format string allocated too short, see comment in numpy.pxd"; +static char __pyx_k_18[] = "Format string allocated too short."; +static char __pyx_k_19[] = "\nThe :mod:`bolt.trainer.sgd` module is the core of bolt. Its an extension\nmodule written in cython containing efficient implementations of Stochastic Gradient Descent and PEGASOS.\n\nThe module contains two `Trainer` classes:\n\n * :class:`SGD`: A plain stochastic gradient descent implementation, supporting various :class:`LossFunction` and different penalties, including L1, L2, and Elastic-net penalty.\n * :class:`PEGASOS`: Similar to SGD, however, after each update it projects the current weight vector onto the L2 ball of radius 1/sqrt(lambda). Currently, only supports hinge loss and L2 penalty. \n\nThe module contains a number of concrete `LossFunction` implementations\nthat can be plugged into the `SGD` trainer. Bolt provides `LossFunctions`\nfor `Classification` and `Regression`.\n\nThe following :class:`Classification` loss functions are supported:\n\n * :class:`ModifiedHuber`: A quadratical smoothed version of the hinge loss. \n * :class:`Hinge`: The loss function employed by the Support Vector Machine classifier.\n * :class:`Log`: The loss function of Logistic Regression.\n\nThe following :class:`Regression` loss functions are supported:\n\n * :class:`SquaredError`: Standard squared error loss function.\n \n * :class:`Huber`: Huber robust regression loss.\n\nThe module also contains a number of utility function:\n\n * :func:`predict`: computes the dot product between a sparse and a dense feature vector. \n\n"; +static char __pyx_k_20[] = "\"Peter Prettenhofer\" "; +static char __pyx_k_21[] = "LossFunction.loss (line 64)"; +static char __pyx_k_22[] = "LossFunction.dloss (line 73)"; +static char __pyx_k_23[] = "predict (line 212)"; +static char __pyx_k_24[] = "SGD.__init__ (line 311)"; +static char __pyx_k_25[] = "SGD.train (line 341)"; +static char __pyx_k_26[] = "PEGASOS.train (line 484)"; +static char __pyx_k__B[] = "B"; +static char __pyx_k__H[] = "H"; +static char __pyx_k__I[] = "I"; +static char __pyx_k__L[] = "L"; +static char __pyx_k__O[] = "O"; +static char __pyx_k__Q[] = "Q"; +static char __pyx_k__b[] = "b"; +static char __pyx_k__c[] = "c"; +static char __pyx_k__d[] = "d"; +static char __pyx_k__f[] = "f"; +static char __pyx_k__g[] = "g"; +static char __pyx_k__h[] = "h"; +static char __pyx_k__i[] = "i"; +static char __pyx_k__l[] = "l"; +static char __pyx_k__m[] = "m"; +static char __pyx_k__n[] = "n"; +static char __pyx_k__p[] = "p"; +static char __pyx_k__q[] = "q"; +static char __pyx_k__w[] = "w"; +static char __pyx_k__x[] = "x"; +static char __pyx_k__y[] = "y"; +static char __pyx_k__Zd[] = "Zd"; +static char __pyx_k__Zf[] = "Zf"; +static char __pyx_k__Zg[] = "Zg"; +static char __pyx_k__np[] = "np"; +static char __pyx_k__SGD[] = "SGD"; +static char __pyx_k__any[] = "any"; +static char __pyx_k__buf[] = "buf"; +static char __pyx_k__dot[] = "dot"; +static char __pyx_k__idx[] = "idx"; +static char __pyx_k__obj[] = "obj"; +static char __pyx_k__reg[] = "reg"; +static char __pyx_k__sys[] = "sys"; +static char __pyx_k__val[] = "val"; +static char __pyx_k__base[] = "base"; +static char __pyx_k__bias[] = "bias"; +static char __pyx_k__data[] = "data"; +static char __pyx_k__izip[] = "izip"; +static char __pyx_k__loss[] = "loss"; +static char __pyx_k__ndim[] = "ndim"; +static char __pyx_k__norm[] = "norm"; +static char __pyx_k__sqrt[] = "sqrt"; +static char __pyx_k__time[] = "time"; +static char __pyx_k__alpha[] = "alpha"; +static char __pyx_k__descr[] = "descr"; +static char __pyx_k__dloss[] = "dloss"; +static char __pyx_k__dtype[] = "dtype"; +static char __pyx_k__isinf[] = "isinf"; +static char __pyx_k__isnan[] = "isnan"; +static char __pyx_k__model[] = "model"; +static char __pyx_k__names[] = "names"; +static char __pyx_k__numpy[] = "numpy"; +static char __pyx_k__order[] = "order"; +static char __pyx_k__range[] = "range"; +static char __pyx_k__shape[] = "shape"; +static char __pyx_k__train[] = "train"; +static char __pyx_k__zeros[] = "zeros"; +static char __pyx_k___train[] = "_train"; +static char __pyx_k__epochs[] = "epochs"; +static char __pyx_k__fields[] = "fields"; +static char __pyx_k__format[] = "format"; +static char __pyx_k__PEGASOS[] = "PEGASOS"; +static char __pyx_k__dataset[] = "dataset"; +static char __pyx_k__float64[] = "float64"; +static char __pyx_k__nonzero[] = "nonzero"; +static char __pyx_k__predict[] = "predict"; +static char __pyx_k__shuffle[] = "shuffle"; +static char __pyx_k__strides[] = "strides"; +static char __pyx_k__verbose[] = "verbose"; +static char __pyx_k____init__[] = "__init__"; +static char __pyx_k____main__[] = "__main__"; +static char __pyx_k____test__[] = "__test__"; +static char __pyx_k__biasterm[] = "biasterm"; +static char __pyx_k__itemsize[] = "itemsize"; +static char __pyx_k__readonly[] = "readonly"; +static char __pyx_k__type_num[] = "type_num"; +static char __pyx_k__byteorder[] = "byteorder"; +static char __pyx_k__itertools[] = "itertools"; +static char __pyx_k__ValueError[] = "ValueError"; +static char __pyx_k__suboffsets[] = "suboffsets"; +static char __pyx_k____authors__[] = "__authors__"; +static char __pyx_k__LossFunction[] = "LossFunction"; +static char __pyx_k__RuntimeError[] = "RuntimeError"; +static char __pyx_k__NotImplementedError[] = "NotImplementedError"; +static PyObject *__pyx_kp_s_10; +static PyObject *__pyx_kp_s_11; +static PyObject *__pyx_kp_u_13; +static PyObject *__pyx_kp_u_14; +static PyObject *__pyx_kp_u_15; +static PyObject *__pyx_kp_u_16; +static PyObject *__pyx_kp_u_17; +static PyObject *__pyx_kp_u_18; +static PyObject *__pyx_kp_s_2; +static PyObject *__pyx_kp_s_20; +static PyObject *__pyx_kp_u_21; +static PyObject *__pyx_kp_u_22; +static PyObject *__pyx_kp_u_23; +static PyObject *__pyx_kp_u_24; +static PyObject *__pyx_kp_u_25; +static PyObject *__pyx_kp_u_26; +static PyObject *__pyx_kp_s_3; +static PyObject *__pyx_kp_s_4; +static PyObject *__pyx_kp_s_5; +static PyObject *__pyx_kp_s_7; +static PyObject *__pyx_kp_s_8; +static PyObject *__pyx_kp_s_9; +static PyObject *__pyx_n_s__LossFunction; +static PyObject *__pyx_n_s__NotImplementedError; +static PyObject *__pyx_n_s__PEGASOS; +static PyObject *__pyx_n_s__RuntimeError; +static PyObject *__pyx_n_s__SGD; +static PyObject *__pyx_n_s__ValueError; +static PyObject *__pyx_n_s____authors__; +static PyObject *__pyx_n_s____init__; +static PyObject *__pyx_n_s____main__; +static PyObject *__pyx_n_s____test__; +static PyObject *__pyx_n_s___train; +static PyObject *__pyx_n_s__alpha; +static PyObject *__pyx_n_s__any; +static PyObject *__pyx_n_s__base; +static PyObject *__pyx_n_s__bias; +static PyObject *__pyx_n_s__biasterm; +static PyObject *__pyx_n_s__buf; +static PyObject *__pyx_n_s__byteorder; +static PyObject *__pyx_n_s__c; +static PyObject *__pyx_n_s__data; +static PyObject *__pyx_n_s__dataset; +static PyObject *__pyx_n_s__descr; +static PyObject *__pyx_n_s__dloss; +static PyObject *__pyx_n_s__dot; +static PyObject *__pyx_n_s__dtype; +static PyObject *__pyx_n_s__epochs; +static PyObject *__pyx_n_s__fields; +static PyObject *__pyx_n_s__float64; +static PyObject *__pyx_n_s__format; +static PyObject *__pyx_n_s__idx; +static PyObject *__pyx_n_s__isinf; +static PyObject *__pyx_n_s__isnan; +static PyObject *__pyx_n_s__itemsize; +static PyObject *__pyx_n_s__itertools; +static PyObject *__pyx_n_s__izip; +static PyObject *__pyx_n_s__loss; +static PyObject *__pyx_n_s__m; +static PyObject *__pyx_n_s__model; +static PyObject *__pyx_n_s__n; +static PyObject *__pyx_n_s__names; +static PyObject *__pyx_n_s__ndim; +static PyObject *__pyx_n_s__nonzero; +static PyObject *__pyx_n_s__norm; +static PyObject *__pyx_n_s__np; +static PyObject *__pyx_n_s__numpy; +static PyObject *__pyx_n_s__obj; +static PyObject *__pyx_n_s__order; +static PyObject *__pyx_n_s__p; +static PyObject *__pyx_n_s__predict; +static PyObject *__pyx_n_s__range; +static PyObject *__pyx_n_s__readonly; +static PyObject *__pyx_n_s__reg; +static PyObject *__pyx_n_s__shape; +static PyObject *__pyx_n_s__shuffle; +static PyObject *__pyx_n_s__sqrt; +static PyObject *__pyx_n_s__strides; +static PyObject *__pyx_n_s__suboffsets; +static PyObject *__pyx_n_s__sys; +static PyObject *__pyx_n_s__time; +static PyObject *__pyx_n_s__train; +static PyObject *__pyx_n_s__type_num; +static PyObject *__pyx_n_s__val; +static PyObject *__pyx_n_s__verbose; +static PyObject *__pyx_n_s__w; +static PyObject *__pyx_n_s__x; +static PyObject *__pyx_n_s__y; +static PyObject *__pyx_n_s__zeros; +static PyObject *__pyx_int_0; +static PyObject *__pyx_int_1; +static PyObject *__pyx_int_2; +static PyObject *__pyx_int_3; +static PyObject *__pyx_int_5; +static PyObject *__pyx_int_15; +static PyObject *__pyx_k_1; +static PyObject *__pyx_k_6; +static PyObject *__pyx_k_12; + +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":64 * cdef class LossFunction: * """Base class for convex loss functions""" * cpdef double loss(self, double p, double y): # <<<<<<<<<<<<<< @@ -1229,71 +1254,71 @@ static char __pyx_k_30[] = "unknown dtype code in numpy.pxd (%d)"; static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_loss(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_12LossFunction_loss(struct __pyx_obj_4bolt_7trainer_3sgd_LossFunction *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - __Pyx_SetupRefcountContext("loss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + __Pyx_RefNannySetupContext("loss"); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_loss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_loss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__loss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_loss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":72 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":72 * :type y: double * :returns: double""" * raise NotImplementedError() # <<<<<<<<<<<<<< * cpdef double dloss(self, double p, double y): * """Evaluate the derivative of the loss function. */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.LossFunction.loss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":64 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":64 * cdef class LossFunction: * """Base class for convex loss functions""" * cpdef double loss(self, double p, double y): # <<<<<<<<<<<<<< @@ -1308,8 +1333,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_loss(PyObject *__py double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("loss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("loss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -1321,11 +1346,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_loss(PyObject *__py } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("loss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -1334,13 +1359,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_loss(PyObject *__py if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "loss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -1364,11 +1389,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_loss(PyObject *__py __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":73 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":73 * :returns: double""" * raise NotImplementedError() * cpdef double dloss(self, double p, double y): # <<<<<<<<<<<<<< @@ -1379,71 +1404,71 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_loss(PyObject *__py static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_dloss(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_12LossFunction_dloss(struct __pyx_obj_4bolt_7trainer_3sgd_LossFunction *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - __Pyx_SetupRefcountContext("dloss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + __Pyx_RefNannySetupContext("dloss"); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_dloss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_dloss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__dloss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_dloss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":81 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":81 * :type y: double * :returns: double""" * raise NotImplementedError() # <<<<<<<<<<<<<< * * cdef class Regression(LossFunction): */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.LossFunction.dloss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":73 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":73 * :returns: double""" * raise NotImplementedError() * cpdef double dloss(self, double p, double y): # <<<<<<<<<<<<<< @@ -1458,8 +1483,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_dloss(PyObject *__p double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("dloss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("dloss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -1471,11 +1496,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_dloss(PyObject *__p } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("dloss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -1484,13 +1509,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_dloss(PyObject *__p if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "dloss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -1514,11 +1539,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_dloss(PyObject *__p __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":85 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":85 * cdef class Regression(LossFunction): * """Base class for loss functions for regression.""" * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -1529,71 +1554,71 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12LossFunction_dloss(PyObject *__p static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_loss(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_10Regression_loss(struct __pyx_obj_4bolt_7trainer_3sgd_Regression *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - __Pyx_SetupRefcountContext("loss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + __Pyx_RefNannySetupContext("loss"); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_loss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_10Regression_loss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__loss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_10Regression_loss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":86 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":86 * """Base class for loss functions for regression.""" * cpdef double loss(self,double p,double y): * raise NotImplementedError() # <<<<<<<<<<<<<< * cpdef double dloss(self,double p,double y): * raise NotImplementedError() */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Regression.loss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":85 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":85 * cdef class Regression(LossFunction): * """Base class for loss functions for regression.""" * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -1607,8 +1632,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_loss(PyObject *__pyx_ double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("loss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("loss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -1620,11 +1645,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_loss(PyObject *__pyx_ } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("loss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -1633,13 +1658,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_loss(PyObject *__pyx_ if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "loss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -1663,11 +1688,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_loss(PyObject *__pyx_ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":87 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":87 * cpdef double loss(self,double p,double y): * raise NotImplementedError() * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -1678,71 +1703,71 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_loss(PyObject *__pyx_ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_dloss(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_10Regression_dloss(struct __pyx_obj_4bolt_7trainer_3sgd_Regression *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - __Pyx_SetupRefcountContext("dloss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + __Pyx_RefNannySetupContext("dloss"); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_dloss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_10Regression_dloss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__dloss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_10Regression_dloss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":88 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":88 * raise NotImplementedError() * cpdef double dloss(self,double p,double y): * raise NotImplementedError() # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Regression.dloss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":87 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":87 * cpdef double loss(self,double p,double y): * raise NotImplementedError() * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -1756,8 +1781,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_dloss(PyObject *__pyx double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("dloss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("dloss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -1769,11 +1794,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_dloss(PyObject *__pyx } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("dloss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -1782,13 +1807,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_dloss(PyObject *__pyx if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "dloss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -1812,11 +1837,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_dloss(PyObject *__pyx __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":93 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":93 * cdef class Classification(LossFunction): * """Base class for loss functions for classification.""" * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -1827,71 +1852,71 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_10Regression_dloss(PyObject *__pyx static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_loss(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_14Classification_loss(struct __pyx_obj_4bolt_7trainer_3sgd_Classification *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - __Pyx_SetupRefcountContext("loss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + __Pyx_RefNannySetupContext("loss"); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_loss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_14Classification_loss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__loss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_14Classification_loss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":94 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":94 * """Base class for loss functions for classification.""" * cpdef double loss(self,double p,double y): * raise NotImplementedError() # <<<<<<<<<<<<<< * cpdef double dloss(self,double p,double y): * raise NotImplementedError() */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Classification.loss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":93 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":93 * cdef class Classification(LossFunction): * """Base class for loss functions for classification.""" * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -1905,8 +1930,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_loss(PyObject *__ double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("loss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("loss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -1918,11 +1943,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_loss(PyObject *__ } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("loss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -1931,13 +1956,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_loss(PyObject *__ if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "loss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -1961,11 +1986,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_loss(PyObject *__ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":95 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":95 * cpdef double loss(self,double p,double y): * raise NotImplementedError() * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -1976,71 +2001,71 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_loss(PyObject *__ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_dloss(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_14Classification_dloss(struct __pyx_obj_4bolt_7trainer_3sgd_Classification *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - __Pyx_SetupRefcountContext("dloss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + __Pyx_RefNannySetupContext("dloss"); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_dloss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_14Classification_dloss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__dloss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_14Classification_dloss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":96 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":96 * raise NotImplementedError() * cpdef double dloss(self,double p,double y): * raise NotImplementedError() # <<<<<<<<<<<<<< * * cdef class ModifiedHuber(Classification): */ - __pyx_t_2 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_Raise(__pyx_t_1, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Classification.dloss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":95 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":95 * cpdef double loss(self,double p,double y): * raise NotImplementedError() * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2054,8 +2079,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_dloss(PyObject *_ double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("dloss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("dloss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -2067,11 +2092,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_dloss(PyObject *_ } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("dloss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -2080,13 +2105,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_dloss(PyObject *_ if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "dloss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -2110,11 +2135,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_14Classification_dloss(PyObject *_ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":108 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":108 * Stochastic Gradient Descent', ICML'04. * """ * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2126,45 +2151,46 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_loss(PyObject *__p static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_loss(struct __pyx_obj_4bolt_7trainer_3sgd_ModifiedHuber *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_v_z; double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("loss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("loss"); + __Pyx_INCREF((PyObject *)__pyx_v_self); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_loss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_loss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__loss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_loss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":109 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":109 * """ * cpdef double loss(self,double p,double y): * cdef double z = p*y # <<<<<<<<<<<<<< @@ -2173,17 +2199,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_loss(struct __pyx_obj */ __pyx_v_z = (__pyx_v_p * __pyx_v_y); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":110 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":110 * cpdef double loss(self,double p,double y): * cdef double z = p*y * if z >= 1: # <<<<<<<<<<<<<< * return 0 * elif z >= -1: */ - __pyx_t_5 = (__pyx_v_z >= 1); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z >= 1); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":111 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":111 * cdef double z = p*y * if z >= 1: * return 0 # <<<<<<<<<<<<<< @@ -2195,17 +2221,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_loss(struct __pyx_obj goto __pyx_L3; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":112 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":112 * if z >= 1: * return 0 * elif z >= -1: # <<<<<<<<<<<<<< * return (1-z) * (1-z) * else: */ - __pyx_t_5 = (__pyx_v_z >= -1); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z >= -1); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":113 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":113 * return 0 * elif z >= -1: * return (1-z) * (1-z) # <<<<<<<<<<<<<< @@ -2218,7 +2244,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_loss(struct __pyx_obj } /*else*/ { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":115 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":115 * return (1-z) * (1-z) * else: * return -4*z # <<<<<<<<<<<<<< @@ -2233,18 +2259,19 @@ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_loss(struct __pyx_obj __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.ModifiedHuber.loss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":108 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":108 * Stochastic Gradient Descent', ICML'04. * """ * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2258,8 +2285,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_loss(PyObject *__p double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("loss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("loss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -2271,11 +2298,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_loss(PyObject *__p } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("loss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -2284,13 +2311,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_loss(PyObject *__p if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "loss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -2314,11 +2341,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_loss(PyObject *__p __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":117 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":117 * return -4*z * * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2330,45 +2357,46 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(PyObject *__ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(struct __pyx_obj_4bolt_7trainer_3sgd_ModifiedHuber *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_v_z; double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("dloss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("dloss"); + __Pyx_INCREF((PyObject *)__pyx_v_self); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_dloss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_dloss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__dloss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_dloss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":118 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":118 * * cpdef double dloss(self,double p,double y): * cdef double z = p*y # <<<<<<<<<<<<<< @@ -2377,17 +2405,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(struct __pyx_ob */ __pyx_v_z = (__pyx_v_p * __pyx_v_y); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":119 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":119 * cpdef double dloss(self,double p,double y): * cdef double z = p*y * if z >= 1: # <<<<<<<<<<<<<< * return 0 * elif z >= -1: */ - __pyx_t_5 = (__pyx_v_z >= 1); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z >= 1); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":120 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":120 * cdef double z = p*y * if z >= 1: * return 0 # <<<<<<<<<<<<<< @@ -2399,17 +2427,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(struct __pyx_ob goto __pyx_L3; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":121 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":121 * if z >= 1: * return 0 * elif z >= -1: # <<<<<<<<<<<<<< * return 2*(1-z)*y * else: */ - __pyx_t_5 = (__pyx_v_z >= -1); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z >= -1); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":122 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":122 * return 0 * elif z >= -1: * return 2*(1-z)*y # <<<<<<<<<<<<<< @@ -2422,7 +2450,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(struct __pyx_ob } /*else*/ { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":124 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":124 * return 2*(1-z)*y * else: * return 4*y # <<<<<<<<<<<<<< @@ -2437,18 +2465,19 @@ static double __pyx_f_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(struct __pyx_ob __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.ModifiedHuber.dloss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":117 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":117 * return -4*z * * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2462,8 +2491,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(PyObject *__ double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("dloss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("dloss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -2475,11 +2504,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(PyObject *__ } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("dloss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -2488,13 +2517,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(PyObject *__ if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "dloss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -2518,11 +2547,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber_dloss(PyObject *__ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":126 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":126 * return 4*y * * def __reduce__(self): # <<<<<<<<<<<<<< @@ -2534,9 +2563,9 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber___reduce__(PyObjec static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber___reduce__(PyObject *__pyx_v_self, PyObject *unused) { PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - __Pyx_SetupRefcountContext("__reduce__"); + __Pyx_RefNannySetupContext("__reduce__"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":127 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":127 * * def __reduce__(self): * return ModifiedHuber,() # <<<<<<<<<<<<<< @@ -2545,14 +2574,14 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber___reduce__(PyObjec */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_ModifiedHuber))); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_ModifiedHuber))); __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_ModifiedHuber))); __Pyx_INCREF(((PyObject *)__pyx_empty_tuple)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_empty_tuple)); __Pyx_GIVEREF(((PyObject *)__pyx_empty_tuple)); - __pyx_r = ((PyObject *)__pyx_t_1); + __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; @@ -2564,11 +2593,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_13ModifiedHuber___reduce__(PyObjec __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":133 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":133 * classification tasks with y in {-1,1}. * """ * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2580,45 +2609,46 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_loss(PyObject *__pyx_v_self static double __pyx_f_4bolt_7trainer_3sgd_5Hinge_loss(struct __pyx_obj_4bolt_7trainer_3sgd_Hinge *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_v_z; double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("loss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("loss"); + __Pyx_INCREF((PyObject *)__pyx_v_self); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_loss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_5Hinge_loss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__loss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_5Hinge_loss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":134 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":134 * """ * cpdef double loss(self,double p,double y): * cdef double z = p*y # <<<<<<<<<<<<<< @@ -2627,17 +2657,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Hinge_loss(struct __pyx_obj_4bolt_7t */ __pyx_v_z = (__pyx_v_p * __pyx_v_y); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":135 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":135 * cpdef double loss(self,double p,double y): * cdef double z = p*y * if z < 1.0: # <<<<<<<<<<<<<< * return (1 - z) * return 0 */ - __pyx_t_5 = (__pyx_v_z < 1.0); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z < 1.0); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":136 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":136 * cdef double z = p*y * if z < 1.0: * return (1 - z) # <<<<<<<<<<<<<< @@ -2650,7 +2680,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Hinge_loss(struct __pyx_obj_4bolt_7t } __pyx_L3:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":137 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":137 * if z < 1.0: * return (1 - z) * return 0 # <<<<<<<<<<<<<< @@ -2663,18 +2693,19 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Hinge_loss(struct __pyx_obj_4bolt_7t __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Hinge.loss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":133 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":133 * classification tasks with y in {-1,1}. * """ * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2688,8 +2719,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_loss(PyObject *__pyx_v_self double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("loss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("loss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -2701,11 +2732,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_loss(PyObject *__pyx_v_self } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("loss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -2714,13 +2745,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_loss(PyObject *__pyx_v_self if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "loss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -2744,11 +2775,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_loss(PyObject *__pyx_v_self __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":138 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":138 * return (1 - z) * return 0 * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2760,45 +2791,46 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_dloss(PyObject *__pyx_v_sel static double __pyx_f_4bolt_7trainer_3sgd_5Hinge_dloss(struct __pyx_obj_4bolt_7trainer_3sgd_Hinge *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_v_z; double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("dloss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("dloss"); + __Pyx_INCREF((PyObject *)__pyx_v_self); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_dloss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_5Hinge_dloss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__dloss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_5Hinge_dloss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":139 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":139 * return 0 * cpdef double dloss(self,double p,double y): * cdef double z = p*y # <<<<<<<<<<<<<< @@ -2807,17 +2839,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Hinge_dloss(struct __pyx_obj_4bolt_7 */ __pyx_v_z = (__pyx_v_p * __pyx_v_y); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":140 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":140 * cpdef double dloss(self,double p,double y): * cdef double z = p*y * if z < 1.0: # <<<<<<<<<<<<<< * return y * return 0 */ - __pyx_t_5 = (__pyx_v_z < 1.0); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z < 1.0); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":141 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":141 * cdef double z = p*y * if z < 1.0: * return y # <<<<<<<<<<<<<< @@ -2830,7 +2862,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Hinge_dloss(struct __pyx_obj_4bolt_7 } __pyx_L3:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":142 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":142 * if z < 1.0: * return y * return 0 # <<<<<<<<<<<<<< @@ -2843,18 +2875,19 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Hinge_dloss(struct __pyx_obj_4bolt_7 __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Hinge.dloss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":138 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":138 * return (1 - z) * return 0 * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2868,8 +2901,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_dloss(PyObject *__pyx_v_sel double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("dloss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("dloss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -2881,11 +2914,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_dloss(PyObject *__pyx_v_sel } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("dloss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -2894,13 +2927,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_dloss(PyObject *__pyx_v_sel if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "dloss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -2924,11 +2957,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge_dloss(PyObject *__pyx_v_sel __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":144 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":144 * return 0 * * def __reduce__(self): # <<<<<<<<<<<<<< @@ -2940,9 +2973,9 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge___reduce__(PyObject *__pyx_ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge___reduce__(PyObject *__pyx_v_self, PyObject *unused) { PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - __Pyx_SetupRefcountContext("__reduce__"); + __Pyx_RefNannySetupContext("__reduce__"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":145 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":145 * * def __reduce__(self): * return Hinge,() # <<<<<<<<<<<<<< @@ -2951,14 +2984,14 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge___reduce__(PyObject *__pyx_ */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Hinge))); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Hinge))); __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Hinge))); __Pyx_INCREF(((PyObject *)__pyx_empty_tuple)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_empty_tuple)); __Pyx_GIVEREF(((PyObject *)__pyx_empty_tuple)); - __pyx_r = ((PyObject *)__pyx_t_1); + __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; @@ -2970,11 +3003,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Hinge___reduce__(PyObject *__pyx_ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":152 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":152 * tasks with y in {-1,1}. * """ * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -2986,45 +3019,46 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_loss(PyObject *__pyx_v_self, static double __pyx_f_4bolt_7trainer_3sgd_3Log_loss(struct __pyx_obj_4bolt_7trainer_3sgd_Log *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_v_z; double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("loss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("loss"); + __Pyx_INCREF((PyObject *)__pyx_v_self); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_loss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_3Log_loss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__loss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_3Log_loss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":153 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":153 * """ * cpdef double loss(self,double p,double y): * cdef double z = p*y # <<<<<<<<<<<<<< @@ -3033,17 +3067,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_3Log_loss(struct __pyx_obj_4bolt_7tra */ __pyx_v_z = (__pyx_v_p * __pyx_v_y); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":154 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":154 * cpdef double loss(self,double p,double y): * cdef double z = p*y * if z > 18: # <<<<<<<<<<<<<< * return exp(-z) * if z < -18: */ - __pyx_t_5 = (__pyx_v_z > 18); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z > 18); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":155 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":155 * cdef double z = p*y * if z > 18: * return exp(-z) # <<<<<<<<<<<<<< @@ -3056,17 +3090,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_3Log_loss(struct __pyx_obj_4bolt_7tra } __pyx_L3:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":156 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":156 * if z > 18: * return exp(-z) * if z < -18: # <<<<<<<<<<<<<< * return -z * y * return log(1.0+exp(-z)) */ - __pyx_t_5 = (__pyx_v_z < -18); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z < -18); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":157 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":157 * return exp(-z) * if z < -18: * return -z * y # <<<<<<<<<<<<<< @@ -3079,7 +3113,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_3Log_loss(struct __pyx_obj_4bolt_7tra } __pyx_L4:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":158 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":158 * if z < -18: * return -z * y * return log(1.0+exp(-z)) # <<<<<<<<<<<<<< @@ -3092,18 +3126,19 @@ static double __pyx_f_4bolt_7trainer_3sgd_3Log_loss(struct __pyx_obj_4bolt_7tra __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Log.loss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":152 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":152 * tasks with y in {-1,1}. * """ * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3117,8 +3152,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_loss(PyObject *__pyx_v_self, double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("loss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("loss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -3130,11 +3165,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_loss(PyObject *__pyx_v_self, } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("loss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -3143,13 +3178,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_loss(PyObject *__pyx_v_self, if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "loss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -3173,11 +3208,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_loss(PyObject *__pyx_v_self, __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":160 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":160 * return log(1.0+exp(-z)) * * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3189,45 +3224,46 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_dloss(PyObject *__pyx_v_self, static double __pyx_f_4bolt_7trainer_3sgd_3Log_dloss(struct __pyx_obj_4bolt_7trainer_3sgd_Log *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_v_z; double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("dloss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("dloss"); + __Pyx_INCREF((PyObject *)__pyx_v_self); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_dloss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_3Log_dloss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__dloss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_3Log_dloss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":161 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":161 * * cpdef double dloss(self,double p,double y): * cdef double z = p*y # <<<<<<<<<<<<<< @@ -3236,17 +3272,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_3Log_dloss(struct __pyx_obj_4bolt_7tr */ __pyx_v_z = (__pyx_v_p * __pyx_v_y); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":162 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":162 * cpdef double dloss(self,double p,double y): * cdef double z = p*y * if z > 18: # <<<<<<<<<<<<<< * return exp(-z) * y * if z < -18: */ - __pyx_t_5 = (__pyx_v_z > 18); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z > 18); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":163 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":163 * cdef double z = p*y * if z > 18: * return exp(-z) * y # <<<<<<<<<<<<<< @@ -3259,17 +3295,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_3Log_dloss(struct __pyx_obj_4bolt_7tr } __pyx_L3:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":164 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":164 * if z > 18: * return exp(-z) * y * if z < -18: # <<<<<<<<<<<<<< * return y * return y / (exp(z) + 1.0) */ - __pyx_t_5 = (__pyx_v_z < -18); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_z < -18); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":165 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":165 * return exp(-z) * y * if z < -18: * return y # <<<<<<<<<<<<<< @@ -3282,7 +3318,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_3Log_dloss(struct __pyx_obj_4bolt_7tr } __pyx_L4:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":166 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":166 * if z < -18: * return y * return y / (exp(z) + 1.0) # <<<<<<<<<<<<<< @@ -3295,18 +3331,19 @@ static double __pyx_f_4bolt_7trainer_3sgd_3Log_dloss(struct __pyx_obj_4bolt_7tr __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Log.dloss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":160 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":160 * return log(1.0+exp(-z)) * * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3320,8 +3357,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_dloss(PyObject *__pyx_v_self, double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("dloss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("dloss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -3333,11 +3370,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_dloss(PyObject *__pyx_v_self, } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("dloss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -3346,13 +3383,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_dloss(PyObject *__pyx_v_self, if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "dloss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -3376,11 +3413,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log_dloss(PyObject *__pyx_v_self, __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":168 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":168 * return y / (exp(z) + 1.0) * * def __reduce__(self): # <<<<<<<<<<<<<< @@ -3392,9 +3429,9 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log___reduce__(PyObject *__pyx_v_ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log___reduce__(PyObject *__pyx_v_self, PyObject *unused) { PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - __Pyx_SetupRefcountContext("__reduce__"); + __Pyx_RefNannySetupContext("__reduce__"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":169 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":169 * * def __reduce__(self): * return Log,() # <<<<<<<<<<<<<< @@ -3403,14 +3440,14 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log___reduce__(PyObject *__pyx_v_ */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Log))); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Log))); __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Log))); __Pyx_INCREF(((PyObject *)__pyx_empty_tuple)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_empty_tuple)); __Pyx_GIVEREF(((PyObject *)__pyx_empty_tuple)); - __pyx_r = ((PyObject *)__pyx_t_1); + __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; @@ -3422,11 +3459,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log___reduce__(PyObject *__pyx_v_ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":174 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":174 * """ * """ * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3437,44 +3474,44 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3Log___reduce__(PyObject *__pyx_v_ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_loss(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_12SquaredError_loss(struct __pyx_obj_4bolt_7trainer_3sgd_SquaredError *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - __Pyx_SetupRefcountContext("loss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + __Pyx_RefNannySetupContext("loss"); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_loss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_loss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__loss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_loss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":175 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":175 * """ * cpdef double loss(self,double p,double y): * return 0.5 * (p-y) * (p-y) # <<<<<<<<<<<<<< @@ -3487,18 +3524,18 @@ static double __pyx_f_4bolt_7trainer_3sgd_12SquaredError_loss(struct __pyx_obj_ __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.SquaredError.loss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":174 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":174 * """ * """ * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3512,8 +3549,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_loss(PyObject *__py double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("loss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("loss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -3525,11 +3562,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_loss(PyObject *__py } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("loss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -3538,13 +3575,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_loss(PyObject *__py if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "loss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -3568,11 +3605,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_loss(PyObject *__py __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":176 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":176 * cpdef double loss(self,double p,double y): * return 0.5 * (p-y) * (p-y) * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3583,44 +3620,44 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_loss(PyObject *__py static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_dloss(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static double __pyx_f_4bolt_7trainer_3sgd_12SquaredError_dloss(struct __pyx_obj_4bolt_7trainer_3sgd_SquaredError *__pyx_v_self, double __pyx_v_p, double __pyx_v_y, int __pyx_skip_dispatch) { double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - __Pyx_SetupRefcountContext("dloss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + __Pyx_RefNannySetupContext("dloss"); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_dloss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_dloss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__dloss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_dloss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":177 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":177 * return 0.5 * (p-y) * (p-y) * cpdef double dloss(self,double p,double y): * return y - p # <<<<<<<<<<<<<< @@ -3633,18 +3670,18 @@ static double __pyx_f_4bolt_7trainer_3sgd_12SquaredError_dloss(struct __pyx_obj __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.SquaredError.dloss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":176 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":176 * cpdef double loss(self,double p,double y): * return 0.5 * (p-y) * (p-y) * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3658,8 +3695,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_dloss(PyObject *__p double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("dloss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("dloss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -3671,11 +3708,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_dloss(PyObject *__p } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("dloss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -3684,13 +3721,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_dloss(PyObject *__p if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "dloss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -3714,11 +3751,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError_dloss(PyObject *__p __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":179 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":179 * return y - p * * def __reduce__(self): # <<<<<<<<<<<<<< @@ -3730,9 +3767,9 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError___reduce__(PyObject static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError___reduce__(PyObject *__pyx_v_self, PyObject *unused) { PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - __Pyx_SetupRefcountContext("__reduce__"); + __Pyx_RefNannySetupContext("__reduce__"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":180 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":180 * * def __reduce__(self): * return SquaredError,() # <<<<<<<<<<<<<< @@ -3741,14 +3778,14 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError___reduce__(PyObject */ __Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_SquaredError))); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_SquaredError))); __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_SquaredError))); __Pyx_INCREF(((PyObject *)__pyx_empty_tuple)); PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_empty_tuple)); __Pyx_GIVEREF(((PyObject *)__pyx_empty_tuple)); - __pyx_r = ((PyObject *)__pyx_t_1); + __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; @@ -3760,11 +3797,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_12SquaredError___reduce__(PyObject __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":186 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":186 * """ * cdef double c * def __init__(self,c): # <<<<<<<<<<<<<< @@ -3777,8 +3814,8 @@ static int __pyx_pf_4bolt_7trainer_3sgd_5Huber___init__(PyObject *__pyx_v_self, PyObject *__pyx_v_c = 0; int __pyx_r; double __pyx_t_1; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_c,0}; - __Pyx_SetupRefcountContext("__init__"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__c,0}; + __Pyx_RefNannySetupContext("__init__"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[1] = {0}; @@ -3789,7 +3826,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_5Huber___init__(PyObject *__pyx_v_self, } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_c); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__c); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; } @@ -3810,14 +3847,14 @@ static int __pyx_pf_4bolt_7trainer_3sgd_5Huber___init__(PyObject *__pyx_v_self, return -1; __pyx_L4_argument_unpacking_done:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":187 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":187 * cdef double c * def __init__(self,c): * self.c = c # <<<<<<<<<<<<<< * cpdef double loss(self,double p,double y): * cdef double r = p-y */ - __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_c); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_c); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_3sgd_Huber *)__pyx_v_self)->c = __pyx_t_1; __pyx_r = 0; @@ -3826,11 +3863,11 @@ static int __pyx_pf_4bolt_7trainer_3sgd_5Huber___init__(PyObject *__pyx_v_self, __Pyx_AddTraceback("bolt.trainer.sgd.Huber.__init__"); __pyx_r = -1; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":188 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":188 * def __init__(self,c): * self.c = c * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3843,45 +3880,46 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_loss(struct __pyx_obj_4bolt_7t double __pyx_v_r; double __pyx_v_abs_r; double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("loss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("loss"); + __Pyx_INCREF((PyObject *)__pyx_v_self); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_loss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_5Huber_loss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__loss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_5Huber_loss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":189 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":189 * self.c = c * cpdef double loss(self,double p,double y): * cdef double r = p-y # <<<<<<<<<<<<<< @@ -3890,33 +3928,33 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_loss(struct __pyx_obj_4bolt_7t */ __pyx_v_r = (__pyx_v_p - __pyx_v_y); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":190 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":190 * cpdef double loss(self,double p,double y): * cdef double r = p-y * cdef double abs_r = abs(r) # <<<<<<<<<<<<<< * if abs_r <= self.c: * return 0.5 * r * r */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_r); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyNumber_Absolute(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_r); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyNumber_Absolute(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_abs_r = __pyx_t_4; + __pyx_v_abs_r = __pyx_t_5; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":191 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":191 * cdef double r = p-y * cdef double abs_r = abs(r) * if abs_r <= self.c: # <<<<<<<<<<<<<< * return 0.5 * r * r * else: */ - __pyx_t_5 = (__pyx_v_abs_r <= __pyx_v_self->c); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_abs_r <= __pyx_v_self->c); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":192 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":192 * cdef double abs_r = abs(r) * if abs_r <= self.c: * return 0.5 * r * r # <<<<<<<<<<<<<< @@ -3929,7 +3967,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_loss(struct __pyx_obj_4bolt_7t } /*else*/ { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":194 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":194 * return 0.5 * r * r * else: * return self.c * abs_r - (0.5*self.c*self.c) # <<<<<<<<<<<<<< @@ -3944,18 +3982,19 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_loss(struct __pyx_obj_4bolt_7t __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Huber.loss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":188 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":188 * def __init__(self,c): * self.c = c * cpdef double loss(self,double p,double y): # <<<<<<<<<<<<<< @@ -3969,8 +4008,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber_loss(PyObject *__pyx_v_self double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("loss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("loss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -3982,11 +4021,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber_loss(PyObject *__pyx_v_self } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("loss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -3995,13 +4034,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber_loss(PyObject *__pyx_v_self if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "loss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -4025,11 +4064,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber_loss(PyObject *__pyx_v_self __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":196 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":196 * return self.c * abs_r - (0.5*self.c*self.c) * * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -4042,45 +4081,46 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_dloss(struct __pyx_obj_4bolt_7 double __pyx_v_r; double __pyx_v_abs_r; double __pyx_r; - PyObject *__pyx_1 = 0; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - double __pyx_t_4; - int __pyx_t_5; - __Pyx_SetupRefcountContext("dloss"); + PyObject *__pyx_t_4 = NULL; + double __pyx_t_5; + int __pyx_t_6; + __Pyx_RefNannySetupContext("dloss"); + __Pyx_INCREF((PyObject *)__pyx_v_self); /* Check if called by wrapper */ if (unlikely(__pyx_skip_dispatch)) ; /* Check if overriden in Python */ else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) { - __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_dloss); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_5Huber_dloss)) { - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__dloss); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (void *)&__pyx_pf_4bolt_7trainer_3sgd_5Huber_dloss)) { + __pyx_t_2 = PyFloat_FromDouble(__pyx_v_p); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = __pyx_t_4; + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_r = __pyx_t_5; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L0; } - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":197 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":197 * * cpdef double dloss(self,double p,double y): * cdef double r = y - p # <<<<<<<<<<<<<< @@ -4089,33 +4129,33 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_dloss(struct __pyx_obj_4bolt_7 */ __pyx_v_r = (__pyx_v_y - __pyx_v_p); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":198 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":198 * cpdef double dloss(self,double p,double y): * cdef double r = y - p * cdef double abs_r = abs(r) # <<<<<<<<<<<<<< * if abs_r <= self.c: * return r */ - __pyx_t_2 = PyFloat_FromDouble(__pyx_v_r); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyNumber_Absolute(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_r); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_3 = PyNumber_Absolute(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_v_abs_r = __pyx_t_4; + __pyx_v_abs_r = __pyx_t_5; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":199 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":199 * cdef double r = y - p * cdef double abs_r = abs(r) * if abs_r <= self.c: # <<<<<<<<<<<<<< * return r * elif r > 0: */ - __pyx_t_5 = (__pyx_v_abs_r <= __pyx_v_self->c); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_abs_r <= __pyx_v_self->c); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":200 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":200 * cdef double abs_r = abs(r) * if abs_r <= self.c: * return r # <<<<<<<<<<<<<< @@ -4127,17 +4167,17 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_dloss(struct __pyx_obj_4bolt_7 goto __pyx_L3; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":201 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":201 * if abs_r <= self.c: * return r * elif r > 0: # <<<<<<<<<<<<<< * return self.c * else: */ - __pyx_t_5 = (__pyx_v_r > 0); - if (__pyx_t_5) { + __pyx_t_6 = (__pyx_v_r > 0); + if (__pyx_t_6) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":202 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":202 * return r * elif r > 0: * return self.c # <<<<<<<<<<<<<< @@ -4150,7 +4190,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_dloss(struct __pyx_obj_4bolt_7 } /*else*/ { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":204 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":204 * return self.c * else: * return -self.c # <<<<<<<<<<<<<< @@ -4165,18 +4205,19 @@ static double __pyx_f_4bolt_7trainer_3sgd_5Huber_dloss(struct __pyx_obj_4bolt_7 __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); __Pyx_WriteUnraisable("bolt.trainer.sgd.Huber.dloss"); __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":196 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":196 * return self.c * abs_r - (0.5*self.c*self.c) * * cpdef double dloss(self,double p,double y): # <<<<<<<<<<<<<< @@ -4190,8 +4231,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber_dloss(PyObject *__pyx_v_sel double __pyx_v_y; PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_p,&__pyx_kp_y,0}; - __Pyx_SetupRefcountContext("dloss"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__p,&__pyx_n_s__y,0}; + __Pyx_RefNannySetupContext("dloss"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -4203,11 +4244,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber_dloss(PyObject *__pyx_v_sel } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_p); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__p); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("dloss", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -4216,13 +4257,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber_dloss(PyObject *__pyx_v_sel if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "dloss") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } - __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; } else { - __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} - __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_p = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_p == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -4246,11 +4287,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber_dloss(PyObject *__pyx_v_sel __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":206 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":206 * return -self.c * * def __reduce__(self): # <<<<<<<<<<<<<< @@ -4263,9 +4304,9 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber___reduce__(PyObject *__pyx_ PyObject *__pyx_r = NULL; PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; - __Pyx_SetupRefcountContext("__reduce__"); + __Pyx_RefNannySetupContext("__reduce__"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":207 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":207 * * def __reduce__(self): * return Huber,(self.c,) # <<<<<<<<<<<<<< @@ -4276,19 +4317,19 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber___reduce__(PyObject *__pyx_ __pyx_t_1 = PyFloat_FromDouble(((struct __pyx_obj_4bolt_7trainer_3sgd_Huber *)__pyx_v_self)->c); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_GOTREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); + __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Huber))); PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Huber))); __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_Huber))); - PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_t_2)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_2)); + PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); + __Pyx_GIVEREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_r = ((PyObject *)__pyx_t_1); + __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; @@ -4301,11 +4342,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_5Huber___reduce__(PyObject *__pyx_ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":212 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":212 * # Python function for external prediction * # ---------------------------------------- * def predict(np.ndarray x, np.ndarray w, # <<<<<<<<<<<<<< @@ -4325,8 +4366,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb PyObject *__pyx_r = NULL; int __pyx_t_1; PyObject *__pyx_t_2 = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_x,&__pyx_kp_w,&__pyx_kp_bias,0}; - __Pyx_SetupRefcountContext("predict"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__w,&__pyx_n_s__bias,0}; + __Pyx_RefNannySetupContext("predict"); __pyx_self = __pyx_self; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); @@ -4340,17 +4381,17 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_x); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_w); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__w); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("predict", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: - values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_bias); + values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bias); if (likely(values[2])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("predict", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -4361,13 +4402,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb } __pyx_v_x = ((PyArrayObject *)values[0]); __pyx_v_w = ((PyArrayObject *)values[1]); - __pyx_v_bias = __pyx_PyFloat_AsDouble(values[2]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_bias = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_bias == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; } else { __pyx_v_x = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0)); __pyx_v_w = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 1)); - __pyx_v_bias = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L3_error;} + __pyx_v_bias = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_bias == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; @@ -4376,10 +4417,12 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb __Pyx_AddTraceback("bolt.trainer.sgd.predict"); return NULL; __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_x); + __Pyx_INCREF((PyObject *)__pyx_v_w); if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 1, "x", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_w), __pyx_ptype_5numpy_ndarray, 1, "w", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":224 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":224 * :returns: A double representing `x*w + b`. * """ * cdef int xnnz = x.shape[0] # <<<<<<<<<<<<<< @@ -4388,7 +4431,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb */ __pyx_v_xnnz = (__pyx_v_x->dimensions[0]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":225 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":225 * """ * cdef int xnnz = x.shape[0] * cdef int wdim = w.shape[0] # <<<<<<<<<<<<<< @@ -4397,7 +4440,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb */ __pyx_v_wdim = (__pyx_v_w->dimensions[0]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":226 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":226 * cdef int xnnz = x.shape[0] * cdef int wdim = w.shape[0] * cdef double y = 0.0 # <<<<<<<<<<<<<< @@ -4406,7 +4449,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb */ __pyx_v_y = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":227 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":227 * cdef int wdim = w.shape[0] * cdef double y = 0.0 * if xnnz == 0: # <<<<<<<<<<<<<< @@ -4416,7 +4459,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb __pyx_t_1 = (__pyx_v_xnnz == 0); if (__pyx_t_1) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":228 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":228 * cdef double y = 0.0 * if xnnz == 0: * y = bias # <<<<<<<<<<<<<< @@ -4428,7 +4471,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb } /*else*/ { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":230 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":230 * y = bias * else: * y = dot_checked(w.data,x.data,xnnz,wdim) + bias # <<<<<<<<<<<<<< @@ -4439,7 +4482,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":231 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":231 * else: * y = dot_checked(w.data,x.data,xnnz,wdim) + bias * return y # <<<<<<<<<<<<<< @@ -4460,12 +4503,14 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb __Pyx_AddTraceback("bolt.trainer.sgd.predict"); __pyx_r = NULL; __pyx_L0:; + __Pyx_DECREF((PyObject *)__pyx_v_x); + __Pyx_DECREF((PyObject *)__pyx_v_w); __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":241 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":241 * np.float32_t val * * cdef inline double max(double a, double b): # <<<<<<<<<<<<<< @@ -4473,12 +4518,12 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_predict(PyObject *__pyx_self, PyOb * */ -static INLINE double __pyx_f_4bolt_7trainer_3sgd_max(double __pyx_v_a, double __pyx_v_b) { +static CYTHON_INLINE double __pyx_f_4bolt_7trainer_3sgd_max(double __pyx_v_a, double __pyx_v_b) { double __pyx_r; - double __pyx_1; - __Pyx_SetupRefcountContext("max"); + double __pyx_t_1; + __Pyx_RefNannySetupContext("max"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":242 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":242 * * cdef inline double max(double a, double b): * return a if a >= b else b # <<<<<<<<<<<<<< @@ -4486,20 +4531,20 @@ static INLINE double __pyx_f_4bolt_7trainer_3sgd_max(double __pyx_v_a, double __ * cdef inline double min(double a, double b): */ if ((__pyx_v_a >= __pyx_v_b)) { - __pyx_1 = __pyx_v_a; + __pyx_t_1 = __pyx_v_a; } else { - __pyx_1 = __pyx_v_b; + __pyx_t_1 = __pyx_v_b; } - __pyx_r = __pyx_1; + __pyx_r = __pyx_t_1; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":244 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":244 * return a if a >= b else b * * cdef inline double min(double a, double b): # <<<<<<<<<<<<<< @@ -4507,12 +4552,12 @@ static INLINE double __pyx_f_4bolt_7trainer_3sgd_max(double __pyx_v_a, double __ * */ -static INLINE double __pyx_f_4bolt_7trainer_3sgd_min(double __pyx_v_a, double __pyx_v_b) { +static CYTHON_INLINE double __pyx_f_4bolt_7trainer_3sgd_min(double __pyx_v_a, double __pyx_v_b) { double __pyx_r; - double __pyx_1; - __Pyx_SetupRefcountContext("min"); + double __pyx_t_1; + __Pyx_RefNannySetupContext("min"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":245 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":245 * * cdef inline double min(double a, double b): * return a if a <= b else b # <<<<<<<<<<<<<< @@ -4520,20 +4565,20 @@ static INLINE double __pyx_f_4bolt_7trainer_3sgd_min(double __pyx_v_a, double __ * cdef double dot(double *w, Pair *x, int nnz): */ if ((__pyx_v_a <= __pyx_v_b)) { - __pyx_1 = __pyx_v_a; + __pyx_t_1 = __pyx_v_a; } else { - __pyx_1 = __pyx_v_b; + __pyx_t_1 = __pyx_v_b; } - __pyx_r = __pyx_1; + __pyx_r = __pyx_t_1; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":247 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":247 * return a if a <= b else b * * cdef double dot(double *w, Pair *x, int nnz): # <<<<<<<<<<<<<< @@ -4547,9 +4592,9 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot(double *__pyx_v_w, struct __pyx_t int __pyx_v_i; double __pyx_r; int __pyx_t_1; - __Pyx_SetupRefcountContext("dot"); + __Pyx_RefNannySetupContext("dot"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":250 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":250 * """Dot product of weight vector w and example x. * """ * cdef double sum = 0.0 # <<<<<<<<<<<<<< @@ -4558,7 +4603,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot(double *__pyx_v_w, struct __pyx_t */ __pyx_v_sum = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":253 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":253 * cdef Pair pair * cdef int i * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -4568,7 +4613,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot(double *__pyx_v_w, struct __pyx_t __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":254 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":254 * cdef int i * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -4577,7 +4622,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot(double *__pyx_v_w, struct __pyx_t */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":255 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":255 * for i from 0 <= i < nnz: * pair = x[i] * sum += w[pair.idx] * pair.val # <<<<<<<<<<<<<< @@ -4587,7 +4632,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot(double *__pyx_v_w, struct __pyx_t __pyx_v_sum += ((__pyx_v_w[__pyx_v_pair.idx]) * __pyx_v_pair.val); } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":256 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":256 * pair = x[i] * sum += w[pair.idx] * pair.val * return sum # <<<<<<<<<<<<<< @@ -4599,11 +4644,11 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot(double *__pyx_v_w, struct __pyx_t __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":258 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":258 * return sum * * cdef double dot_checked(double *w, Pair *x, int nnz, int wdim): # <<<<<<<<<<<<<< @@ -4618,9 +4663,9 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot_checked(double *__pyx_v_w, struct double __pyx_r; int __pyx_t_1; int __pyx_t_2; - __Pyx_SetupRefcountContext("dot_checked"); + __Pyx_RefNannySetupContext("dot_checked"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":262 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":262 * with a higher index than dimension of w. * """ * cdef double sum = 0.0 # <<<<<<<<<<<<<< @@ -4629,7 +4674,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot_checked(double *__pyx_v_w, struct */ __pyx_v_sum = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":265 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":265 * cdef Pair pair * cdef int i * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -4639,7 +4684,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot_checked(double *__pyx_v_w, struct __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":266 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":266 * cdef int i * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -4648,7 +4693,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot_checked(double *__pyx_v_w, struct */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":267 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":267 * for i from 0 <= i < nnz: * pair = x[i] * if pair.idx < wdim: # <<<<<<<<<<<<<< @@ -4658,7 +4703,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot_checked(double *__pyx_v_w, struct __pyx_t_2 = (__pyx_v_pair.idx < __pyx_v_wdim); if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":268 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":268 * pair = x[i] * if pair.idx < wdim: * sum +=w[pair.idx]*pair.val # <<<<<<<<<<<<<< @@ -4671,7 +4716,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot_checked(double *__pyx_v_w, struct __pyx_L5:; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":269 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":269 * if pair.idx < wdim: * sum +=w[pair.idx]*pair.val * return sum # <<<<<<<<<<<<<< @@ -4683,11 +4728,11 @@ static double __pyx_f_4bolt_7trainer_3sgd_dot_checked(double *__pyx_v_w, struct __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":271 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":271 * return sum * * cdef double add(double *w, double wscale, Pair *x, int nnz, double c): # <<<<<<<<<<<<<< @@ -4702,9 +4747,9 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v double __pyx_v_xsqnorm; double __pyx_r; int __pyx_t_1; - __Pyx_SetupRefcountContext("add"); + __Pyx_RefNannySetupContext("add"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":276 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":276 * cdef Pair pair * cdef int i * cdef double innerprod = 0.0 # <<<<<<<<<<<<<< @@ -4713,7 +4758,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v */ __pyx_v_innerprod = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":277 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":277 * cdef int i * cdef double innerprod = 0.0 * cdef double xsqnorm = 0.0 # <<<<<<<<<<<<<< @@ -4722,7 +4767,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v */ __pyx_v_xsqnorm = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":278 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":278 * cdef double innerprod = 0.0 * cdef double xsqnorm = 0.0 * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -4732,7 +4777,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":279 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":279 * cdef double xsqnorm = 0.0 * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -4741,7 +4786,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":280 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":280 * for i from 0 <= i < nnz: * pair = x[i] * innerprod += (w[pair.idx] * pair.val) # <<<<<<<<<<<<<< @@ -4750,7 +4795,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v */ __pyx_v_innerprod += ((__pyx_v_w[__pyx_v_pair.idx]) * __pyx_v_pair.val); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":281 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":281 * pair = x[i] * innerprod += (w[pair.idx] * pair.val) * xsqnorm += (pair.val*pair.val) # <<<<<<<<<<<<<< @@ -4759,7 +4804,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v */ __pyx_v_xsqnorm += (__pyx_v_pair.val * __pyx_v_pair.val); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":282 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":282 * innerprod += (w[pair.idx] * pair.val) * xsqnorm += (pair.val*pair.val) * w[pair.idx] += pair.val * (c / wscale) # <<<<<<<<<<<<<< @@ -4769,7 +4814,7 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v (__pyx_v_w[__pyx_v_pair.idx]) += (__pyx_v_pair.val * (__pyx_v_c / __pyx_v_wscale)); } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":284 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":284 * w[pair.idx] += pair.val * (c / wscale) * * return (xsqnorm * c * c) + (2.0 * innerprod * wscale * c) # <<<<<<<<<<<<<< @@ -4781,11 +4826,11 @@ static double __pyx_f_4bolt_7trainer_3sgd_add(double *__pyx_v_w, double __pyx_v __pyx_r = 0; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":311 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":311 * cdef double alpha * * def __init__(self, loss, reg, epochs = 5, norm = 2, alpha = 0.85): # <<<<<<<<<<<<<< @@ -4809,14 +4854,14 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py int __pyx_t_5; double __pyx_t_6; int __pyx_t_7; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_loss,&__pyx_kp_reg,&__pyx_kp_epochs,&__pyx_kp_norm,&__pyx_kp_alpha,0}; - __Pyx_SetupRefcountContext("__init__"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loss,&__pyx_n_s__reg,&__pyx_n_s__epochs,&__pyx_n_s__norm,&__pyx_n_s__alpha,0}; + __Pyx_RefNannySetupContext("__init__"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[5] = {0,0,0,0,0}; - values[2] = __pyx_int_5; - values[3] = __pyx_int_2; - values[4] = __pyx_k_32; + values[2] = ((PyObject *)__pyx_int_5); + values[3] = ((PyObject *)__pyx_int_2); + values[4] = __pyx_k_1; switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); @@ -4828,28 +4873,28 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_loss); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loss); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_reg); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__reg); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_epochs); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__epochs); if (unlikely(value)) { values[2] = value; kw_args--; } } case 3: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_norm); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__norm); if (unlikely(value)) { values[3] = value; kw_args--; } } case 4: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_alpha); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__alpha); if (unlikely(value)) { values[4] = value; kw_args--; } } } @@ -4862,9 +4907,9 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __pyx_v_norm = values[3]; __pyx_v_alpha = values[4]; } else { - __pyx_v_epochs = __pyx_int_5; - __pyx_v_norm = __pyx_int_2; - __pyx_v_alpha = __pyx_k_32; + __pyx_v_epochs = ((PyObject *)__pyx_int_5); + __pyx_v_norm = ((PyObject *)__pyx_int_2); + __pyx_v_alpha = __pyx_k_1; switch (PyTuple_GET_SIZE(__pyx_args)) { case 5: __pyx_v_alpha = PyTuple_GET_ITEM(__pyx_args, 4); @@ -4886,8 +4931,14 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __Pyx_AddTraceback("bolt.trainer.sgd.SGD.__init__"); return -1; __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_loss); + __Pyx_INCREF(__pyx_v_reg); + __Pyx_INCREF(__pyx_v_epochs); + __Pyx_INCREF(__pyx_v_norm); + __Pyx_INCREF(__pyx_v_alpha); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":324 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":324 * :type alpha: float (0 <= alpha <= 1) * """ * if loss == None: # <<<<<<<<<<<<<< @@ -4900,7 +4951,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":325 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":325 * """ * if loss == None: * raise ValueError("Loss function must not be None.") # <<<<<<<<<<<<<< @@ -4908,13 +4959,13 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py * raise ValueError("reg must be larger than 0. ") */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_35); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_35); - __Pyx_GIVEREF(__pyx_kp_35); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_2)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_2)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2)); + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -4922,7 +4973,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":326 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":326 * if loss == None: * raise ValueError("Loss function must not be None.") * if reg < 0.0: # <<<<<<<<<<<<<< @@ -4938,7 +4989,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":327 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":327 * raise ValueError("Loss function must not be None.") * if reg < 0.0: * raise ValueError("reg must be larger than 0. ") # <<<<<<<<<<<<<< @@ -4946,13 +4997,13 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py * raise ValueError("norm must be in {1,2,3}. ") */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_36); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_36); - __Pyx_GIVEREF(__pyx_kp_36); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_3)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_3)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3)); + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -4960,7 +5011,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py } __pyx_L7:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":328 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":328 * if reg < 0.0: * raise ValueError("reg must be larger than 0. ") * if norm not in [1,2,3]: # <<<<<<<<<<<<<< @@ -4973,29 +5024,32 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (((int)__pyx_t_2)) { + __pyx_t_4 = ((int)__pyx_t_2); + if (__pyx_t_4) { __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_int_2, Py_NE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_5 = ((int)__pyx_t_4); - } else { __pyx_t_5 = ((int)__pyx_t_2); + __pyx_t_2 = __pyx_t_5; + } else { + __pyx_t_2 = __pyx_t_4; } - if (__pyx_t_5) { + if (__pyx_t_2) { __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_int_3, Py_NE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_4 = ((int)__pyx_t_2); - } else { + __pyx_t_5 = ((int)__pyx_t_4); __pyx_t_4 = __pyx_t_5; + } else { + __pyx_t_4 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __pyx_t_4; - if (__pyx_t_5) { + __pyx_t_2 = __pyx_t_4; + if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":329 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":329 * raise ValueError("reg must be larger than 0. ") * if norm not in [1,2,3]: * raise ValueError("norm must be in {1,2,3}. ") # <<<<<<<<<<<<<< @@ -5003,13 +5057,13 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py * raise ValueError("alpha must be in [0,1]. ") */ __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __Pyx_INCREF(__pyx_kp_37); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_37); - __Pyx_GIVEREF(__pyx_kp_37); - __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_4)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_s_4)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4)); + __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_1, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -5017,7 +5071,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py } __pyx_L8:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":330 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":330 * if norm not in [1,2,3]: * raise ValueError("norm must be in {1,2,3}. ") * if alpha > 1.0 or alpha < 0.0: # <<<<<<<<<<<<<< @@ -5029,9 +5083,9 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __pyx_t_3 = PyObject_RichCompare(__pyx_v_alpha, __pyx_t_1, Py_GT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!__pyx_t_5) { + if (!__pyx_t_2) { __pyx_t_3 = PyFloat_FromDouble(0.0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_RichCompare(__pyx_v_alpha, __pyx_t_3, Py_LT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -5039,13 +5093,13 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __pyx_t_4; + __pyx_t_5 = __pyx_t_4; } else { - __pyx_t_2 = __pyx_t_5; + __pyx_t_5 = __pyx_t_2; } - if (__pyx_t_2) { + if (__pyx_t_5) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":331 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":331 * raise ValueError("norm must be in {1,2,3}. ") * if alpha > 1.0 or alpha < 0.0: * raise ValueError("alpha must be in [0,1]. ") # <<<<<<<<<<<<<< @@ -5053,13 +5107,13 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py * self.reg = reg */ __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_38); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_38); - __Pyx_GIVEREF(__pyx_kp_38); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_5)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_5)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_5)); + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -5067,31 +5121,31 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py } __pyx_L9:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":332 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":332 * if alpha > 1.0 or alpha < 0.0: * raise ValueError("alpha must be in [0,1]. ") * self.loss = loss # <<<<<<<<<<<<<< * self.reg = reg * self.epochs = epochs */ - if (!(__Pyx_TypeTest(__pyx_v_loss, __pyx_ptype_4bolt_7trainer_3sgd_LossFunction))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_v_loss) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_loss, __pyx_ptype_4bolt_7trainer_3sgd_LossFunction))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_INCREF(__pyx_v_loss); __Pyx_GIVEREF(__pyx_v_loss); __Pyx_GOTREF(((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->loss); __Pyx_DECREF(((PyObject *)((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->loss)); ((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->loss = ((struct __pyx_obj_4bolt_7trainer_3sgd_LossFunction *)__pyx_v_loss); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":333 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":333 * raise ValueError("alpha must be in [0,1]. ") * self.loss = loss * self.reg = reg # <<<<<<<<<<<<<< * self.epochs = epochs * self.norm = norm */ - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_reg); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_reg); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->reg = __pyx_t_6; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":334 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":334 * self.loss = loss * self.reg = reg * self.epochs = epochs # <<<<<<<<<<<<<< @@ -5101,7 +5155,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_v_epochs); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->epochs = __pyx_t_7; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":335 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":335 * self.reg = reg * self.epochs = epochs * self.norm = norm # <<<<<<<<<<<<<< @@ -5111,14 +5165,14 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __pyx_t_7 = __Pyx_PyInt_AsInt(__pyx_v_norm); if (unlikely((__pyx_t_7 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->norm = __pyx_t_7; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":336 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":336 * self.epochs = epochs * self.norm = norm * self.alpha = alpha # <<<<<<<<<<<<<< * * def __reduce__(self): */ - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_alpha); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_v_alpha); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->alpha = __pyx_t_6; __pyx_r = 0; @@ -5129,11 +5183,17 @@ static int __pyx_pf_4bolt_7trainer_3sgd_3SGD___init__(PyObject *__pyx_v_self, Py __Pyx_AddTraceback("bolt.trainer.sgd.SGD.__init__"); __pyx_r = -1; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_loss); + __Pyx_DECREF(__pyx_v_reg); + __Pyx_DECREF(__pyx_v_epochs); + __Pyx_DECREF(__pyx_v_norm); + __Pyx_DECREF(__pyx_v_alpha); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":338 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":338 * self.alpha = alpha * * def __reduce__(self): # <<<<<<<<<<<<<< @@ -5149,9 +5209,9 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD___reduce__(PyObject *__pyx_v_ PyObject *__pyx_t_3 = NULL; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; - __Pyx_SetupRefcountContext("__reduce__"); + __Pyx_RefNannySetupContext("__reduce__"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":339 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":339 * * def __reduce__(self): * return SGD,(self.loss,self.reg, self.epochs, self.norm, self.alpha) # <<<<<<<<<<<<<< @@ -5168,7 +5228,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD___reduce__(PyObject *__pyx_v_ __pyx_t_4 = PyFloat_FromDouble(((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->alpha); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->loss)); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->loss)); __Pyx_GIVEREF(((PyObject *)((struct __pyx_obj_4bolt_7trainer_3sgd_SGD *)__pyx_v_self)->loss)); @@ -5185,14 +5245,14 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD___reduce__(PyObject *__pyx_v_ __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); + __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_SGD))); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_SGD))); __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_SGD))); - PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_t_5)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_5)); + PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_r = ((PyObject *)__pyx_t_4); + __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; @@ -5208,11 +5268,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD___reduce__(PyObject *__pyx_v_ __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":341 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":341 * return SGD,(self.loss,self.reg, self.epochs, self.norm, self.alpha) * * def train(self, model, dataset, verbose = 0, shuffle = False): # <<<<<<<<<<<<<< @@ -5228,13 +5288,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD_train(PyObject *__pyx_v_self, PyObject *__pyx_v_verbose = 0; PyObject *__pyx_v_shuffle = 0; PyObject *__pyx_r = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_model,&__pyx_kp_dataset,&__pyx_kp_verbose,&__pyx_kp_shuffle,0}; - __Pyx_SetupRefcountContext("train"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__model,&__pyx_n_s__dataset,&__pyx_n_s__verbose,&__pyx_n_s__shuffle,0}; + __Pyx_RefNannySetupContext("train"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[4] = {0,0,0,0}; - values[2] = __pyx_int_0; - values[3] = __pyx_k_33; + values[2] = ((PyObject *)__pyx_int_0); + values[3] = __pyx_k_6; switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); @@ -5245,23 +5305,23 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD_train(PyObject *__pyx_v_self, } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_model); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__model); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_dataset); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dataset); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("train", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_verbose); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__verbose); if (unlikely(value)) { values[2] = value; kw_args--; } } case 3: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_shuffle); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shuffle); if (unlikely(value)) { values[3] = value; kw_args--; } } } @@ -5273,8 +5333,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD_train(PyObject *__pyx_v_self, __pyx_v_verbose = values[2]; __pyx_v_shuffle = values[3]; } else { - __pyx_v_verbose = __pyx_int_0; - __pyx_v_shuffle = __pyx_k_33; + __pyx_v_verbose = ((PyObject *)__pyx_int_0); + __pyx_v_shuffle = __pyx_k_6; switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: __pyx_v_shuffle = PyTuple_GET_ITEM(__pyx_args, 3); @@ -5295,7 +5355,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD_train(PyObject *__pyx_v_self, return NULL; __pyx_L4_argument_unpacking_done:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":349 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":349 * :arg shuffle: Whether or not the training data should be shuffled after each epoch. * """ * self._train(model, dataset, verbose, shuffle) # <<<<<<<<<<<<<< @@ -5306,11 +5366,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_3SGD_train(PyObject *__pyx_v_self, __pyx_r = Py_None; __Pyx_INCREF(Py_None); __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":351 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":351 * self._train(model, dataset, verbose, shuffle) * * cdef void _train(self,model, dataset, verbose, shuffle): # <<<<<<<<<<<<<< @@ -5355,9 +5415,6 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra Py_buffer __pyx_bstruct_w; Py_ssize_t __pyx_bstride_0_w = 0; Py_ssize_t __pyx_bshape_0_w = 0; - PyObject *__pyx_1 = 0; - PyObject *__pyx_2 = 0; - PyObject *__pyx_3 = 0; PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyArrayObject *__pyx_t_3 = NULL; @@ -5367,22 +5424,28 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra PyObject *__pyx_t_7 = NULL; PyObject *__pyx_t_8 = NULL; PyObject *__pyx_t_9 = NULL; - int __pyx_t_10; - Py_ssize_t __pyx_t_11; - double __pyx_t_12; - int __pyx_t_13; - PyObject *__pyx_t_14 = NULL; - PyObject *__pyx_t_15 = NULL; - int __pyx_t_16; + PyObject *__pyx_t_10 = NULL; + PyObject *__pyx_t_11 = NULL; + int __pyx_t_12; + Py_ssize_t __pyx_t_13; + double __pyx_t_14; + int __pyx_t_15; + PyObject *__pyx_t_16 = NULL; int __pyx_t_17; int __pyx_t_18; int __pyx_t_19; - __Pyx_SetupRefcountContext("_train"); + int __pyx_t_20; + __Pyx_RefNannySetupContext("_train"); + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_model); + __Pyx_INCREF(__pyx_v_dataset); + __Pyx_INCREF(__pyx_v_verbose); + __Pyx_INCREF(__pyx_v_shuffle); __pyx_v_t1 = Py_None; __Pyx_INCREF(Py_None); __pyx_bstruct_w.buf = NULL; __pyx_bstruct_q.buf = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":353 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":353 * cdef void _train(self,model, dataset, verbose, shuffle): * * cdef LossFunction loss = self.loss # <<<<<<<<<<<<<< @@ -5392,33 +5455,33 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __Pyx_INCREF(((PyObject *)__pyx_v_self->loss)); __pyx_v_loss = __pyx_v_self->loss; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":354 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":354 * * cdef LossFunction loss = self.loss * cdef int m = model.m # <<<<<<<<<<<<<< * cdef int n = dataset.n * cdef double reg = self.reg */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_m = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":355 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":355 * cdef LossFunction loss = self.loss * cdef int m = model.m * cdef int n = dataset.n # <<<<<<<<<<<<<< * cdef double reg = self.reg * */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":356 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":356 * cdef int m = model.m * cdef int n = dataset.n * cdef double reg = self.reg # <<<<<<<<<<<<<< @@ -5427,16 +5490,16 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_reg = __pyx_v_self->reg; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":358 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":358 * cdef double reg = self.reg * * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] w = model.w # <<<<<<<<<<<<<< * # weight vector w as c array * cdef double *wdata = w.data */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_w); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__w); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = ((PyArrayObject *)__pyx_t_1); { __Pyx_BufFmt_StackElem __pyx_stack[1]; @@ -5451,7 +5514,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __pyx_v_w = ((PyArrayObject *)__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":360 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":360 * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] w = model.w * # weight vector w as c array * cdef double *wdata = w.data # <<<<<<<<<<<<<< @@ -5460,7 +5523,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_wdata = ((double *)__pyx_v_w->data); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":362 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":362 * cdef double *wdata = w.data * # the scale of w * cdef double wscale = 1.0 # <<<<<<<<<<<<<< @@ -5469,7 +5532,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_wscale = 1.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":365 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":365 * * # training instance * cdef np.ndarray x = None # <<<<<<<<<<<<<< @@ -5479,7 +5542,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __Pyx_INCREF(Py_None); __pyx_v_x = ((PyArrayObject *)Py_None); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":366 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":366 * # training instance * cdef np.ndarray x = None * cdef Pair *xdata = NULL # <<<<<<<<<<<<<< @@ -5488,7 +5551,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_xdata = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":368 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":368 * cdef Pair *xdata = NULL * * cdef double y = 0.0 # <<<<<<<<<<<<<< @@ -5497,7 +5560,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_y = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":371 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":371 * * # Variables for penalty term * cdef int norm = self.norm # <<<<<<<<<<<<<< @@ -5506,7 +5569,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_norm = __pyx_v_self->norm; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":372 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":372 * # Variables for penalty term * cdef int norm = self.norm * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] q = None # <<<<<<<<<<<<<< @@ -5527,7 +5590,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __Pyx_INCREF(Py_None); __pyx_v_q = ((PyArrayObject *)Py_None); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":373 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":373 * cdef int norm = self.norm * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] q = None * cdef double *qdata = NULL # <<<<<<<<<<<<<< @@ -5536,7 +5599,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_qdata = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":374 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":374 * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] q = None * cdef double *qdata = NULL * cdef double u = 0.0 # <<<<<<<<<<<<<< @@ -5545,7 +5608,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_u = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":375 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":375 * cdef double *qdata = NULL * cdef double u = 0.0 * if norm == 1 or norm == 3: # <<<<<<<<<<<<<< @@ -5556,58 +5619,58 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra case 1: case 3: - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":376 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":376 * cdef double u = 0.0 * if norm == 1 or norm == 3: * q = np.zeros((m,), dtype = np.float64, order = "c" ) # <<<<<<<<<<<<<< * qdata = q.data * */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_zeros); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_5 = PyInt_FromLong(__pyx_v_m); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__zeros); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyInt_FromLong(__pyx_v_m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_6)); - PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_6)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_6)); - __pyx_t_6 = 0; - __pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_1)); - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_6 = PyObject_GetAttr(__pyx_2, __pyx_kp_39); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - if (PyDict_SetItem(__pyx_1, __pyx_kp_dtype, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (PyDict_SetItem(__pyx_1, __pyx_kp_order, __pyx_kp_40) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_6 = PyEval_CallObjectWithKeywords(__pyx_t_1, ((PyObject *)__pyx_t_5), ((PyObject *)__pyx_1)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + __pyx_t_6 = 0; + __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_6)); + __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_8 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s__float64); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__dtype), __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__order), ((PyObject *)__pyx_n_s__c)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyEval_CallObjectWithKeywords(__pyx_t_5, __pyx_t_1, ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_1)); __pyx_1 = 0; - if (!(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_t_4 = ((PyArrayObject *)__pyx_t_6); + __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0; + if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = ((PyArrayObject *)__pyx_t_8); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_bstruct_q); __pyx_t_2 = __Pyx_GetBufferAndValidate(&__pyx_bstruct_q, (PyObject*)__pyx_t_4, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack); if (unlikely(__pyx_t_2 < 0)) { - PyErr_Fetch(&__pyx_t_7, &__pyx_t_8, &__pyx_t_9); + PyErr_Fetch(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_q, (PyObject*)__pyx_v_q, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack) == -1)) { - Py_XDECREF(__pyx_t_7); Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9); + Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_11); __Pyx_RaiseBufferFallbackError(); } else { - PyErr_Restore(__pyx_t_7, __pyx_t_8, __pyx_t_9); + PyErr_Restore(__pyx_t_9, __pyx_t_10, __pyx_t_11); } } __pyx_bstride_0_q = __pyx_bstruct_q.strides[0]; @@ -5616,10 +5679,10 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra } __pyx_t_4 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_q)); - __pyx_v_q = ((PyArrayObject *)__pyx_t_6); - __pyx_t_6 = 0; + __pyx_v_q = ((PyArrayObject *)__pyx_t_8); + __pyx_t_8 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":377 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":377 * if norm == 1 or norm == 3: * q = np.zeros((m,), dtype = np.float64, order = "c" ) * qdata = q.data # <<<<<<<<<<<<<< @@ -5630,7 +5693,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra break; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":379 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":379 * qdata = q.data * * cdef double alpha = 1.0 # <<<<<<<<<<<<<< @@ -5639,7 +5702,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_alpha = 1.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":380 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":380 * * cdef double alpha = 1.0 * if norm == 1: # <<<<<<<<<<<<<< @@ -5649,7 +5712,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra switch (__pyx_v_norm) { case 1: - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":381 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":381 * cdef double alpha = 1.0 * if norm == 1: * alpha = 0.0 # <<<<<<<<<<<<<< @@ -5659,7 +5722,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __pyx_v_alpha = 0.0; break; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":382 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":382 * if norm == 1: * alpha = 0.0 * elif norm == 3: # <<<<<<<<<<<<<< @@ -5668,7 +5731,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ case 3: - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":383 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":383 * alpha = 0.0 * elif norm == 3: * alpha = self.alpha # <<<<<<<<<<<<<< @@ -5679,7 +5742,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra break; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":386 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":386 * * # bias term (aka offset or intercept) * cdef int usebias = 1 # <<<<<<<<<<<<<< @@ -5688,26 +5751,26 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_usebias = 1; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":387 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":387 * # bias term (aka offset or intercept) * cdef int usebias = 1 * if model.biasterm == False: # <<<<<<<<<<<<<< * usebias = 0 * */ - __pyx_t_6 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_biasterm); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_8 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__biasterm); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_6 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_RichCompare(__pyx_t_8, __pyx_t_6, Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_10) { + if (__pyx_t_12) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":388 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":388 * cdef int usebias = 1 * if model.biasterm == False: * usebias = 0 # <<<<<<<<<<<<<< @@ -5719,7 +5782,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra } __pyx_L3:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":390 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":390 * usebias = 0 * * cdef double b = 0.0,p = 0.0, wnorm = 0.0, t = 0.0, update = 0.0,sumloss = 0.0, eta = 0.0 # <<<<<<<<<<<<<< @@ -5734,7 +5797,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __pyx_v_sumloss = 0.0; __pyx_v_eta = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":391 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":391 * * cdef double b = 0.0,p = 0.0, wnorm = 0.0, t = 0.0, update = 0.0,sumloss = 0.0, eta = 0.0 * cdef int xnnz = 0, count = 0, i = 0, e = 0 # <<<<<<<<<<<<<< @@ -5746,7 +5809,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __pyx_v_i = 0; __pyx_v_e = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":394 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":394 * * # computing eta0 * cdef double typw = sqrt(1.0 / sqrt(reg)) # <<<<<<<<<<<<<< @@ -5755,7 +5818,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_typw = sqrt((1.0 / sqrt(__pyx_v_reg))); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":395 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":395 * # computing eta0 * cdef double typw = sqrt(1.0 / sqrt(reg)) * cdef double eta0 = typw /max(1.0,loss.dloss(-typw,1.0)) # <<<<<<<<<<<<<< @@ -5764,7 +5827,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_eta0 = (__pyx_v_typw / __pyx_f_4bolt_7trainer_3sgd_max(1.0, ((struct __pyx_vtabstruct_4bolt_7trainer_3sgd_LossFunction *)__pyx_v_loss->__pyx_vtab)->dloss(__pyx_v_loss, (-__pyx_v_typw), 1.0, 0))); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":396 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":396 * cdef double typw = sqrt(1.0 / sqrt(reg)) * cdef double eta0 = typw /max(1.0,loss.dloss(-typw,1.0)) * t = 1.0 / (eta0 * reg) # <<<<<<<<<<<<<< @@ -5773,23 +5836,23 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_t = (1.0 / (__pyx_v_eta0 * __pyx_v_reg)); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":397 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":397 * cdef double eta0 = typw /max(1.0,loss.dloss(-typw,1.0)) * t = 1.0 / (eta0 * reg) * t1=time() # <<<<<<<<<<<<<< * for e from 0 <= e < self.epochs: * if verbose > 0: */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_time); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_1 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; + __pyx_t_6 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_v_t1); - __pyx_v_t1 = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_v_t1 = __pyx_t_6; + __pyx_t_6 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":398 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":398 * t = 1.0 / (eta0 * reg) * t1=time() * for e from 0 <= e < self.epochs: # <<<<<<<<<<<<<< @@ -5799,65 +5862,65 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __pyx_t_2 = __pyx_v_self->epochs; for (__pyx_v_e = 0; __pyx_v_e < __pyx_t_2; __pyx_v_e++) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":399 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":399 * t1=time() * for e from 0 <= e < self.epochs: * if verbose > 0: # <<<<<<<<<<<<<< * print("-- Epoch %d" % (e+1)) * if shuffle: */ - __pyx_t_1 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_10) { + __pyx_t_6 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_12) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":400 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":400 * for e from 0 <= e < self.epochs: * if verbose > 0: * print("-- Epoch %d" % (e+1)) # <<<<<<<<<<<<<< * if shuffle: * dataset.shuffle() */ - __pyx_t_1 = PyInt_FromLong((__pyx_v_e + 1)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_6 = PyInt_FromLong((__pyx_v_e + 1)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_7), __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyNumber_Remainder(__pyx_kp_41, __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__Pyx_PrintOne(__pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__Pyx_PrintOne(__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L6; } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":401 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":401 * if verbose > 0: * print("-- Epoch %d" % (e+1)) * if shuffle: # <<<<<<<<<<<<<< * dataset.shuffle() * for x,y in dataset: */ - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_v_shuffle); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - if (__pyx_t_10) { + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_v_shuffle); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (__pyx_t_12) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":402 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":402 * print("-- Epoch %d" % (e+1)) * if shuffle: * dataset.shuffle() # <<<<<<<<<<<<<< * for x,y in dataset: * eta = 1.0 / (reg * t) */ - __pyx_t_5 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_shuffle); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__shuffle); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_6 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; goto __pyx_L7; } __pyx_L7:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":403 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":403 * if shuffle: * dataset.shuffle() * for x,y in dataset: # <<<<<<<<<<<<<< @@ -5865,58 +5928,58 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra * xnnz = x.shape[0] */ if (PyList_CheckExact(__pyx_v_dataset) || PyTuple_CheckExact(__pyx_v_dataset)) { - __pyx_t_11 = 0; __pyx_t_1 = __pyx_v_dataset; __Pyx_INCREF(__pyx_t_1); + __pyx_t_13 = 0; __pyx_t_6 = __pyx_v_dataset; __Pyx_INCREF(__pyx_t_6); } else { - __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_dataset); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); + __pyx_t_13 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_v_dataset); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); } for (;;) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; - } else if (likely(PyTuple_CheckExact(__pyx_t_1))) { - if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; + if (likely(PyList_CheckExact(__pyx_t_6))) { + if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_6)) break; + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; + } else if (likely(PyTuple_CheckExact(__pyx_t_6))) { + if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_6)) break; + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; } else { - __pyx_t_5 = PyIter_Next(__pyx_t_1); - if (!__pyx_t_5) { + __pyx_t_1 = PyIter_Next(__pyx_t_6); + if (!__pyx_t_1) { if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} break; } - __Pyx_GOTREF(__pyx_t_5); + __Pyx_GOTREF(__pyx_t_1); } - if (PyTuple_CheckExact(__pyx_t_5) && likely(PyTuple_GET_SIZE(__pyx_t_5) == 2)) { - PyObject* tuple = __pyx_t_5; - __pyx_2 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_2); - if (!(__Pyx_TypeTest(__pyx_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_3 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_3); - __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_3); __pyx_3 = 0; + if (PyTuple_CheckExact(__pyx_t_1) && likely(PyTuple_GET_SIZE(__pyx_t_1) == 2)) { + PyObject* tuple = __pyx_t_1; + __pyx_t_8 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_8); + if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_5); + __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_x)); - __pyx_v_x = ((PyArrayObject *)__pyx_2); - __pyx_2 = 0; - __pyx_v_y = __pyx_t_12; + __pyx_v_x = ((PyArrayObject *)__pyx_t_8); + __pyx_t_8 = 0; + __pyx_v_y = __pyx_t_14; } else { - __pyx_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_8 = __Pyx_UnpackItem(__pyx_t_7, 0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_7, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_2 = __Pyx_UnpackItem(__pyx_1, 0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - if (!(__Pyx_TypeTest(__pyx_2, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_3 = __Pyx_UnpackItem(__pyx_1, 1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_3); __pyx_3 = 0; - if (__Pyx_EndUnpack(__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + if (__Pyx_EndUnpack(__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_x)); - __pyx_v_x = ((PyArrayObject *)__pyx_2); - __pyx_2 = 0; - __pyx_v_y = __pyx_t_12; + __pyx_v_x = ((PyArrayObject *)__pyx_t_8); + __pyx_t_8 = 0; + __pyx_v_y = __pyx_t_14; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":404 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":404 * dataset.shuffle() * for x,y in dataset: * eta = 1.0 / (reg * t) # <<<<<<<<<<<<<< @@ -5925,7 +5988,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_eta = (1.0 / (__pyx_v_reg * __pyx_v_t)); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":405 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":405 * for x,y in dataset: * eta = 1.0 / (reg * t) * xnnz = x.shape[0] # <<<<<<<<<<<<<< @@ -5934,7 +5997,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_xnnz = (__pyx_v_x->dimensions[0]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":406 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":406 * eta = 1.0 / (reg * t) * xnnz = x.shape[0] * xdata = x.data # <<<<<<<<<<<<<< @@ -5943,7 +6006,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_xdata = ((struct __pyx_t_4bolt_7trainer_3sgd_Pair *)__pyx_v_x->data); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":407 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":407 * xnnz = x.shape[0] * xdata = x.data * p = (dot(wdata, xdata, xnnz) * wscale) + b # <<<<<<<<<<<<<< @@ -5952,7 +6015,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_p = ((__pyx_f_4bolt_7trainer_3sgd_dot(__pyx_v_wdata, __pyx_v_xdata, __pyx_v_xnnz) * __pyx_v_wscale) + __pyx_v_b); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":408 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":408 * xdata = x.data * p = (dot(wdata, xdata, xnnz) * wscale) + b * sumloss += loss.loss(p,y) # <<<<<<<<<<<<<< @@ -5961,7 +6024,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_sumloss += ((struct __pyx_vtabstruct_4bolt_7trainer_3sgd_LossFunction *)__pyx_v_loss->__pyx_vtab)->loss(__pyx_v_loss, __pyx_v_p, __pyx_v_y, 0); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":409 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":409 * p = (dot(wdata, xdata, xnnz) * wscale) + b * sumloss += loss.loss(p,y) * update = eta * loss.dloss(p,y) # <<<<<<<<<<<<<< @@ -5970,17 +6033,17 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_update = (__pyx_v_eta * ((struct __pyx_vtabstruct_4bolt_7trainer_3sgd_LossFunction *)__pyx_v_loss->__pyx_vtab)->dloss(__pyx_v_loss, __pyx_v_p, __pyx_v_y, 0)); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":410 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":410 * sumloss += loss.loss(p,y) * update = eta * loss.dloss(p,y) * if update != 0: # <<<<<<<<<<<<<< * add(wdata, wscale, xdata, * xnnz,update) */ - __pyx_t_10 = (__pyx_v_update != 0); - if (__pyx_t_10) { + __pyx_t_12 = (__pyx_v_update != 0); + if (__pyx_t_12) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":412 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":412 * if update != 0: * add(wdata, wscale, xdata, * xnnz,update) # <<<<<<<<<<<<<< @@ -5989,17 +6052,17 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_f_4bolt_7trainer_3sgd_add(__pyx_v_wdata, __pyx_v_wscale, __pyx_v_xdata, __pyx_v_xnnz, __pyx_v_update); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":413 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":413 * add(wdata, wscale, xdata, * xnnz,update) * if usebias == 1: # <<<<<<<<<<<<<< * b += update * 0.01 * */ - __pyx_t_10 = (__pyx_v_usebias == 1); - if (__pyx_t_10) { + __pyx_t_12 = (__pyx_v_usebias == 1); + if (__pyx_t_12) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":414 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":414 * xnnz,update) * if usebias == 1: * b += update * 0.01 # <<<<<<<<<<<<<< @@ -6014,17 +6077,17 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra } __pyx_L10:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":416 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":416 * b += update * 0.01 * * if norm != 1: # <<<<<<<<<<<<<< * wscale *= (1 - alpha * eta * reg) * if wscale < 1e-9: */ - __pyx_t_10 = (__pyx_v_norm != 1); - if (__pyx_t_10) { + __pyx_t_12 = (__pyx_v_norm != 1); + if (__pyx_t_12) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":417 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":417 * * if norm != 1: * wscale *= (1 - alpha * eta * reg) # <<<<<<<<<<<<<< @@ -6033,53 +6096,53 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_wscale *= (1 - ((__pyx_v_alpha * __pyx_v_eta) * __pyx_v_reg)); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":418 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":418 * if norm != 1: * wscale *= (1 - alpha * eta * reg) * if wscale < 1e-9: # <<<<<<<<<<<<<< * w*=wscale * wscale = 1 */ - __pyx_t_10 = (__pyx_v_wscale < 1.0000000000000001e-09); - if (__pyx_t_10) { + __pyx_t_12 = (__pyx_v_wscale < 1.0000000000000001e-09); + if (__pyx_t_12) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":419 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":419 * wscale *= (1 - alpha * eta * reg) * if wscale < 1e-9: * w*=wscale # <<<<<<<<<<<<<< * wscale = 1 * if norm == 1 or norm == 3: */ - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyNumber_InPlaceMultiply(((PyObject *)__pyx_v_w), __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_3 = PyNumber_InPlaceMultiply(((PyObject *)__pyx_v_w), __pyx_t_5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - if (!(__Pyx_TypeTest(__pyx_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_3 = ((PyArrayObject *)__pyx_3); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_bstruct_w); - __pyx_t_13 = __Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack); - if (unlikely(__pyx_t_13 < 0)) { - PyErr_Fetch(&__pyx_t_9, &__pyx_t_8, &__pyx_t_7); + __pyx_t_15 = __Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_t_3, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack); + if (unlikely(__pyx_t_15 < 0)) { + PyErr_Fetch(&__pyx_t_11, &__pyx_t_10, &__pyx_t_9); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack) == -1)) { - Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_7); + Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_10); Py_XDECREF(__pyx_t_9); __Pyx_RaiseBufferFallbackError(); } else { - PyErr_Restore(__pyx_t_9, __pyx_t_8, __pyx_t_7); + PyErr_Restore(__pyx_t_11, __pyx_t_10, __pyx_t_9); } } __pyx_bstride_0_w = __pyx_bstruct_w.strides[0]; __pyx_bshape_0_w = __pyx_bstruct_w.shape[0]; - if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__pyx_t_15 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_3 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_w)); - __pyx_v_w = ((PyArrayObject *)__pyx_3); - __pyx_3 = 0; + __pyx_v_w = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":420 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":420 * if wscale < 1e-9: * w*=wscale * wscale = 1 # <<<<<<<<<<<<<< @@ -6094,7 +6157,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra } __pyx_L12:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":421 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":421 * w*=wscale * wscale = 1 * if norm == 1 or norm == 3: # <<<<<<<<<<<<<< @@ -6105,7 +6168,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra case 1: case 3: - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":422 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":422 * wscale = 1 * if norm == 1 or norm == 3: * u += ((1-alpha) * eta * reg) # <<<<<<<<<<<<<< @@ -6114,7 +6177,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_u += (((1 - __pyx_v_alpha) * __pyx_v_eta) * __pyx_v_reg); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":423 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":423 * if norm == 1 or norm == 3: * u += ((1-alpha) * eta * reg) * l1penalty(wscale, wdata, qdata, xdata, xnnz, u) # <<<<<<<<<<<<<< @@ -6125,7 +6188,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra break; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":425 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":425 * l1penalty(wscale, wdata, qdata, xdata, xnnz, u) * * t += 1 # <<<<<<<<<<<<<< @@ -6134,7 +6197,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_t += 1; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":426 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":426 * * t += 1 * count += 1 # <<<<<<<<<<<<<< @@ -6143,347 +6206,345 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra */ __pyx_v_count += 1; } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":429 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":429 * * # report epoche information * if verbose > 0: # <<<<<<<<<<<<<< * wnorm = sqrt(np.dot(w,w) * wscale * wscale) * print("Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f" % (wnorm,w.nonzero()[0].shape[0],b,count,sumloss/count)) */ - __pyx_t_1 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__pyx_t_10) { + __pyx_t_6 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + if (__pyx_t_12) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":430 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":430 * # report epoche information * if verbose > 0: * wnorm = sqrt(np.dot(w,w) * wscale * wscale) # <<<<<<<<<<<<<< * print("Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f" % (wnorm,w.nonzero()[0].shape[0],b,count,sumloss/count)) * print("Total training time: %.2f seconds." % (time()-t1)) */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_dot); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__dot); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_6, 1, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_6 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_6); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyNumber_Multiply(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_6 = PyNumber_Multiply(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); + __pyx_t_5 = PyNumber_Multiply(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_12 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_v_wnorm = sqrt(__pyx_t_12); + __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_v_wnorm = sqrt(__pyx_t_14); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":431 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":431 * if verbose > 0: * wnorm = sqrt(np.dot(w,w) * wscale * wscale) * print("Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f" % (wnorm,w.nonzero()[0].shape[0],b,count,sumloss/count)) # <<<<<<<<<<<<<< * print("Total training time: %.2f seconds." % (time()-t1)) * */ - __pyx_t_6 = PyFloat_FromDouble(__pyx_v_wnorm); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_wnorm); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_w), __pyx_n_s__nonzero); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_6); - __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_w), __pyx_kp_nonzero); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_5, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_2 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyObject_GetAttr(__pyx_2, __pyx_kp_shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __pyx_3 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyInt_FromLong(__pyx_v_count); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__shape); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = PyFloat_FromDouble((__pyx_v_sumloss / __pyx_v_count)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_15 = PyTuple_New(5); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_15)); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_6); - __Pyx_GIVEREF(__pyx_t_6); - PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_3); - __Pyx_GIVEREF(__pyx_3); - PyTuple_SET_ITEM(__pyx_t_15, 2, __pyx_t_1); + __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; + __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_5, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_6); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = PyInt_FromLong(__pyx_v_count); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_7 = PyFloat_FromDouble((__pyx_v_sumloss / ((double)__pyx_v_count))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_16 = PyTuple_New(5); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_15, 3, __pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_6); + __Pyx_GIVEREF(__pyx_t_6); + PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_15, 4, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_6 = 0; - __pyx_3 = 0; + PyTuple_SET_ITEM(__pyx_t_16, 3, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + PyTuple_SET_ITEM(__pyx_t_16, 4, __pyx_t_7); + __Pyx_GIVEREF(__pyx_t_7); __pyx_t_1 = 0; + __pyx_t_6 = 0; __pyx_t_5 = 0; - __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_kp_42, ((PyObject *)__pyx_t_15)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; - if (__Pyx_PrintOne(__pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":432 + __pyx_t_8 = 0; + __pyx_t_7 = 0; + __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_8), __pyx_t_16); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__Pyx_PrintOne(__pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":432 * wnorm = sqrt(np.dot(w,w) * wscale * wscale) * print("Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f" % (wnorm,w.nonzero()[0].shape[0],b,count,sumloss/count)) * print("Total training time: %.2f seconds." % (time()-t1)) # <<<<<<<<<<<<<< * * # floating-point under-/overflow check. */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_time); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_14 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_15 = PyNumber_Subtract(__pyx_t_14, __pyx_v_t1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __pyx_t_14 = PyNumber_Remainder(__pyx_kp_43, __pyx_t_15); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (__Pyx_PrintOne(__pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__time); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __pyx_t_16 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __pyx_t_7 = PyNumber_Subtract(__pyx_t_16, __pyx_v_t1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_9), __pyx_t_7); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + if (__Pyx_PrintOne(__pyx_t_16) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; goto __pyx_L14; } __pyx_L14:; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":435 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":435 * * # floating-point under-/overflow check. * if np.any(np.isinf(w)) or np.any(np.isnan(w))or np.isnan(b) or np.isinf(b): # <<<<<<<<<<<<<< * raise ValueError("floating-point under-/overflow occured.") * if norm == 3: */ - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_14 = PyObject_GetAttr(__pyx_2, __pyx_kp_any); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - __pyx_t_15 = PyObject_GetAttr(__pyx_3, __pyx_kp_isinf); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_3); __pyx_3 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); + __pyx_t_16 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_7 = PyObject_GetAttr(__pyx_t_16, __pyx_n_s__any); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_8 = PyObject_GetAttr(__pyx_t_16, __pyx_n_s__isinf); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_16, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_1 = PyObject_Call(__pyx_t_15, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_1 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (!__pyx_t_10) { - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_any); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - __pyx_t_5 = PyObject_GetAttr(__pyx_2, __pyx_kp_isnan); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Call(__pyx_t_8, __pyx_t_16, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_Call(__pyx_t_7, __pyx_t_16, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (!__pyx_t_12) { + __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_16 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__any); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_7 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__isnan); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_7); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_14)); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_15 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_14), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); + __pyx_t_8 = PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; - __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_14)); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_15); - __Pyx_GIVEREF(__pyx_t_15); - __pyx_t_15 = 0; - __pyx_t_15 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_14), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_16 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (!__pyx_t_16) { - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - __pyx_t_15 = PyObject_GetAttr(__pyx_3, __pyx_kp_isnan); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_3); __pyx_3 = 0; - __pyx_t_14 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = PyObject_Call(__pyx_t_15, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (!__pyx_t_17) { - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_14 = PyObject_GetAttr(__pyx_1, __pyx_kp_isinf); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = PyTuple_New(1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_15)); - PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_1); - __Pyx_GIVEREF(__pyx_t_1); - __pyx_t_1 = 0; - __pyx_t_1 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_15), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0; - __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_18 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_19 = __pyx_t_18; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_8 = PyObject_Call(__pyx_t_16, __pyx_t_5, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_17 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!__pyx_t_17) { + __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_5 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__isnan); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_8 = PyObject_Call(__pyx_t_5, __pyx_t_16, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_18 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (!__pyx_t_18) { + __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_16 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__isinf); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); + __Pyx_GIVEREF(__pyx_t_8); + __pyx_t_8 = 0; + __pyx_t_8 = PyObject_Call(__pyx_t_16, __pyx_t_5, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_19 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __pyx_t_20 = __pyx_t_19; } else { - __pyx_t_19 = __pyx_t_17; + __pyx_t_20 = __pyx_t_18; } - __pyx_t_17 = __pyx_t_19; + __pyx_t_18 = __pyx_t_20; } else { - __pyx_t_17 = __pyx_t_16; + __pyx_t_18 = __pyx_t_17; } - __pyx_t_16 = __pyx_t_17; + __pyx_t_17 = __pyx_t_18; } else { - __pyx_t_16 = __pyx_t_10; + __pyx_t_17 = __pyx_t_12; } - if (__pyx_t_16) { + if (__pyx_t_17) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":436 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":436 * # floating-point under-/overflow check. * if np.any(np.isinf(w)) or np.any(np.isnan(w))or np.isnan(b) or np.isinf(b): * raise ValueError("floating-point under-/overflow occured.") # <<<<<<<<<<<<<< * if norm == 3: * # FIXME rescale naive elastic net coefficient? */ - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_44); - PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_44); - __Pyx_GIVEREF(__pyx_kp_44); - __pyx_t_15 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __Pyx_Raise(__pyx_t_15, 0, 0); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_10)); + PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_kp_s_10)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_10)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L15; } __pyx_L15:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":437 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":437 * if np.any(np.isinf(w)) or np.any(np.isnan(w))or np.isnan(b) or np.isinf(b): * raise ValueError("floating-point under-/overflow occured.") * if norm == 3: # <<<<<<<<<<<<<< * # FIXME rescale naive elastic net coefficient? * model.w = w * wscale #* (1.0 + alpha) */ - __pyx_t_16 = (__pyx_v_norm == 3); - if (__pyx_t_16) { + __pyx_t_17 = (__pyx_v_norm == 3); + if (__pyx_t_17) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":439 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":439 * if norm == 3: * # FIXME rescale naive elastic net coefficient? * model.w = w * wscale #* (1.0 + alpha) # <<<<<<<<<<<<<< * else: * model.w = w * wscale */ - __pyx_t_15 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - __pyx_t_1 = PyNumber_Multiply(((PyObject *)__pyx_v_w), __pyx_t_15); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; - if (PyObject_SetAttr(__pyx_v_model, __pyx_kp_w, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_8 = PyNumber_Multiply(((PyObject *)__pyx_v_w), __pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (PyObject_SetAttr(__pyx_v_model, __pyx_n_s__w, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; goto __pyx_L16; } /*else*/ { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":441 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":441 * model.w = w * wscale #* (1.0 + alpha) * else: * model.w = w * wscale # <<<<<<<<<<<<<< * model.bias = b * */ - __pyx_t_1 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_15 = PyNumber_Multiply(((PyObject *)__pyx_v_w), __pyx_t_1); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyObject_SetAttr(__pyx_v_model, __pyx_kp_w, __pyx_t_15) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_8 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_8); + __pyx_t_5 = PyNumber_Multiply(((PyObject *)__pyx_v_w), __pyx_t_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; + if (PyObject_SetAttr(__pyx_v_model, __pyx_n_s__w, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_L16:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":442 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":442 * else: * model.w = w * wscale * model.bias = b # <<<<<<<<<<<<<< * * cdef void l1penalty(double wscale, double *w, double *q, */ - __pyx_t_15 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_15); - if (PyObject_SetAttr(__pyx_v_model, __pyx_kp_bias, __pyx_t_15) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + if (PyObject_SetAttr(__pyx_v_model, __pyx_n_s__bias, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); - __Pyx_XDECREF(__pyx_2); - __Pyx_XDECREF(__pyx_3); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); - __Pyx_XDECREF(__pyx_t_14); - __Pyx_XDECREF(__pyx_t_15); + __Pyx_XDECREF(__pyx_t_7); + __Pyx_XDECREF(__pyx_t_8); + __Pyx_XDECREF(__pyx_t_16); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_bstruct_q); @@ -6500,10 +6561,15 @@ static void __pyx_f_4bolt_7trainer_3sgd_3SGD__train(struct __pyx_obj_4bolt_7tra __Pyx_XDECREF((PyObject *)__pyx_v_x); __Pyx_XDECREF((PyObject *)__pyx_v_q); __Pyx_DECREF(__pyx_v_t1); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_model); + __Pyx_DECREF(__pyx_v_dataset); + __Pyx_DECREF(__pyx_v_verbose); + __Pyx_DECREF(__pyx_v_shuffle); + __Pyx_RefNannyFinishContext(); } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":444 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":444 * model.bias = b * * cdef void l1penalty(double wscale, double *w, double *q, # <<<<<<<<<<<<<< @@ -6518,9 +6584,9 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double int __pyx_v_j; int __pyx_t_1; int __pyx_t_2; - __Pyx_SetupRefcountContext("l1penalty"); + __Pyx_RefNannySetupContext("l1penalty"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":446 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":446 * cdef void l1penalty(double wscale, double *w, double *q, * Pair *x, int nnz, double u): * cdef double z = 0.0 # <<<<<<<<<<<<<< @@ -6529,7 +6595,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double */ __pyx_v_z = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":449 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":449 * cdef Pair pair * cdef int i,j * for i from 0 <= i < nnz: # <<<<<<<<<<<<<< @@ -6539,7 +6605,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double __pyx_t_1 = __pyx_v_nnz; for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":450 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":450 * cdef int i,j * for i from 0 <= i < nnz: * pair = x[i] # <<<<<<<<<<<<<< @@ -6548,7 +6614,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double */ __pyx_v_pair = (__pyx_v_x[__pyx_v_i]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":451 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":451 * for i from 0 <= i < nnz: * pair = x[i] * j = pair.idx # <<<<<<<<<<<<<< @@ -6557,7 +6623,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double */ __pyx_v_j = __pyx_v_pair.idx; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":452 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":452 * pair = x[i] * j = pair.idx * z = w[j] # <<<<<<<<<<<<<< @@ -6566,7 +6632,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double */ __pyx_v_z = (__pyx_v_w[__pyx_v_j]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":453 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":453 * j = pair.idx * z = w[j] * if (wscale * w[j]) > 0: # <<<<<<<<<<<<<< @@ -6576,7 +6642,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double __pyx_t_2 = ((__pyx_v_wscale * (__pyx_v_w[__pyx_v_j])) > 0); if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":454 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":454 * z = w[j] * if (wscale * w[j]) > 0: * w[j] = max(0,w[j] - ((u + q[j])/wscale) ) # <<<<<<<<<<<<<< @@ -6587,7 +6653,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double goto __pyx_L5; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":455 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":455 * if (wscale * w[j]) > 0: * w[j] = max(0,w[j] - ((u + q[j])/wscale) ) * elif (wscale * w[j]) < 0: # <<<<<<<<<<<<<< @@ -6597,7 +6663,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double __pyx_t_2 = ((__pyx_v_wscale * (__pyx_v_w[__pyx_v_j])) < 0); if (__pyx_t_2) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":456 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":456 * w[j] = max(0,w[j] - ((u + q[j])/wscale) ) * elif (wscale * w[j]) < 0: * w[j] = min(0,w[j] + ((u - q[j])/wscale) ) # <<<<<<<<<<<<<< @@ -6609,7 +6675,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double } __pyx_L5:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":457 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":457 * elif (wscale * w[j]) < 0: * w[j] = min(0,w[j] + ((u - q[j])/wscale) ) * q[j] += (wscale * (w[j] - z)) # <<<<<<<<<<<<<< @@ -6619,10 +6685,10 @@ static void __pyx_f_4bolt_7trainer_3sgd_l1penalty(double __pyx_v_wscale, double (__pyx_v_q[__pyx_v_j]) += (__pyx_v_wscale * ((__pyx_v_w[__pyx_v_j]) - __pyx_v_z)); } - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":475 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":475 * cdef double reg * * def __init__(self, reg, epochs): # <<<<<<<<<<<<<< @@ -6640,8 +6706,8 @@ static int __pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___init__(PyObject *__pyx_v_self int __pyx_t_3; int __pyx_t_4; double __pyx_t_5; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_reg,&__pyx_kp_epochs,0}; - __Pyx_SetupRefcountContext("__init__"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__reg,&__pyx_n_s__epochs,0}; + __Pyx_RefNannySetupContext("__init__"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[2] = {0,0}; @@ -6653,11 +6719,11 @@ static int __pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___init__(PyObject *__pyx_v_self } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_reg); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__reg); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_epochs); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__epochs); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L3_error;} @@ -6681,8 +6747,11 @@ static int __pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___init__(PyObject *__pyx_v_self __Pyx_AddTraceback("bolt.trainer.sgd.PEGASOS.__init__"); return -1; __pyx_L4_argument_unpacking_done:; + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_reg); + __Pyx_INCREF(__pyx_v_epochs); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":476 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":476 * * def __init__(self, reg, epochs): * if reg < 0.0: # <<<<<<<<<<<<<< @@ -6698,7 +6767,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___init__(PyObject *__pyx_v_self __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":477 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":477 * def __init__(self, reg, epochs): * if reg < 0.0: * raise ValueError("`reg` must be larger than 0. ") # <<<<<<<<<<<<<< @@ -6706,13 +6775,13 @@ static int __pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___init__(PyObject *__pyx_v_self * self.reg = reg */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_45); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_45); - __Pyx_GIVEREF(__pyx_kp_45); - __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_11)); + PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_11)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_11)); + __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_1, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;} @@ -6720,7 +6789,7 @@ static int __pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___init__(PyObject *__pyx_v_self } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":478 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":478 * if reg < 0.0: * raise ValueError("`reg` must be larger than 0. ") * self.epochs = epochs # <<<<<<<<<<<<<< @@ -6730,14 +6799,14 @@ static int __pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___init__(PyObject *__pyx_v_self __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_v_epochs); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_3sgd_PEGASOS *)__pyx_v_self)->epochs = __pyx_t_4; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":479 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":479 * raise ValueError("`reg` must be larger than 0. ") * self.epochs = epochs * self.reg = reg # <<<<<<<<<<<<<< * * def __reduce__(self): */ - __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_reg); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = __pyx_PyFloat_AsDouble(__pyx_v_reg); if (unlikely((__pyx_t_5 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;} ((struct __pyx_obj_4bolt_7trainer_3sgd_PEGASOS *)__pyx_v_self)->reg = __pyx_t_5; __pyx_r = 0; @@ -6748,11 +6817,14 @@ static int __pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___init__(PyObject *__pyx_v_self __Pyx_AddTraceback("bolt.trainer.sgd.PEGASOS.__init__"); __pyx_r = -1; __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_reg); + __Pyx_DECREF(__pyx_v_epochs); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":481 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":481 * self.reg = reg * * def __reduce__(self): # <<<<<<<<<<<<<< @@ -6766,9 +6838,9 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___reduce__(PyObject *__py PyObject *__pyx_t_1 = NULL; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; - __Pyx_SetupRefcountContext("__reduce__"); + __Pyx_RefNannySetupContext("__reduce__"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":482 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":482 * * def __reduce__(self): * return PEGASOS,(self.reg, self.epochs) # <<<<<<<<<<<<<< @@ -6781,7 +6853,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___reduce__(PyObject *__py __pyx_t_2 = PyInt_FromLong(((struct __pyx_obj_4bolt_7trainer_3sgd_PEGASOS *)__pyx_v_self)->epochs); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); + __Pyx_GOTREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); @@ -6789,14 +6861,14 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___reduce__(PyObject *__py __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_PEGASOS))); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_PEGASOS))); __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_4bolt_7trainer_3sgd_PEGASOS))); - PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_t_3)); - __Pyx_GIVEREF(((PyObject *)__pyx_t_3)); + PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_r = ((PyObject *)__pyx_t_2); + __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; @@ -6810,11 +6882,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS___reduce__(PyObject *__py __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":484 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":484 * return PEGASOS,(self.reg, self.epochs) * * def train(self, model, dataset, verbose = 0, shuffle = False): # <<<<<<<<<<<<<< @@ -6830,13 +6902,13 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS_train(PyObject *__pyx_v_s PyObject *__pyx_v_verbose = 0; PyObject *__pyx_v_shuffle = 0; PyObject *__pyx_r = NULL; - static PyObject **__pyx_pyargnames[] = {&__pyx_kp_model,&__pyx_kp_dataset,&__pyx_kp_verbose,&__pyx_kp_shuffle,0}; - __Pyx_SetupRefcountContext("train"); + static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__model,&__pyx_n_s__dataset,&__pyx_n_s__verbose,&__pyx_n_s__shuffle,0}; + __Pyx_RefNannySetupContext("train"); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args = PyDict_Size(__pyx_kwds); PyObject* values[4] = {0,0,0,0}; - values[2] = __pyx_int_0; - values[3] = __pyx_k_34; + values[2] = ((PyObject *)__pyx_int_0); + values[3] = __pyx_k_12; switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); @@ -6847,23 +6919,23 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS_train(PyObject *__pyx_v_s } switch (PyTuple_GET_SIZE(__pyx_args)) { case 0: - values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_model); + values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__model); if (likely(values[0])) kw_args--; else goto __pyx_L5_argtuple_error; case 1: - values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_dataset); + values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dataset); if (likely(values[1])) kw_args--; else { __Pyx_RaiseArgtupleInvalid("train", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L3_error;} } case 2: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_verbose); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__verbose); if (unlikely(value)) { values[2] = value; kw_args--; } } case 3: if (kw_args > 1) { - PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_shuffle); + PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shuffle); if (unlikely(value)) { values[3] = value; kw_args--; } } } @@ -6875,8 +6947,8 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS_train(PyObject *__pyx_v_s __pyx_v_verbose = values[2]; __pyx_v_shuffle = values[3]; } else { - __pyx_v_verbose = __pyx_int_0; - __pyx_v_shuffle = __pyx_k_34; + __pyx_v_verbose = ((PyObject *)__pyx_int_0); + __pyx_v_shuffle = __pyx_k_12; switch (PyTuple_GET_SIZE(__pyx_args)) { case 4: __pyx_v_shuffle = PyTuple_GET_ITEM(__pyx_args, 3); @@ -6897,7 +6969,7 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS_train(PyObject *__pyx_v_s return NULL; __pyx_L4_argument_unpacking_done:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":492 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":492 * :arg shuffle: Whether or not the training data should be shuffled after each epoch. * """ * self._train(model, dataset, verbose, shuffle) # <<<<<<<<<<<<<< @@ -6908,11 +6980,11 @@ static PyObject *__pyx_pf_4bolt_7trainer_3sgd_7PEGASOS_train(PyObject *__pyx_v_s __pyx_r = Py_None; __Pyx_INCREF(Py_None); __Pyx_XGIVEREF(__pyx_r); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":494 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":494 * self._train(model, dataset, verbose, shuffle) * * cdef void _train(self, model, dataset, verbose, shuffle): # <<<<<<<<<<<<<< @@ -6947,10 +7019,6 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ Py_buffer __pyx_bstruct_w; Py_ssize_t __pyx_bstride_0_w = 0; Py_ssize_t __pyx_bshape_0_w = 0; - PyObject *__pyx_1 = 0; - long __pyx_2; - PyObject *__pyx_3 = 0; - PyObject *__pyx_4 = 0; PyObject *__pyx_t_1 = NULL; int __pyx_t_2; PyObject *__pyx_t_3 = NULL; @@ -6959,48 +7027,55 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ double __pyx_t_6; PyArrayObject *__pyx_t_7 = NULL; int __pyx_t_8; - Py_ssize_t __pyx_t_9; - int __pyx_t_10; + long __pyx_t_9; + Py_ssize_t __pyx_t_10; PyObject *__pyx_t_11 = NULL; - PyObject *__pyx_t_12 = NULL; + int __pyx_t_12; PyObject *__pyx_t_13 = NULL; PyObject *__pyx_t_14 = NULL; - int __pyx_t_15; - int __pyx_t_16; + PyObject *__pyx_t_15 = NULL; + PyObject *__pyx_t_16 = NULL; int __pyx_t_17; int __pyx_t_18; - __Pyx_SetupRefcountContext("_train"); + int __pyx_t_19; + int __pyx_t_20; + __Pyx_RefNannySetupContext("_train"); + __Pyx_INCREF((PyObject *)__pyx_v_self); + __Pyx_INCREF(__pyx_v_model); + __Pyx_INCREF(__pyx_v_dataset); + __Pyx_INCREF(__pyx_v_verbose); + __Pyx_INCREF(__pyx_v_shuffle); __pyx_v_t1 = Py_None; __Pyx_INCREF(Py_None); __pyx_v_e = Py_None; __Pyx_INCREF(Py_None); __pyx_bstruct_w.buf = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":495 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":495 * * cdef void _train(self, model, dataset, verbose, shuffle): * cdef int m = model.m # <<<<<<<<<<<<<< * cdef int n = dataset.n * cdef double reg = self.reg */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__m); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_m = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":496 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":496 * cdef void _train(self, model, dataset, verbose, shuffle): * cdef int m = model.m * cdef int n = dataset.n # <<<<<<<<<<<<<< * cdef double reg = self.reg * cdef double invsqrtreg = 1.0 / np.sqrt(reg) */ - __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__n); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_n = __pyx_t_2; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":497 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":497 * cdef int m = model.m * cdef int n = dataset.n * cdef double reg = self.reg # <<<<<<<<<<<<<< @@ -7009,7 +7084,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_reg = __pyx_v_self->reg; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":498 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":498 * cdef int n = dataset.n * cdef double reg = self.reg * cdef double invsqrtreg = 1.0 / np.sqrt(reg) # <<<<<<<<<<<<<< @@ -7018,40 +7093,40 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_t_1 = PyFloat_FromDouble(1.0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_sqrt); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_reg); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__sqrt); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_reg); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_5); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_invsqrtreg = __pyx_t_6; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":500 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":500 * cdef double invsqrtreg = 1.0 / np.sqrt(reg) * * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] w = model.w # <<<<<<<<<<<<<< * # weight vector w as c array * cdef double *wdata = w.data */ - __pyx_t_5 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_w); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__w); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (!(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_7 = ((PyArrayObject *)__pyx_t_5); { __Pyx_BufFmt_StackElem __pyx_stack[1]; @@ -7066,7 +7141,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __pyx_v_w = ((PyArrayObject *)__pyx_t_5); __pyx_t_5 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":502 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":502 * cdef np.ndarray[np.float64_t, ndim=1, mode="c"] w = model.w * # weight vector w as c array * cdef double *wdata = w.data # <<<<<<<<<<<<<< @@ -7075,7 +7150,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_wdata = ((double *)__pyx_v_w->data); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":504 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":504 * cdef double *wdata = w.data * # norm of w * cdef double wscale = 1.0 # <<<<<<<<<<<<<< @@ -7084,7 +7159,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_wscale = 1.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":505 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":505 * # norm of w * cdef double wscale = 1.0 * cdef double wnorm = 0.0 # <<<<<<<<<<<<<< @@ -7093,7 +7168,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_wnorm = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":508 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":508 * * # training instance * cdef np.ndarray x = None # <<<<<<<<<<<<<< @@ -7103,7 +7178,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __Pyx_INCREF(Py_None); __pyx_v_x = ((PyArrayObject *)Py_None); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":509 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":509 * # training instance * cdef np.ndarray x = None * cdef Pair *xdata = NULL # <<<<<<<<<<<<<< @@ -7112,7 +7187,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_xdata = NULL; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":511 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":511 * cdef Pair *xdata = NULL * * cdef double b = 0.0,p = 0.0,update = 0.0, z = 0.0 # <<<<<<<<<<<<<< @@ -7124,7 +7199,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __pyx_v_update = 0.0; __pyx_v_z = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":512 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":512 * * cdef double b = 0.0,p = 0.0,update = 0.0, z = 0.0 * cdef double y = 0.0 # <<<<<<<<<<<<<< @@ -7133,7 +7208,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_y = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":513 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":513 * cdef double b = 0.0,p = 0.0,update = 0.0, z = 0.0 * cdef double y = 0.0 * cdef double eta = 0.0 # <<<<<<<<<<<<<< @@ -7142,7 +7217,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_eta = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":515 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":515 * cdef double eta = 0.0 * * cdef int xnnz=0 # <<<<<<<<<<<<<< @@ -7151,7 +7226,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_xnnz = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":518 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":518 * * # bias term (aka offset or intercept) * cdef int usebias = 1 # <<<<<<<<<<<<<< @@ -7160,26 +7235,26 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_usebias = 1; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":519 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":519 * # bias term (aka offset or intercept) * cdef int usebias = 1 * if model.biasterm == False: # <<<<<<<<<<<<<< * usebias = 0 * */ - __pyx_t_5 = PyObject_GetAttr(__pyx_v_model, __pyx_kp_biasterm); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_GetAttr(__pyx_v_model, __pyx_n_s__biasterm); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_8) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":520 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":520 * cdef int usebias = 1 * if model.biasterm == False: * usebias = 0 # <<<<<<<<<<<<<< @@ -7191,7 +7266,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ } __pyx_L3:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":522 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":522 * usebias = 0 * * cdef double sumloss = 0.0 # <<<<<<<<<<<<<< @@ -7200,7 +7275,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_sumloss = 0.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":523 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":523 * * cdef double sumloss = 0.0 * cdef int t = 1, i = 0 # <<<<<<<<<<<<<< @@ -7210,23 +7285,23 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __pyx_v_t = 1; __pyx_v_i = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":525 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":525 * cdef int t = 1, i = 0 * * t1=time() # <<<<<<<<<<<<<< * for e from 0 <= e < self.epochs: * if verbose > 0: */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_time); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_1 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_v_t1); - __pyx_v_t1 = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_v_t1 = __pyx_t_3; + __pyx_t_3 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":526 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":526 * * t1=time() * for e from 0 <= e < self.epochs: # <<<<<<<<<<<<<< @@ -7234,45 +7309,45 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ * print("-- Epoch %d" % (e+1)) */ __pyx_t_2 = __pyx_v_self->epochs; - for (__pyx_2 = 0; __pyx_2 < __pyx_t_2; __pyx_2++) { - __pyx_t_1 = PyInt_FromLong(__pyx_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); + for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_2; __pyx_t_9++) { + __pyx_t_3 = PyInt_FromLong(__pyx_t_9); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_v_e); - __pyx_v_e = __pyx_t_1; - __pyx_t_1 = 0; + __pyx_v_e = __pyx_t_3; + __pyx_t_3 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":527 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":527 * t1=time() * for e from 0 <= e < self.epochs: * if verbose > 0: # <<<<<<<<<<<<<< * print("-- Epoch %d" % (e+1)) * */ - __pyx_t_1 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_8) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":528 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":528 * for e from 0 <= e < self.epochs: * if verbose > 0: * print("-- Epoch %d" % (e+1)) # <<<<<<<<<<<<<< * * if shuffle: */ - __pyx_t_1 = PyNumber_Add(__pyx_v_e, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyNumber_Add(__pyx_v_e, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_7), __pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyNumber_Remainder(__pyx_kp_46, __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__Pyx_PrintOne(__pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (__Pyx_PrintOne(__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L6; } __pyx_L6:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":530 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":530 * print("-- Epoch %d" % (e+1)) * * if shuffle: # <<<<<<<<<<<<<< @@ -7282,24 +7357,24 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_shuffle); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__pyx_t_8) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":531 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":531 * * if shuffle: * dataset.shuffle() # <<<<<<<<<<<<<< * for x,y in dataset: * eta = 1.0 / (reg * t) */ - __pyx_t_4 = PyObject_GetAttr(__pyx_v_dataset, __pyx_kp_shuffle); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_GetAttr(__pyx_v_dataset, __pyx_n_s__shuffle); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L7; } __pyx_L7:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":532 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":532 * if shuffle: * dataset.shuffle() * for x,y in dataset: # <<<<<<<<<<<<<< @@ -7307,58 +7382,58 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ * xnnz = x.shape[0] */ if (PyList_CheckExact(__pyx_v_dataset) || PyTuple_CheckExact(__pyx_v_dataset)) { - __pyx_t_9 = 0; __pyx_t_1 = __pyx_v_dataset; __Pyx_INCREF(__pyx_t_1); + __pyx_t_10 = 0; __pyx_t_3 = __pyx_v_dataset; __Pyx_INCREF(__pyx_t_3); } else { - __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_dataset); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); + __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_dataset); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); } for (;;) { - if (likely(PyList_CheckExact(__pyx_t_1))) { - if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; - __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; - } else if (likely(PyTuple_CheckExact(__pyx_t_1))) { - if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; - __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; + if (likely(PyList_CheckExact(__pyx_t_3))) { + if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; + } else if (likely(PyTuple_CheckExact(__pyx_t_3))) { + if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_3)) break; + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; } else { - __pyx_t_4 = PyIter_Next(__pyx_t_1); - if (!__pyx_t_4) { + __pyx_t_1 = PyIter_Next(__pyx_t_3); + if (!__pyx_t_1) { if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} break; } - __Pyx_GOTREF(__pyx_t_4); + __Pyx_GOTREF(__pyx_t_1); } - if (PyTuple_CheckExact(__pyx_t_4) && likely(PyTuple_GET_SIZE(__pyx_t_4) == 2)) { - PyObject* tuple = __pyx_t_4; - __pyx_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_3); - if (!(__Pyx_TypeTest(__pyx_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_4); - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_4); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; + if (PyTuple_CheckExact(__pyx_t_1) && likely(PyTuple_GET_SIZE(__pyx_t_1) == 2)) { + PyObject* tuple = __pyx_t_1; + __pyx_t_5 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_5); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4); + __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_x)); - __pyx_v_x = ((PyArrayObject *)__pyx_3); - __pyx_3 = 0; + __pyx_v_x = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; __pyx_v_y = __pyx_t_6; } else { - __pyx_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __pyx_t_11 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_5 = __Pyx_UnpackItem(__pyx_t_11, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_UnpackItem(__pyx_t_11, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_6 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_3 = __Pyx_UnpackItem(__pyx_1, 0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - if (!(__Pyx_TypeTest(__pyx_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_4 = __Pyx_UnpackItem(__pyx_1, 1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); - __pyx_t_6 = __pyx_PyFloat_AsDouble(__pyx_4); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; - if (__Pyx_EndUnpack(__pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + if (__Pyx_EndUnpack(__pyx_t_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_x)); - __pyx_v_x = ((PyArrayObject *)__pyx_3); - __pyx_3 = 0; + __pyx_v_x = ((PyArrayObject *)__pyx_t_5); + __pyx_t_5 = 0; __pyx_v_y = __pyx_t_6; } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":533 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":533 * dataset.shuffle() * for x,y in dataset: * eta = 1.0 / (reg * t) # <<<<<<<<<<<<<< @@ -7367,7 +7442,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_eta = (1.0 / (__pyx_v_reg * __pyx_v_t)); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":534 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":534 * for x,y in dataset: * eta = 1.0 / (reg * t) * xnnz = x.shape[0] # <<<<<<<<<<<<<< @@ -7376,7 +7451,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_xnnz = (__pyx_v_x->dimensions[0]); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":535 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":535 * eta = 1.0 / (reg * t) * xnnz = x.shape[0] * xdata = x.data # <<<<<<<<<<<<<< @@ -7385,7 +7460,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_xdata = ((struct __pyx_t_4bolt_7trainer_3sgd_Pair *)__pyx_v_x->data); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":536 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":536 * xnnz = x.shape[0] * xdata = x.data * p = (dot(wdata, xdata, xnnz) * wscale) + b # <<<<<<<<<<<<<< @@ -7394,7 +7469,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_p = ((__pyx_f_4bolt_7trainer_3sgd_dot(__pyx_v_wdata, __pyx_v_xdata, __pyx_v_xnnz) * __pyx_v_wscale) + __pyx_v_b); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":537 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":537 * xdata = x.data * p = (dot(wdata, xdata, xnnz) * wscale) + b * z = p*y # <<<<<<<<<<<<<< @@ -7403,7 +7478,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_z = (__pyx_v_p * __pyx_v_y); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":538 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":538 * p = (dot(wdata, xdata, xnnz) * wscale) + b * z = p*y * if z < 1: # <<<<<<<<<<<<<< @@ -7413,7 +7488,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __pyx_t_8 = (__pyx_v_z < 1); if (__pyx_t_8) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":540 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":540 * if z < 1: * wnorm += add(wdata, wscale, xdata, * xnnz,(eta*y)) # <<<<<<<<<<<<<< @@ -7422,7 +7497,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_wnorm += __pyx_f_4bolt_7trainer_3sgd_add(__pyx_v_wdata, __pyx_v_wscale, __pyx_v_xdata, __pyx_v_xnnz, (__pyx_v_eta * __pyx_v_y)); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":541 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":541 * wnorm += add(wdata, wscale, xdata, * xnnz,(eta*y)) * if usebias == 1: # <<<<<<<<<<<<<< @@ -7432,7 +7507,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __pyx_t_8 = (__pyx_v_usebias == 1); if (__pyx_t_8) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":542 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":542 * xnnz,(eta*y)) * if usebias == 1: * b += (eta*y) * 0.01 # <<<<<<<<<<<<<< @@ -7444,7 +7519,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ } __pyx_L11:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":543 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":543 * if usebias == 1: * b += (eta*y) * 0.01 * sumloss += (1-z) # <<<<<<<<<<<<<< @@ -7456,7 +7531,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ } __pyx_L10:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":544 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":544 * b += (eta*y) * 0.01 * sumloss += (1-z) * scale(&wscale, &wnorm, 1 - (eta * reg)) # <<<<<<<<<<<<<< @@ -7465,7 +7540,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_f_4bolt_7trainer_3sgd_scale((&__pyx_v_wscale), (&__pyx_v_wnorm), (1 - (__pyx_v_eta * __pyx_v_reg))); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":545 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":545 * sumloss += (1-z) * scale(&wscale, &wnorm, 1 - (eta * reg)) * project(wdata, &wscale, &wnorm, reg) # <<<<<<<<<<<<<< @@ -7474,7 +7549,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_f_4bolt_7trainer_3sgd_project(__pyx_v_wdata, (&__pyx_v_wscale), (&__pyx_v_wnorm), __pyx_v_reg); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":546 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":546 * scale(&wscale, &wnorm, 1 - (eta * reg)) * project(wdata, &wscale, &wnorm, reg) * if wscale < 1e-11: # <<<<<<<<<<<<<< @@ -7484,43 +7559,43 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __pyx_t_8 = (__pyx_v_wscale < 9.9999999999999994e-12); if (__pyx_t_8) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":547 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":547 * project(wdata, &wscale, &wnorm, reg) * if wscale < 1e-11: * w *= wscale # <<<<<<<<<<<<<< * wscale = 1.0 * */ - __pyx_t_4 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_4 = PyNumber_InPlaceMultiply(((PyObject *)__pyx_v_w), __pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_4 = PyNumber_InPlaceMultiply(((PyObject *)__pyx_v_w), __pyx_t_4); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); - if (!(__Pyx_TypeTest(__pyx_4, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = ((PyArrayObject *)__pyx_4); + if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_7 = ((PyArrayObject *)__pyx_t_4); { __Pyx_BufFmt_StackElem __pyx_stack[1]; __Pyx_SafeReleaseBuffer(&__pyx_bstruct_w); - __pyx_t_10 = __Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack); - if (unlikely(__pyx_t_10 < 0)) { - PyErr_Fetch(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13); + __pyx_t_12 = __Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack); + if (unlikely(__pyx_t_12 < 0)) { + PyErr_Fetch(&__pyx_t_13, &__pyx_t_14, &__pyx_t_15); if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_w, (PyObject*)__pyx_v_w, &__Pyx_TypeInfo_nn___pyx_t_5numpy_float64_t, PyBUF_FORMAT| PyBUF_C_CONTIGUOUS, 1, 0, __pyx_stack) == -1)) { - Py_XDECREF(__pyx_t_11); Py_XDECREF(__pyx_t_12); Py_XDECREF(__pyx_t_13); + Py_XDECREF(__pyx_t_13); Py_XDECREF(__pyx_t_14); Py_XDECREF(__pyx_t_15); __Pyx_RaiseBufferFallbackError(); } else { - PyErr_Restore(__pyx_t_11, __pyx_t_12, __pyx_t_13); + PyErr_Restore(__pyx_t_13, __pyx_t_14, __pyx_t_15); } } __pyx_bstride_0_w = __pyx_bstruct_w.strides[0]; __pyx_bshape_0_w = __pyx_bstruct_w.shape[0]; - if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 547; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_t_7 = 0; __Pyx_DECREF(((PyObject *)__pyx_v_w)); - __pyx_v_w = ((PyArrayObject *)__pyx_4); - __pyx_4 = 0; + __pyx_v_w = ((PyArrayObject *)__pyx_t_4); + __pyx_t_4 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":548 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":548 * if wscale < 1e-11: * w *= wscale * wscale = 1.0 # <<<<<<<<<<<<<< @@ -7532,7 +7607,7 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ } __pyx_L12:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":550 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":550 * wscale = 1.0 * * t += 1 # <<<<<<<<<<<<<< @@ -7541,233 +7616,233 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_v_t += 1; } - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":552 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":552 * t += 1 * * if verbose > 0: # <<<<<<<<<<<<<< * print("Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f" % (sqrt(wnorm),w.nonzero()[0].shape[0],b,t+1,sumloss/(t+1))) * print("Total training time: %.2f seconds." % (time()-t1)) */ - __pyx_t_1 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_1); - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_3 = PyObject_RichCompare(__pyx_v_verbose, __pyx_int_0, Py_GT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 552; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_8) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":553 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":553 * * if verbose > 0: * print("Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f" % (sqrt(wnorm),w.nonzero()[0].shape[0],b,t+1,sumloss/(t+1))) # <<<<<<<<<<<<<< * print("Total training time: %.2f seconds." % (time()-t1)) * */ - __pyx_t_1 = PyFloat_FromDouble(sqrt(__pyx_v_wnorm)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyFloat_FromDouble(sqrt(__pyx_v_wnorm)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_w), __pyx_n_s__nonzero); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_w), __pyx_kp_nonzero); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__shape); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_1 = __Pyx_GetItemInt(__pyx_t_5, 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_GetAttr(__pyx_1, __pyx_kp_shape); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_3 = __Pyx_GetItemInt(__pyx_t_5, 0, sizeof(long), PyInt_FromLong); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyInt_FromLong((__pyx_v_t + 1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = PyFloat_FromDouble((__pyx_v_sumloss / (__pyx_v_t + 1))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_14 = PyTuple_New(5); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_14)); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyInt_FromLong((__pyx_v_t + 1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_11 = PyFloat_FromDouble((__pyx_v_sumloss / ((double)(__pyx_v_t + 1)))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_16 = PyTuple_New(5); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_16, 1, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + PyTuple_SET_ITEM(__pyx_t_16, 2, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_1); - PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_3); - __Pyx_GIVEREF(__pyx_3); - PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_16, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); - PyTuple_SET_ITEM(__pyx_t_14, 3, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - PyTuple_SET_ITEM(__pyx_t_14, 4, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); + PyTuple_SET_ITEM(__pyx_t_16, 4, __pyx_t_11); + __Pyx_GIVEREF(__pyx_t_11); + __pyx_t_3 = 0; + __pyx_t_4 = 0; __pyx_t_1 = 0; - __pyx_3 = 0; __pyx_t_5 = 0; - __pyx_t_4 = 0; - __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Remainder(__pyx_kp_47, ((PyObject *)__pyx_t_14)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; - if (__Pyx_PrintOne(__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":554 + __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_8), __pyx_t_16); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + if (__Pyx_PrintOne(__pyx_t_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":554 * if verbose > 0: * print("Norm: %.2f, NNZs: %d, Bias: %.6f, T: %d, Avg. loss: %.6f" % (sqrt(wnorm),w.nonzero()[0].shape[0],b,t+1,sumloss/(t+1))) * print("Total training time: %.2f seconds." % (time()-t1)) # <<<<<<<<<<<<<< * * # floating-point under-/overflow check. */ - __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_time); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); - __pyx_t_3 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; - __pyx_t_14 = PyNumber_Subtract(__pyx_t_3, __pyx_v_t1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Remainder(__pyx_kp_48, __pyx_t_14); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (__Pyx_PrintOne(__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_11 = __Pyx_GetName(__pyx_m, __pyx_n_s__time); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __pyx_t_16 = PyObject_Call(__pyx_t_11, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __pyx_t_11 = PyNumber_Subtract(__pyx_t_16, __pyx_v_t1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_9), __pyx_t_11); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + if (__Pyx_PrintOne(__pyx_t_16) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; goto __pyx_L13; } __pyx_L13:; - __pyx_2 = __Pyx_PyInt_AsLong(__pyx_v_e); if (unlikely((__pyx_2 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_9 = __Pyx_PyInt_AsLong(__pyx_v_e); if (unlikely((__pyx_t_9 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":526 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":526 * * t1=time() * for e from 0 <= e < self.epochs: # <<<<<<<<<<<<<< * if verbose > 0: * print("-- Epoch %d" % (e+1)) */ - __pyx_t_3 = PyInt_FromLong(__pyx_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); + __pyx_t_16 = PyInt_FromLong(__pyx_t_9); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_v_e); - __pyx_v_e = __pyx_t_3; - __pyx_t_3 = 0; + __pyx_v_e = __pyx_t_16; + __pyx_t_16 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":557 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":557 * * # floating-point under-/overflow check. * if np.any(np.isinf(w)) or np.any(np.isnan(w))or np.isnan(b) or np.isinf(b): # <<<<<<<<<<<<<< * raise ValueError("floating-point under-/overflow occured.") * model.w = w * wscale */ - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_3 = PyObject_GetAttr(__pyx_1, __pyx_kp_any); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - __pyx_t_14 = PyObject_GetAttr(__pyx_3, __pyx_kp_isinf); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_3); __pyx_3 = 0; - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); + __pyx_t_16 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_11 = PyObject_GetAttr(__pyx_t_16, __pyx_n_s__any); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __pyx_t_5 = PyObject_GetAttr(__pyx_t_16, __pyx_n_s__isinf); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_16, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_5 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); - __Pyx_GIVEREF(__pyx_t_5); - __pyx_t_5 = 0; - __pyx_t_5 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyObject_Call(__pyx_t_5, __pyx_t_16, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_1); + __Pyx_GIVEREF(__pyx_t_1); + __pyx_t_1 = 0; + __pyx_t_1 = PyObject_Call(__pyx_t_11, __pyx_t_16, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_8) { - __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); - __pyx_t_5 = PyObject_GetAttr(__pyx_4, __pyx_kp_any); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; - __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __pyx_t_4 = PyObject_GetAttr(__pyx_1, __pyx_kp_isnan); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_16 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__any); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_11 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__isnan); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_11); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(((PyObject *)__pyx_v_w)); - PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_w)); + PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_w)); __Pyx_GIVEREF(((PyObject *)__pyx_v_w)); - __pyx_t_14 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_14); - __Pyx_GIVEREF(__pyx_t_14); - __pyx_t_14 = 0; - __pyx_t_14 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); + __pyx_t_5 = PyObject_Call(__pyx_t_11, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_Call(__pyx_t_16, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_15 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (!__pyx_t_15) { - __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_3); - __pyx_t_14 = PyObject_GetAttr(__pyx_3, __pyx_kp_isnan); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(__pyx_3); __pyx_3 = 0; - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); - __Pyx_GIVEREF(__pyx_t_3); - __pyx_t_3 = 0; - __pyx_t_3 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_16 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (!__pyx_t_16) { - __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_np); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_4); - __pyx_t_3 = PyObject_GetAttr(__pyx_4, __pyx_kp_isinf); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_4); __pyx_4 = 0; + if (!__pyx_t_17) { + __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_1 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__isnan); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_16 = PyTuple_New(1); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_5); + __Pyx_GIVEREF(__pyx_t_5); + __pyx_t_5 = 0; + __pyx_t_5 = PyObject_Call(__pyx_t_1, __pyx_t_16, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __pyx_t_18 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_18 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + if (!__pyx_t_18) { + __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_16 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__isinf); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_16); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_14)); - PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_5); + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_14), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_Call(__pyx_t_16, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0; - __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __pyx_t_19 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_19 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_18 = __pyx_t_17; + __pyx_t_20 = __pyx_t_19; } else { - __pyx_t_18 = __pyx_t_16; + __pyx_t_20 = __pyx_t_18; } - __pyx_t_16 = __pyx_t_18; + __pyx_t_18 = __pyx_t_20; } else { - __pyx_t_16 = __pyx_t_15; + __pyx_t_18 = __pyx_t_17; } - __pyx_t_15 = __pyx_t_16; + __pyx_t_17 = __pyx_t_18; } else { - __pyx_t_15 = __pyx_t_8; + __pyx_t_17 = __pyx_t_8; } - if (__pyx_t_15) { + if (__pyx_t_17) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":558 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":558 * # floating-point under-/overflow check. * if np.any(np.isinf(w)) or np.any(np.isnan(w))or np.isnan(b) or np.isinf(b): * raise ValueError("floating-point under-/overflow occured.") # <<<<<<<<<<<<<< @@ -7775,36 +7850,36 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ * model.bias = b */ __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - __Pyx_INCREF(__pyx_kp_49); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_49); - __Pyx_GIVEREF(__pyx_kp_49); - __pyx_t_14 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_14, 0, 0); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(((PyObject *)__pyx_kp_s_10)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_10)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_10)); + __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_1, 0, 0); + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L14; } __pyx_L14:; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":559 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":559 * if np.any(np.isinf(w)) or np.any(np.isnan(w))or np.isnan(b) or np.isinf(b): * raise ValueError("floating-point under-/overflow occured.") * model.w = w * wscale # <<<<<<<<<<<<<< * model.bias = b * */ - __pyx_t_14 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_14); - __pyx_t_5 = PyNumber_Multiply(((PyObject *)__pyx_v_w), __pyx_t_14); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_1 = PyFloat_FromDouble(__pyx_v_wscale); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_t_5 = PyNumber_Multiply(((PyObject *)__pyx_v_w), __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; - if (PyObject_SetAttr(__pyx_v_model, __pyx_kp_w, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + if (PyObject_SetAttr(__pyx_v_model, __pyx_n_s__w, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 559; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":560 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":560 * raise ValueError("floating-point under-/overflow occured.") * model.w = w * wscale * model.bias = b # <<<<<<<<<<<<<< @@ -7813,19 +7888,17 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ */ __pyx_t_5 = PyFloat_FromDouble(__pyx_v_b); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - if (PyObject_SetAttr(__pyx_v_model, __pyx_kp_bias, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + if (PyObject_SetAttr(__pyx_v_model, __pyx_n_s__bias, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); - __Pyx_XDECREF(__pyx_3); - __Pyx_XDECREF(__pyx_4); __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); - __Pyx_XDECREF(__pyx_t_14); + __Pyx_XDECREF(__pyx_t_11); + __Pyx_XDECREF(__pyx_t_16); { PyObject *__pyx_type, *__pyx_value, *__pyx_tb; __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb); __Pyx_SafeReleaseBuffer(&__pyx_bstruct_w); @@ -7839,10 +7912,15 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ __Pyx_XDECREF((PyObject *)__pyx_v_x); __Pyx_DECREF(__pyx_v_t1); __Pyx_DECREF(__pyx_v_e); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_DECREF(__pyx_v_model); + __Pyx_DECREF(__pyx_v_dataset); + __Pyx_DECREF(__pyx_v_verbose); + __Pyx_DECREF(__pyx_v_shuffle); + __Pyx_RefNannyFinishContext(); } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":562 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":562 * model.bias = b * * cdef inline void project(double *wdata, double *wscale, double *wnorm, double reg): # <<<<<<<<<<<<<< @@ -7850,12 +7928,12 @@ static void __pyx_f_4bolt_7trainer_3sgd_7PEGASOS__train(struct __pyx_obj_4bolt_ * """ */ -static INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *__pyx_v_wdata, double *__pyx_v_wscale, double *__pyx_v_wnorm, double __pyx_v_reg) { +static CYTHON_INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *__pyx_v_wdata, double *__pyx_v_wscale, double *__pyx_v_wnorm, double __pyx_v_reg) { double __pyx_v_val; int __pyx_t_1; - __Pyx_SetupRefcountContext("project"); + __Pyx_RefNannySetupContext("project"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":565 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":565 * """Project w onto L2 ball. * """ * cdef double val = 1.0 # <<<<<<<<<<<<<< @@ -7864,7 +7942,7 @@ static INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *__pyx_v_wdata, do */ __pyx_v_val = 1.0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":566 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":566 * """ * cdef double val = 1.0 * if (wnorm[0]) != 0: # <<<<<<<<<<<<<< @@ -7874,7 +7952,7 @@ static INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *__pyx_v_wdata, do __pyx_t_1 = ((__pyx_v_wnorm[0]) != 0); if (__pyx_t_1) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":567 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":567 * cdef double val = 1.0 * if (wnorm[0]) != 0: * val = 1.0 / sqrt(reg * wnorm[0]) # <<<<<<<<<<<<<< @@ -7883,7 +7961,7 @@ static INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *__pyx_v_wdata, do */ __pyx_v_val = (1.0 / sqrt((__pyx_v_reg * (__pyx_v_wnorm[0])))); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":568 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":568 * if (wnorm[0]) != 0: * val = 1.0 / sqrt(reg * wnorm[0]) * if val < 1.0: # <<<<<<<<<<<<<< @@ -7893,7 +7971,7 @@ static INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *__pyx_v_wdata, do __pyx_t_1 = (__pyx_v_val < 1.0); if (__pyx_t_1) { - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":569 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":569 * val = 1.0 / sqrt(reg * wnorm[0]) * if val < 1.0: * scale(wscale,wnorm,val) # <<<<<<<<<<<<<< @@ -7908,10 +7986,10 @@ static INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *__pyx_v_wdata, do } __pyx_L3:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); } -/* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":571 +/* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":571 * scale(wscale,wnorm,val) * * cdef inline void scale(double *wscale, double *wnorm, double factor): # <<<<<<<<<<<<<< @@ -7919,10 +7997,10 @@ static INLINE void __pyx_f_4bolt_7trainer_3sgd_project(double *__pyx_v_wdata, do * """ */ -static INLINE void __pyx_f_4bolt_7trainer_3sgd_scale(double *__pyx_v_wscale, double *__pyx_v_wnorm, double __pyx_v_factor) { - __Pyx_SetupRefcountContext("scale"); +static CYTHON_INLINE void __pyx_f_4bolt_7trainer_3sgd_scale(double *__pyx_v_wscale, double *__pyx_v_wnorm, double __pyx_v_factor) { + __Pyx_RefNannySetupContext("scale"); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":574 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":574 * """Scale w by constant factor. Update wnorm too. * """ * wscale[0] *= factor # <<<<<<<<<<<<<< @@ -7931,7 +8009,7 @@ static INLINE void __pyx_f_4bolt_7trainer_3sgd_scale(double *__pyx_v_wscale, dou */ (__pyx_v_wscale[0]) *= __pyx_v_factor; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":575 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":575 * """ * wscale[0] *= factor * wnorm[0] *= (factor*factor) # <<<<<<<<<<<<<< @@ -7939,10 +8017,10 @@ static INLINE void __pyx_f_4bolt_7trainer_3sgd_scale(double *__pyx_v_wscale, dou */ (__pyx_v_wnorm[0]) *= (__pyx_v_factor * __pyx_v_factor); - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":65 +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":187 * # experimental exception made for __getbuffer__ and __releasebuffer__ * # -- the details of this may change. * def __getbuffer__(ndarray self, Py_buffer* info, int flags): # <<<<<<<<<<<<<< @@ -7964,18 +8042,21 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf int __pyx_v_hasfields; int __pyx_r; int __pyx_t_1; - PyObject *__pyx_t_2 = NULL; - PyObject *__pyx_t_3 = NULL; - int __pyx_t_4; - int __pyx_t_5; + int __pyx_t_2; + int __pyx_t_3; + PyObject *__pyx_t_4 = NULL; + PyObject *__pyx_t_5 = NULL; int __pyx_t_6; - char *__pyx_t_7; - __Pyx_SetupRefcountContext("__getbuffer__"); + int __pyx_t_7; + int __pyx_t_8; + char *__pyx_t_9; + __Pyx_RefNannySetupContext("__getbuffer__"); if (__pyx_v_info == NULL) return 0; __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None); __Pyx_GIVEREF(__pyx_v_info->obj); + __Pyx_INCREF((PyObject *)__pyx_v_self); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":71 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":193 * # of flags * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 # <<<<<<<<<<<<<< @@ -7984,7 +8065,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_endian_detector = 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":72 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":194 * cdef int copy_shape, i, ndim * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< @@ -7993,7 +8074,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":74 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":196 * cdef bint little_endian = ((&endian_detector)[0] != 0) * * ndim = PyArray_NDIM(self) # <<<<<<<<<<<<<< @@ -8002,7 +8083,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_ndim = PyArray_NDIM(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":76 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":198 * ndim = PyArray_NDIM(self) * * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< @@ -8012,7 +8093,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":77 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":199 * * if sizeof(npy_intp) != sizeof(Py_ssize_t): * copy_shape = 1 # <<<<<<<<<<<<<< @@ -8024,7 +8105,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":79 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":201 * copy_shape = 1 * else: * copy_shape = 0 # <<<<<<<<<<<<<< @@ -8035,96 +8116,100 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":81 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":203 * copy_shape = 0 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): - * raise ValueError("ndarray is not C contiguous") + * raise ValueError(u"ndarray is not C contiguous") */ - if (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS)) { + __pyx_t_1 = ((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS); + if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":82 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":204 * * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError("ndarray is not C contiguous") + * raise ValueError(u"ndarray is not C contiguous") * */ - __pyx_t_1 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_C_CONTIGUOUS)); + __pyx_t_2 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_C_CONTIGUOUS)); + __pyx_t_3 = __pyx_t_2; } else { - __pyx_t_1 = ((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS); + __pyx_t_3 = __pyx_t_1; } - if (__pyx_t_1) { + if (__pyx_t_3) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":83 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":205 * if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)): - * raise ValueError("ndarray is not C contiguous") # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not C contiguous") # <<<<<<<<<<<<<< * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_1); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_1); - __Pyx_GIVEREF(__pyx_kp_1); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_13)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_u_13)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_13)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":85 - * raise ValueError("ndarray is not C contiguous") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":207 + * raise ValueError(u"ndarray is not C contiguous") * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) # <<<<<<<<<<<<<< * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): - * raise ValueError("ndarray is not Fortran contiguous") + * raise ValueError(u"ndarray is not Fortran contiguous") */ - if (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS)) { + __pyx_t_3 = ((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS); + if (__pyx_t_3) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":86 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":208 * * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): # <<<<<<<<<<<<<< - * raise ValueError("ndarray is not Fortran contiguous") + * raise ValueError(u"ndarray is not Fortran contiguous") * */ __pyx_t_1 = (!PyArray_CHKFLAGS(((PyArrayObject *)__pyx_v_self), NPY_F_CONTIGUOUS)); + __pyx_t_2 = __pyx_t_1; } else { - __pyx_t_1 = ((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS); + __pyx_t_2 = __pyx_t_3; } - if (__pyx_t_1) { + if (__pyx_t_2) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":87 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":209 * if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS) * and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)): - * raise ValueError("ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< + * raise ValueError(u"ndarray is not Fortran contiguous") # <<<<<<<<<<<<<< * * info.buf = PyArray_DATA(self) */ - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - __Pyx_INCREF(__pyx_kp_2); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_2); - __Pyx_GIVEREF(__pyx_kp_2); - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_14)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_u_14)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_14)); + __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L7; } __pyx_L7:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":89 - * raise ValueError("ndarray is not Fortran contiguous") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":211 + * raise ValueError(u"ndarray is not Fortran contiguous") * * info.buf = PyArray_DATA(self) # <<<<<<<<<<<<<< * info.ndim = ndim @@ -8132,7 +8217,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->buf = PyArray_DATA(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":90 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":212 * * info.buf = PyArray_DATA(self) * info.ndim = ndim # <<<<<<<<<<<<<< @@ -8141,17 +8226,17 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->ndim = __pyx_v_ndim; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":91 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":213 * info.buf = PyArray_DATA(self) * info.ndim = ndim * if copy_shape: # <<<<<<<<<<<<<< * # Allocate new buffer for strides and shape info. This is allocated * # as one block, strides first. */ - __pyx_t_4 = __pyx_v_copy_shape; - if (__pyx_t_4) { + __pyx_t_6 = __pyx_v_copy_shape; + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":94 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":216 * # Allocate new buffer for strides and shape info. This is allocated * # as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) # <<<<<<<<<<<<<< @@ -8160,7 +8245,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * __pyx_v_ndim) * 2))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":95 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":217 * # as one block, strides first. * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim # <<<<<<<<<<<<<< @@ -8169,17 +8254,18 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":96 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":218 * info.strides = stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2) * info.shape = info.strides + ndim * for i in range(ndim): # <<<<<<<<<<<<<< * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] */ - for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_v_ndim; __pyx_t_4+=1) { - __pyx_v_i = __pyx_t_4; + __pyx_t_6 = __pyx_v_ndim; + for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) { + __pyx_v_i = __pyx_t_7; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":97 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":219 * info.shape = info.strides + ndim * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] # <<<<<<<<<<<<<< @@ -8188,7 +8274,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(((PyArrayObject *)__pyx_v_self))[__pyx_v_i]); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":98 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":220 * for i in range(ndim): * info.strides[i] = PyArray_STRIDES(self)[i] * info.shape[i] = PyArray_DIMS(self)[i] # <<<<<<<<<<<<<< @@ -8201,7 +8287,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":100 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":222 * info.shape[i] = PyArray_DIMS(self)[i] * else: * info.strides = PyArray_STRIDES(self) # <<<<<<<<<<<<<< @@ -8210,7 +8296,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(((PyArrayObject *)__pyx_v_self))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":101 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":223 * else: * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) # <<<<<<<<<<<<<< @@ -8221,7 +8307,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L8:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":102 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":224 * info.strides = PyArray_STRIDES(self) * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL # <<<<<<<<<<<<<< @@ -8230,7 +8316,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->suboffsets = NULL; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":103 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":225 * info.shape = PyArray_DIMS(self) * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) # <<<<<<<<<<<<<< @@ -8239,7 +8325,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->itemsize = PyArray_ITEMSIZE(((PyArrayObject *)__pyx_v_self)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":104 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":226 * info.suboffsets = NULL * info.itemsize = PyArray_ITEMSIZE(self) * info.readonly = not PyArray_ISWRITEABLE(self) # <<<<<<<<<<<<<< @@ -8248,7 +8334,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->readonly = (!PyArray_ISWRITEABLE(((PyArrayObject *)__pyx_v_self))); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":107 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":229 * * cdef int t * cdef char* f = NULL # <<<<<<<<<<<<<< @@ -8257,7 +8343,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_f = NULL; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":108 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":230 * cdef int t * cdef char* f = NULL * cdef dtype descr = self.descr # <<<<<<<<<<<<<< @@ -8267,7 +8353,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __Pyx_INCREF(((PyObject *)((PyArrayObject *)__pyx_v_self)->descr)); __pyx_v_descr = ((PyArrayObject *)__pyx_v_self)->descr; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":112 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":234 * cdef int offset * * cdef bint hasfields = PyDataType_HASFIELDS(descr) # <<<<<<<<<<<<<< @@ -8276,21 +8362,23 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":114 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":236 * cdef bint hasfields = PyDataType_HASFIELDS(descr) * * if not hasfields and not copy_shape: # <<<<<<<<<<<<<< * # do not call releasebuffer * info.obj = None */ - if ((!__pyx_v_hasfields)) { - __pyx_t_1 = (!__pyx_v_copy_shape); + __pyx_t_2 = (!__pyx_v_hasfields); + if (__pyx_t_2) { + __pyx_t_3 = (!__pyx_v_copy_shape); + __pyx_t_1 = __pyx_t_3; } else { - __pyx_t_1 = (!__pyx_v_hasfields); + __pyx_t_1 = __pyx_t_2; } if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":116 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":238 * if not hasfields and not copy_shape: * # do not call releasebuffer * info.obj = None # <<<<<<<<<<<<<< @@ -8306,7 +8394,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":119 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":241 * else: * # need to call releasebuffer * info.obj = self # <<<<<<<<<<<<<< @@ -8321,7 +8409,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L11:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":121 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":243 * info.obj = self * * if not hasfields: # <<<<<<<<<<<<<< @@ -8331,7 +8419,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_t_1 = (!__pyx_v_hasfields); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":122 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":244 * * if not hasfields: * t = descr.type_num # <<<<<<<<<<<<<< @@ -8340,286 +8428,322 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_t = __pyx_v_descr->type_num; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":123 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":245 * if not hasfields: * t = descr.type_num * if ((descr.byteorder == '>' and little_endian) or # <<<<<<<<<<<<<< * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") */ - if ((__pyx_v_descr->byteorder == '>')) { - __pyx_t_1 = __pyx_v_little_endian; + __pyx_t_1 = (__pyx_v_descr->byteorder == '>'); + if (__pyx_t_1) { + __pyx_t_2 = __pyx_v_little_endian; } else { - __pyx_t_1 = (__pyx_v_descr->byteorder == '>'); + __pyx_t_2 = __pyx_t_1; } - if (!__pyx_t_1) { + if (!__pyx_t_2) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":124 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":246 * t = descr.type_num * if ((descr.byteorder == '>' and little_endian) or * (descr.byteorder == '<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" */ - if ((__pyx_v_descr->byteorder == '<')) { - __pyx_t_5 = (!__pyx_v_little_endian); + __pyx_t_1 = (__pyx_v_descr->byteorder == '<'); + if (__pyx_t_1) { + __pyx_t_3 = (!__pyx_v_little_endian); + __pyx_t_8 = __pyx_t_3; } else { - __pyx_t_5 = (__pyx_v_descr->byteorder == '<'); + __pyx_t_8 = __pyx_t_1; } - __pyx_t_6 = __pyx_t_5; + __pyx_t_1 = __pyx_t_8; } else { - __pyx_t_6 = __pyx_t_1; + __pyx_t_1 = __pyx_t_2; } - if (__pyx_t_6) { + if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":125 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":247 * if ((descr.byteorder == '>' and little_endian) or * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" */ - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_2)); - __Pyx_INCREF(__pyx_kp_5); - PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_5); - __Pyx_GIVEREF(__pyx_kp_5); - __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; - __Pyx_Raise(__pyx_t_3, 0, 0); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_15)); + PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_u_15)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_15)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + __Pyx_Raise(__pyx_t_5, 0, 0); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L13; } __pyx_L13:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":126 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":248 * (descr.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" # <<<<<<<<<<<<<< * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" */ - switch (__pyx_v_t) { - case NPY_BYTE: - __pyx_v_f = __pyx_k_6; - break; + __pyx_t_1 = (__pyx_v_t == NPY_BYTE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__b; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":127 - * raise ValueError("Non-native byte order not supported") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":249 + * raise ValueError(u"Non-native byte order not supported") * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" # <<<<<<<<<<<<<< * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" */ - case NPY_UBYTE: - __pyx_v_f = __pyx_k_7; - break; + __pyx_t_1 = (__pyx_v_t == NPY_UBYTE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__B; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":128 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":250 * if t == NPY_BYTE: f = "b" * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" # <<<<<<<<<<<<<< * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" */ - case NPY_SHORT: - __pyx_v_f = __pyx_k_8; - break; + __pyx_t_1 = (__pyx_v_t == NPY_SHORT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__h; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":129 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":251 * elif t == NPY_UBYTE: f = "B" * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" # <<<<<<<<<<<<<< * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" */ - case NPY_USHORT: - __pyx_v_f = __pyx_k_9; - break; + __pyx_t_1 = (__pyx_v_t == NPY_USHORT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__H; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":130 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":252 * elif t == NPY_SHORT: f = "h" * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" # <<<<<<<<<<<<<< * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" */ - case NPY_INT: - __pyx_v_f = __pyx_k_10; - break; + __pyx_t_1 = (__pyx_v_t == NPY_INT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__i; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":131 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":253 * elif t == NPY_USHORT: f = "H" * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" # <<<<<<<<<<<<<< * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" */ - case NPY_UINT: - __pyx_v_f = __pyx_k_11; - break; + __pyx_t_1 = (__pyx_v_t == NPY_UINT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__I; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":132 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":254 * elif t == NPY_INT: f = "i" * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" # <<<<<<<<<<<<<< * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" */ - case NPY_LONG: - __pyx_v_f = __pyx_k_12; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__l; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":133 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":255 * elif t == NPY_UINT: f = "I" * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" # <<<<<<<<<<<<<< * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" */ - case NPY_ULONG: - __pyx_v_f = __pyx_k_13; - break; + __pyx_t_1 = (__pyx_v_t == NPY_ULONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__L; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":134 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":256 * elif t == NPY_LONG: f = "l" * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" # <<<<<<<<<<<<<< * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" */ - case NPY_LONGLONG: - __pyx_v_f = __pyx_k_14; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONGLONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__q; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":135 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":257 * elif t == NPY_ULONG: f = "L" * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" # <<<<<<<<<<<<<< * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" */ - case NPY_ULONGLONG: - __pyx_v_f = __pyx_k_15; - break; + __pyx_t_1 = (__pyx_v_t == NPY_ULONGLONG); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Q; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":136 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":258 * elif t == NPY_LONGLONG: f = "q" * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" # <<<<<<<<<<<<<< * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" */ - case NPY_FLOAT: - __pyx_v_f = __pyx_k_16; - break; + __pyx_t_1 = (__pyx_v_t == NPY_FLOAT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__f; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":137 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":259 * elif t == NPY_ULONGLONG: f = "Q" * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" # <<<<<<<<<<<<<< * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" */ - case NPY_DOUBLE: - __pyx_v_f = __pyx_k_17; - break; + __pyx_t_1 = (__pyx_v_t == NPY_DOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__d; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":138 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":260 * elif t == NPY_FLOAT: f = "f" * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" # <<<<<<<<<<<<<< * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" */ - case NPY_LONGDOUBLE: - __pyx_v_f = __pyx_k_18; - break; + __pyx_t_1 = (__pyx_v_t == NPY_LONGDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__g; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":139 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":261 * elif t == NPY_DOUBLE: f = "d" * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" # <<<<<<<<<<<<<< * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" */ - case NPY_CFLOAT: - __pyx_v_f = __pyx_k_19; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CFLOAT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zf; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":140 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":262 * elif t == NPY_LONGDOUBLE: f = "g" * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" # <<<<<<<<<<<<<< * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" */ - case NPY_CDOUBLE: - __pyx_v_f = __pyx_k_20; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zd; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":141 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":263 * elif t == NPY_CFLOAT: f = "Zf" * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" # <<<<<<<<<<<<<< * elif t == NPY_OBJECT: f = "O" * else: */ - case NPY_CLONGDOUBLE: - __pyx_v_f = __pyx_k_21; - break; + __pyx_t_1 = (__pyx_v_t == NPY_CLONGDOUBLE); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__Zg; + goto __pyx_L14; + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":142 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":264 * elif t == NPY_CDOUBLE: f = "Zd" * elif t == NPY_CLONGDOUBLE: f = "Zg" * elif t == NPY_OBJECT: f = "O" # <<<<<<<<<<<<<< * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) */ - case NPY_OBJECT: - __pyx_v_f = __pyx_k_22; - break; - default: + __pyx_t_1 = (__pyx_v_t == NPY_OBJECT); + if (__pyx_t_1) { + __pyx_v_f = __pyx_k__O; + goto __pyx_L14; + } + /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":144 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":266 * elif t == NPY_OBJECT: f = "O" * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< * info.format = f * return */ - __pyx_t_3 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyNumber_Remainder(__pyx_kp_23, __pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_3)); - PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); - __Pyx_GIVEREF(__pyx_t_2); - __pyx_t_2 = 0; - __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0; - __Pyx_Raise(__pyx_t_2, 0, 0); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - break; + __pyx_t_5 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_16), __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); + __Pyx_GIVEREF(__pyx_t_4); + __pyx_t_4 = 0; + __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_4); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_4, 0, 0); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } + __pyx_L14:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":145 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":267 * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f # <<<<<<<<<<<<<< * return * else: */ __pyx_v_info->format = __pyx_v_f; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":146 - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":268 + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * info.format = f * return # <<<<<<<<<<<<<< * else: @@ -8631,7 +8755,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":148 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":270 * return * else: * info.format = stdlib.malloc(_buffer_format_string_len) # <<<<<<<<<<<<<< @@ -8640,7 +8764,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_info->format = ((char *)malloc(255)); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":149 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":271 * else: * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = '^' # Native data types, manual alignment # <<<<<<<<<<<<<< @@ -8649,7 +8773,7 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ (__pyx_v_info->format[0]) = '^'; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":150 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":272 * info.format = stdlib.malloc(_buffer_format_string_len) * info.format[0] = '^' # Native data types, manual alignment * offset = 0 # <<<<<<<<<<<<<< @@ -8658,17 +8782,17 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf */ __pyx_v_offset = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":153 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":275 * f = _util_dtypestring(descr, info.format + 1, * info.format + _buffer_format_string_len, * &offset) # <<<<<<<<<<<<<< * f[0] = 0 # Terminate format string * */ - __pyx_t_7 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_7 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_f = __pyx_t_7; + __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_f = __pyx_t_9; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":154 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":276 * info.format + _buffer_format_string_len, * &offset) * f[0] = 0 # Terminate format string # <<<<<<<<<<<<<< @@ -8682,8 +8806,8 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_t_2); - __Pyx_XDECREF(__pyx_t_3); + __Pyx_XDECREF(__pyx_t_4); + __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("numpy.ndarray.__getbuffer__"); __pyx_r = -1; __Pyx_GOTREF(__pyx_v_info->obj); @@ -8696,11 +8820,12 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf } __pyx_L2:; __Pyx_XDECREF((PyObject *)__pyx_v_descr); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); return __pyx_r; } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":156 +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":278 * f[0] = 0 # Terminate format string * * def __releasebuffer__(ndarray self, Py_buffer* info): # <<<<<<<<<<<<<< @@ -8711,10 +8836,10 @@ static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buf static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) { int __pyx_t_1; - int __pyx_t_2; - __Pyx_SetupRefcountContext("__releasebuffer__"); + __Pyx_RefNannySetupContext("__releasebuffer__"); + __Pyx_INCREF((PyObject *)__pyx_v_self); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":157 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":279 * * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): # <<<<<<<<<<<<<< @@ -8724,7 +8849,7 @@ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, P __pyx_t_1 = PyArray_HASFIELDS(((PyArrayObject *)__pyx_v_self)); if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":158 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":280 * def __releasebuffer__(ndarray self, Py_buffer* info): * if PyArray_HASFIELDS(self): * stdlib.free(info.format) # <<<<<<<<<<<<<< @@ -8736,17 +8861,17 @@ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, P } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":159 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":281 * if PyArray_HASFIELDS(self): * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): # <<<<<<<<<<<<<< * stdlib.free(info.strides) * # info.shape was stored after info.strides in the same block */ - __pyx_t_2 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); - if (__pyx_t_2) { + __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t))); + if (__pyx_t_1) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":160 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":282 * stdlib.free(info.format) * if sizeof(npy_intp) != sizeof(Py_ssize_t): * stdlib.free(info.strides) # <<<<<<<<<<<<<< @@ -8758,26 +8883,222 @@ static void __pyx_pf_5numpy_7ndarray___releasebuffer__(PyObject *__pyx_v_self, P } __pyx_L6:; - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_self); + __Pyx_RefNannyFinishContext(); } -/* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":277 +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":755 * ctypedef npy_cdouble complex_t * + * cdef inline object PyArray_MultiIterNew1(a): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(1, a) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew1"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":756 + * + * cdef inline object PyArray_MultiIterNew1(a): + * return PyArray_MultiIterNew(1, a) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew2(a, b): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 756; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":758 + * return PyArray_MultiIterNew(1, a) + * + * cdef inline object PyArray_MultiIterNew2(a, b): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(2, a, b) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew2"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":759 + * + * cdef inline object PyArray_MultiIterNew2(a, b): + * return PyArray_MultiIterNew(2, a, b) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":761 + * return PyArray_MultiIterNew(2, a, b) + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(3, a, b, c) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew3"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":762 + * + * cdef inline object PyArray_MultiIterNew3(a, b, c): + * return PyArray_MultiIterNew(3, a, b, c) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":764 + * return PyArray_MultiIterNew(3, a, b, c) + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(4, a, b, c, d) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew4"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":765 + * + * cdef inline object PyArray_MultiIterNew4(a, b, c, d): + * return PyArray_MultiIterNew(4, a, b, c, d) # <<<<<<<<<<<<<< + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":767 + * return PyArray_MultiIterNew(4, a, b, c, d) + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): # <<<<<<<<<<<<<< + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) { + PyObject *__pyx_r = NULL; + PyObject *__pyx_t_1 = NULL; + __Pyx_RefNannySetupContext("PyArray_MultiIterNew5"); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":768 + * + * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e): + * return PyArray_MultiIterNew(5, a, b, c, d, e) # <<<<<<<<<<<<<< + * + * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: + */ + __Pyx_XDECREF(__pyx_r); + __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __pyx_r = __pyx_t_1; + __pyx_t_1 = 0; + goto __pyx_L0; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + goto __pyx_L0; + __pyx_L1_error:; + __Pyx_XDECREF(__pyx_t_1); + __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5"); + __pyx_r = 0; + __pyx_L0:; + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":770 + * return PyArray_MultiIterNew(5, a, b, c, d, e) + * * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL: # <<<<<<<<<<<<<< * # Recursive utility function used in __getbuffer__ to get format * # string. The new location in the format string is returned. */ -static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { +static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) { PyArray_Descr *__pyx_v_child; - PyObject *__pyx_v_i; int __pyx_v_endian_detector; int __pyx_v_little_endian; + PyObject *__pyx_v_fields; + PyObject *__pyx_v_childname; PyObject *__pyx_v_new_offset; PyObject *__pyx_v_t; char *__pyx_r; - PyObject *__pyx_1 = 0; Py_ssize_t __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; @@ -8786,199 +9107,195 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc int __pyx_t_6; int __pyx_t_7; int __pyx_t_8; - char *__pyx_t_9; - __Pyx_SetupRefcountContext("_util_dtypestring"); + int __pyx_t_9; + char *__pyx_t_10; + __Pyx_RefNannySetupContext("_util_dtypestring"); + __Pyx_INCREF((PyObject *)__pyx_v_descr); __pyx_v_child = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None); - __pyx_v_i = ((PyObject *)Py_None); __Pyx_INCREF(Py_None); + __pyx_v_fields = ((PyObject *)Py_None); __Pyx_INCREF(Py_None); + __pyx_v_childname = Py_None; __Pyx_INCREF(Py_None); __pyx_v_new_offset = Py_None; __Pyx_INCREF(Py_None); __pyx_v_t = Py_None; __Pyx_INCREF(Py_None); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":284 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":777 * cdef int delta_offset * cdef tuple i * cdef int endian_detector = 1 # <<<<<<<<<<<<<< * cdef bint little_endian = ((&endian_detector)[0] != 0) - * + * cdef tuple fields */ __pyx_v_endian_detector = 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":285 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":778 * cdef tuple i * cdef int endian_detector = 1 * cdef bint little_endian = ((&endian_detector)[0] != 0) # <<<<<<<<<<<<<< + * cdef tuple fields * - * for i in descr.fields.itervalues(): */ __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":287 - * cdef bint little_endian = ((&endian_detector)[0] != 0) + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":781 + * cdef tuple fields * - * for i in descr.fields.itervalues(): # <<<<<<<<<<<<<< - * child = i[0] - * new_offset = i[1] + * for childname in descr.names: # <<<<<<<<<<<<<< + * fields = descr.fields[childname] + * child, new_offset = fields */ - __pyx_t_2 = PyObject_GetAttr(__pyx_v_descr->fields, __pyx_kp_itervalues); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) { - __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); + if (likely(((PyObject *)__pyx_v_descr->names) != Py_None)) { + __pyx_t_1 = 0; __pyx_t_2 = ((PyObject *)__pyx_v_descr->names); __Pyx_INCREF(__pyx_t_2); } else { - __pyx_t_1 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_2); + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } - __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { - if (likely(PyList_CheckExact(__pyx_t_2))) { - if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break; - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; - } else if (likely(PyTuple_CheckExact(__pyx_t_2))) { - if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; - } else { - __pyx_t_3 = PyIter_Next(__pyx_t_2); - if (!__pyx_t_3) { - if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - break; - } - __Pyx_GOTREF(__pyx_t_3); - } - if (!(likely(PyTuple_CheckExact(__pyx_t_3)) || (__pyx_t_3) == Py_None || (PyErr_Format(PyExc_TypeError, "Expected tuple, got %s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_v_i)); - __pyx_v_i = ((PyObject *)__pyx_t_3); + if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break; + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++; + __Pyx_DECREF(__pyx_v_childname); + __pyx_v_childname = __pyx_t_3; __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":288 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":782 * - * for i in descr.fields.itervalues(): - * child = i[0] # <<<<<<<<<<<<<< - * new_offset = i[1] + * for childname in descr.names: + * fields = descr.fields[childname] # <<<<<<<<<<<<<< + * child, new_offset = fields * */ - __pyx_1 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_i), 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (!(__Pyx_TypeTest(__pyx_1, __pyx_ptype_5numpy_dtype))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(((PyObject *)__pyx_v_child)); - __pyx_v_child = ((PyArray_Descr *)__pyx_1); - __pyx_1 = 0; + __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (!__pyx_t_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(((PyObject *)__pyx_v_fields)); + __pyx_v_fields = ((PyObject *)__pyx_t_3); + __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":289 - * for i in descr.fields.itervalues(): - * child = i[0] - * new_offset = i[1] # <<<<<<<<<<<<<< + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":783 + * for childname in descr.names: + * fields = descr.fields[childname] + * child, new_offset = fields # <<<<<<<<<<<<<< * * if (end - f) - (new_offset - offset[0]) < 15: */ - __pyx_1 = __Pyx_GetItemInt_Tuple(((PyObject *)__pyx_v_i), 1, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __Pyx_DECREF(__pyx_v_new_offset); - __pyx_v_new_offset = __pyx_1; - __pyx_1 = 0; + if (likely(((PyObject *)__pyx_v_fields) != Py_None) && likely(PyTuple_GET_SIZE(((PyObject *)__pyx_v_fields)) == 2)) { + PyObject* tuple = ((PyObject *)__pyx_v_fields); + __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3); + if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4); + __Pyx_DECREF(((PyObject *)__pyx_v_child)); + __pyx_v_child = ((PyArray_Descr *)__pyx_t_3); + __pyx_t_3 = 0; + __Pyx_DECREF(__pyx_v_new_offset); + __pyx_v_new_offset = __pyx_t_4; + __pyx_t_4 = 0; + } else { + __Pyx_UnpackTupleError(((PyObject *)__pyx_v_fields), 2); + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":291 - * new_offset = i[1] + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":785 + * child, new_offset = fields * * if (end - f) - (new_offset - offset[0]) < 15: # <<<<<<<<<<<<<< - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * */ - __pyx_t_3 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_4 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = PyNumber_Subtract(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":292 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":786 * * if (end - f) - (new_offset - offset[0]) < 15: - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") # <<<<<<<<<<<<<< * * if ((child.byteorder == '>' and little_endian) or */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - __Pyx_INCREF(__pyx_kp_25); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_25); - __Pyx_GIVEREF(__pyx_kp_25); - __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_17)); + PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_u_17)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_17)); + __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L5; } __pyx_L5:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":294 - * raise RuntimeError("Format string allocated too short, see comment in numpy.pxd") + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":788 + * raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd") * * if ((child.byteorder == '>' and little_endian) or # <<<<<<<<<<<<<< * (child.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") */ - if ((__pyx_v_child->byteorder == '>')) { - __pyx_t_6 = __pyx_v_little_endian; + __pyx_t_6 = (__pyx_v_child->byteorder == '>'); + if (__pyx_t_6) { + __pyx_t_7 = __pyx_v_little_endian; } else { - __pyx_t_6 = (__pyx_v_child->byteorder == '>'); + __pyx_t_7 = __pyx_t_6; } - if (!__pyx_t_6) { + if (!__pyx_t_7) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":295 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":789 * * if ((child.byteorder == '>' and little_endian) or * (child.byteorder == '<' and not little_endian)): # <<<<<<<<<<<<<< - * raise ValueError("Non-native byte order not supported") + * raise ValueError(u"Non-native byte order not supported") * # One could encode it in the format string and have Cython */ - if ((__pyx_v_child->byteorder == '<')) { - __pyx_t_7 = (!__pyx_v_little_endian); + __pyx_t_6 = (__pyx_v_child->byteorder == '<'); + if (__pyx_t_6) { + __pyx_t_8 = (!__pyx_v_little_endian); + __pyx_t_9 = __pyx_t_8; } else { - __pyx_t_7 = (__pyx_v_child->byteorder == '<'); + __pyx_t_9 = __pyx_t_6; } - __pyx_t_8 = __pyx_t_7; + __pyx_t_6 = __pyx_t_9; } else { - __pyx_t_8 = __pyx_t_6; + __pyx_t_6 = __pyx_t_7; } - if (__pyx_t_8) { + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":296 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":790 * if ((child.byteorder == '>' and little_endian) or * (child.byteorder == '<' and not little_endian)): - * raise ValueError("Non-native byte order not supported") # <<<<<<<<<<<<<< + * raise ValueError(u"Non-native byte order not supported") # <<<<<<<<<<<<<< * # One could encode it in the format string and have Cython * # complain instead, BUT: < and > in format strings also imply */ - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_28); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_28); - __Pyx_GIVEREF(__pyx_kp_28); - __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_15)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_u_15)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_15)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_5, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L6; } __pyx_L6:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":306 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":800 * * # Output padding bytes * while offset[0] < new_offset: # <<<<<<<<<<<<<< @@ -8986,16 +9303,16 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc * f += 1 */ while (1) { - __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (!__pyx_t_8) break; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (!__pyx_t_6) break; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":307 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":801 * # Output padding bytes * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte # <<<<<<<<<<<<<< @@ -9004,7 +9321,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ (__pyx_v_f[0]) = 120; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":308 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":802 * while offset[0] < new_offset: * f[0] = 120 # "x"; pad byte * f += 1 # <<<<<<<<<<<<<< @@ -9013,7 +9330,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ __pyx_v_f += 1; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":309 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":803 * f[0] = 120 # "x"; pad byte * f += 1 * offset[0] += 1 # <<<<<<<<<<<<<< @@ -9023,7 +9340,7 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc (__pyx_v_offset[0]) += 1; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":311 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":805 * offset[0] += 1 * * offset[0] += child.itemsize # <<<<<<<<<<<<<< @@ -9032,417 +9349,417 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc */ (__pyx_v_offset[0]) += __pyx_v_child->elsize; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":313 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":807 * offset[0] += child.itemsize * * if not PyDataType_HASFIELDS(child): # <<<<<<<<<<<<<< * t = child.type_num * if end - f < 5: */ - __pyx_t_8 = (!PyDataType_HASFIELDS(__pyx_v_child)); - if (__pyx_t_8) { + __pyx_t_6 = (!PyDataType_HASFIELDS(__pyx_v_child)); + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":314 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":808 * * if not PyDataType_HASFIELDS(child): * t = child.type_num # <<<<<<<<<<<<<< * if end - f < 5: - * raise RuntimeError("Format string allocated too short.") + * raise RuntimeError(u"Format string allocated too short.") */ - __pyx_t_4 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_v_t); - __pyx_v_t = __pyx_t_4; - __pyx_t_4 = 0; + __pyx_v_t = __pyx_t_3; + __pyx_t_3 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":315 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":809 * if not PyDataType_HASFIELDS(child): * t = child.type_num * if end - f < 5: # <<<<<<<<<<<<<< - * raise RuntimeError("Format string allocated too short.") + * raise RuntimeError(u"Format string allocated too short.") * */ - __pyx_t_8 = ((__pyx_v_end - __pyx_v_f) < 5); - if (__pyx_t_8) { + __pyx_t_6 = ((__pyx_v_end - __pyx_v_f) < 5); + if (__pyx_t_6) { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":316 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":810 * t = child.type_num * if end - f < 5: - * raise RuntimeError("Format string allocated too short.") # <<<<<<<<<<<<<< + * raise RuntimeError(u"Format string allocated too short.") # <<<<<<<<<<<<<< * * # Until ticket #99 is fixed, use integers to avoid warnings */ - __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_4)); - __Pyx_INCREF(__pyx_kp_29); - PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_29); - __Pyx_GIVEREF(__pyx_kp_29); - __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_INCREF(((PyObject *)__pyx_kp_u_18)); + PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_kp_u_18)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_18)); + __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0; + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_Raise(__pyx_t_5, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L10; } __pyx_L10:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":319 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":813 * * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" # <<<<<<<<<<<<<< * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" */ - __pyx_t_5 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 98; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":320 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":814 * # Until ticket #99 is fixed, use integers to avoid warnings * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" # <<<<<<<<<<<<<< * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" */ - __pyx_t_4 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 66; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":321 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":815 * if t == NPY_BYTE: f[0] = 98 #"b" * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" # <<<<<<<<<<<<<< * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" */ - __pyx_t_5 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 104; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":322 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":816 * elif t == NPY_UBYTE: f[0] = 66 #"B" * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" # <<<<<<<<<<<<<< * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" */ - __pyx_t_4 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 72; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":323 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":817 * elif t == NPY_SHORT: f[0] = 104 #"h" * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" # <<<<<<<<<<<<<< * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" */ - __pyx_t_5 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 105; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":324 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":818 * elif t == NPY_USHORT: f[0] = 72 #"H" * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" # <<<<<<<<<<<<<< * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" */ - __pyx_t_4 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 73; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":325 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":819 * elif t == NPY_INT: f[0] = 105 #"i" * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" # <<<<<<<<<<<<<< * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" */ - __pyx_t_5 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 108; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":326 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":820 * elif t == NPY_UINT: f[0] = 73 #"I" * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" # <<<<<<<<<<<<<< * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" */ - __pyx_t_4 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 76; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":327 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":821 * elif t == NPY_LONG: f[0] = 108 #"l" * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" # <<<<<<<<<<<<<< * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" */ - __pyx_t_5 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 113; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":328 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":822 * elif t == NPY_ULONG: f[0] = 76 #"L" * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" # <<<<<<<<<<<<<< * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" */ - __pyx_t_4 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 81; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":329 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":823 * elif t == NPY_LONGLONG: f[0] = 113 #"q" * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" # <<<<<<<<<<<<<< * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" */ - __pyx_t_5 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 102; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":330 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":824 * elif t == NPY_ULONGLONG: f[0] = 81 #"Q" * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" # <<<<<<<<<<<<<< * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf */ - __pyx_t_4 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 100; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":331 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":825 * elif t == NPY_FLOAT: f[0] = 102 #"f" * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" # <<<<<<<<<<<<<< * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd */ - __pyx_t_5 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 103; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":332 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":826 * elif t == NPY_DOUBLE: f[0] = 100 #"d" * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf # <<<<<<<<<<<<<< * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg */ - __pyx_t_4 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 102; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":333 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":827 * elif t == NPY_LONGDOUBLE: f[0] = 103 #"g" * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd # <<<<<<<<<<<<<< * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" */ - __pyx_t_5 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 100; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":334 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":828 * elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg # <<<<<<<<<<<<<< * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: */ - __pyx_t_4 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (__pyx_t_8) { + if (__pyx_t_6) { (__pyx_v_f[0]) = 90; (__pyx_v_f[1]) = 103; __pyx_v_f += 1; goto __pyx_L11; } - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":335 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":829 * elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd * elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg * elif t == NPY_OBJECT: f[0] = 79 #"O" # <<<<<<<<<<<<<< * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) */ - __pyx_t_5 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_5 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); + __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - if (__pyx_t_8) { + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (__pyx_t_6) { (__pyx_v_f[0]) = 79; goto __pyx_L11; } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":337 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":831 * elif t == NPY_OBJECT: f[0] = 79 #"O" * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) # <<<<<<<<<<<<<< * f += 1 * else: */ - __pyx_t_4 = PyNumber_Remainder(__pyx_kp_30, __pyx_v_t); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_5)); - PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); - __Pyx_GIVEREF(__pyx_t_4); - __pyx_t_4 = 0; - __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_t_4); - __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0; - __Pyx_Raise(__pyx_t_4, 0, 0); - __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - {__pyx_filename = __pyx_f[1]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_16), __pyx_v_t); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_5); + PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); + __Pyx_GIVEREF(__pyx_t_3); + __pyx_t_3 = 0; + __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; + __Pyx_Raise(__pyx_t_3, 0, 0); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L11:; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":338 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":832 * else: - * raise ValueError("unknown dtype code in numpy.pxd (%d)" % t) + * raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t) * f += 1 # <<<<<<<<<<<<<< * else: * # Cython ignores struct boundary information ("T{...}"), @@ -9452,25 +9769,26 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc } /*else*/ { - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":342 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":836 * # Cython ignores struct boundary information ("T{...}"), * # so don't output it * f = _util_dtypestring(child, f, end, offset) # <<<<<<<<<<<<<< * return f * */ - __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_v_f = __pyx_t_9; + __pyx_t_10 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_10 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_v_f = __pyx_t_10; } __pyx_L9:; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":343 + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":837 * # so don't output it * f = _util_dtypestring(child, f, end, offset) * return f # <<<<<<<<<<<<<< * + * */ __pyx_r = __pyx_v_f; goto __pyx_L0; @@ -9478,7 +9796,6 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); @@ -9487,10 +9804,151 @@ static INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_desc __pyx_r = NULL; __pyx_L0:; __Pyx_DECREF((PyObject *)__pyx_v_child); - __Pyx_DECREF(__pyx_v_i); + __Pyx_DECREF(__pyx_v_fields); + __Pyx_DECREF(__pyx_v_childname); __Pyx_DECREF(__pyx_v_new_offset); __Pyx_DECREF(__pyx_v_t); - __Pyx_FinishRefcountContext(); + __Pyx_DECREF((PyObject *)__pyx_v_descr); + __Pyx_RefNannyFinishContext(); + return __pyx_r; +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":952 + * + * + * cdef inline void set_array_base(ndarray arr, object base): # <<<<<<<<<<<<<< + * cdef PyObject* baseptr + * if base is None: + */ + +static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) { + PyObject *__pyx_v_baseptr; + int __pyx_t_1; + __Pyx_RefNannySetupContext("set_array_base"); + __Pyx_INCREF((PyObject *)__pyx_v_arr); + __Pyx_INCREF(__pyx_v_base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":954 + * cdef inline void set_array_base(ndarray arr, object base): + * cdef PyObject* baseptr + * if base is None: # <<<<<<<<<<<<<< + * baseptr = NULL + * else: + */ + __pyx_t_1 = (__pyx_v_base == Py_None); + if (__pyx_t_1) { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":955 + * cdef PyObject* baseptr + * if base is None: + * baseptr = NULL # <<<<<<<<<<<<<< + * else: + * Py_INCREF(base) # important to do this before decref below! + */ + __pyx_v_baseptr = NULL; + goto __pyx_L3; + } + /*else*/ { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":957 + * baseptr = NULL + * else: + * Py_INCREF(base) # important to do this before decref below! # <<<<<<<<<<<<<< + * baseptr = base + * Py_XDECREF(arr.base) + */ + Py_INCREF(__pyx_v_base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":958 + * else: + * Py_INCREF(base) # important to do this before decref below! + * baseptr = base # <<<<<<<<<<<<<< + * Py_XDECREF(arr.base) + * arr.base = baseptr + */ + __pyx_v_baseptr = ((PyObject *)__pyx_v_base); + } + __pyx_L3:; + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":959 + * Py_INCREF(base) # important to do this before decref below! + * baseptr = base + * Py_XDECREF(arr.base) # <<<<<<<<<<<<<< + * arr.base = baseptr + * + */ + Py_XDECREF(__pyx_v_arr->base); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":960 + * baseptr = base + * Py_XDECREF(arr.base) + * arr.base = baseptr # <<<<<<<<<<<<<< + * + * cdef inline object get_array_base(ndarray arr): + */ + __pyx_v_arr->base = __pyx_v_baseptr; + + __Pyx_DECREF((PyObject *)__pyx_v_arr); + __Pyx_DECREF(__pyx_v_base); + __Pyx_RefNannyFinishContext(); +} + +/* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":962 + * arr.base = baseptr + * + * cdef inline object get_array_base(ndarray arr): # <<<<<<<<<<<<<< + * if arr.base is NULL: + * return None + */ + +static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) { + PyObject *__pyx_r = NULL; + int __pyx_t_1; + __Pyx_RefNannySetupContext("get_array_base"); + __Pyx_INCREF((PyObject *)__pyx_v_arr); + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":963 + * + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: # <<<<<<<<<<<<<< + * return None + * else: + */ + __pyx_t_1 = (__pyx_v_arr->base == NULL); + if (__pyx_t_1) { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":964 + * cdef inline object get_array_base(ndarray arr): + * if arr.base is NULL: + * return None # <<<<<<<<<<<<<< + * else: + * return arr.base + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(Py_None); + __pyx_r = Py_None; + goto __pyx_L0; + goto __pyx_L3; + } + /*else*/ { + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/numpy.pxd":966 + * return None + * else: + * return arr.base # <<<<<<<<<<<<<< + */ + __Pyx_XDECREF(__pyx_r); + __Pyx_INCREF(((PyObject *)__pyx_v_arr->base)); + __pyx_r = ((PyObject *)__pyx_v_arr->base); + goto __pyx_L0; + } + __pyx_L3:; + + __pyx_r = Py_None; __Pyx_INCREF(Py_None); + __pyx_L0:; + __Pyx_DECREF((PyObject *)__pyx_v_arr); + __Pyx_XGIVEREF(__pyx_r); + __Pyx_RefNannyFinishContext(); return __pyx_r; } static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_LossFunction __pyx_vtable_4bolt_7trainer_3sgd_LossFunction; @@ -9658,6 +10116,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_LossFunction = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Regression __pyx_vtable_4bolt_7trainer_3sgd_Regression; @@ -9820,6 +10282,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_Regression = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Classification __pyx_vtable_4bolt_7trainer_3sgd_Classification; @@ -9982,6 +10448,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_Classification = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_ModifiedHuber __pyx_vtable_4bolt_7trainer_3sgd_ModifiedHuber; @@ -10145,6 +10615,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_ModifiedHuber = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Hinge __pyx_vtable_4bolt_7trainer_3sgd_Hinge; @@ -10308,6 +10782,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_Hinge = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Log __pyx_vtable_4bolt_7trainer_3sgd_Log; @@ -10471,6 +10949,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_Log = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_SquaredError __pyx_vtable_4bolt_7trainer_3sgd_SquaredError; @@ -10634,6 +11116,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_SquaredError = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_Huber __pyx_vtable_4bolt_7trainer_3sgd_Huber; @@ -10797,6 +11283,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_Huber = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_SGD __pyx_vtable_4bolt_7trainer_3sgd_SGD; @@ -10984,6 +11474,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_SGD = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct __pyx_vtabstruct_4bolt_7trainer_3sgd_PEGASOS __pyx_vtable_4bolt_7trainer_3sgd_PEGASOS; @@ -11150,6 +11644,10 @@ PyTypeObject __pyx_type_4bolt_7trainer_3sgd_PEGASOS = { 0, /*tp_cache*/ 0, /*tp_subclasses*/ 0, /*tp_weaklist*/ + 0, /*tp_del*/ + #if PY_VERSION_HEX >= 0x02060000 + 0, /*tp_version_tag*/ + #endif }; static struct PyMethodDef __pyx_methods[] = { @@ -11163,7 +11661,7 @@ static void __pyx_init_filenames(void); /*proto*/ static struct PyModuleDef __pyx_moduledef = { PyModuleDef_HEAD_INIT, __Pyx_NAMESTR("sgd"), - __Pyx_DOCSTR(__pyx_mdoc), /* m_doc */ + __Pyx_DOCSTR(__pyx_k_19), /* m_doc */ -1, /* m_size */ __pyx_methods /* m_methods */, NULL, /* m_reload */ @@ -11174,99 +11672,115 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp___main__, __pyx_k___main__, sizeof(__pyx_k___main__), 1, 1, 1}, - {&__pyx_kp_loss, __pyx_k_loss, sizeof(__pyx_k_loss), 1, 1, 1}, - {&__pyx_kp_dloss, __pyx_k_dloss, sizeof(__pyx_k_dloss), 1, 1, 1}, - {&__pyx_kp___reduce__, __pyx_k___reduce__, sizeof(__pyx_k___reduce__), 1, 1, 1}, - {&__pyx_kp___init__, __pyx_k___init__, sizeof(__pyx_k___init__), 1, 1, 1}, - {&__pyx_kp_train, __pyx_k_train, sizeof(__pyx_k_train), 1, 1, 1}, - {&__pyx_kp_p, __pyx_k_p, sizeof(__pyx_k_p), 1, 1, 1}, - {&__pyx_kp_y, __pyx_k_y, sizeof(__pyx_k_y), 1, 1, 1}, - {&__pyx_kp_c, __pyx_k_c, sizeof(__pyx_k_c), 1, 1, 1}, - {&__pyx_kp_x, __pyx_k_x, sizeof(__pyx_k_x), 1, 1, 1}, - {&__pyx_kp_w, __pyx_k_w, sizeof(__pyx_k_w), 1, 1, 1}, - {&__pyx_kp_bias, __pyx_k_bias, sizeof(__pyx_k_bias), 1, 1, 1}, - {&__pyx_kp_reg, __pyx_k_reg, sizeof(__pyx_k_reg), 1, 1, 1}, - {&__pyx_kp_epochs, __pyx_k_epochs, sizeof(__pyx_k_epochs), 1, 1, 1}, - {&__pyx_kp_norm, __pyx_k_norm, sizeof(__pyx_k_norm), 1, 1, 1}, - {&__pyx_kp_alpha, __pyx_k_alpha, sizeof(__pyx_k_alpha), 1, 1, 1}, - {&__pyx_kp_model, __pyx_k_model, sizeof(__pyx_k_model), 1, 1, 1}, - {&__pyx_kp_dataset, __pyx_k_dataset, sizeof(__pyx_k_dataset), 1, 1, 1}, - {&__pyx_kp_verbose, __pyx_k_verbose, sizeof(__pyx_k_verbose), 1, 1, 1}, - {&__pyx_kp_shuffle, __pyx_k_shuffle, sizeof(__pyx_k_shuffle), 1, 1, 1}, - {&__pyx_kp_numpy, __pyx_k_numpy, sizeof(__pyx_k_numpy), 1, 1, 1}, - {&__pyx_kp_np, __pyx_k_np, sizeof(__pyx_k_np), 0, 1, 1}, - {&__pyx_kp_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 1, 1, 1}, - {&__pyx_kp_time, __pyx_k_time, sizeof(__pyx_k_time), 1, 1, 1}, - {&__pyx_kp_itertools, __pyx_k_itertools, sizeof(__pyx_k_itertools), 1, 1, 1}, - {&__pyx_kp_izip, __pyx_k_izip, sizeof(__pyx_k_izip), 1, 1, 1}, - {&__pyx_kp___authors__, __pyx_k___authors__, sizeof(__pyx_k___authors__), 1, 1, 1}, - {&__pyx_kp_NotImplementedError, __pyx_k_NotImplementedError, sizeof(__pyx_k_NotImplementedError), 1, 1, 1}, - {&__pyx_kp_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 1, 1, 1}, - {&__pyx_kp_m, __pyx_k_m, sizeof(__pyx_k_m), 1, 1, 1}, - {&__pyx_kp_n, __pyx_k_n, sizeof(__pyx_k_n), 1, 1, 1}, - {&__pyx_kp_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 1, 1, 1}, - {&__pyx_kp_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 1, 1, 1}, - {&__pyx_kp_39, __pyx_k_39, sizeof(__pyx_k_39), 1, 1, 1}, - {&__pyx_kp_order, __pyx_k_order, sizeof(__pyx_k_order), 1, 1, 1}, - {&__pyx_kp_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 1, 0}, - {&__pyx_kp_biasterm, __pyx_k_biasterm, sizeof(__pyx_k_biasterm), 1, 1, 1}, - {&__pyx_kp_dot, __pyx_k_dot, sizeof(__pyx_k_dot), 1, 1, 1}, - {&__pyx_kp_nonzero, __pyx_k_nonzero, sizeof(__pyx_k_nonzero), 1, 1, 1}, - {&__pyx_kp_shape, __pyx_k_shape, sizeof(__pyx_k_shape), 1, 1, 1}, - {&__pyx_kp_any, __pyx_k_any, sizeof(__pyx_k_any), 1, 1, 1}, - {&__pyx_kp_isinf, __pyx_k_isinf, sizeof(__pyx_k_isinf), 1, 1, 1}, - {&__pyx_kp_isnan, __pyx_k_isnan, sizeof(__pyx_k_isnan), 1, 1, 1}, - {&__pyx_kp_sqrt, __pyx_k_sqrt, sizeof(__pyx_k_sqrt), 1, 1, 1}, - {&__pyx_kp_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 0, 0}, - {&__pyx_kp_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 0}, - {&__pyx_kp_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 0}, - {&__pyx_kp_37, __pyx_k_37, sizeof(__pyx_k_37), 0, 0, 0}, - {&__pyx_kp_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 0, 0}, - {&__pyx_kp_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 0, 0}, - {&__pyx_kp_42, __pyx_k_42, sizeof(__pyx_k_42), 0, 0, 0}, - {&__pyx_kp_43, __pyx_k_43, sizeof(__pyx_k_43), 0, 0, 0}, - {&__pyx_kp_44, __pyx_k_44, sizeof(__pyx_k_44), 0, 0, 0}, - {&__pyx_kp_45, __pyx_k_45, sizeof(__pyx_k_45), 0, 0, 0}, - {&__pyx_kp_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 0}, - {&__pyx_kp_47, __pyx_k_47, sizeof(__pyx_k_47), 0, 0, 0}, - {&__pyx_kp_48, __pyx_k_48, sizeof(__pyx_k_48), 0, 0, 0}, - {&__pyx_kp_49, __pyx_k_49, sizeof(__pyx_k_49), 0, 0, 0}, - {&__pyx_kp___getbuffer__, __pyx_k___getbuffer__, sizeof(__pyx_k___getbuffer__), 1, 1, 1}, - {&__pyx_kp___releasebuffer__, __pyx_k___releasebuffer__, sizeof(__pyx_k___releasebuffer__), 1, 1, 1}, - {&__pyx_kp_info, __pyx_k_info, sizeof(__pyx_k_info), 1, 1, 1}, - {&__pyx_kp_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 1, 1, 1}, - {&__pyx_kp_range, __pyx_k_range, sizeof(__pyx_k_range), 1, 1, 1}, - {&__pyx_kp_itervalues, __pyx_k_itervalues, sizeof(__pyx_k_itervalues), 1, 1, 1}, - {&__pyx_kp_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 1, 1, 1}, - {&__pyx_kp_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 0}, - {&__pyx_kp_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 0}, - {&__pyx_kp_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 0}, - {&__pyx_kp_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 0, 0}, - {&__pyx_kp_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 0}, - {&__pyx_kp_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 0}, - {&__pyx_kp_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 0}, - {&__pyx_kp_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 0}, - {0, 0, 0, 0, 0, 0} + {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0}, + {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0}, + {&__pyx_kp_u_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 1, 0, 0}, + {&__pyx_kp_u_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 1, 0, 0}, + {&__pyx_kp_u_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 1, 0, 0}, + {&__pyx_kp_u_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 1, 0, 0}, + {&__pyx_kp_u_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 1, 0, 0}, + {&__pyx_kp_u_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 1, 0, 0}, + {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, + {&__pyx_kp_s_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 1, 0}, + {&__pyx_kp_u_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 1, 0, 0}, + {&__pyx_kp_u_22, __pyx_k_22, sizeof(__pyx_k_22), 0, 1, 0, 0}, + {&__pyx_kp_u_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 1, 0, 0}, + {&__pyx_kp_u_24, __pyx_k_24, sizeof(__pyx_k_24), 0, 1, 0, 0}, + {&__pyx_kp_u_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 1, 0, 0}, + {&__pyx_kp_u_26, __pyx_k_26, sizeof(__pyx_k_26), 0, 1, 0, 0}, + {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0}, + {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0}, + {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0}, + {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0}, + {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0}, + {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0}, + {&__pyx_n_s__LossFunction, __pyx_k__LossFunction, sizeof(__pyx_k__LossFunction), 0, 0, 1, 1}, + {&__pyx_n_s__NotImplementedError, __pyx_k__NotImplementedError, sizeof(__pyx_k__NotImplementedError), 0, 0, 1, 1}, + {&__pyx_n_s__PEGASOS, __pyx_k__PEGASOS, sizeof(__pyx_k__PEGASOS), 0, 0, 1, 1}, + {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1}, + {&__pyx_n_s__SGD, __pyx_k__SGD, sizeof(__pyx_k__SGD), 0, 0, 1, 1}, + {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1}, + {&__pyx_n_s____authors__, __pyx_k____authors__, sizeof(__pyx_k____authors__), 0, 0, 1, 1}, + {&__pyx_n_s____init__, __pyx_k____init__, sizeof(__pyx_k____init__), 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___train, __pyx_k___train, sizeof(__pyx_k___train), 0, 0, 1, 1}, + {&__pyx_n_s__alpha, __pyx_k__alpha, sizeof(__pyx_k__alpha), 0, 0, 1, 1}, + {&__pyx_n_s__any, __pyx_k__any, sizeof(__pyx_k__any), 0, 0, 1, 1}, + {&__pyx_n_s__base, __pyx_k__base, sizeof(__pyx_k__base), 0, 0, 1, 1}, + {&__pyx_n_s__bias, __pyx_k__bias, sizeof(__pyx_k__bias), 0, 0, 1, 1}, + {&__pyx_n_s__biasterm, __pyx_k__biasterm, sizeof(__pyx_k__biasterm), 0, 0, 1, 1}, + {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1}, + {&__pyx_n_s__byteorder, __pyx_k__byteorder, sizeof(__pyx_k__byteorder), 0, 0, 1, 1}, + {&__pyx_n_s__c, __pyx_k__c, sizeof(__pyx_k__c), 0, 0, 1, 1}, + {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1}, + {&__pyx_n_s__dataset, __pyx_k__dataset, sizeof(__pyx_k__dataset), 0, 0, 1, 1}, + {&__pyx_n_s__descr, __pyx_k__descr, sizeof(__pyx_k__descr), 0, 0, 1, 1}, + {&__pyx_n_s__dloss, __pyx_k__dloss, sizeof(__pyx_k__dloss), 0, 0, 1, 1}, + {&__pyx_n_s__dot, __pyx_k__dot, sizeof(__pyx_k__dot), 0, 0, 1, 1}, + {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1}, + {&__pyx_n_s__epochs, __pyx_k__epochs, sizeof(__pyx_k__epochs), 0, 0, 1, 1}, + {&__pyx_n_s__fields, __pyx_k__fields, sizeof(__pyx_k__fields), 0, 0, 1, 1}, + {&__pyx_n_s__float64, __pyx_k__float64, sizeof(__pyx_k__float64), 0, 0, 1, 1}, + {&__pyx_n_s__format, __pyx_k__format, sizeof(__pyx_k__format), 0, 0, 1, 1}, + {&__pyx_n_s__idx, __pyx_k__idx, sizeof(__pyx_k__idx), 0, 0, 1, 1}, + {&__pyx_n_s__isinf, __pyx_k__isinf, sizeof(__pyx_k__isinf), 0, 0, 1, 1}, + {&__pyx_n_s__isnan, __pyx_k__isnan, sizeof(__pyx_k__isnan), 0, 0, 1, 1}, + {&__pyx_n_s__itemsize, __pyx_k__itemsize, sizeof(__pyx_k__itemsize), 0, 0, 1, 1}, + {&__pyx_n_s__itertools, __pyx_k__itertools, sizeof(__pyx_k__itertools), 0, 0, 1, 1}, + {&__pyx_n_s__izip, __pyx_k__izip, sizeof(__pyx_k__izip), 0, 0, 1, 1}, + {&__pyx_n_s__loss, __pyx_k__loss, sizeof(__pyx_k__loss), 0, 0, 1, 1}, + {&__pyx_n_s__m, __pyx_k__m, sizeof(__pyx_k__m), 0, 0, 1, 1}, + {&__pyx_n_s__model, __pyx_k__model, sizeof(__pyx_k__model), 0, 0, 1, 1}, + {&__pyx_n_s__n, __pyx_k__n, sizeof(__pyx_k__n), 0, 0, 1, 1}, + {&__pyx_n_s__names, __pyx_k__names, sizeof(__pyx_k__names), 0, 0, 1, 1}, + {&__pyx_n_s__ndim, __pyx_k__ndim, sizeof(__pyx_k__ndim), 0, 0, 1, 1}, + {&__pyx_n_s__nonzero, __pyx_k__nonzero, sizeof(__pyx_k__nonzero), 0, 0, 1, 1}, + {&__pyx_n_s__norm, __pyx_k__norm, sizeof(__pyx_k__norm), 0, 0, 1, 1}, + {&__pyx_n_s__np, __pyx_k__np, sizeof(__pyx_k__np), 0, 0, 1, 1}, + {&__pyx_n_s__numpy, __pyx_k__numpy, sizeof(__pyx_k__numpy), 0, 0, 1, 1}, + {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1}, + {&__pyx_n_s__order, __pyx_k__order, sizeof(__pyx_k__order), 0, 0, 1, 1}, + {&__pyx_n_s__p, __pyx_k__p, sizeof(__pyx_k__p), 0, 0, 1, 1}, + {&__pyx_n_s__predict, __pyx_k__predict, sizeof(__pyx_k__predict), 0, 0, 1, 1}, + {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1}, + {&__pyx_n_s__readonly, __pyx_k__readonly, sizeof(__pyx_k__readonly), 0, 0, 1, 1}, + {&__pyx_n_s__reg, __pyx_k__reg, sizeof(__pyx_k__reg), 0, 0, 1, 1}, + {&__pyx_n_s__shape, __pyx_k__shape, sizeof(__pyx_k__shape), 0, 0, 1, 1}, + {&__pyx_n_s__shuffle, __pyx_k__shuffle, sizeof(__pyx_k__shuffle), 0, 0, 1, 1}, + {&__pyx_n_s__sqrt, __pyx_k__sqrt, sizeof(__pyx_k__sqrt), 0, 0, 1, 1}, + {&__pyx_n_s__strides, __pyx_k__strides, sizeof(__pyx_k__strides), 0, 0, 1, 1}, + {&__pyx_n_s__suboffsets, __pyx_k__suboffsets, sizeof(__pyx_k__suboffsets), 0, 0, 1, 1}, + {&__pyx_n_s__sys, __pyx_k__sys, sizeof(__pyx_k__sys), 0, 0, 1, 1}, + {&__pyx_n_s__time, __pyx_k__time, sizeof(__pyx_k__time), 0, 0, 1, 1}, + {&__pyx_n_s__train, __pyx_k__train, sizeof(__pyx_k__train), 0, 0, 1, 1}, + {&__pyx_n_s__type_num, __pyx_k__type_num, sizeof(__pyx_k__type_num), 0, 0, 1, 1}, + {&__pyx_n_s__val, __pyx_k__val, sizeof(__pyx_k__val), 0, 0, 1, 1}, + {&__pyx_n_s__verbose, __pyx_k__verbose, sizeof(__pyx_k__verbose), 0, 0, 1, 1}, + {&__pyx_n_s__w, __pyx_k__w, sizeof(__pyx_k__w), 0, 0, 1, 1}, + {&__pyx_n_s__x, __pyx_k__x, sizeof(__pyx_k__x), 0, 0, 1, 1}, + {&__pyx_n_s__y, __pyx_k__y, sizeof(__pyx_k__y), 0, 0, 1, 1}, + {&__pyx_n_s__zeros, __pyx_k__zeros, sizeof(__pyx_k__zeros), 0, 0, 1, 1}, + {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_NotImplementedError = __Pyx_GetName(__pyx_b, __pyx_kp_NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_kp_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_kp_range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_kp_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_NotImplementedError = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; } static int __Pyx_InitGlobals(void) { - __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; - 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; @@ -11280,34 +11794,37 @@ PyMODINIT_FUNC PyInit_sgd(void); /*proto*/ PyMODINIT_FUNC PyInit_sgd(void) #endif { - PyObject *__pyx_1 = 0; - PyObject *__pyx_2 = 0; PyObject *__pyx_t_1 = NULL; - #ifdef CYTHON_REFNANNY - void* __pyx_refchk = NULL; - __Pyx_Refnanny = __Pyx_ImportRefcountAPI("refnanny"); - if (!__Pyx_Refnanny) { + 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_ImportRefcountAPI("Cython.Runtime.refnanny"); - if (!__Pyx_Refnanny) - Py_FatalError("failed to import refnanny module"); + __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); + if (!__Pyx_RefNanny) + Py_FatalError("failed to import 'refnanny' module"); } - __pyx_refchk = __Pyx_Refnanny->NewContext("PyMODINIT_FUNC PyInit_sgd(void)", __LINE__, __FILE__); + __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_sgd(void)", __LINE__, __FILE__); #endif + __pyx_init_filenames(); __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;} + #if PY_MAJOR_VERSION < 3 + __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;} + #else + __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;} + #endif /*--- Library function declarations ---*/ - __pyx_init_filenames(); /*--- 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 - /*--- 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;} /*--- Module creation code ---*/ #if PY_MAJOR_VERSION < 3 - __pyx_m = Py_InitModule4(__Pyx_NAMESTR("sgd"), __pyx_methods, __pyx_mdoc, 0, PYTHON_API_VERSION); + __pyx_m = Py_InitModule4(__Pyx_NAMESTR("sgd"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_19), 0, PYTHON_API_VERSION); #else __pyx_m = PyModule_Create(&__pyx_moduledef); #endif @@ -11318,12 +11835,13 @@ PyMODINIT_FUNC PyInit_sgd(void) __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_bolt__trainer__sgd) { - if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_kp___main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; + 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;} - __pyx_skip_dispatch = 0; /*--- Global init code ---*/ /*--- Function export code ---*/ /*--- Type init code ---*/ @@ -11458,36 +11976,39 @@ PyMODINIT_FUNC PyInit_sgd(void) if (__Pyx_SetAttrString(__pyx_m, "PEGASOS", (PyObject *)&__pyx_type_4bolt_7trainer_3sgd_PEGASOS) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_ptype_4bolt_7trainer_3sgd_PEGASOS = &__pyx_type_4bolt_7trainer_3sgd_PEGASOS; /*--- Type import code ---*/ - __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr)); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject)); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Function import code ---*/ /*--- Execution code ---*/ - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":40 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":40 * from __future__ import division * * import numpy as np # <<<<<<<<<<<<<< * import sys * */ - __pyx_1 = __Pyx_Import(__pyx_kp_numpy, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_np, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":41 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":41 * * import numpy as np * import sys # <<<<<<<<<<<<<< * * cimport numpy as np */ - __pyx_1 = __Pyx_Import(__pyx_kp_sys, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_sys, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sys, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":46 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":46 * cimport cython * * from time import time # <<<<<<<<<<<<<< @@ -11496,55 +12017,55 @@ PyMODINIT_FUNC PyInit_sgd(void) */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_time); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_time); - __Pyx_GIVEREF(__pyx_kp_time); - __pyx_1 = __Pyx_Import(__pyx_kp_time, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); + __Pyx_INCREF(((PyObject *)__pyx_n_s__time)); + PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_n_s__time)); + __Pyx_GIVEREF(((PyObject *)__pyx_n_s__time)); + __pyx_t_2 = __Pyx_Import(((PyObject *)__pyx_n_s__time), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_time); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_time, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__time); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__time, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":47 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":47 * * from time import time * from itertools import izip # <<<<<<<<<<<<<< * * __authors__ = [ */ - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_izip); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_izip); - __Pyx_GIVEREF(__pyx_kp_izip); - __pyx_1 = __Pyx_Import(__pyx_kp_itertools, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_1); - __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_izip); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_GOTREF(__pyx_2); - if (PyObject_SetAttr(__pyx_m, __pyx_kp_izip, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - __Pyx_DECREF(__pyx_2); __pyx_2 = 0; - __Pyx_DECREF(__pyx_1); __pyx_1 = 0; + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(((PyObject *)__pyx_t_2)); + __Pyx_INCREF(((PyObject *)__pyx_n_s__izip)); + PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_n_s__izip)); + __Pyx_GIVEREF(((PyObject *)__pyx_n_s__izip)); + __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__itertools), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_1); + __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__izip); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s__izip, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":50 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":49 + * from itertools import izip * - * __authors__ = [ - * '"Peter Prettenhofer" ' # <<<<<<<<<<<<<< + * __authors__ = [ # <<<<<<<<<<<<<< + * '"Peter Prettenhofer" ' * ] - * */ __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(((PyObject *)__pyx_t_1)); - __Pyx_INCREF(__pyx_kp_31); - PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_31); - __Pyx_GIVEREF(__pyx_kp_31); - if (PyObject_SetAttr(__pyx_m, __pyx_kp___authors__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_INCREF(((PyObject *)__pyx_kp_s_20)); + PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_20)); + __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_20)); + if (PyObject_SetAttr(__pyx_m, __pyx_n_s____authors__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0; - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":311 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":311 * cdef double alpha * * def __init__(self, loss, reg, epochs = 5, norm = 2, alpha = 0.85): # <<<<<<<<<<<<<< @@ -11553,11 +12074,11 @@ PyMODINIT_FUNC PyInit_sgd(void) */ __pyx_t_1 = PyFloat_FromDouble(0.84999999999999998); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_k_32 = __pyx_t_1; + __pyx_k_1 = __pyx_t_1; + __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_k_32); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":341 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":341 * return SGD,(self.loss,self.reg, self.epochs, self.norm, self.alpha) * * def train(self, model, dataset, verbose = 0, shuffle = False): # <<<<<<<<<<<<<< @@ -11566,11 +12087,11 @@ PyMODINIT_FUNC PyInit_sgd(void) */ __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_k_33 = __pyx_t_1; + __pyx_k_6 = __pyx_t_1; + __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_k_33); - /* "/home/peter/workspace/bolt/bolt/trainer/sgd.pyx":484 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":484 * return PEGASOS,(self.reg, self.epochs) * * def train(self, model, dataset, verbose = 0, shuffle = False): # <<<<<<<<<<<<<< @@ -11579,11 +12100,78 @@ PyMODINIT_FUNC PyInit_sgd(void) */ __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 484; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_1); - __pyx_k_34 = __pyx_t_1; + __pyx_k_12 = __pyx_t_1; + __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GIVEREF(__pyx_k_34); - /* "/usr/local/lib/python2.6/dist-packages/Cython-0.11.2-py2.6-linux-x86_64.egg/Cython/Includes/stdlib.pxd":2 + /* "/home/pprett/workspace/bolt/bolt/trainer/sgd.pyx":1 + * # encoding: utf-8 # <<<<<<<<<<<<<< + * # cython: cdivision=True + * # cython: boundscheck=False + */ + __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)); + __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__LossFunction); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__loss); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_21), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__LossFunction); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__dloss); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = __Pyx_GetAttrString(__pyx_t_3, "__doc__"); + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_22), __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + __pyx_t_2 = PyObject_GetAttr(__pyx_m, __pyx_n_s__predict); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __pyx_t_3 = __Pyx_GetAttrString(__pyx_t_2, "__doc__"); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_23), __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_GetAttr(__pyx_m, __pyx_n_s__SGD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s____init__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetAttrString(__pyx_t_2, "__doc__"); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_24), __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_GetAttr(__pyx_m, __pyx_n_s__SGD); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__train); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetAttrString(__pyx_t_2, "__doc__"); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_25), __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = PyObject_GetAttr(__pyx_m, __pyx_n_s__PEGASOS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_3); + __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__train); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_GOTREF(__pyx_t_2); + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + __pyx_t_3 = __Pyx_GetAttrString(__pyx_t_2, "__doc__"); + __Pyx_GOTREF(__pyx_t_3); + __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; + if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_kp_u_26), __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} + __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; + 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; + + /* "/usr/local/lib/python2.6/dist-packages/Cython-0.12.1-py2.6-linux-x86_64.egg/Cython/Includes/stdlib.pxd":2 * * cdef extern from "stdlib.h" nogil: # <<<<<<<<<<<<<< * void free(void *ptr) @@ -11591,13 +12179,17 @@ PyMODINIT_FUNC PyInit_sgd(void) */ goto __pyx_L0; __pyx_L1_error:; - __Pyx_XDECREF(__pyx_1); - __Pyx_XDECREF(__pyx_2); __Pyx_XDECREF(__pyx_t_1); - __Pyx_AddTraceback("bolt.trainer.sgd"); - Py_DECREF(__pyx_m); __pyx_m = 0; + __Pyx_XDECREF(__pyx_t_2); + __Pyx_XDECREF(__pyx_t_3); + if (__pyx_m) { + __Pyx_AddTraceback("init bolt.trainer.sgd"); + Py_DECREF(__pyx_m); __pyx_m = 0; + } else if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_ImportError, "init bolt.trainer.sgd"); + } __pyx_L0:; - __Pyx_FinishRefcountContext(); + __Pyx_RefNannyFinishContext(); #if PY_MAJOR_VERSION < 3 return; #else @@ -11738,19 +12330,19 @@ static int __Pyx_ParseOptionalKeywords( return -1; } -static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { - if (!type) { +static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) { + if (unlikely(!type)) { PyErr_Format(PyExc_SystemError, "Missing type object"); return 0; } - if (obj == Py_None || PyObject_TypeCheck(obj, type)) + if (likely(PyObject_TypeCheck(obj, type))) return 1; - PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s", - Py_TYPE(obj)->tp_name, type->tp_name); + PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s", + Py_TYPE(obj)->tp_name, type->tp_name); return 0; } -static INLINE int __Pyx_IsLittleEndian(void) { +static CYTHON_INLINE int __Pyx_IsLittleEndian(void) { unsigned int n = 1; return *(unsigned char*)(&n) != 0; } @@ -12147,7 +12739,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha } } -static INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) { +static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) { buf->buf = NULL; buf->obj = NULL; buf->strides = __Pyx_zeros; @@ -12188,40 +12780,60 @@ fail:; return -1; } -static INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { - if (info->buf == NULL) return; - if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; - __Pyx_ReleaseBuffer(info); +static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) { + if (info->buf == NULL) return; + if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL; + __Pyx_ReleaseBuffer(info); +} + +static void __Pyx_RaiseBufferFallbackError(void) { + PyErr_Format(PyExc_ValueError, + "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!"); +} + + +static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { + PyErr_Format(PyExc_ValueError, + #if PY_VERSION_HEX < 0x02050000 + "need more than %d value%s to unpack", (int)index, + #else + "need more than %zd value%s to unpack", index, + #endif + (index == 1) ? "" : "s"); +} + +static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(void) { + PyErr_SetString(PyExc_ValueError, "too many values to unpack"); } -static void __Pyx_RaiseBufferFallbackError(void) { - PyErr_Format(PyExc_ValueError, - "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!"); +static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) { + PyObject *item; + if (!(item = PyIter_Next(iter))) { + if (!PyErr_Occurred()) { + __Pyx_RaiseNeedMoreValuesError(index); + } + } + return item; } +static int __Pyx_EndUnpack(PyObject *iter) { + PyObject *item; + if ((item = PyIter_Next(iter))) { + Py_DECREF(item); + __Pyx_RaiseTooManyValuesError(); + return -1; + } + else if (!PyErr_Occurred()) + return 0; + else + return -1; +} -static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { +static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); -#if PY_MAJOR_VERSION >= 3 - /* Note: this is a temporary work-around to prevent crashes in Python 3.0 */ - if ((tstate->exc_type != NULL) & (tstate->exc_type != Py_None)) { - tmp_type = tstate->exc_type; - tmp_value = tstate->exc_value; - tmp_tb = tstate->exc_traceback; - PyErr_NormalizeException(&type, &value, &tb); - PyErr_NormalizeException(&tmp_type, &tmp_value, &tmp_tb); - tstate->exc_type = 0; - tstate->exc_value = 0; - tstate->exc_traceback = 0; - PyException_SetContext(value, tmp_value); - Py_DECREF(tmp_type); - Py_XDECREF(tmp_tb); - } -#endif - tmp_type = tstate->curexc_type; tmp_value = tstate->curexc_value; tmp_tb = tstate->curexc_traceback; @@ -12233,7 +12845,7 @@ static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *t Py_XDECREF(tmp_tb); } -static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **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; @@ -12245,6 +12857,20 @@ static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject ** } +static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { + PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); +} + +static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { + if (t == Py_None) { + __Pyx_RaiseNoneNotIterableError(); + } else if (PyTuple_GET_SIZE(t) < index) { + __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); + } else { + __Pyx_RaiseTooManyValuesError(); + } +} + static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed, const char *name, int exact) { @@ -12330,6 +12956,7 @@ static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { return result; } +#if PY_MAJOR_VERSION < 3 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { Py_XINCREF(type); Py_XINCREF(value); @@ -12385,6 +13012,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { } #endif } + __Pyx_ErrRestore(type, value, tb); return; raise_error: @@ -12394,6 +13022,50 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *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 + #if PY_MAJOR_VERSION < 3 static PyObject *__Pyx_GetStdout(void) { PyObject *f = PySys_GetObject((char *)"stdout"); @@ -12507,61 +13179,168 @@ static int __Pyx_PrintOne(PyObject *o) { #endif -static INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { - PyErr_Format(PyExc_ValueError, - #if PY_VERSION_HEX < 0x02050000 - "need more than %d value%s to unpack", (int)index, - #else - "need more than %zd value%s to unpack", index, - #endif - (index == 1) ? "" : "s"); -} - -static INLINE void __Pyx_RaiseTooManyValuesError(void) { - PyErr_SetString(PyExc_ValueError, "too many values to unpack"); -} +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return ::std::complex< float >(x, y); + } + #else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + return x + y*(__pyx_t_float_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) { + __pyx_t_float_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif -static PyObject *__Pyx_UnpackItem(PyObject *iter, Py_ssize_t index) { - PyObject *item; - if (!(item = PyIter_Next(iter))) { - if (!PyErr_Occurred()) { - __Pyx_RaiseNeedMoreValuesError(index); - } +#if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + return (a.real == b.real) && (a.imag == b.imag); } - return item; -} + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex a, __pyx_t_float_complex b) { + __pyx_t_float_complex z; + float denom = b.real * b.real + b.imag * b.imag; + z.real = (a.real * b.real + a.imag * b.imag) / denom; + z.imag = (a.imag * b.real - a.real * b.imag) / denom; + return z; + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex a) { + __pyx_t_float_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } +/* + static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex z) { +#if HAVE_HYPOT + return hypotf(z.real, z.imag); +#else + return sqrtf(z.real*z.real + z.imag*z.imag); +#endif + } +*/ +#endif -static int __Pyx_EndUnpack(PyObject *iter) { - PyObject *item; - if ((item = PyIter_Next(iter))) { - Py_DECREF(item); - __Pyx_RaiseTooManyValuesError(); - return -1; +#if CYTHON_CCOMPLEX + #ifdef __cplusplus + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return ::std::complex< double >(x, y); } - else if (!PyErr_Occurred()) - return 0; - else - return -1; -} + #else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + return x + y*(__pyx_t_double_complex)_Complex_I; + } + #endif +#else + static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) { + __pyx_t_double_complex z; + z.real = x; + z.imag = y; + return z; + } +#endif -static INLINE int __Pyx_StrEq(const char *s1, const char *s2) { - while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; } - return *s1 == *s2; -} +#if CYTHON_CCOMPLEX +#else + static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) { + return (a.real == b.real) && (a.imag == b.imag); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real + b.real; + z.imag = a.imag + b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real - b.real; + z.imag = a.imag - b.imag; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + z.real = a.real * b.real - a.imag * b.imag; + z.imag = a.real * b.imag + a.imag * b.real; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex a, __pyx_t_double_complex b) { + __pyx_t_double_complex z; + double denom = b.real * b.real + b.imag * b.imag; + z.real = (a.real * b.real + a.imag * b.imag) / denom; + z.imag = (a.imag * b.real - a.real * b.imag) / denom; + return z; + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = -a.real; + z.imag = -a.imag; + return z; + } + static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex a) { + return (a.real == 0) && (a.imag == 0); + } + static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex a) { + __pyx_t_double_complex z; + z.real = a.real; + z.imag = -a.imag; + return z; + } +/* + static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex z) { +#if HAVE_HYPOT + return hypot(z.real, z.imag); +#else + return sqrt(z.real*z.real + z.imag*z.imag); +#endif + } +*/ +#endif -static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { +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())) - return (unsigned char)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned char"); - return (unsigned char)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned char" : + "value too large to convert to unsigned char"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned char"); return (unsigned char)-1; } return (unsigned char)val; @@ -12569,19 +13348,18 @@ static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) { return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* 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())) - return (unsigned short)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned short"); - return (unsigned short)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned short" : + "value too large to convert to unsigned short"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned short"); return (unsigned short)-1; } return (unsigned short)val; @@ -12589,19 +13367,18 @@ static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) { return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* 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())) - return (unsigned int)-1; - if (unlikely(val < 0)) { + if (!unlikely(val == -1 && PyErr_Occurred())) { PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned int"); - return (unsigned int)-1; + (is_unsigned && unlikely(val < 0)) ? + "can't convert negative value to unsigned int" : + "value too large to convert to unsigned int"); } - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to unsigned int"); return (unsigned int)-1; } return (unsigned int)val; @@ -12609,14 +13386,18 @@ static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) { return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x); } -static INLINE char __Pyx_PyInt_AsChar(PyObject* 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())) - return (char)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to char"); + 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; @@ -12624,14 +13405,18 @@ static INLINE char __Pyx_PyInt_AsChar(PyObject* x) { return (char)__Pyx_PyInt_AsLong(x); } -static INLINE short __Pyx_PyInt_AsShort(PyObject* 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())) - return (short)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to short"); + 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; @@ -12639,14 +13424,18 @@ static INLINE short __Pyx_PyInt_AsShort(PyObject* x) { return (short)__Pyx_PyInt_AsLong(x); } -static INLINE int __Pyx_PyInt_AsInt(PyObject* 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())) - return (int)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to int"); + 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; @@ -12654,14 +13443,18 @@ static INLINE int __Pyx_PyInt_AsInt(PyObject* x) { return (int)__Pyx_PyInt_AsLong(x); } -static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* 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())) - return (signed char)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed char"); + 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; @@ -12669,14 +13462,18 @@ static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) { return (signed char)__Pyx_PyInt_AsSignedLong(x); } -static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* 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())) - return (signed short)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed short"); + 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; @@ -12684,14 +13481,18 @@ static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) { return (signed short)__Pyx_PyInt_AsSignedLong(x); } -static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* 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())) - return (signed int)-1; - PyErr_SetString(PyExc_OverflowError, - "value too large to convert to signed int"); + 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; @@ -12699,11 +13500,13 @@ static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) { return (signed int)__Pyx_PyInt_AsSignedLong(x); } -static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* 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_CheckExact(x) || PyInt_Check(x))) { + if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); - if (unlikely(val < 0)) { + if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; @@ -12711,13 +13514,17 @@ static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { return (unsigned long)val; } else #endif - if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) { - if (unlikely(Py_SIZE(x) < 0)) { - PyErr_SetString(PyExc_OverflowError, - "can't convert negative value to unsigned long"); - return (unsigned long)-1; + 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); } - return PyLong_AsUnsignedLong(x); } else { unsigned long val; PyObject *tmp = __Pyx_PyNumber_Int(x); @@ -12728,11 +13535,13 @@ static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { } } -static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); - if (unlikely(val < 0)) { + 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; @@ -12740,13 +13549,17 @@ static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) return (unsigned PY_LONG_LONG)val; } else #endif - if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) { - 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; + 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); } - return PyLong_AsUnsignedLongLong(x); } else { unsigned PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); @@ -12757,15 +13570,31 @@ static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) } } -static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLong(x); + 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); @@ -12776,15 +13605,31 @@ static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { } } -static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLongLong(x); + 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); @@ -12795,15 +13640,31 @@ static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { } } -static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLong(x); + 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); @@ -12814,15 +13675,31 @@ static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { } } -static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { +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_CheckExact(x) || PyInt_Check(x))) { + 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_CheckExact(x) || PyLong_Check(x))) { - return PyLong_AsLongLong(x); + 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); @@ -12852,32 +13729,31 @@ static void __Pyx_WriteUnraisable(const char *name) { } static int __Pyx_SetVtable(PyObject *dict, void *vtable) { - PyObject *pycobj = 0; - int result; - - pycobj = PyCObject_FromVoidPtr(vtable, 0); - if (!pycobj) +#if PY_VERSION_HEX < 0x03010000 + PyObject *ob = PyCObject_FromVoidPtr(vtable, 0); +#else + PyObject *ob = PyCapsule_New(vtable, 0, 0); +#endif + if (!ob) goto bad; - if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0) + if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0) goto bad; - result = 0; - goto done; - + Py_DECREF(ob); + return 0; bad: - result = -1; -done: - Py_XDECREF(pycobj); - return result; + Py_XDECREF(ob); + return -1; } #ifndef __PYX_HAVE_RT_ImportType #define __PYX_HAVE_RT_ImportType static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, - long size) + long size, int strict) { PyObject *py_module = 0; PyObject *result = 0; PyObject *py_name = 0; + char warning[200]; py_module = __Pyx_ImportModule(module_name); if (!py_module) @@ -12902,9 +13778,15 @@ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class module_name, class_name); goto bad; } - if (((PyTypeObject *)result)->tp_basicsize != size) { + if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) { + PyOS_snprintf(warning, sizeof(warning), + "%s.%s size changed, may indicate binary incompatibility", + module_name, class_name); + PyErr_WarnEx(NULL, warning, 0); + } + else if (((PyTypeObject *)result)->tp_basicsize != size) { PyErr_Format(PyExc_ValueError, - "%s.%s does not appear to be the correct type object", + "%s.%s has the wrong size, try recompiling", module_name, class_name); goto bad; } @@ -12946,7 +13828,6 @@ static void __Pyx_AddTraceback(const char *funcname) { PyObject *py_srcfile = 0; PyObject *py_funcname = 0; PyObject *py_globals = 0; - PyObject *empty_string = 0; PyCodeObject *py_code = 0; PyFrameObject *py_frame = 0; @@ -12973,12 +13854,6 @@ static void __Pyx_AddTraceback(const char *funcname) { if (!py_funcname) goto bad; py_globals = PyModule_GetDict(__pyx_m); if (!py_globals) goto bad; - #if PY_MAJOR_VERSION < 3 - empty_string = PyString_FromStringAndSize("", 0); - #else - empty_string = PyBytes_FromStringAndSize("", 0); - #endif - if (!empty_string) goto bad; py_code = PyCode_New( 0, /*int argcount,*/ #if PY_MAJOR_VERSION >= 3 @@ -12987,7 +13862,7 @@ static void __Pyx_AddTraceback(const char *funcname) { 0, /*int nlocals,*/ 0, /*int stacksize,*/ 0, /*int flags,*/ - empty_string, /*PyObject *code,*/ + __pyx_empty_bytes, /*PyObject *code,*/ __pyx_empty_tuple, /*PyObject *consts,*/ __pyx_empty_tuple, /*PyObject *names,*/ __pyx_empty_tuple, /*PyObject *varnames,*/ @@ -12996,7 +13871,7 @@ static void __Pyx_AddTraceback(const char *funcname) { py_srcfile, /*PyObject *filename,*/ py_funcname, /*PyObject *name,*/ __pyx_lineno, /*int firstlineno,*/ - empty_string /*PyObject *lnotab*/ + __pyx_empty_bytes /*PyObject *lnotab*/ ); if (!py_code) goto bad; py_frame = PyFrame_New( @@ -13011,7 +13886,6 @@ static void __Pyx_AddTraceback(const char *funcname) { bad: Py_XDECREF(py_srcfile); Py_XDECREF(py_funcname); - Py_XDECREF(empty_string); Py_XDECREF(py_code); Py_XDECREF(py_frame); } @@ -13019,7 +13893,7 @@ static void __Pyx_AddTraceback(const char *funcname) { static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { while (t->p) { #if PY_MAJOR_VERSION < 3 - if (t->is_unicode && (!t->is_identifier)) { + if (t->is_unicode) { *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); } else if (t->intern) { *t->p = PyString_InternFromString(t->s); @@ -13027,10 +13901,14 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { *t->p = PyString_FromStringAndSize(t->s, t->n - 1); } #else /* Python 3+ has unicode identifiers */ - if (t->is_identifier || (t->is_unicode && t->intern)) { - *t->p = PyUnicode_InternFromString(t->s); - } else if (t->is_unicode) { - *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); + 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); } @@ -13044,13 +13922,13 @@ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { /* Type Conversion Functions */ -static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { +static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { if (x == Py_True) return 1; else if ((x == Py_False) | (x == Py_None)) return 0; else return PyObject_IsTrue(x); } -static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { +static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { PyNumberMethods *m; const char *name = NULL; PyObject *res = NULL; @@ -13096,7 +13974,7 @@ static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { return res; } -static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { +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; @@ -13105,7 +13983,7 @@ static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { return ival; } -static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t 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); @@ -13119,7 +13997,7 @@ static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { #endif } -static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { +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; @@ -13132,3 +14010,4 @@ static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) { } +#endif /* Py_PYTHON_H */