2010-11-22 21:56:37 +08:00
/* Generated by Cython 0.12.1 on Mon Nov 22 14:49:19 2010 */
2010-09-06 22:15:53 +08:00
# 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.
2010-09-15 04:02:44 +08:00
# else
2010-09-06 22:15:53 +08:00
# ifndef PY_LONG_LONG
# define PY_LONG_LONG LONG_LONG
# endif
# ifndef DL_EXPORT
# define DL_EXPORT(t) t
# endif
# if PY_VERSION_HEX < 0x02040000
# define METH_COEXIST 0
# define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
2010-09-15 04:02:44 +08:00
# define PyDict_Contains(d,o) PySequence_Contains(d,o)
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x02050000
typedef int Py_ssize_t ;
# define PY_SSIZE_T_MAX INT_MAX
# define PY_SSIZE_T_MIN INT_MIN
# define PY_FORMAT_SIZE_T ""
# define PyInt_FromSsize_t(z) PyInt_FromLong(z)
# define PyInt_AsSsize_t(o) PyInt_AsLong(o)
# define PyNumber_Index(o) PyNumber_Int(o)
# define PyIndex_Check(o) PyNumber_Check(o)
2010-09-15 04:02:44 +08:00
# define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x02060000
# define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
# define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
# define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
# define PyVarObject_HEAD_INIT(type, size) \
PyObject_HEAD_INIT ( type ) size ,
# define PyType_Modified(t)
typedef struct {
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
} Py_buffer ;
# define PyBUF_SIMPLE 0
# define PyBUF_WRITABLE 0x0001
# define PyBUF_FORMAT 0x0004
# define PyBUF_ND 0x0008
# define PyBUF_STRIDES (0x0010 | PyBUF_ND)
# define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
# define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
# define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
# define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if PY_MAJOR_VERSION < 3
# define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
# else
# define __Pyx_BUILTIN_MODULE_NAME "builtins"
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if PY_MAJOR_VERSION >= 3
# define Py_TPFLAGS_CHECKTYPES 0
# define Py_TPFLAGS_HAVE_INDEX 0
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
# define Py_TPFLAGS_HAVE_NEWBUFFER 0
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if PY_MAJOR_VERSION >= 3
# define PyBaseString_Type PyUnicode_Type
2010-09-15 04:02:44 +08:00
# 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
2010-09-06 22:15:53 +08:00
# define PyInt_Type PyLong_Type
# define PyInt_Check(op) PyLong_Check(op)
# define PyInt_CheckExact(op) PyLong_CheckExact(op)
# define PyInt_FromString PyLong_FromString
# define PyInt_FromUnicode PyLong_FromUnicode
# define PyInt_FromLong PyLong_FromLong
# define PyInt_FromSize_t PyLong_FromSize_t
# define PyInt_FromSsize_t PyLong_FromSsize_t
# define PyInt_AsLong PyLong_AsLong
# define PyInt_AS_LONG PyLong_AS_LONG
# define PyInt_AsSsize_t PyLong_AsSsize_t
# define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
# define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
# define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
2010-09-15 04:02:44 +08:00
# define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
2010-09-06 22:15:53 +08:00
# else
# define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
2010-09-15 04:02:44 +08:00
# define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if PY_MAJOR_VERSION >= 3
# define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if !defined(WIN32) && !defined(MS_WINDOWS)
# ifndef __stdcall
# define __stdcall
# endif
# ifndef __cdecl
# define __cdecl
# endif
# ifndef __fastcall
# define __fastcall
# endif
# else
# define _USE_MATH_DEFINES
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x02050000
# define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n)))
# define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
# define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n)))
# else
# define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n))
# define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
# define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n))
# endif
2010-09-15 04:02:44 +08:00
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x02050000
# define __Pyx_NAMESTR(n) ((char *)(n))
# define __Pyx_DOCSTR(n) ((char *)(n))
# else
# define __Pyx_NAMESTR(n) (n)
# define __Pyx_DOCSTR(n) (n)
# endif
# ifdef __cplusplus
# define __PYX_EXTERN_C extern "C"
# else
# define __PYX_EXTERN_C extern
# endif
# include <math.h>
# define __PYX_HAVE_API__scikits__learn__utils__arrayfuncs
# include "stdlib.h"
2010-09-15 04:02:44 +08:00
# include "stdio.h"
2010-09-06 22:15:53 +08:00
# include "numpy/arrayobject.h"
2010-09-15 04:02:44 +08:00
# include "numpy/ufuncobject.h"
2010-09-06 22:15:53 +08:00
# include "cblas.h"
2010-11-05 21:54:09 +08:00
# include "float.h"
2010-09-15 04:45:56 +08:00
# include "src/cholesky_delete.c"
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
# ifndef CYTHON_INLINE
# if defined(__GNUC__)
# define CYTHON_INLINE __inline__
# elif defined(_MSC_VER)
# define CYTHON_INLINE __inline
# else
# define CYTHON_INLINE
# endif
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
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*/
2010-09-06 22:15:53 +08:00
/* Type Conversion Predeclarations */
# if PY_MAJOR_VERSION < 3
# define __Pyx_PyBytes_FromString PyString_FromString
# define __Pyx_PyBytes_FromStringAndSize PyString_FromStringAndSize
# define __Pyx_PyBytes_AsString PyString_AsString
# else
# define __Pyx_PyBytes_FromString PyBytes_FromString
# define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
# define __Pyx_PyBytes_AsString PyBytes_AsString
# endif
2010-09-15 04:02:44 +08:00
# define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s)
# define __Pyx_PyBytes_AsUString(s) ((unsigned char*) __Pyx_PyBytes_AsString(s))
2010-09-06 22:15:53 +08:00
# define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE int __Pyx_PyObject_IsTrue ( PyObject * ) ;
static CYTHON_INLINE PyObject * __Pyx_PyNumber_Int ( PyObject * x ) ;
2010-09-06 22:15:53 +08:00
# if !defined(T_PYSSIZET)
# if PY_VERSION_HEX < 0x02050000
# define T_PYSSIZET T_INT
# elif !defined(T_LONGLONG)
# define T_PYSSIZET \
( ( sizeof ( Py_ssize_t ) = = sizeof ( int ) ) ? T_INT : \
( ( sizeof ( Py_ssize_t ) = = sizeof ( long ) ) ? T_LONG : - 1 ) )
# else
# define T_PYSSIZET \
( ( sizeof ( Py_ssize_t ) = = sizeof ( int ) ) ? T_INT : \
( ( sizeof ( Py_ssize_t ) = = sizeof ( long ) ) ? T_LONG : \
( ( sizeof ( Py_ssize_t ) = = sizeof ( PY_LONG_LONG ) ) ? T_LONGLONG : - 1 ) ) )
# endif
# endif
2010-09-15 04:02:44 +08:00
# 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 ) )
2010-09-06 22:15:53 +08:00
# 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
2010-09-15 04:02:44 +08:00
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 * ) ;
2010-09-06 22:15:53 +08:00
# 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 ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_empty_bytes ;
2010-09-06 22:15:53 +08:00
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 ;
2010-09-15 04:02:44 +08:00
# 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
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
# if CYTHON_CCOMPLEX
# ifdef __cplusplus
# include <complex>
# else
# include <complex.h>
# 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 ;
typedef __pyx_t_5numpy_float64_t __pyx_t_7scikits_5learn_5utils_10arrayfuncs_DOUBLE ;
# 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
2010-09-06 22:15:53 +08:00
# else
2010-09-15 04:02:44 +08:00
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 ;
# 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)
2010-09-06 22:15:53 +08:00
# endif /* CYTHON_REFNANNY */
2010-09-15 04:02:44 +08:00
# 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)
2010-09-06 22:15:53 +08:00
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*/
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError ( Py_ssize_t index ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError ( void ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static PyObject * __Pyx_UnpackItem ( PyObject * , Py_ssize_t index ) ; /*proto*/
static int __Pyx_EndUnpack ( PyObject * ) ; /*proto*/
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE int __Pyx_TypeTest ( PyObject * obj , PyTypeObject * type ) ; /*proto*/
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError ( void ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static void __Pyx_UnpackTupleError ( PyObject * , Py_ssize_t index ) ; /*proto*/
2010-09-06 22:15:53 +08:00
static int __Pyx_ArgTypeTest ( PyObject * obj , PyTypeObject * type , int none_allowed ,
const char * name , int exact ) ; /*proto*/
static PyObject * __Pyx_Import ( PyObject * name , PyObject * from_list ) ; /*proto*/
static PyObject * __Pyx_GetName ( PyObject * dict , PyObject * name ) ; /*proto*/
2010-11-22 21:56:37 +08:00
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*/
2010-11-05 21:54:09 +08:00
static void __Pyx_Raise ( PyObject * type , PyObject * value , PyObject * tb ) ; /*proto*/
2010-09-15 04:02:44 +08:00
# 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
2010-09-06 22:15:53 +08:00
# else
2010-09-15 04:02:44 +08:00
# define __Pyx_CREAL(z) ((z).real)
# define __Pyx_CIMAG(z) ((z).imag)
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
# 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))
2010-09-06 22:15:53 +08:00
# else
2010-09-15 04:02:44 +08:00
# define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
# define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
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
2010-09-06 22:15:53 +08:00
# else
2010-09-15 04:02:44 +08:00
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);*/
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
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
2010-09-06 22:15:53 +08:00
# else
2010-09-15 04:02:44 +08:00
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);*/
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE char __Pyx_PyInt_AsChar ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE short __Pyx_PyInt_AsShort ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE int __Pyx_PyInt_AsInt ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE long __Pyx_PyInt_AsLong ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong ( PyObject * ) ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
static PyTypeObject * __Pyx_ImportType ( const char * module_name , const char * class_name , long size , int strict ) ; /*proto*/
2010-09-06 22:15:53 +08:00
static PyObject * __Pyx_ImportModule ( const char * name ) ; /*proto*/
static void __Pyx_AddTraceback ( const char * funcname ) ; /*proto*/
static int __Pyx_InitStrings ( __Pyx_StringTabEntry * t ) ; /*proto*/
/* Module declarations from python_buffer */
2010-09-15 04:02:44 +08:00
/* Module declarations from python_ref */
2010-09-06 22:15:53 +08:00
/* Module declarations from stdlib */
2010-09-15 04:02:44 +08:00
/* Module declarations from stdio */
2010-09-06 22:15:53 +08:00
/* Module declarations from numpy */
/* Module declarations from numpy */
static PyTypeObject * __pyx_ptype_5numpy_dtype = 0 ;
2010-09-15 04:02:44 +08:00
static PyTypeObject * __pyx_ptype_5numpy_flatiter = 0 ;
static PyTypeObject * __pyx_ptype_5numpy_broadcast = 0 ;
2010-09-06 22:15:53 +08:00
static PyTypeObject * __pyx_ptype_5numpy_ndarray = 0 ;
2010-09-15 04:02:44 +08:00
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*/
2010-11-05 21:54:09 +08:00
/* Module declarations from cython */
2010-09-06 22:15:53 +08:00
/* Module declarations from scikits.learn.utils.arrayfuncs */
2010-11-05 21:54:09 +08:00
static float __pyx_f_7scikits_5learn_5utils_10arrayfuncs__float_min_pos ( float * , Py_ssize_t ) ; /*proto*/
static double __pyx_f_7scikits_5learn_5utils_10arrayfuncs__double_min_pos ( double * , Py_ssize_t ) ; /*proto*/
2010-09-06 22:15:53 +08:00
# define __Pyx_MODULE_NAME "scikits.learn.utils.arrayfuncs"
int __pyx_module_is_main_scikits__learn__utils__arrayfuncs = 0 ;
/* Implementation of scikits.learn.utils.arrayfuncs */
static PyObject * __pyx_builtin_ValueError ;
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_builtin_range ;
2010-09-06 22:15:53 +08:00
static PyObject * __pyx_builtin_RuntimeError ;
2010-11-05 21:54:09 +08:00
static char __pyx_k_1 [ ] = " Unsupported dtype for array X " ;
2010-11-22 21:56:37 +08:00
static char __pyx_k_2 [ ] = " Unsupported or inconsistent dtype in arrays X, y " ;
static char __pyx_k_3 [ ] = " ndarray is not C contiguous " ;
static char __pyx_k_4 [ ] = " ndarray is not Fortran contiguous " ;
static char __pyx_k_5 [ ] = " Non-native byte order not supported " ;
static char __pyx_k_6 [ ] = " unknown dtype code in numpy.pxd (%d) " ;
static char __pyx_k_7 [ ] = " Format string allocated too short, see comment in numpy.pxd " ;
static char __pyx_k_8 [ ] = " Format string allocated too short. " ;
static char __pyx_k_9 [ ] = " \n Small collection of auxiliary functions that operate on arrays \n \n " ;
static char __pyx_k_10 [ ] = " min_pos (line 47) " ;
static char __pyx_k_11 [ ] = " solve_triangular (line 78) " ;
2010-09-15 04:02:44 +08:00
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__X [ ] = " X " ;
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__l [ ] = " l " ;
static char __pyx_k__q [ ] = " q " ;
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__buf [ ] = " buf " ;
static char __pyx_k__obj [ ] = " obj " ;
static char __pyx_k__base [ ] = " base " ;
static char __pyx_k__data [ ] = " data " ;
2010-11-05 21:54:09 +08:00
static char __pyx_k__name [ ] = " name " ;
2010-09-15 04:02:44 +08:00
static char __pyx_k__ndim [ ] = " ndim " ;
2010-11-05 21:54:09 +08:00
static char __pyx_k__size [ ] = " size " ;
2010-09-15 04:02:44 +08:00
static char __pyx_k__descr [ ] = " descr " ;
2010-11-05 21:54:09 +08:00
static char __pyx_k__dtype [ ] = " dtype " ;
2010-09-15 04:02:44 +08:00
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__fields [ ] = " fields " ;
static char __pyx_k__format [ ] = " format " ;
2010-09-15 04:45:56 +08:00
static char __pyx_k__go_out [ ] = " go_out " ;
2010-11-05 21:54:09 +08:00
static char __pyx_k__float32 [ ] = " float32 " ;
static char __pyx_k__float64 [ ] = " float64 " ;
static char __pyx_k__min_pos [ ] = " min_pos " ;
2010-09-15 04:02:44 +08:00
static char __pyx_k__strides [ ] = " strides " ;
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__RuntimeError [ ] = " RuntimeError " ;
static char __pyx_k__solve_triangular [ ] = " solve_triangular " ;
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_kp_s_1 ;
static PyObject * __pyx_kp_u_10 ;
2010-11-22 21:56:37 +08:00
static PyObject * __pyx_kp_u_11 ;
static PyObject * __pyx_kp_s_2 ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_kp_u_3 ;
static PyObject * __pyx_kp_u_4 ;
static PyObject * __pyx_kp_u_5 ;
static PyObject * __pyx_kp_u_6 ;
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_kp_u_7 ;
2010-11-22 21:56:37 +08:00
static PyObject * __pyx_kp_u_8 ;
2010-09-15 04:45:56 +08:00
static PyObject * __pyx_n_s__L ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_n_s__RuntimeError ;
static PyObject * __pyx_n_s__ValueError ;
static PyObject * __pyx_n_s__X ;
static PyObject * __pyx_n_s____main__ ;
static PyObject * __pyx_n_s____test__ ;
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__descr ;
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_n_s__dtype ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_n_s__fields ;
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_n_s__float32 ;
static PyObject * __pyx_n_s__float64 ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_n_s__format ;
2010-09-15 04:45:56 +08:00
static PyObject * __pyx_n_s__go_out ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_n_s__itemsize ;
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_n_s__min_pos ;
static PyObject * __pyx_n_s__name ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_n_s__names ;
static PyObject * __pyx_n_s__ndim ;
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 ;
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_n_s__size ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_n_s__solve_triangular ;
static PyObject * __pyx_n_s__strides ;
static PyObject * __pyx_n_s__suboffsets ;
static PyObject * __pyx_n_s__type_num ;
static PyObject * __pyx_n_s__y ;
static PyObject * __pyx_int_15 ;
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":47
2010-09-06 22:15:53 +08:00
*
*
2010-11-05 21:54:09 +08:00
* def min_pos ( np . ndarray X ) : # < < < < < < < < < < < < < <
* " " "
* Find the minimum value of an array over positivie values
2010-09-06 22:15:53 +08:00
*/
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_min_pos ( PyObject * __pyx_self , PyObject * __pyx_v_X ) ; /*proto*/
2010-11-22 21:56:37 +08:00
static char __pyx_doc_7scikits_5learn_5utils_10arrayfuncs_min_pos [ ] = " \n Find the minimum value of an array over positivie values \n \n Returns a huge value if none of the values are positive \n " ;
2010-11-05 21:54:09 +08:00
static PyObject * __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_min_pos ( PyObject * __pyx_self , PyObject * __pyx_v_X ) {
2010-09-06 22:15:53 +08:00
PyObject * __pyx_r = NULL ;
2010-11-05 21:54:09 +08:00
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
2010-09-06 22:15:53 +08:00
int __pyx_t_3 ;
2010-11-05 21:54:09 +08:00
Py_ssize_t __pyx_t_4 ;
__Pyx_RefNannySetupContext ( " min_pos " ) ;
2010-09-06 22:15:53 +08:00
__pyx_self = __pyx_self ;
2010-09-15 04:02:44 +08:00
__Pyx_INCREF ( ( PyObject * ) __pyx_v_X ) ;
2010-11-22 21:56:37 +08:00
if ( unlikely ( ! __Pyx_ArgTypeTest ( ( ( PyObject * ) __pyx_v_X ) , __pyx_ptype_5numpy_ndarray , 1 , " X " , 0 ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 47 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-06 22:15:53 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":53
* Returns a huge value if none of the values are positive
2010-11-05 21:54:09 +08:00
* " " "
* if X . dtype . name = = ' float32 ' : # < < < < < < < < < < < < < <
* return _float_min_pos ( < float * > X . data , X . size )
* elif X . dtype . name = = ' float64 ' :
2010-09-06 22:15:53 +08:00
*/
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_X , __pyx_n_s__dtype ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 53 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2010-11-22 21:56:37 +08:00
__pyx_t_2 = PyObject_GetAttr ( __pyx_t_1 , __pyx_n_s__name ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 53 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyObject_RichCompare ( __pyx_t_2 , ( ( PyObject * ) __pyx_n_s__float32 ) , Py_EQ ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 53 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
2010-11-22 21:56:37 +08:00
__pyx_t_3 = __Pyx_PyObject_IsTrue ( __pyx_t_1 ) ; if ( unlikely ( __pyx_t_3 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 53 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
if ( __pyx_t_3 ) {
2010-09-06 22:15:53 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":54
2010-11-05 21:54:09 +08:00
* " " "
* if X . dtype . name = = ' float32 ' :
* return _float_min_pos ( < float * > X . data , X . size ) # < < < < < < < < < < < < < <
* elif X . dtype . name = = ' float64 ' :
* return _double_min_pos ( < double * > X . data , X . size )
*/
__Pyx_XDECREF ( __pyx_r ) ;
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_X , __pyx_n_s__size ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 54 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2010-11-22 21:56:37 +08:00
__pyx_t_4 = __Pyx_PyIndex_AsSsize_t ( __pyx_t_1 ) ; if ( unlikely ( ( __pyx_t_4 = = ( Py_ssize_t ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 54 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyFloat_FromDouble ( __pyx_f_7scikits_5learn_5utils_10arrayfuncs__float_min_pos ( ( ( float * ) ( ( PyArrayObject * ) __pyx_v_X ) - > data ) , __pyx_t_4 ) ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 54 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__pyx_r = __pyx_t_1 ;
__pyx_t_1 = 0 ;
goto __pyx_L0 ;
goto __pyx_L5 ;
2010-09-15 04:02:44 +08:00
}
2010-09-06 22:15:53 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":55
2010-11-05 21:54:09 +08:00
* if X . dtype . name = = ' float32 ' :
* return _float_min_pos ( < float * > X . data , X . size )
* elif X . dtype . name = = ' float64 ' : # < < < < < < < < < < < < < <
* return _double_min_pos ( < double * > X . data , X . size )
* else :
2010-09-06 22:15:53 +08:00
*/
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_X , __pyx_n_s__dtype ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 55 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2010-11-22 21:56:37 +08:00
__pyx_t_2 = PyObject_GetAttr ( __pyx_t_1 , __pyx_n_s__name ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 55 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyObject_RichCompare ( __pyx_t_2 , ( ( PyObject * ) __pyx_n_s__float64 ) , Py_EQ ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 55 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
2010-11-22 21:56:37 +08:00
__pyx_t_3 = __Pyx_PyObject_IsTrue ( __pyx_t_1 ) ; if ( unlikely ( __pyx_t_3 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 55 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
if ( __pyx_t_3 ) {
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":56
2010-11-05 21:54:09 +08:00
* return _float_min_pos ( < float * > X . data , X . size )
* elif X . dtype . name = = ' float64 ' :
* return _double_min_pos ( < double * > X . data , X . size ) # < < < < < < < < < < < < < <
* else :
* raise ValueError ( ' Unsupported dtype for array X ' )
*/
__Pyx_XDECREF ( __pyx_r ) ;
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_X , __pyx_n_s__size ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 56 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2010-11-22 21:56:37 +08:00
__pyx_t_4 = __Pyx_PyIndex_AsSsize_t ( __pyx_t_1 ) ; if ( unlikely ( ( __pyx_t_4 = = ( Py_ssize_t ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 56 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyFloat_FromDouble ( __pyx_f_7scikits_5learn_5utils_10arrayfuncs__double_min_pos ( ( ( double * ) ( ( PyArrayObject * ) __pyx_v_X ) - > data ) , __pyx_t_4 ) ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 56 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__pyx_r = __pyx_t_1 ;
__pyx_t_1 = 0 ;
goto __pyx_L0 ;
goto __pyx_L5 ;
2010-09-15 04:02:44 +08:00
}
2010-11-05 21:54:09 +08:00
/*else*/ {
2010-09-06 22:15:53 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":58
2010-11-05 21:54:09 +08:00
* return _double_min_pos ( < double * > X . data , X . size )
* else :
* raise ValueError ( ' Unsupported dtype for array X ' ) # < < < < < < < < < < < < < <
*
2010-09-06 22:15:53 +08:00
*
*/
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 58 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_s_1 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_1 , 0 , ( ( PyObject * ) __pyx_kp_s_1 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_s_1 ) ) ;
2010-11-22 21:56:37 +08:00
__pyx_t_2 = PyObject_Call ( __pyx_builtin_ValueError , __pyx_t_1 , NULL ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 58 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-11-05 21:54:09 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__Pyx_Raise ( __pyx_t_2 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
2010-11-22 21:56:37 +08:00
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 58 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-15 04:02:44 +08:00
}
2010-11-05 21:54:09 +08:00
__pyx_L5 : ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_AddTraceback ( " scikits.learn.utils.arrayfuncs.min_pos " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_DECREF ( ( PyObject * ) __pyx_v_X ) ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":61
2010-09-06 22:15:53 +08:00
*
2010-11-05 21:54:09 +08:00
*
* cdef float _float_min_pos ( float * X , Py_ssize_t size ) : # < < < < < < < < < < < < < <
* cdef Py_ssize_t i
* cdef float min_val = DBL_MAX
2010-09-06 22:15:53 +08:00
*/
2010-11-05 21:54:09 +08:00
static float __pyx_f_7scikits_5learn_5utils_10arrayfuncs__float_min_pos ( float * __pyx_v_X , Py_ssize_t __pyx_v_size ) {
Py_ssize_t __pyx_v_i ;
float __pyx_v_min_val ;
float __pyx_r ;
Py_ssize_t __pyx_t_1 ;
Py_ssize_t __pyx_t_2 ;
int __pyx_t_3 ;
int __pyx_t_4 ;
int __pyx_t_5 ;
__Pyx_RefNannySetupContext ( " _float_min_pos " ) ;
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":63
2010-11-05 21:54:09 +08:00
* cdef float _float_min_pos ( float * X , Py_ssize_t size ) :
* cdef Py_ssize_t i
* cdef float min_val = DBL_MAX # < < < < < < < < < < < < < <
* for i in range ( size ) :
* if X [ i ] > 0. and X [ i ] < min_val :
*/
__pyx_v_min_val = DBL_MAX ;
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":64
2010-11-05 21:54:09 +08:00
* cdef Py_ssize_t i
* cdef float min_val = DBL_MAX
* for i in range ( size ) : # < < < < < < < < < < < < < <
* if X [ i ] > 0. and X [ i ] < min_val :
* min_val = X [ i ]
*/
__pyx_t_1 = __pyx_v_size ;
for ( __pyx_t_2 = 0 ; __pyx_t_2 < __pyx_t_1 ; __pyx_t_2 + = 1 ) {
__pyx_v_i = __pyx_t_2 ;
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":65
2010-11-05 21:54:09 +08:00
* cdef float min_val = DBL_MAX
* for i in range ( size ) :
* if X [ i ] > 0. and X [ i ] < min_val : # < < < < < < < < < < < < < <
* min_val = X [ i ]
* return min_val
*/
__pyx_t_3 = ( ( __pyx_v_X [ __pyx_v_i ] ) > 0.0 ) ;
if ( __pyx_t_3 ) {
__pyx_t_4 = ( ( __pyx_v_X [ __pyx_v_i ] ) < __pyx_v_min_val ) ;
__pyx_t_5 = __pyx_t_4 ;
} else {
__pyx_t_5 = __pyx_t_3 ;
}
if ( __pyx_t_5 ) {
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":66
2010-11-05 21:54:09 +08:00
* for i in range ( size ) :
* if X [ i ] > 0. and X [ i ] < min_val :
* min_val = X [ i ] # < < < < < < < < < < < < < <
* return min_val
2010-09-06 22:15:53 +08:00
*
2010-11-05 21:54:09 +08:00
*/
__pyx_v_min_val = ( __pyx_v_X [ __pyx_v_i ] ) ;
goto __pyx_L5 ;
2010-09-15 04:02:44 +08:00
}
2010-11-05 21:54:09 +08:00
__pyx_L5 : ;
}
2010-09-15 04:02:44 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":67
2010-11-05 21:54:09 +08:00
* if X [ i ] > 0. and X [ i ] < min_val :
* min_val = X [ i ]
* return min_val # < < < < < < < < < < < < < <
*
2010-09-15 04:02:44 +08:00
*
*/
2010-11-05 21:54:09 +08:00
__pyx_r = __pyx_v_min_val ;
goto __pyx_L0 ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2010-09-15 04:02:44 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":70
2010-09-15 04:02:44 +08:00
*
*
2010-11-05 21:54:09 +08:00
* cdef double _double_min_pos ( double * X , Py_ssize_t size ) : # < < < < < < < < < < < < < <
* cdef Py_ssize_t i
* cdef np . float64_t min_val = FLT_MAX
2010-09-15 04:02:44 +08:00
*/
2010-11-05 21:54:09 +08:00
static double __pyx_f_7scikits_5learn_5utils_10arrayfuncs__double_min_pos ( double * __pyx_v_X , Py_ssize_t __pyx_v_size ) {
Py_ssize_t __pyx_v_i ;
__pyx_t_5numpy_float64_t __pyx_v_min_val ;
double __pyx_r ;
Py_ssize_t __pyx_t_1 ;
Py_ssize_t __pyx_t_2 ;
int __pyx_t_3 ;
int __pyx_t_4 ;
int __pyx_t_5 ;
__Pyx_RefNannySetupContext ( " _double_min_pos " ) ;
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":72
2010-11-05 21:54:09 +08:00
* cdef double _double_min_pos ( double * X , Py_ssize_t size ) :
* cdef Py_ssize_t i
* cdef np . float64_t min_val = FLT_MAX # < < < < < < < < < < < < < <
* for i in range ( size ) :
* if X [ i ] > 0. and X [ i ] < min_val :
*/
__pyx_v_min_val = FLT_MAX ;
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":73
2010-11-05 21:54:09 +08:00
* cdef Py_ssize_t i
* cdef np . float64_t min_val = FLT_MAX
* for i in range ( size ) : # < < < < < < < < < < < < < <
* if X [ i ] > 0. and X [ i ] < min_val :
* min_val = X [ i ]
*/
__pyx_t_1 = __pyx_v_size ;
for ( __pyx_t_2 = 0 ; __pyx_t_2 < __pyx_t_1 ; __pyx_t_2 + = 1 ) {
__pyx_v_i = __pyx_t_2 ;
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":74
2010-11-05 21:54:09 +08:00
* cdef np . float64_t min_val = FLT_MAX
* for i in range ( size ) :
* if X [ i ] > 0. and X [ i ] < min_val : # < < < < < < < < < < < < < <
* min_val = X [ i ]
* return min_val
*/
__pyx_t_3 = ( ( __pyx_v_X [ __pyx_v_i ] ) > 0.0 ) ;
if ( __pyx_t_3 ) {
__pyx_t_4 = ( ( __pyx_v_X [ __pyx_v_i ] ) < __pyx_v_min_val ) ;
__pyx_t_5 = __pyx_t_4 ;
} else {
__pyx_t_5 = __pyx_t_3 ;
2010-09-15 04:02:44 +08:00
}
2010-11-05 21:54:09 +08:00
if ( __pyx_t_5 ) {
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":75
2010-11-05 21:54:09 +08:00
* for i in range ( size ) :
* if X [ i ] > 0. and X [ i ] < min_val :
* min_val = X [ i ] # < < < < < < < < < < < < < <
* return min_val
*
*/
__pyx_v_min_val = ( __pyx_v_X [ __pyx_v_i ] ) ;
goto __pyx_L5 ;
}
__pyx_L5 : ;
2010-09-15 04:02:44 +08:00
}
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":76
2010-11-05 21:54:09 +08:00
* if X [ i ] > 0. and X [ i ] < min_val :
* min_val = X [ i ]
* return min_val # < < < < < < < < < < < < < <
*
2010-11-22 21:56:37 +08:00
* def solve_triangular ( np . ndarray X , np . ndarray y ) :
2010-11-05 21:54:09 +08:00
*/
__pyx_r = __pyx_v_min_val ;
2010-09-15 04:02:44 +08:00
goto __pyx_L0 ;
2010-11-05 21:54:09 +08:00
__pyx_r = 0 ;
2010-09-15 04:02:44 +08:00
__pyx_L0 : ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":78
* return min_val
*
* def solve_triangular ( np . ndarray X , np . ndarray y ) : # < < < < < < < < < < < < < <
* " " "
* Solves a triangular system ( overwrites y )
2010-09-15 04:02:44 +08:00
*/
static PyObject * __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_solve_triangular ( PyObject * __pyx_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) ; /*proto*/
2010-11-22 21:56:37 +08:00
static char __pyx_doc_7scikits_5learn_5utils_10arrayfuncs_solve_triangular [ ] = " \n Solves a triangular system (overwrites y) \n \n Note: The lapack function to solve triangular systems was added to \n scipy v0.9. Remove this when we stop supporting earlier versions. \n " ;
2010-09-15 04:02:44 +08:00
static PyObject * __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_solve_triangular ( PyObject * __pyx_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) {
PyArrayObject * __pyx_v_X = 0 ;
PyArrayObject * __pyx_v_y = 0 ;
int __pyx_v_lda ;
PyObject * __pyx_r = NULL ;
2010-11-22 21:56:37 +08:00
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
int __pyx_t_3 ;
int __pyx_t_4 ;
int __pyx_t_5 ;
int __pyx_t_6 ;
size_t __pyx_t_7 ;
2010-09-15 04:02:44 +08:00
static PyObject * * __pyx_pyargnames [ ] = { & __pyx_n_s__X , & __pyx_n_s__y , 0 } ;
__Pyx_RefNannySetupContext ( " solve_triangular " ) ;
__pyx_self = __pyx_self ;
if ( unlikely ( __pyx_kwds ) ) {
Py_ssize_t kw_args = PyDict_Size ( __pyx_kwds ) ;
PyObject * values [ 2 ] = { 0 , 0 } ;
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 2 : values [ 1 ] = PyTuple_GET_ITEM ( __pyx_args , 1 ) ;
case 1 : values [ 0 ] = PyTuple_GET_ITEM ( __pyx_args , 0 ) ;
case 0 : break ;
default : goto __pyx_L5_argtuple_error ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 0 :
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_n_s__y ) ;
if ( likely ( values [ 1 ] ) ) kw_args - - ;
else {
2010-11-22 21:56:37 +08:00
__Pyx_RaiseArgtupleInvalid ( " solve_triangular " , 1 , 2 , 2 , 1 ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 78 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
}
if ( unlikely ( kw_args > 0 ) ) {
2010-11-22 21:56:37 +08:00
if ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds , __pyx_pyargnames , 0 , values , PyTuple_GET_SIZE ( __pyx_args ) , " solve_triangular " ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 78 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2010-09-15 04:02:44 +08:00
}
__pyx_v_X = ( ( PyArrayObject * ) values [ 0 ] ) ;
__pyx_v_y = ( ( PyArrayObject * ) values [ 1 ] ) ;
} else if ( PyTuple_GET_SIZE ( __pyx_args ) ! = 2 ) {
goto __pyx_L5_argtuple_error ;
} else {
__pyx_v_X = ( ( PyArrayObject * ) PyTuple_GET_ITEM ( __pyx_args , 0 ) ) ;
__pyx_v_y = ( ( PyArrayObject * ) PyTuple_GET_ITEM ( __pyx_args , 1 ) ) ;
}
goto __pyx_L4_argument_unpacking_done ;
__pyx_L5_argtuple_error : ;
2010-11-22 21:56:37 +08:00
__Pyx_RaiseArgtupleInvalid ( " solve_triangular " , 1 , 2 , 2 , PyTuple_GET_SIZE ( __pyx_args ) ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 78 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2010-09-15 04:02:44 +08:00
__pyx_L3_error : ;
__Pyx_AddTraceback ( " scikits.learn.utils.arrayfuncs.solve_triangular " ) ;
return NULL ;
__pyx_L4_argument_unpacking_done : ;
2010-11-22 21:56:37 +08:00
__Pyx_INCREF ( ( PyObject * ) __pyx_v_X ) ;
__Pyx_INCREF ( ( PyObject * ) __pyx_v_y ) ;
if ( unlikely ( ! __Pyx_ArgTypeTest ( ( ( PyObject * ) __pyx_v_X ) , __pyx_ptype_5numpy_ndarray , 1 , " X " , 0 ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 78 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
if ( unlikely ( ! __Pyx_ArgTypeTest ( ( ( PyObject * ) __pyx_v_y ) , __pyx_ptype_5numpy_ndarray , 1 , " y " , 0 ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 78 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":87
* cdef int lda
*
* if X . dtype . name = = ' float64 ' and y . dtype . name = = ' float64 ' : # < < < < < < < < < < < < < <
* lda = < int > X . strides [ 0 ] / sizeof ( double )
*
*/
__pyx_t_1 = PyObject_GetAttr ( ( ( PyObject * ) __pyx_v_X ) , __pyx_n_s__dtype ) ; 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 = PyObject_GetAttr ( __pyx_t_1 , __pyx_n_s__name ) ; 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_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_t_1 = PyObject_RichCompare ( __pyx_t_2 , ( ( PyObject * ) __pyx_n_s__float64 ) , Py_EQ ) ; 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_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__pyx_t_3 = __Pyx_PyObject_IsTrue ( __pyx_t_1 ) ; if ( unlikely ( __pyx_t_3 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 87 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
if ( __pyx_t_3 ) {
__pyx_t_1 = PyObject_GetAttr ( ( ( PyObject * ) __pyx_v_y ) , __pyx_n_s__dtype ) ; 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 = PyObject_GetAttr ( __pyx_t_1 , __pyx_n_s__name ) ; 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_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_t_1 = PyObject_RichCompare ( __pyx_t_2 , ( ( PyObject * ) __pyx_n_s__float64 ) , Py_EQ ) ; 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_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__pyx_t_4 = __Pyx_PyObject_IsTrue ( __pyx_t_1 ) ; if ( unlikely ( __pyx_t_4 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 87 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_t_5 = __pyx_t_4 ;
} else {
__pyx_t_5 = __pyx_t_3 ;
2010-09-15 04:02:44 +08:00
}
2010-11-22 21:56:37 +08:00
if ( __pyx_t_5 ) {
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":88
*
* if X . dtype . name = = ' float64 ' and y . dtype . name = = ' float64 ' :
* lda = < int > X . strides [ 0 ] / sizeof ( double ) # < < < < < < < < < < < < < <
*
* cblas_dtrsv ( CblasRowMajor , CblasLower , CblasNoTrans ,
*/
__pyx_t_6 = ( ( int ) ( __pyx_v_X - > strides [ 0 ] ) ) ;
__pyx_t_7 = ( sizeof ( double ) ) ;
if ( unlikely ( __pyx_t_7 = = 0 ) ) {
PyErr_Format ( PyExc_ZeroDivisionError , " integer division or modulo by zero " ) ;
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 88 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
}
__pyx_v_lda = ( __pyx_t_6 / __pyx_t_7 ) ;
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":92
* cblas_dtrsv ( CblasRowMajor , CblasLower , CblasNoTrans ,
* CblasNonUnit , < int > X . shape [ 0 ] , < double * > X . data ,
* lda , < double * > y . data , 1 ) ; # < < < < < < < < < < < < < <
*
* elif X . dtype . name = = ' float32 ' and y . dtype . name = = ' float32 ' :
*/
cblas_dtrsv ( CblasRowMajor , CblasLower , CblasNoTrans , CblasNonUnit , ( ( int ) ( __pyx_v_X - > dimensions [ 0 ] ) ) , ( ( double * ) __pyx_v_X - > data ) , __pyx_v_lda , ( ( double * ) __pyx_v_y - > data ) , 1 ) ;
goto __pyx_L6 ;
2010-09-15 04:02:44 +08:00
}
2010-09-06 22:15:53 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":94
* lda , < double * > y . data , 1 ) ;
*
* elif X . dtype . name = = ' float32 ' and y . dtype . name = = ' float32 ' : # < < < < < < < < < < < < < <
* lda = < int > X . strides [ 0 ] / sizeof ( float )
2010-09-15 04:02:44 +08:00
*
2010-09-06 22:15:53 +08:00
*/
2010-11-22 21:56:37 +08:00
__pyx_t_1 = PyObject_GetAttr ( ( ( PyObject * ) __pyx_v_X ) , __pyx_n_s__dtype ) ; 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_t_2 = PyObject_GetAttr ( __pyx_t_1 , __pyx_n_s__name ) ; 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_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_t_1 = PyObject_RichCompare ( __pyx_t_2 , ( ( PyObject * ) __pyx_n_s__float32 ) , Py_EQ ) ; 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_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__pyx_t_5 = __Pyx_PyObject_IsTrue ( __pyx_t_1 ) ; if ( unlikely ( __pyx_t_5 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 94 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
if ( __pyx_t_5 ) {
__pyx_t_1 = PyObject_GetAttr ( ( ( PyObject * ) __pyx_v_y ) , __pyx_n_s__dtype ) ; 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_t_2 = PyObject_GetAttr ( __pyx_t_1 , __pyx_n_s__name ) ; 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_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_t_1 = PyObject_RichCompare ( __pyx_t_2 , ( ( PyObject * ) __pyx_n_s__float32 ) , Py_EQ ) ; 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_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__pyx_t_3 = __Pyx_PyObject_IsTrue ( __pyx_t_1 ) ; if ( unlikely ( __pyx_t_3 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 94 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_t_4 = __pyx_t_3 ;
} else {
__pyx_t_4 = __pyx_t_5 ;
2010-09-06 22:15:53 +08:00
}
2010-11-22 21:56:37 +08:00
if ( __pyx_t_4 ) {
2010-09-15 04:02:44 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":95
2010-09-15 04:45:56 +08:00
*
2010-11-22 21:56:37 +08:00
* elif X . dtype . name = = ' float32 ' and y . dtype . name = = ' float32 ' :
* lda = < int > X . strides [ 0 ] / sizeof ( float ) # < < < < < < < < < < < < < <
2010-09-15 04:45:56 +08:00
*
2010-11-22 21:56:37 +08:00
* cblas_strsv ( CblasRowMajor , CblasLower , CblasNoTrans ,
2010-09-15 04:02:44 +08:00
*/
2010-11-22 21:56:37 +08:00
__pyx_t_6 = ( ( int ) ( __pyx_v_X - > strides [ 0 ] ) ) ;
__pyx_t_7 = ( sizeof ( float ) ) ;
if ( unlikely ( __pyx_t_7 = = 0 ) ) {
PyErr_Format ( PyExc_ZeroDivisionError , " integer division or modulo by zero " ) ;
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 95 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
}
__pyx_v_lda = ( __pyx_t_6 / __pyx_t_7 ) ;
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":99
* cblas_strsv ( CblasRowMajor , CblasLower , CblasNoTrans ,
* CblasNonUnit , < int > X . shape [ 0 ] , < float * > X . data ,
* lda , < float * > y . data , 1 ) ; # < < < < < < < < < < < < < <
* else :
* raise ValueError ( ' Unsupported or inconsistent dtype in arrays X , y ' )
*/
cblas_strsv ( CblasRowMajor , CblasLower , CblasNoTrans , CblasNonUnit , ( ( int ) ( __pyx_v_X - > dimensions [ 0 ] ) ) , ( ( float * ) __pyx_v_X - > data ) , __pyx_v_lda , ( ( float * ) __pyx_v_y - > data ) , 1 ) ;
goto __pyx_L6 ;
}
/*else*/ {
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":101
* lda , < float * > y . data , 1 ) ;
* else :
* raise ValueError ( ' Unsupported or inconsistent dtype in arrays X , y ' ) # < < < < < < < < < < < < < <
*
*
*/
__pyx_t_1 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 101 ; __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 = 101 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__Pyx_Raise ( __pyx_t_2 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 101 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
}
__pyx_L6 : ;
2010-09-06 22:15:53 +08:00
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
2010-11-22 21:56:37 +08:00
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
2010-09-15 04:02:44 +08:00
__Pyx_AddTraceback ( " scikits.learn.utils.arrayfuncs.solve_triangular " ) ;
2010-09-06 22:15:53 +08:00
__pyx_r = NULL ;
__pyx_L0 : ;
2010-11-22 21:56:37 +08:00
__Pyx_DECREF ( ( PyObject * ) __pyx_v_X ) ;
__Pyx_DECREF ( ( PyObject * ) __pyx_v_y ) ;
2010-09-06 22:15:53 +08:00
__Pyx_XGIVEREF ( __pyx_r ) ;
2010-09-15 04:02:44 +08:00
__Pyx_RefNannyFinishContext ( ) ;
2010-09-06 22:15:53 +08:00
return __pyx_r ;
}
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":104
*
2010-09-15 04:45:56 +08:00
*
2010-11-22 21:56:37 +08:00
* def cholesky_delete ( np . ndarray L , int go_out ) : # < < < < < < < < < < < < < <
2010-09-15 04:45:56 +08:00
*
2010-11-22 21:56:37 +08:00
* cdef int n = < int > L . shape [ 0 ]
2010-09-15 04:45:56 +08:00
*/
static PyObject * __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_cholesky_delete ( PyObject * __pyx_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) ; /*proto*/
static PyObject * __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_cholesky_delete ( PyObject * __pyx_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) {
PyArrayObject * __pyx_v_L = 0 ;
int __pyx_v_go_out ;
int __pyx_v_n ;
int __pyx_v_m ;
PyObject * __pyx_r = NULL ;
2010-11-22 21:56:37 +08:00
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
int __pyx_t_3 ;
int __pyx_t_4 ;
size_t __pyx_t_5 ;
2010-09-15 04:45:56 +08:00
static PyObject * * __pyx_pyargnames [ ] = { & __pyx_n_s__L , & __pyx_n_s__go_out , 0 } ;
__Pyx_RefNannySetupContext ( " cholesky_delete " ) ;
__pyx_self = __pyx_self ;
if ( unlikely ( __pyx_kwds ) ) {
Py_ssize_t kw_args = PyDict_Size ( __pyx_kwds ) ;
PyObject * values [ 2 ] = { 0 , 0 } ;
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 2 : values [ 1 ] = PyTuple_GET_ITEM ( __pyx_args , 1 ) ;
case 1 : values [ 0 ] = PyTuple_GET_ITEM ( __pyx_args , 0 ) ;
case 0 : break ;
default : goto __pyx_L5_argtuple_error ;
}
switch ( PyTuple_GET_SIZE ( __pyx_args ) ) {
case 0 :
values [ 0 ] = PyDict_GetItem ( __pyx_kwds , __pyx_n_s__L ) ;
if ( likely ( values [ 0 ] ) ) kw_args - - ;
else goto __pyx_L5_argtuple_error ;
case 1 :
values [ 1 ] = PyDict_GetItem ( __pyx_kwds , __pyx_n_s__go_out ) ;
if ( likely ( values [ 1 ] ) ) kw_args - - ;
else {
2010-11-22 21:56:37 +08:00
__Pyx_RaiseArgtupleInvalid ( " cholesky_delete " , 1 , 2 , 2 , 1 ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 104 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2010-09-15 04:45:56 +08:00
}
}
if ( unlikely ( kw_args > 0 ) ) {
2010-11-22 21:56:37 +08:00
if ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds , __pyx_pyargnames , 0 , values , PyTuple_GET_SIZE ( __pyx_args ) , " cholesky_delete " ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 104 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2010-09-15 04:45:56 +08:00
}
__pyx_v_L = ( ( PyArrayObject * ) values [ 0 ] ) ;
2010-11-22 21:56:37 +08:00
__pyx_v_go_out = __Pyx_PyInt_AsInt ( values [ 1 ] ) ; if ( unlikely ( ( __pyx_v_go_out = = ( int ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 104 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2010-09-15 04:45:56 +08:00
} else if ( PyTuple_GET_SIZE ( __pyx_args ) ! = 2 ) {
goto __pyx_L5_argtuple_error ;
} else {
__pyx_v_L = ( ( PyArrayObject * ) PyTuple_GET_ITEM ( __pyx_args , 0 ) ) ;
2010-11-22 21:56:37 +08:00
__pyx_v_go_out = __Pyx_PyInt_AsInt ( PyTuple_GET_ITEM ( __pyx_args , 1 ) ) ; if ( unlikely ( ( __pyx_v_go_out = = ( int ) - 1 ) & & PyErr_Occurred ( ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 104 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2010-09-15 04:45:56 +08:00
}
goto __pyx_L4_argument_unpacking_done ;
__pyx_L5_argtuple_error : ;
2010-11-22 21:56:37 +08:00
__Pyx_RaiseArgtupleInvalid ( " cholesky_delete " , 1 , 2 , 2 , PyTuple_GET_SIZE ( __pyx_args ) ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 104 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2010-09-15 04:45:56 +08:00
__pyx_L3_error : ;
__Pyx_AddTraceback ( " scikits.learn.utils.arrayfuncs.cholesky_delete " ) ;
return NULL ;
__pyx_L4_argument_unpacking_done : ;
2010-11-22 21:56:37 +08:00
__Pyx_INCREF ( ( PyObject * ) __pyx_v_L ) ;
if ( unlikely ( ! __Pyx_ArgTypeTest ( ( ( PyObject * ) __pyx_v_L ) , __pyx_ptype_5numpy_ndarray , 1 , " L " , 0 ) ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 104 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-15 04:45:56 +08:00
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":106
* def cholesky_delete ( np . ndarray L , int go_out ) :
2010-09-15 04:45:56 +08:00
*
* cdef int n = < int > L . shape [ 0 ] # < < < < < < < < < < < < < <
2010-11-22 21:56:37 +08:00
* cdef int m
*
2010-09-15 04:45:56 +08:00
*/
__pyx_v_n = ( ( int ) ( __pyx_v_L - > dimensions [ 0 ] ) ) ;
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":109
* cdef int m
2010-09-15 04:45:56 +08:00
*
2010-11-22 21:56:37 +08:00
* if L . dtype . name = = ' float64 ' : # < < < < < < < < < < < < < <
* m = < int > L . strides [ 0 ] / sizeof ( double )
* double_cholesky_delete ( m , n , < double * > L . data , go_out )
*/
__pyx_t_1 = PyObject_GetAttr ( ( ( PyObject * ) __pyx_v_L ) , __pyx_n_s__dtype ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 109 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_1 ) ;
__pyx_t_2 = PyObject_GetAttr ( __pyx_t_1 , __pyx_n_s__name ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 109 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_t_1 = PyObject_RichCompare ( __pyx_t_2 , ( ( PyObject * ) __pyx_n_s__float64 ) , Py_EQ ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 109 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__pyx_t_3 = __Pyx_PyObject_IsTrue ( __pyx_t_1 ) ; if ( unlikely ( __pyx_t_3 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 109 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
if ( __pyx_t_3 ) {
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":110
*
* if L . dtype . name = = ' float64 ' :
* m = < int > L . strides [ 0 ] / sizeof ( double ) # < < < < < < < < < < < < < <
* double_cholesky_delete ( m , n , < double * > L . data , go_out )
* elif L . dtype . name = = ' float32 ' :
*/
__pyx_t_4 = ( ( int ) ( __pyx_v_L - > strides [ 0 ] ) ) ;
__pyx_t_5 = ( sizeof ( double ) ) ;
if ( unlikely ( __pyx_t_5 = = 0 ) ) {
PyErr_Format ( PyExc_ZeroDivisionError , " integer division or modulo by zero " ) ;
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 110 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
}
__pyx_v_m = ( __pyx_t_4 / __pyx_t_5 ) ;
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":111
* if L . dtype . name = = ' float64 ' :
* m = < int > L . strides [ 0 ] / sizeof ( double )
* double_cholesky_delete ( m , n , < double * > L . data , go_out ) # < < < < < < < < < < < < < <
* elif L . dtype . name = = ' float32 ' :
* m = < int > L . strides [ 0 ] / sizeof ( float )
*/
double_cholesky_delete ( __pyx_v_m , __pyx_v_n , ( ( double * ) __pyx_v_L - > data ) , __pyx_v_go_out ) ;
goto __pyx_L6 ;
2010-09-15 04:45:56 +08:00
}
2010-11-22 21:56:37 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":112
* m = < int > L . strides [ 0 ] / sizeof ( double )
* double_cholesky_delete ( m , n , < double * > L . data , go_out )
* elif L . dtype . name = = ' float32 ' : # < < < < < < < < < < < < < <
* m = < int > L . strides [ 0 ] / sizeof ( float )
* float_cholesky_delete ( m , n , < float * > L . data , go_out )
*/
__pyx_t_1 = PyObject_GetAttr ( ( ( PyObject * ) __pyx_v_L ) , __pyx_n_s__dtype ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 112 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_1 ) ;
__pyx_t_2 = PyObject_GetAttr ( __pyx_t_1 , __pyx_n_s__name ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 112 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__pyx_t_1 = PyObject_RichCompare ( __pyx_t_2 , ( ( PyObject * ) __pyx_n_s__float32 ) , Py_EQ ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 112 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__pyx_t_3 = __Pyx_PyObject_IsTrue ( __pyx_t_1 ) ; if ( unlikely ( __pyx_t_3 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 112 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
if ( __pyx_t_3 ) {
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":113
* double_cholesky_delete ( m , n , < double * > L . data , go_out )
* elif L . dtype . name = = ' float32 ' :
* m = < int > L . strides [ 0 ] / sizeof ( float ) # < < < < < < < < < < < < < <
* float_cholesky_delete ( m , n , < float * > L . data , go_out )
*
2010-09-15 04:45:56 +08:00
*/
2010-11-22 21:56:37 +08:00
__pyx_t_4 = ( ( int ) ( __pyx_v_L - > strides [ 0 ] ) ) ;
__pyx_t_5 = ( sizeof ( float ) ) ;
if ( unlikely ( __pyx_t_5 = = 0 ) ) {
PyErr_Format ( PyExc_ZeroDivisionError , " integer division or modulo by zero " ) ;
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 113 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
}
__pyx_v_m = ( __pyx_t_4 / __pyx_t_5 ) ;
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":114
* elif L . dtype . name = = ' float32 ' :
* m = < int > L . strides [ 0 ] / sizeof ( float )
* float_cholesky_delete ( m , n , < float * > L . data , go_out ) # < < < < < < < < < < < < < <
*
*/
float_cholesky_delete ( __pyx_v_m , __pyx_v_n , ( ( float * ) __pyx_v_L - > data ) , __pyx_v_go_out ) ;
goto __pyx_L6 ;
}
__pyx_L6 : ;
2010-09-15 04:45:56 +08:00
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
2010-11-22 21:56:37 +08:00
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
2010-09-15 04:45:56 +08:00
__Pyx_AddTraceback ( " scikits.learn.utils.arrayfuncs.cholesky_delete " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
2010-11-22 21:56:37 +08:00
__Pyx_DECREF ( ( PyObject * ) __pyx_v_L ) ;
2010-09-15 04:45:56 +08:00
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":187
2010-09-06 22:15:53 +08:00
* # experimental exception made for __getbuffer__ and __releasebuffer__
* # - - the details of this may change .
* def __getbuffer__ ( ndarray self , Py_buffer * info , int flags ) : # < < < < < < < < < < < < < <
* # This implementation of getbuffer is geared towards Cython
* # requirements , and does not yet fullfill the PEP .
*/
static int __pyx_pf_5numpy_7ndarray___getbuffer__ ( PyObject * __pyx_v_self , Py_buffer * __pyx_v_info , int __pyx_v_flags ) ; /*proto*/
static int __pyx_pf_5numpy_7ndarray___getbuffer__ ( PyObject * __pyx_v_self , Py_buffer * __pyx_v_info , int __pyx_v_flags ) {
int __pyx_v_copy_shape ;
int __pyx_v_i ;
int __pyx_v_ndim ;
int __pyx_v_endian_detector ;
int __pyx_v_little_endian ;
int __pyx_v_t ;
char * __pyx_v_f ;
PyArray_Descr * __pyx_v_descr = 0 ;
int __pyx_v_offset ;
int __pyx_v_hasfields ;
int __pyx_r ;
int __pyx_t_1 ;
2010-09-15 04:02:44 +08:00
int __pyx_t_2 ;
int __pyx_t_3 ;
PyObject * __pyx_t_4 = NULL ;
PyObject * __pyx_t_5 = NULL ;
2010-09-06 22:15:53 +08:00
int __pyx_t_6 ;
2010-09-15 04:02:44 +08:00
int __pyx_t_7 ;
int __pyx_t_8 ;
char * __pyx_t_9 ;
__Pyx_RefNannySetupContext ( " __getbuffer__ " ) ;
2010-09-06 22:15:53 +08:00
if ( __pyx_v_info = = NULL ) return 0 ;
__pyx_v_info - > obj = Py_None ; __Pyx_INCREF ( Py_None ) ;
__Pyx_GIVEREF ( __pyx_v_info - > obj ) ;
2010-09-15 04:02:44 +08:00
__Pyx_INCREF ( ( PyObject * ) __pyx_v_self ) ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":193
2010-09-06 22:15:53 +08:00
* # of flags
* cdef int copy_shape , i , ndim
* cdef int endian_detector = 1 # < < < < < < < < < < < < < <
* cdef bint little_endian = ( ( < char * > & endian_detector ) [ 0 ] ! = 0 )
*
*/
__pyx_v_endian_detector = 1 ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":194
2010-09-06 22:15:53 +08:00
* cdef int copy_shape , i , ndim
* cdef int endian_detector = 1
* cdef bint little_endian = ( ( < char * > & endian_detector ) [ 0 ] ! = 0 ) # < < < < < < < < < < < < < <
*
* ndim = PyArray_NDIM ( self )
*/
__pyx_v_little_endian = ( ( ( ( char * ) ( & __pyx_v_endian_detector ) ) [ 0 ] ) ! = 0 ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":196
2010-09-06 22:15:53 +08:00
* cdef bint little_endian = ( ( < char * > & endian_detector ) [ 0 ] ! = 0 )
*
* ndim = PyArray_NDIM ( self ) # < < < < < < < < < < < < < <
*
* if sizeof ( npy_intp ) ! = sizeof ( Py_ssize_t ) :
*/
__pyx_v_ndim = PyArray_NDIM ( ( ( PyArrayObject * ) __pyx_v_self ) ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":198
2010-09-06 22:15:53 +08:00
* ndim = PyArray_NDIM ( self )
*
* if sizeof ( npy_intp ) ! = sizeof ( Py_ssize_t ) : # < < < < < < < < < < < < < <
* copy_shape = 1
* else :
*/
__pyx_t_1 = ( ( sizeof ( npy_intp ) ) ! = ( sizeof ( Py_ssize_t ) ) ) ;
if ( __pyx_t_1 ) {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":199
2010-09-06 22:15:53 +08:00
*
* if sizeof ( npy_intp ) ! = sizeof ( Py_ssize_t ) :
* copy_shape = 1 # < < < < < < < < < < < < < <
* else :
* copy_shape = 0
*/
__pyx_v_copy_shape = 1 ;
goto __pyx_L5 ;
}
/*else*/ {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":201
2010-09-06 22:15:53 +08:00
* copy_shape = 1
* else :
* copy_shape = 0 # < < < < < < < < < < < < < <
*
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS )
*/
__pyx_v_copy_shape = 0 ;
}
__pyx_L5 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":203
2010-09-06 22:15:53 +08:00
* copy_shape = 0
*
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS ) # < < < < < < < < < < < < < <
* and not PyArray_CHKFLAGS ( self , NPY_C_CONTIGUOUS ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " ndarray is not C contiguous " )
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( ( __pyx_v_flags & PyBUF_C_CONTIGUOUS ) = = PyBUF_C_CONTIGUOUS ) ;
if ( __pyx_t_1 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":204
2010-09-06 22:15:53 +08:00
*
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_C_CONTIGUOUS ) ) : # < < < < < < < < < < < < < <
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " ndarray is not C contiguous " )
2010-09-06 22:15:53 +08:00
*
*/
2010-09-15 04:02:44 +08:00
__pyx_t_2 = ( ! PyArray_CHKFLAGS ( ( ( PyArrayObject * ) __pyx_v_self ) , NPY_C_CONTIGUOUS ) ) ;
__pyx_t_3 = __pyx_t_2 ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_3 = __pyx_t_1 ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
if ( __pyx_t_3 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":205
2010-09-06 22:15:53 +08:00
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_C_CONTIGUOUS ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " ndarray is not C contiguous " ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
*
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS )
*/
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-11-22 21:56:37 +08:00
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_3 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_4 , 0 , ( ( PyObject * ) __pyx_kp_u_3 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_3 ) ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
goto __pyx_L6 ;
}
__pyx_L6 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":207
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " ndarray is not C contiguous " )
2010-09-06 22:15:53 +08:00
*
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS ) # < < < < < < < < < < < < < <
* and not PyArray_CHKFLAGS ( self , NPY_F_CONTIGUOUS ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " ndarray is not Fortran contiguous " )
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__pyx_t_3 = ( ( __pyx_v_flags & PyBUF_F_CONTIGUOUS ) = = PyBUF_F_CONTIGUOUS ) ;
if ( __pyx_t_3 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":208
2010-09-06 22:15:53 +08:00
*
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_F_CONTIGUOUS ) ) : # < < < < < < < < < < < < < <
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " ndarray is not Fortran contiguous " )
2010-09-06 22:15:53 +08:00
*
*/
__pyx_t_1 = ( ! PyArray_CHKFLAGS ( ( ( PyArrayObject * ) __pyx_v_self ) , NPY_F_CONTIGUOUS ) ) ;
2010-09-15 04:02:44 +08:00
__pyx_t_2 = __pyx_t_1 ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_2 = __pyx_t_3 ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
if ( __pyx_t_2 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":209
2010-09-06 22:15:53 +08:00
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_F_CONTIGUOUS ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " ndarray is not Fortran contiguous " ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
*
* info . buf = PyArray_DATA ( self )
*/
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-11-22 21:56:37 +08:00
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_4 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_5 , 0 , ( ( PyObject * ) __pyx_kp_u_4 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_4 ) ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
goto __pyx_L7 ;
}
__pyx_L7 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":211
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " ndarray is not Fortran contiguous " )
2010-09-06 22:15:53 +08:00
*
* info . buf = PyArray_DATA ( self ) # < < < < < < < < < < < < < <
* info . ndim = ndim
* if copy_shape :
*/
__pyx_v_info - > buf = PyArray_DATA ( ( ( PyArrayObject * ) __pyx_v_self ) ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":212
2010-09-06 22:15:53 +08:00
*
* info . buf = PyArray_DATA ( self )
* info . ndim = ndim # < < < < < < < < < < < < < <
* if copy_shape :
* # Allocate new buffer for strides and shape info . This is allocated
*/
__pyx_v_info - > ndim = __pyx_v_ndim ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":213
2010-09-06 22:15:53 +08:00
* 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 .
*/
2010-09-15 04:02:44 +08:00
__pyx_t_6 = __pyx_v_copy_shape ;
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":216
2010-09-06 22:15:53 +08:00
* # Allocate new buffer for strides and shape info . This is allocated
* # as one block , strides first .
* info . strides = < Py_ssize_t * > stdlib . malloc ( sizeof ( Py_ssize_t ) * ndim * 2 ) # < < < < < < < < < < < < < <
* info . shape = info . strides + ndim
* for i in range ( ndim ) :
*/
__pyx_v_info - > strides = ( ( Py_ssize_t * ) malloc ( ( ( ( sizeof ( Py_ssize_t ) ) * __pyx_v_ndim ) * 2 ) ) ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":217
2010-09-06 22:15:53 +08:00
* # as one block , strides first .
* info . strides = < Py_ssize_t * > 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 ]
*/
__pyx_v_info - > shape = ( __pyx_v_info - > strides + __pyx_v_ndim ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":218
2010-09-06 22:15:53 +08:00
* info . strides = < Py_ssize_t * > 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 ]
*/
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":219
2010-09-06 22:15:53 +08:00
* info . shape = info . strides + ndim
* for i in range ( ndim ) :
* info . strides [ i ] = PyArray_STRIDES ( self ) [ i ] # < < < < < < < < < < < < < <
* info . shape [ i ] = PyArray_DIMS ( self ) [ i ]
* else :
*/
( __pyx_v_info - > strides [ __pyx_v_i ] ) = ( PyArray_STRIDES ( ( ( PyArrayObject * ) __pyx_v_self ) ) [ __pyx_v_i ] ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":220
2010-09-06 22:15:53 +08:00
* for i in range ( ndim ) :
* info . strides [ i ] = PyArray_STRIDES ( self ) [ i ]
* info . shape [ i ] = PyArray_DIMS ( self ) [ i ] # < < < < < < < < < < < < < <
* else :
* info . strides = < Py_ssize_t * > PyArray_STRIDES ( self )
*/
( __pyx_v_info - > shape [ __pyx_v_i ] ) = ( PyArray_DIMS ( ( ( PyArrayObject * ) __pyx_v_self ) ) [ __pyx_v_i ] ) ;
}
goto __pyx_L8 ;
}
/*else*/ {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":222
2010-09-06 22:15:53 +08:00
* info . shape [ i ] = PyArray_DIMS ( self ) [ i ]
* else :
* info . strides = < Py_ssize_t * > PyArray_STRIDES ( self ) # < < < < < < < < < < < < < <
* info . shape = < Py_ssize_t * > PyArray_DIMS ( self )
* info . suboffsets = NULL
*/
__pyx_v_info - > strides = ( ( Py_ssize_t * ) PyArray_STRIDES ( ( ( PyArrayObject * ) __pyx_v_self ) ) ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":223
2010-09-06 22:15:53 +08:00
* else :
* info . strides = < Py_ssize_t * > PyArray_STRIDES ( self )
* info . shape = < Py_ssize_t * > PyArray_DIMS ( self ) # < < < < < < < < < < < < < <
* info . suboffsets = NULL
* info . itemsize = PyArray_ITEMSIZE ( self )
*/
__pyx_v_info - > shape = ( ( Py_ssize_t * ) PyArray_DIMS ( ( ( PyArrayObject * ) __pyx_v_self ) ) ) ;
}
__pyx_L8 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":224
2010-09-06 22:15:53 +08:00
* info . strides = < Py_ssize_t * > PyArray_STRIDES ( self )
* info . shape = < Py_ssize_t * > PyArray_DIMS ( self )
* info . suboffsets = NULL # < < < < < < < < < < < < < <
* info . itemsize = PyArray_ITEMSIZE ( self )
* info . readonly = not PyArray_ISWRITEABLE ( self )
*/
__pyx_v_info - > suboffsets = NULL ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":225
2010-09-06 22:15:53 +08:00
* info . shape = < Py_ssize_t * > PyArray_DIMS ( self )
* info . suboffsets = NULL
* info . itemsize = PyArray_ITEMSIZE ( self ) # < < < < < < < < < < < < < <
* info . readonly = not PyArray_ISWRITEABLE ( self )
*
*/
__pyx_v_info - > itemsize = PyArray_ITEMSIZE ( ( ( PyArrayObject * ) __pyx_v_self ) ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":226
2010-09-06 22:15:53 +08:00
* info . suboffsets = NULL
* info . itemsize = PyArray_ITEMSIZE ( self )
* info . readonly = not PyArray_ISWRITEABLE ( self ) # < < < < < < < < < < < < < <
*
* cdef int t
*/
__pyx_v_info - > readonly = ( ! PyArray_ISWRITEABLE ( ( ( PyArrayObject * ) __pyx_v_self ) ) ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":229
2010-09-06 22:15:53 +08:00
*
* cdef int t
* cdef char * f = NULL # < < < < < < < < < < < < < <
* cdef dtype descr = self . descr
* cdef list stack
*/
__pyx_v_f = NULL ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":230
2010-09-06 22:15:53 +08:00
* cdef int t
* cdef char * f = NULL
* cdef dtype descr = self . descr # < < < < < < < < < < < < < <
* cdef list stack
* cdef int offset
*/
__Pyx_INCREF ( ( ( PyObject * ) ( ( PyArrayObject * ) __pyx_v_self ) - > descr ) ) ;
__pyx_v_descr = ( ( PyArrayObject * ) __pyx_v_self ) - > descr ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":234
2010-09-06 22:15:53 +08:00
* cdef int offset
*
* cdef bint hasfields = PyDataType_HASFIELDS ( descr ) # < < < < < < < < < < < < < <
*
* if not hasfields and not copy_shape :
*/
__pyx_v_hasfields = PyDataType_HASFIELDS ( __pyx_v_descr ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":236
2010-09-06 22:15:53 +08:00
* cdef bint hasfields = PyDataType_HASFIELDS ( descr )
*
* if not hasfields and not copy_shape : # < < < < < < < < < < < < < <
* # do not call releasebuffer
* info . obj = None
*/
2010-09-15 04:02:44 +08:00
__pyx_t_2 = ( ! __pyx_v_hasfields ) ;
if ( __pyx_t_2 ) {
__pyx_t_3 = ( ! __pyx_v_copy_shape ) ;
__pyx_t_1 = __pyx_t_3 ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_1 = __pyx_t_2 ;
2010-09-06 22:15:53 +08:00
}
if ( __pyx_t_1 ) {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":238
2010-09-06 22:15:53 +08:00
* if not hasfields and not copy_shape :
* # do not call releasebuffer
* info . obj = None # < < < < < < < < < < < < < <
* else :
* # need to call releasebuffer
*/
__Pyx_INCREF ( Py_None ) ;
__Pyx_GIVEREF ( Py_None ) ;
__Pyx_GOTREF ( __pyx_v_info - > obj ) ;
__Pyx_DECREF ( __pyx_v_info - > obj ) ;
__pyx_v_info - > obj = Py_None ;
goto __pyx_L11 ;
}
/*else*/ {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":241
2010-09-06 22:15:53 +08:00
* else :
* # need to call releasebuffer
* info . obj = self # < < < < < < < < < < < < < <
*
* if not hasfields :
*/
__Pyx_INCREF ( __pyx_v_self ) ;
__Pyx_GIVEREF ( __pyx_v_self ) ;
__Pyx_GOTREF ( __pyx_v_info - > obj ) ;
__Pyx_DECREF ( __pyx_v_info - > obj ) ;
__pyx_v_info - > obj = __pyx_v_self ;
}
__pyx_L11 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":243
2010-09-06 22:15:53 +08:00
* info . obj = self
*
* if not hasfields : # < < < < < < < < < < < < < <
* t = descr . type_num
* if ( ( descr . byteorder = = ' > ' and little_endian ) or
*/
__pyx_t_1 = ( ! __pyx_v_hasfields ) ;
if ( __pyx_t_1 ) {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":244
2010-09-06 22:15:53 +08:00
*
* if not hasfields :
* t = descr . type_num # < < < < < < < < < < < < < <
* if ( ( descr . byteorder = = ' > ' and little_endian ) or
* ( descr . byteorder = = ' < ' and not little_endian ) ) :
*/
__pyx_v_t = __pyx_v_descr - > type_num ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":245
2010-09-06 22:15:53 +08:00
* if not hasfields :
* t = descr . type_num
* if ( ( descr . byteorder = = ' > ' and little_endian ) or # < < < < < < < < < < < < < <
* ( descr . byteorder = = ' < ' and not little_endian ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_descr - > byteorder = = ' > ' ) ;
if ( __pyx_t_1 ) {
__pyx_t_2 = __pyx_v_little_endian ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_2 = __pyx_t_1 ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
if ( ! __pyx_t_2 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":246
2010-09-06 22:15:53 +08:00
* t = descr . type_num
* if ( ( descr . byteorder = = ' > ' and little_endian ) or
* ( descr . byteorder = = ' < ' and not little_endian ) ) : # < < < < < < < < < < < < < <
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
2010-09-06 22:15:53 +08:00
* if t = = NPY_BYTE : f = " b "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_descr - > byteorder = = ' < ' ) ;
if ( __pyx_t_1 ) {
__pyx_t_3 = ( ! __pyx_v_little_endian ) ;
__pyx_t_8 = __pyx_t_3 ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_8 = __pyx_t_1 ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
__pyx_t_1 = __pyx_t_8 ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_1 = __pyx_t_2 ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
if ( __pyx_t_1 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":247
2010-09-06 22:15:53 +08:00
* if ( ( descr . byteorder = = ' > ' and little_endian ) or
* ( descr . byteorder = = ' < ' and not little_endian ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " Non-native byte order not supported " ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
* if t = = NPY_BYTE : f = " b "
* elif t = = NPY_UBYTE : f = " B "
*/
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-11-22 21:56:37 +08:00
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_4 , 0 , ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
goto __pyx_L13 ;
}
__pyx_L13 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":248
2010-09-06 22:15:53 +08:00
* ( descr . byteorder = = ' < ' and not little_endian ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
2010-09-06 22:15:53 +08:00
* if t = = NPY_BYTE : f = " b " # < < < < < < < < < < < < < <
* elif t = = NPY_UBYTE : f = " B "
* elif t = = NPY_SHORT : f = " h "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_BYTE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__b ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":249
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
2010-09-06 22:15:53 +08:00
* if t = = NPY_BYTE : f = " b "
* elif t = = NPY_UBYTE : f = " B " # < < < < < < < < < < < < < <
* elif t = = NPY_SHORT : f = " h "
* elif t = = NPY_USHORT : f = " H "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_UBYTE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__B ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":250
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_SHORT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__h ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":251
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_USHORT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__H ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":252
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_INT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__i ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":253
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_UINT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__I ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":254
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_LONG ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__l ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":255
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_ULONG ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__L ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":256
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_LONGLONG ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__q ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":257
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_ULONGLONG ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__Q ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":258
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_FLOAT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__f ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":259
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_DOUBLE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__d ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":260
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_LONGDOUBLE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__g ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":261
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_CFLOAT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__Zf ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":262
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_CDOUBLE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__Zd ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":263
2010-09-06 22:15:53 +08:00
* 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 :
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_CLONGDOUBLE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__Zg ;
goto __pyx_L14 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":264
2010-09-06 22:15:53 +08:00
* elif t = = NPY_CDOUBLE : f = " Zd "
* elif t = = NPY_CLONGDOUBLE : f = " Zg "
* elif t = = NPY_OBJECT : f = " O " # < < < < < < < < < < < < < <
* else :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = ( __pyx_v_t = = NPY_OBJECT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__O ;
goto __pyx_L14 ;
}
/*else*/ {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":266
2010-09-06 22:15:53 +08:00
* elif t = = NPY_OBJECT : f = " O "
* else :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
* info . format = f
* return
*/
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-11-22 21:56:37 +08:00
__pyx_t_4 = PyNumber_Remainder ( ( ( PyObject * ) __pyx_kp_u_6 ) , __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 266 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
__pyx_L14 : ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":267
2010-09-06 22:15:53 +08:00
* else :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
2010-09-06 22:15:53 +08:00
* info . format = f # < < < < < < < < < < < < < <
* return
* else :
*/
__pyx_v_info - > format = __pyx_v_f ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":268
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
2010-09-06 22:15:53 +08:00
* info . format = f
* return # < < < < < < < < < < < < < <
* else :
* info . format = < char * > stdlib . malloc ( _buffer_format_string_len )
*/
__pyx_r = 0 ;
goto __pyx_L0 ;
goto __pyx_L12 ;
}
/*else*/ {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":270
2010-09-06 22:15:53 +08:00
* return
* else :
* info . format = < char * > stdlib . malloc ( _buffer_format_string_len ) # < < < < < < < < < < < < < <
* info . format [ 0 ] = ' ^ ' # Native data types , manual alignment
* offset = 0
*/
__pyx_v_info - > format = ( ( char * ) malloc ( 255 ) ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":271
2010-09-06 22:15:53 +08:00
* else :
* info . format = < char * > stdlib . malloc ( _buffer_format_string_len )
* info . format [ 0 ] = ' ^ ' # Native data types , manual alignment # < < < < < < < < < < < < < <
* offset = 0
* f = _util_dtypestring ( descr , info . format + 1 ,
*/
( __pyx_v_info - > format [ 0 ] ) = ' ^ ' ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":272
2010-09-06 22:15:53 +08:00
* info . format = < char * > stdlib . malloc ( _buffer_format_string_len )
* info . format [ 0 ] = ' ^ ' # Native data types , manual alignment
* offset = 0 # < < < < < < < < < < < < < <
* f = _util_dtypestring ( descr , info . format + 1 ,
* info . format + _buffer_format_string_len ,
*/
__pyx_v_offset = 0 ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":275
2010-09-06 22:15:53 +08:00
* f = _util_dtypestring ( descr , info . format + 1 ,
* info . format + _buffer_format_string_len ,
* & offset ) # < < < < < < < < < < < < < <
* f [ 0 ] = 0 # Terminate format string
*
*/
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":276
2010-09-06 22:15:53 +08:00
* info . format + _buffer_format_string_len ,
* & offset )
* f [ 0 ] = 0 # Terminate format string # < < < < < < < < < < < < < <
*
* def __releasebuffer__ ( ndarray self , Py_buffer * info ) :
*/
( __pyx_v_f [ 0 ] ) = 0 ;
}
__pyx_L12 : ;
__pyx_r = 0 ;
goto __pyx_L0 ;
__pyx_L1_error : ;
2010-09-15 04:02:44 +08:00
__Pyx_XDECREF ( __pyx_t_4 ) ;
__Pyx_XDECREF ( __pyx_t_5 ) ;
__Pyx_AddTraceback ( " numpy.ndarray.__getbuffer__ " ) ;
__pyx_r = - 1 ;
__Pyx_GOTREF ( __pyx_v_info - > obj ) ;
__Pyx_DECREF ( __pyx_v_info - > obj ) ; __pyx_v_info - > obj = NULL ;
goto __pyx_L2 ;
__pyx_L0 : ;
if ( __pyx_v_info - > obj = = Py_None ) {
__Pyx_GOTREF ( Py_None ) ;
__Pyx_DECREF ( Py_None ) ; __pyx_v_info - > obj = NULL ;
}
__pyx_L2 : ;
__Pyx_XDECREF ( ( PyObject * ) __pyx_v_descr ) ;
__Pyx_DECREF ( ( PyObject * ) __pyx_v_self ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":278
2010-09-15 04:02:44 +08:00
* f [ 0 ] = 0 # Terminate format string
*
* def __releasebuffer__ ( ndarray self , Py_buffer * info ) : # < < < < < < < < < < < < < <
* if PyArray_HASFIELDS ( self ) :
* stdlib . free ( info . format )
*/
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 ;
__Pyx_RefNannySetupContext ( " __releasebuffer__ " ) ;
__Pyx_INCREF ( ( PyObject * ) __pyx_v_self ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":279
2010-09-15 04:02:44 +08:00
*
* def __releasebuffer__ ( ndarray self , Py_buffer * info ) :
* if PyArray_HASFIELDS ( self ) : # < < < < < < < < < < < < < <
* stdlib . free ( info . format )
* if sizeof ( npy_intp ) ! = sizeof ( Py_ssize_t ) :
*/
__pyx_t_1 = PyArray_HASFIELDS ( ( ( PyArrayObject * ) __pyx_v_self ) ) ;
if ( __pyx_t_1 ) {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":280
2010-09-15 04:02:44 +08:00
* def __releasebuffer__ ( ndarray self , Py_buffer * info ) :
* if PyArray_HASFIELDS ( self ) :
* stdlib . free ( info . format ) # < < < < < < < < < < < < < <
* if sizeof ( npy_intp ) ! = sizeof ( Py_ssize_t ) :
* stdlib . free ( info . strides )
*/
free ( __pyx_v_info - > format ) ;
goto __pyx_L5 ;
}
__pyx_L5 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":281
2010-09-15 04:02:44 +08:00
* 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_1 = ( ( sizeof ( npy_intp ) ) ! = ( sizeof ( Py_ssize_t ) ) ) ;
if ( __pyx_t_1 ) {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":282
2010-09-15 04:02:44 +08:00
* 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 ( ) ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":755
2010-09-15 04:02:44 +08:00
* ctypedef npy_cdouble complex_t
*
* cdef inline object PyArray_MultiIterNew1 ( a ) : # < < < < < < < < < < < < < <
* return PyArray_MultiIterNew ( 1 , < void * > 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 " ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":756
2010-09-15 04:02:44 +08:00
*
* cdef inline object PyArray_MultiIterNew1 ( a ) :
* return PyArray_MultiIterNew ( 1 , < void * > 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 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":758
2010-09-15 04:02:44 +08:00
* return PyArray_MultiIterNew ( 1 , < void * > a )
*
* cdef inline object PyArray_MultiIterNew2 ( a , b ) : # < < < < < < < < < < < < < <
* return PyArray_MultiIterNew ( 2 , < void * > a , < void * > 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 " ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":759
2010-09-15 04:02:44 +08:00
*
* cdef inline object PyArray_MultiIterNew2 ( a , b ) :
* return PyArray_MultiIterNew ( 2 , < void * > a , < void * > 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 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":761
2010-09-15 04:02:44 +08:00
* return PyArray_MultiIterNew ( 2 , < void * > a , < void * > b )
*
* cdef inline object PyArray_MultiIterNew3 ( a , b , c ) : # < < < < < < < < < < < < < <
* return PyArray_MultiIterNew ( 3 , < void * > a , < void * > b , < void * > 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 " ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":762
2010-09-15 04:02:44 +08:00
*
* cdef inline object PyArray_MultiIterNew3 ( a , b , c ) :
* return PyArray_MultiIterNew ( 3 , < void * > a , < void * > b , < void * > 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 ;
2010-09-06 22:15:53 +08:00
__pyx_L0 : ;
2010-09-15 04:02:44 +08:00
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
2010-09-06 22:15:53 +08:00
return __pyx_r ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":764
2010-09-15 04:02:44 +08:00
* return PyArray_MultiIterNew ( 3 , < void * > a , < void * > b , < void * > c )
*
* cdef inline object PyArray_MultiIterNew4 ( a , b , c , d ) : # < < < < < < < < < < < < < <
* return PyArray_MultiIterNew ( 4 , < void * > a , < void * > b , < void * > c , < void * > d )
2010-09-06 22:15:53 +08:00
*
*/
2010-09-15 04:02:44 +08:00
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 " ) ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":765
2010-09-06 22:15:53 +08:00
*
2010-09-15 04:02:44 +08:00
* cdef inline object PyArray_MultiIterNew4 ( a , b , c , d ) :
* return PyArray_MultiIterNew ( 4 , < void * > a , < void * > b , < void * > c , < void * > d ) # < < < < < < < < < < < < < <
*
* cdef inline object PyArray_MultiIterNew5 ( a , b , c , d , e ) :
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
__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 ;
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":767
2010-09-15 04:02:44 +08:00
* return PyArray_MultiIterNew ( 4 , < void * > a , < void * > b , < void * > c , < void * > d )
*
* cdef inline object PyArray_MultiIterNew5 ( a , b , c , d , e ) : # < < < < < < < < < < < < < <
* return PyArray_MultiIterNew ( 5 , < void * > a , < void * > b , < void * > c , < void * > d , < void * > e )
*
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
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 " ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":768
2010-09-15 04:02:44 +08:00
*
* cdef inline object PyArray_MultiIterNew5 ( a , b , c , d , e ) :
* return PyArray_MultiIterNew ( 5 , < void * > a , < void * > b , < void * > c , < void * > d , < void * > e ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
*
2010-09-15 04:02:44 +08:00
* cdef inline char * _util_dtypestring ( dtype descr , char * f , char * end , int * offset ) except NULL :
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":770
2010-09-15 04:02:44 +08:00
* return PyArray_MultiIterNew ( 5 , < void * > a , < void * > b , < void * > c , < void * > d , < void * > e )
2010-09-06 22:15:53 +08:00
*
* 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 .
*/
2010-09-15 04:02:44 +08:00
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 ) {
2010-09-06 22:15:53 +08:00
PyArray_Descr * __pyx_v_child ;
int __pyx_v_endian_detector ;
int __pyx_v_little_endian ;
2010-09-15 04:02:44 +08:00
PyObject * __pyx_v_fields ;
PyObject * __pyx_v_childname ;
2010-09-06 22:15:53 +08:00
PyObject * __pyx_v_new_offset ;
PyObject * __pyx_v_t ;
char * __pyx_r ;
Py_ssize_t __pyx_t_1 ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
PyObject * __pyx_t_4 = NULL ;
PyObject * __pyx_t_5 = NULL ;
int __pyx_t_6 ;
int __pyx_t_7 ;
int __pyx_t_8 ;
2010-09-15 04:02:44 +08:00
int __pyx_t_9 ;
char * __pyx_t_10 ;
__Pyx_RefNannySetupContext ( " _util_dtypestring " ) ;
__Pyx_INCREF ( ( PyObject * ) __pyx_v_descr ) ;
2010-09-06 22:15:53 +08:00
__pyx_v_child = ( ( PyArray_Descr * ) Py_None ) ; __Pyx_INCREF ( Py_None ) ;
2010-09-15 04:02:44 +08:00
__pyx_v_fields = ( ( PyObject * ) Py_None ) ; __Pyx_INCREF ( Py_None ) ;
__pyx_v_childname = Py_None ; __Pyx_INCREF ( Py_None ) ;
2010-09-06 22:15:53 +08:00
__pyx_v_new_offset = Py_None ; __Pyx_INCREF ( Py_None ) ;
__pyx_v_t = Py_None ; __Pyx_INCREF ( Py_None ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":777
2010-09-06 22:15:53 +08:00
* cdef int delta_offset
* cdef tuple i
* cdef int endian_detector = 1 # < < < < < < < < < < < < < <
* cdef bint little_endian = ( ( < char * > & endian_detector ) [ 0 ] ! = 0 )
2010-09-15 04:02:44 +08:00
* cdef tuple fields
2010-09-06 22:15:53 +08:00
*/
__pyx_v_endian_detector = 1 ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":778
2010-09-06 22:15:53 +08:00
* cdef tuple i
* cdef int endian_detector = 1
* cdef bint little_endian = ( ( < char * > & endian_detector ) [ 0 ] ! = 0 ) # < < < < < < < < < < < < < <
2010-09-15 04:02:44 +08:00
* cdef tuple fields
2010-09-06 22:15:53 +08:00
*
*/
__pyx_v_little_endian = ( ( ( ( char * ) ( & __pyx_v_endian_detector ) ) [ 0 ] ) ! = 0 ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":781
2010-09-15 04:02:44 +08:00
* cdef tuple fields
2010-09-06 22:15:53 +08:00
*
2010-09-15 04:02:44 +08:00
* for childname in descr . names : # < < < < < < < < < < < < < <
* fields = descr . fields [ childname ]
* child , new_offset = fields
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
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 ) ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
PyErr_SetString ( PyExc_TypeError , " 'NoneType' object is not iterable " ) ; { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 781 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-06 22:15:53 +08:00
}
for ( ; ; ) {
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
__pyx_t_3 = 0 ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":782
2010-09-06 22:15:53 +08:00
*
2010-09-15 04:02:44 +08:00
* for childname in descr . names :
* fields = descr . fields [ childname ] # < < < < < < < < < < < < < <
* child , new_offset = fields
2010-09-06 22:15:53 +08:00
*
*/
2010-09-15 04:02:44 +08:00
__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 ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":783
2010-09-15 04:02:44 +08:00
* for childname in descr . names :
* fields = descr . fields [ childname ]
* child , new_offset = fields # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
*
* if ( end - f ) - ( new_offset - offset [ 0 ] ) < 15 :
*/
2010-09-15 04:02:44 +08:00
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 ; }
}
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":785
2010-09-15 04:02:44 +08:00
* child , new_offset = fields
2010-09-06 22:15:53 +08:00
*
* if ( end - f ) - ( new_offset - offset [ 0 ] ) < 15 : # < < < < < < < < < < < < < <
2010-09-15 04:02:44 +08:00
* raise RuntimeError ( u " Format string allocated too short, see comment in numpy.pxd " )
2010-09-06 22:15:53 +08:00
*
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
if ( __pyx_t_6 ) {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":786
2010-09-06 22:15:53 +08:00
*
* if ( end - f ) - ( new_offset - offset [ 0 ] ) < 15 :
2010-09-15 04:02:44 +08:00
* raise RuntimeError ( u " Format string allocated too short, see comment in numpy.pxd " ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
*
* if ( ( child . byteorder = = ' > ' and little_endian ) or
*/
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-11-22 21:56:37 +08:00
__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 ) ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
goto __pyx_L5 ;
}
__pyx_L5 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":788
2010-09-15 04:02:44 +08:00
* raise RuntimeError ( u " Format string allocated too short, see comment in numpy.pxd " )
2010-09-06 22:15:53 +08:00
*
* if ( ( child . byteorder = = ' > ' and little_endian ) or # < < < < < < < < < < < < < <
* ( child . byteorder = = ' < ' and not little_endian ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__pyx_t_6 = ( __pyx_v_child - > byteorder = = ' > ' ) ;
if ( __pyx_t_6 ) {
__pyx_t_7 = __pyx_v_little_endian ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_7 = __pyx_t_6 ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
if ( ! __pyx_t_7 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":789
2010-09-06 22:15:53 +08:00
*
* if ( ( child . byteorder = = ' > ' and little_endian ) or
* ( child . byteorder = = ' < ' and not little_endian ) ) : # < < < < < < < < < < < < < <
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
2010-09-06 22:15:53 +08:00
* # One could encode it in the format string and have Cython
*/
2010-09-15 04:02:44 +08:00
__pyx_t_6 = ( __pyx_v_child - > byteorder = = ' < ' ) ;
if ( __pyx_t_6 ) {
__pyx_t_8 = ( ! __pyx_v_little_endian ) ;
__pyx_t_9 = __pyx_t_8 ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_9 = __pyx_t_6 ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
__pyx_t_6 = __pyx_t_9 ;
2010-09-06 22:15:53 +08:00
} else {
2010-09-15 04:02:44 +08:00
__pyx_t_6 = __pyx_t_7 ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":790
2010-09-06 22:15:53 +08:00
* if ( ( child . byteorder = = ' > ' and little_endian ) or
* ( child . byteorder = = ' < ' and not little_endian ) ) :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " Non-native byte order not supported " ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
* # One could encode it in the format string and have Cython
* # complain instead , BUT : < and > in format strings also imply
*/
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-11-22 21:56:37 +08:00
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
PyTuple_SET_ITEM ( __pyx_t_3 , 0 , ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2010-09-06 22:15:53 +08:00
__Pyx_Raise ( __pyx_t_5 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 790 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-06 22:15:53 +08:00
goto __pyx_L6 ;
}
__pyx_L6 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":800
2010-09-06 22:15:53 +08:00
*
* # Output padding bytes
* while offset [ 0 ] < new_offset : # < < < < < < < < < < < < < <
* f [ 0 ] = 120 # " x " ; pad byte
* f + = 1
*/
while ( 1 ) {
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":801
2010-09-06 22:15:53 +08:00
* # Output padding bytes
* while offset [ 0 ] < new_offset :
* f [ 0 ] = 120 # " x " ; pad byte # < < < < < < < < < < < < < <
* f + = 1
* offset [ 0 ] + = 1
*/
( __pyx_v_f [ 0 ] ) = 120 ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":802
2010-09-06 22:15:53 +08:00
* while offset [ 0 ] < new_offset :
* f [ 0 ] = 120 # " x " ; pad byte
* f + = 1 # < < < < < < < < < < < < < <
* offset [ 0 ] + = 1
*
*/
__pyx_v_f + = 1 ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":803
2010-09-06 22:15:53 +08:00
* f [ 0 ] = 120 # " x " ; pad byte
* f + = 1
* offset [ 0 ] + = 1 # < < < < < < < < < < < < < <
*
* offset [ 0 ] + = child . itemsize
*/
( __pyx_v_offset [ 0 ] ) + = 1 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":805
2010-09-06 22:15:53 +08:00
* offset [ 0 ] + = 1
*
* offset [ 0 ] + = child . itemsize # < < < < < < < < < < < < < <
*
* if not PyDataType_HASFIELDS ( child ) :
*/
( __pyx_v_offset [ 0 ] ) + = __pyx_v_child - > elsize ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":807
2010-09-06 22:15:53 +08:00
* offset [ 0 ] + = child . itemsize
*
* if not PyDataType_HASFIELDS ( child ) : # < < < < < < < < < < < < < <
* t = child . type_num
* if end - f < 5 :
*/
2010-09-15 04:02:44 +08:00
__pyx_t_6 = ( ! PyDataType_HASFIELDS ( __pyx_v_child ) ) ;
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":808
2010-09-06 22:15:53 +08:00
*
* if not PyDataType_HASFIELDS ( child ) :
* t = child . type_num # < < < < < < < < < < < < < <
* if end - f < 5 :
2010-09-15 04:02:44 +08:00
* raise RuntimeError ( u " Format string allocated too short. " )
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_v_t ) ;
2010-09-15 04:02:44 +08:00
__pyx_v_t = __pyx_t_3 ;
__pyx_t_3 = 0 ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":809
2010-09-06 22:15:53 +08:00
* if not PyDataType_HASFIELDS ( child ) :
* t = child . type_num
* if end - f < 5 : # < < < < < < < < < < < < < <
2010-09-15 04:02:44 +08:00
* raise RuntimeError ( u " Format string allocated too short. " )
2010-09-06 22:15:53 +08:00
*
*/
2010-09-15 04:02:44 +08:00
__pyx_t_6 = ( ( __pyx_v_end - __pyx_v_f ) < 5 ) ;
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":810
2010-09-06 22:15:53 +08:00
* t = child . type_num
* if end - f < 5 :
2010-09-15 04:02:44 +08:00
* raise RuntimeError ( u " Format string allocated too short. " ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
*
* # Until ticket # 99 is fixed , use integers to avoid warnings
*/
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-11-22 21:56:37 +08:00
__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 ) ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2010-09-06 22:15:53 +08:00
__Pyx_Raise ( __pyx_t_5 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 810 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-06 22:15:53 +08:00
goto __pyx_L10 ;
}
__pyx_L10 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":813
2010-09-06 22:15:53 +08:00
*
* # 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 98 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":814
2010-09-06 22:15:53 +08:00
* # 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 66 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":815
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 104 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":816
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 72 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":817
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 105 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":818
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 73 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":819
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 108 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":820
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 76 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":821
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 113 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":822
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 81 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":823
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 102 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":824
2010-09-06 22:15:53 +08:00
* 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
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 100 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":825
2010-09-06 22:15:53 +08:00
* 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
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 103 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":826
2010-09-06 22:15:53 +08:00
* 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
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 90 ;
( __pyx_v_f [ 1 ] ) = 102 ;
__pyx_v_f + = 1 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":827
2010-09-06 22:15:53 +08:00
* 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 "
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 90 ;
( __pyx_v_f [ 1 ] ) = 100 ;
__pyx_v_f + = 1 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":828
2010-09-06 22:15:53 +08:00
* 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 :
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
if ( __pyx_t_6 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 90 ;
( __pyx_v_f [ 1 ] ) = 103 ;
__pyx_v_f + = 1 ;
goto __pyx_L11 ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":829
2010-09-06 22:15:53 +08:00
* 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 :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2010-09-15 04:02:44 +08:00
__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 ) ;
2010-09-06 22:15:53 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2010-09-15 04:02:44 +08:00
__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 ) {
2010-09-06 22:15:53 +08:00
( __pyx_v_f [ 0 ] ) = 79 ;
goto __pyx_L11 ;
}
/*else*/ {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":831
2010-09-06 22:15:53 +08:00
* elif t = = NPY_OBJECT : f [ 0 ] = 79 # " O "
* else :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t ) # < < < < < < < < < < < < < <
2010-09-06 22:15:53 +08:00
* f + = 1
* else :
*/
2010-11-22 21:56:37 +08:00
__pyx_t_3 = PyNumber_Remainder ( ( ( PyObject * ) __pyx_kp_u_6 ) , __pyx_v_t ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 831 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
}
__pyx_L11 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":832
2010-09-06 22:15:53 +08:00
* else :
2010-09-15 04:02:44 +08:00
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
2010-09-06 22:15:53 +08:00
* f + = 1 # < < < < < < < < < < < < < <
* else :
* # Cython ignores struct boundary information ( " T{...} " ) ,
*/
__pyx_v_f + = 1 ;
goto __pyx_L9 ;
}
/*else*/ {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":836
2010-09-06 22:15:53 +08:00
* # Cython ignores struct boundary information ( " T{...} " ) ,
* # so don ' t output it
* f = _util_dtypestring ( child , f , end , offset ) # < < < < < < < < < < < < < <
* return f
*
*/
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
}
__pyx_L9 : ;
}
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":837
2010-09-06 22:15:53 +08:00
* # so don ' t output it
* f = _util_dtypestring ( child , f , end , offset )
* return f # < < < < < < < < < < < < < <
*
2010-09-15 04:02:44 +08:00
*
2010-09-06 22:15:53 +08:00
*/
__pyx_r = __pyx_v_f ;
goto __pyx_L0 ;
2010-09-15 04:02:44 +08:00
__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._util_dtypestring " ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_DECREF ( ( PyObject * ) __pyx_v_child ) ;
__Pyx_DECREF ( __pyx_v_fields ) ;
__Pyx_DECREF ( __pyx_v_childname ) ;
__Pyx_DECREF ( __pyx_v_new_offset ) ;
__Pyx_DECREF ( __pyx_v_t ) ;
__Pyx_DECREF ( ( PyObject * ) __pyx_v_descr ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":952
2010-09-15 04:02:44 +08:00
*
*
* 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 ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":954
2010-09-15 04:02:44 +08:00
* 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 ) {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":955
2010-09-15 04:02:44 +08:00
* 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*/ {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":957
2010-09-15 04:02:44 +08:00
* baseptr = NULL
* else :
* Py_INCREF ( base ) # important to do this before decref below ! # < < < < < < < < < < < < < <
* baseptr = < PyObject * > base
* Py_XDECREF ( arr . base )
*/
Py_INCREF ( __pyx_v_base ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":958
2010-09-15 04:02:44 +08:00
* else :
* Py_INCREF ( base ) # important to do this before decref below !
* baseptr = < PyObject * > base # < < < < < < < < < < < < < <
* Py_XDECREF ( arr . base )
* arr . base = baseptr
*/
__pyx_v_baseptr = ( ( PyObject * ) __pyx_v_base ) ;
}
__pyx_L3 : ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":959
2010-09-15 04:02:44 +08:00
* Py_INCREF ( base ) # important to do this before decref below !
* baseptr = < PyObject * > base
* Py_XDECREF ( arr . base ) # < < < < < < < < < < < < < <
* arr . base = baseptr
*
*/
Py_XDECREF ( __pyx_v_arr - > base ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":960
2010-09-15 04:02:44 +08:00
* baseptr = < PyObject * > 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 ( ) ;
}
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":962
2010-09-15 04:02:44 +08:00
* 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 ) ;
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":963
2010-09-15 04:02:44 +08:00
*
* 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 ) {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":964
2010-09-15 04:02:44 +08:00
* cdef inline object get_array_base ( ndarray arr ) :
* if arr . base is NULL :
* return None # < < < < < < < < < < < < < <
* else :
* return < object > arr . base
*/
__Pyx_XDECREF ( __pyx_r ) ;
__Pyx_INCREF ( Py_None ) ;
__pyx_r = Py_None ;
goto __pyx_L0 ;
goto __pyx_L3 ;
}
/*else*/ {
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":966
2010-09-15 04:02:44 +08:00
* return None
* else :
* return < object > 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 ) ;
2010-09-06 22:15:53 +08:00
__pyx_L0 : ;
2010-09-15 04:02:44 +08:00
__Pyx_DECREF ( ( PyObject * ) __pyx_v_arr ) ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
2010-09-06 22:15:53 +08:00
return __pyx_r ;
}
static struct PyMethodDef __pyx_methods [ ] = {
2010-11-05 21:54:09 +08:00
{ __Pyx_NAMESTR ( " min_pos " ) , ( PyCFunction ) __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_min_pos , METH_O , __Pyx_DOCSTR ( __pyx_doc_7scikits_5learn_5utils_10arrayfuncs_min_pos ) } ,
2010-09-15 04:02:44 +08:00
{ __Pyx_NAMESTR ( " solve_triangular " ) , ( PyCFunction ) __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_solve_triangular , METH_VARARGS | METH_KEYWORDS , __Pyx_DOCSTR ( __pyx_doc_7scikits_5learn_5utils_10arrayfuncs_solve_triangular ) } ,
2010-09-15 04:45:56 +08:00
{ __Pyx_NAMESTR ( " cholesky_delete " ) , ( PyCFunction ) __pyx_pf_7scikits_5learn_5utils_10arrayfuncs_cholesky_delete , METH_VARARGS | METH_KEYWORDS , __Pyx_DOCSTR ( 0 ) } ,
2010-09-06 22:15:53 +08:00
{ 0 , 0 , 0 , 0 }
} ;
static void __pyx_init_filenames ( void ) ; /*proto*/
# if PY_MAJOR_VERSION >= 3
static struct PyModuleDef __pyx_moduledef = {
PyModuleDef_HEAD_INIT ,
__Pyx_NAMESTR ( " arrayfuncs " ) ,
2010-11-22 21:56:37 +08:00
__Pyx_DOCSTR ( __pyx_k_9 ) , /* m_doc */
2010-09-06 22:15:53 +08:00
- 1 , /* m_size */
__pyx_methods /* m_methods */ ,
NULL , /* m_reload */
NULL , /* m_traverse */
NULL , /* m_clear */
NULL /* m_free */
} ;
# endif
static __Pyx_StringTabEntry __pyx_string_tab [ ] = {
2010-11-05 21:54:09 +08:00
{ & __pyx_kp_s_1 , __pyx_k_1 , sizeof ( __pyx_k_1 ) , 0 , 0 , 1 , 0 } ,
{ & __pyx_kp_u_10 , __pyx_k_10 , sizeof ( __pyx_k_10 ) , 0 , 1 , 0 , 0 } ,
2010-11-22 21:56:37 +08:00
{ & __pyx_kp_u_11 , __pyx_k_11 , sizeof ( __pyx_k_11 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_s_2 , __pyx_k_2 , sizeof ( __pyx_k_2 ) , 0 , 0 , 1 , 0 } ,
2010-09-15 04:02:44 +08:00
{ & __pyx_kp_u_3 , __pyx_k_3 , sizeof ( __pyx_k_3 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_u_4 , __pyx_k_4 , sizeof ( __pyx_k_4 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_u_5 , __pyx_k_5 , sizeof ( __pyx_k_5 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_u_6 , __pyx_k_6 , sizeof ( __pyx_k_6 ) , 0 , 1 , 0 , 0 } ,
2010-11-05 21:54:09 +08:00
{ & __pyx_kp_u_7 , __pyx_k_7 , sizeof ( __pyx_k_7 ) , 0 , 1 , 0 , 0 } ,
2010-11-22 21:56:37 +08:00
{ & __pyx_kp_u_8 , __pyx_k_8 , sizeof ( __pyx_k_8 ) , 0 , 1 , 0 , 0 } ,
2010-09-15 04:45:56 +08:00
{ & __pyx_n_s__L , __pyx_k__L , sizeof ( __pyx_k__L ) , 0 , 0 , 1 , 1 } ,
2010-09-15 04:02:44 +08:00
{ & __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__X , __pyx_k__X , sizeof ( __pyx_k__X ) , 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__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__descr , __pyx_k__descr , sizeof ( __pyx_k__descr ) , 0 , 0 , 1 , 1 } ,
2010-11-05 21:54:09 +08:00
{ & __pyx_n_s__dtype , __pyx_k__dtype , sizeof ( __pyx_k__dtype ) , 0 , 0 , 1 , 1 } ,
2010-09-15 04:02:44 +08:00
{ & __pyx_n_s__fields , __pyx_k__fields , sizeof ( __pyx_k__fields ) , 0 , 0 , 1 , 1 } ,
2010-11-05 21:54:09 +08:00
{ & __pyx_n_s__float32 , __pyx_k__float32 , sizeof ( __pyx_k__float32 ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__float64 , __pyx_k__float64 , sizeof ( __pyx_k__float64 ) , 0 , 0 , 1 , 1 } ,
2010-09-15 04:02:44 +08:00
{ & __pyx_n_s__format , __pyx_k__format , sizeof ( __pyx_k__format ) , 0 , 0 , 1 , 1 } ,
2010-09-15 04:45:56 +08:00
{ & __pyx_n_s__go_out , __pyx_k__go_out , sizeof ( __pyx_k__go_out ) , 0 , 0 , 1 , 1 } ,
2010-09-15 04:02:44 +08:00
{ & __pyx_n_s__itemsize , __pyx_k__itemsize , sizeof ( __pyx_k__itemsize ) , 0 , 0 , 1 , 1 } ,
2010-11-05 21:54:09 +08:00
{ & __pyx_n_s__min_pos , __pyx_k__min_pos , sizeof ( __pyx_k__min_pos ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__name , __pyx_k__name , sizeof ( __pyx_k__name ) , 0 , 0 , 1 , 1 } ,
2010-09-15 04:02:44 +08:00
{ & __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__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 } ,
2010-11-05 21:54:09 +08:00
{ & __pyx_n_s__size , __pyx_k__size , sizeof ( __pyx_k__size ) , 0 , 0 , 1 , 1 } ,
2010-09-15 04:02:44 +08:00
{ & __pyx_n_s__solve_triangular , __pyx_k__solve_triangular , sizeof ( __pyx_k__solve_triangular ) , 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__type_num , __pyx_k__type_num , sizeof ( __pyx_k__type_num ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__y , __pyx_k__y , sizeof ( __pyx_k__y ) , 0 , 0 , 1 , 1 } ,
{ 0 , 0 , 0 , 0 , 0 , 0 , 0 }
2010-09-06 22:15:53 +08:00
} ;
static int __Pyx_InitCachedBuiltins ( void ) {
2010-11-22 21:56:37 +08:00
__pyx_builtin_ValueError = __Pyx_GetName ( __pyx_b , __pyx_n_s__ValueError ) ; if ( ! __pyx_builtin_ValueError ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 58 ; __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 [ 0 ] ; __pyx_lineno = 64 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
return 0 ;
__pyx_L1_error : ;
return - 1 ;
}
static int __Pyx_InitGlobals ( void ) {
if ( __Pyx_InitStrings ( __pyx_string_tab ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
2010-09-15 04:02:44 +08:00
__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 ; } ;
2010-09-06 22:15:53 +08:00
return 0 ;
__pyx_L1_error : ;
return - 1 ;
}
# if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initarrayfuncs ( void ) ; /*proto*/
PyMODINIT_FUNC initarrayfuncs ( void )
# else
PyMODINIT_FUNC PyInit_arrayfuncs ( void ) ; /*proto*/
PyMODINIT_FUNC PyInit_arrayfuncs ( void )
# endif
{
2010-09-15 04:02:44 +08:00
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
# if CYTHON_REFNANNY
void * __pyx_refnanny = NULL ;
__Pyx_RefNanny = __Pyx_RefNannyImportAPI ( " refnanny " ) ;
if ( ! __Pyx_RefNanny ) {
2010-09-06 22:15:53 +08:00
PyErr_Clear ( ) ;
2010-09-15 04:02:44 +08:00
__Pyx_RefNanny = __Pyx_RefNannyImportAPI ( " Cython.Runtime.refnanny " ) ;
if ( ! __Pyx_RefNanny )
Py_FatalError ( " failed to import 'refnanny' module " ) ;
2010-09-06 22:15:53 +08:00
}
2010-09-15 04:02:44 +08:00
__pyx_refnanny = __Pyx_RefNanny - > SetupContext ( " PyMODINIT_FUNC PyInit_arrayfuncs(void) " , __LINE__ , __FILE__ ) ;
2010-09-06 22:15:53 +08:00
# endif
2010-09-15 04:02:44 +08:00
__pyx_init_filenames ( ) ;
2010-09-06 22:15:53 +08:00
__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 ; }
2010-09-15 04:02:44 +08:00
# 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
2010-09-06 22:15:53 +08:00
/*--- Library function declarations ---*/
/*--- Threads initialization code ---*/
# if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
# ifdef WITH_THREAD /* Python build with threading support? */
PyEval_InitThreads ( ) ;
# endif
# endif
/*--- Module creation code ---*/
# if PY_MAJOR_VERSION < 3
2010-11-22 21:56:37 +08:00
__pyx_m = Py_InitModule4 ( __Pyx_NAMESTR ( " arrayfuncs " ) , __pyx_methods , __Pyx_DOCSTR ( __pyx_k_9 ) , 0 , PYTHON_API_VERSION ) ;
2010-09-06 22:15:53 +08:00
# else
__pyx_m = PyModule_Create ( & __pyx_moduledef ) ;
# endif
if ( ! __pyx_m ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
# if PY_MAJOR_VERSION < 3
Py_INCREF ( __pyx_m ) ;
# endif
__pyx_b = PyImport_AddModule ( __Pyx_NAMESTR ( __Pyx_BUILTIN_MODULE_NAME ) ) ;
if ( ! __pyx_b ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
if ( __Pyx_SetAttrString ( __pyx_m , " __builtins__ " , __pyx_b ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
2010-09-15 04:02:44 +08:00
/*--- 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 ; }
2010-09-06 22:15:53 +08:00
if ( __pyx_module_is_main_scikits__learn__utils__arrayfuncs ) {
2010-09-15 04:02:44 +08:00
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 ; } ;
2010-09-06 22:15:53 +08:00
}
/*--- Builtin init code ---*/
if ( unlikely ( __Pyx_InitCachedBuiltins ( ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
/*--- Global init code ---*/
/*--- Function export code ---*/
/*--- Type init code ---*/
/*--- Type import code ---*/
2010-09-15 04:02:44 +08:00
__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 ; }
2010-09-06 22:15:53 +08:00
/*--- Function import code ---*/
/*--- Execution code ---*/
2010-11-05 21:54:09 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":6
2010-09-06 22:15:53 +08:00
* " " "
* cimport numpy as np
* import numpy as np # < < < < < < < < < < < < < <
*
2010-11-05 21:54:09 +08:00
* cimport cython
2010-09-06 22:15:53 +08:00
*/
2010-09-15 04:02:44 +08:00
__pyx_t_1 = __Pyx_Import ( ( ( PyObject * ) __pyx_n_s__numpy ) , 0 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 6 ; __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 = 6 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2010-11-05 21:54:09 +08:00
/* "/home/fabian/dev/scikit-learn/scikits/learn/utils/arrayfuncs.pyx":1
2010-09-15 04:02:44 +08:00
* " " " # <<<<<<<<<<<<<<
* Small collection of auxiliary functions that operate on arrays
*
*/
__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 ) ) ;
2010-11-05 21:54:09 +08:00
__pyx_t_2 = PyObject_GetAttr ( __pyx_m , __pyx_n_s__min_pos ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-15 04:02:44 +08:00
__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 ;
2010-11-22 21:56:37 +08:00
if ( PyDict_SetItem ( __pyx_t_1 , ( ( PyObject * ) __pyx_kp_u_10 ) , __pyx_t_3 ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-15 04:02:44 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
__pyx_t_3 = PyObject_GetAttr ( __pyx_m , __pyx_n_s__solve_triangular ) ; 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 = __Pyx_GetAttrString ( __pyx_t_3 , " __doc__ " ) ;
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2010-11-22 21:56:37 +08:00
if ( PyDict_SetItem ( __pyx_t_1 , ( ( PyObject * ) __pyx_kp_u_11 ) , __pyx_t_2 ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2010-09-15 04:02:44 +08:00
__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 ;
2010-09-06 22:15:53 +08:00
2010-11-05 21:54:09 +08:00
/* "/usr/lib/pymodules/python2.6/Cython/Includes/stdlib.pxd":2
2010-09-06 22:15:53 +08:00
*
* cdef extern from " stdlib.h " nogil : # < < < < < < < < < < < < < <
* void free ( void * ptr )
* void * malloc ( size_t size )
*/
goto __pyx_L0 ;
__pyx_L1_error : ;
2010-09-15 04:02:44 +08:00
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_XDECREF ( __pyx_t_3 ) ;
if ( __pyx_m ) {
__Pyx_AddTraceback ( " init scikits.learn.utils.arrayfuncs " ) ;
Py_DECREF ( __pyx_m ) ; __pyx_m = 0 ;
} else if ( ! PyErr_Occurred ( ) ) {
PyErr_SetString ( PyExc_ImportError , " init scikits.learn.utils.arrayfuncs " ) ;
}
2010-09-06 22:15:53 +08:00
__pyx_L0 : ;
2010-09-15 04:02:44 +08:00
__Pyx_RefNannyFinishContext ( ) ;
2010-09-06 22:15:53 +08:00
# if PY_MAJOR_VERSION < 3
return ;
# else
return __pyx_m ;
# endif
}
static const char * __pyx_filenames [ ] = {
" arrayfuncs.pyx " ,
" numpy.pxd " ,
} ;
/* Runtime support code */
static void __pyx_init_filenames ( void ) {
__pyx_f = __pyx_filenames ;
}
static void __Pyx_RaiseDoubleKeywordsError (
const char * func_name ,
PyObject * kw_name )
{
PyErr_Format ( PyExc_TypeError ,
# if PY_MAJOR_VERSION >= 3
" %s() got multiple values for keyword argument '%U' " , func_name , kw_name ) ;
# else
" %s() got multiple values for keyword argument '%s' " , func_name ,
PyString_AS_STRING ( kw_name ) ) ;
# endif
}
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 )
{
Py_ssize_t num_expected ;
const char * number , * more_or_less ;
if ( num_found < num_min ) {
num_expected = num_min ;
more_or_less = " at least " ;
} else {
num_expected = num_max ;
more_or_less = " at most " ;
}
if ( exact ) {
more_or_less = " exactly " ;
}
number = ( num_expected = = 1 ) ? " " : " s " ;
PyErr_Format ( PyExc_TypeError ,
# if PY_VERSION_HEX < 0x02050000
" %s() takes %s %d positional argument%s (%d given) " ,
# else
" %s() takes %s %zd positional argument%s (%zd given) " ,
# endif
func_name , more_or_less , num_expected , number , num_found ) ;
}
static int __Pyx_ParseOptionalKeywords (
PyObject * kwds ,
PyObject * * argnames [ ] ,
PyObject * kwds2 ,
PyObject * values [ ] ,
Py_ssize_t num_pos_args ,
const char * function_name )
{
PyObject * key = 0 , * value = 0 ;
Py_ssize_t pos = 0 ;
PyObject * * * name ;
PyObject * * * first_kw_arg = argnames + num_pos_args ;
while ( PyDict_Next ( kwds , & pos , & key , & value ) ) {
name = first_kw_arg ;
while ( * name & & ( * * name ! = key ) ) name + + ;
if ( * name ) {
values [ name - argnames ] = value ;
} else {
# if PY_MAJOR_VERSION < 3
if ( unlikely ( ! PyString_CheckExact ( key ) ) & & unlikely ( ! PyString_Check ( key ) ) ) {
# else
if ( unlikely ( ! PyUnicode_CheckExact ( key ) ) & & unlikely ( ! PyUnicode_Check ( key ) ) ) {
# endif
goto invalid_keyword_type ;
} else {
for ( name = first_kw_arg ; * name ; name + + ) {
# if PY_MAJOR_VERSION >= 3
if ( PyUnicode_GET_SIZE ( * * name ) = = PyUnicode_GET_SIZE ( key ) & &
PyUnicode_Compare ( * * name , key ) = = 0 ) break ;
# else
if ( PyString_GET_SIZE ( * * name ) = = PyString_GET_SIZE ( key ) & &
_PyString_Eq ( * * name , key ) ) break ;
# endif
}
if ( * name ) {
values [ name - argnames ] = value ;
} else {
/* unexpected keyword found */
for ( name = argnames ; name ! = first_kw_arg ; name + + ) {
if ( * * name = = key ) goto arg_passed_twice ;
# if PY_MAJOR_VERSION >= 3
if ( PyUnicode_GET_SIZE ( * * name ) = = PyUnicode_GET_SIZE ( key ) & &
PyUnicode_Compare ( * * name , key ) = = 0 ) goto arg_passed_twice ;
# else
if ( PyString_GET_SIZE ( * * name ) = = PyString_GET_SIZE ( key ) & &
_PyString_Eq ( * * name , key ) ) goto arg_passed_twice ;
# endif
}
if ( kwds2 ) {
if ( unlikely ( PyDict_SetItem ( kwds2 , key , value ) ) ) goto bad ;
} else {
goto invalid_keyword ;
}
}
}
}
}
return 0 ;
arg_passed_twice :
__Pyx_RaiseDoubleKeywordsError ( function_name , * * name ) ;
goto bad ;
invalid_keyword_type :
PyErr_Format ( PyExc_TypeError ,
" %s() keywords must be strings " , function_name ) ;
goto bad ;
invalid_keyword :
PyErr_Format ( PyExc_TypeError ,
# if PY_MAJOR_VERSION < 3
" %s() got an unexpected keyword argument '%s' " ,
function_name , PyString_AsString ( key ) ) ;
# else
" %s() got an unexpected keyword argument '%U' " ,
function_name , key ) ;
# endif
bad :
return - 1 ;
}
2010-09-15 04:02:44 +08:00
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 ;
}
2010-09-06 22:15:53 +08:00
2010-09-15 04:02:44 +08:00
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 CYTHON_INLINE int __Pyx_TypeTest ( PyObject * obj , PyTypeObject * type ) {
if ( unlikely ( ! type ) ) {
2010-09-06 22:15:53 +08:00
PyErr_Format ( PyExc_SystemError , " Missing type object " ) ;
return 0 ;
}
2010-09-15 04:02:44 +08:00
if ( likely ( PyObject_TypeCheck ( obj , type ) ) )
2010-09-06 22:15:53 +08:00
return 1 ;
2010-09-15 04:02:44 +08:00
PyErr_Format ( PyExc_TypeError , " Cannot convert %.200s to %.200s " ,
Py_TYPE ( obj ) - > tp_name , type - > tp_name ) ;
2010-09-06 22:15:53 +08:00
return 0 ;
}
2010-09-15 04:02:44 +08:00
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 ( ) ;
}
}
2010-09-06 22:15:53 +08:00
static int __Pyx_ArgTypeTest ( PyObject * obj , PyTypeObject * type , int none_allowed ,
const char * name , int exact )
{
if ( ! type ) {
PyErr_Format ( PyExc_SystemError , " Missing type object " ) ;
return 0 ;
}
if ( none_allowed & & obj = = Py_None ) return 1 ;
else if ( exact ) {
if ( Py_TYPE ( obj ) = = type ) return 1 ;
}
else {
if ( PyObject_TypeCheck ( obj , type ) ) return 1 ;
}
PyErr_Format ( PyExc_TypeError ,
" Argument '%s' has incorrect type (expected %s, got %s) " ,
name , type - > tp_name , Py_TYPE ( obj ) - > tp_name ) ;
return 0 ;
}
static PyObject * __Pyx_Import ( PyObject * name , PyObject * from_list ) {
PyObject * __import__ = 0 ;
PyObject * empty_list = 0 ;
PyObject * module = 0 ;
PyObject * global_dict = 0 ;
PyObject * empty_dict = 0 ;
PyObject * list ;
__import__ = __Pyx_GetAttrString ( __pyx_b , " __import__ " ) ;
if ( ! __import__ )
goto bad ;
if ( from_list )
list = from_list ;
else {
empty_list = PyList_New ( 0 ) ;
if ( ! empty_list )
goto bad ;
list = empty_list ;
}
global_dict = PyModule_GetDict ( __pyx_m ) ;
if ( ! global_dict )
goto bad ;
empty_dict = PyDict_New ( ) ;
if ( ! empty_dict )
goto bad ;
module = PyObject_CallFunctionObjArgs ( __import__ ,
name , global_dict , empty_dict , list , NULL ) ;
bad :
Py_XDECREF ( empty_list ) ;
Py_XDECREF ( __import__ ) ;
Py_XDECREF ( empty_dict ) ;
return module ;
}
static PyObject * __Pyx_GetName ( PyObject * dict , PyObject * name ) {
PyObject * result ;
result = PyObject_GetAttr ( dict , name ) ;
if ( ! result )
PyErr_SetObject ( PyExc_NameError , name ) ;
return result ;
}
2010-11-22 21:56:37 +08:00
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 ;
}
2010-11-05 21:54:09 +08:00
# if PY_MAJOR_VERSION < 3
static void __Pyx_Raise ( PyObject * type , PyObject * value , PyObject * tb ) {
Py_XINCREF ( type ) ;
Py_XINCREF ( value ) ;
Py_XINCREF ( tb ) ;
/* First, check the traceback argument, replacing None with NULL. */
if ( tb = = Py_None ) {
Py_DECREF ( tb ) ;
tb = 0 ;
}
else if ( tb ! = NULL & & ! PyTraceBack_Check ( tb ) ) {
PyErr_SetString ( PyExc_TypeError ,
" raise: arg 3 must be a traceback or None " ) ;
goto raise_error ;
}
/* Next, replace a missing value with None */
if ( value = = NULL ) {
value = Py_None ;
Py_INCREF ( value ) ;
2010-09-15 04:02:44 +08:00
}
2010-11-05 21:54:09 +08:00
# if PY_VERSION_HEX < 0x02050000
if ( ! PyClass_Check ( type ) )
# else
if ( ! PyType_Check ( type ) )
# endif
{
/* Raising an instance. The value should be a dummy. */
if ( value ! = Py_None ) {
PyErr_SetString ( PyExc_TypeError ,
" instance exception may not have a separate value " ) ;
goto raise_error ;
}
/* Normalize to raise <class>, <instance> */
Py_DECREF ( value ) ;
value = type ;
# if PY_VERSION_HEX < 0x02050000
if ( PyInstance_Check ( type ) ) {
type = ( PyObject * ) ( ( PyInstanceObject * ) type ) - > in_class ;
Py_INCREF ( type ) ;
}
else {
type = 0 ;
PyErr_SetString ( PyExc_TypeError ,
" raise: exception must be an old-style class or instance " ) ;
goto raise_error ;
}
# else
type = ( PyObject * ) Py_TYPE ( type ) ;
Py_INCREF ( type ) ;
if ( ! PyType_IsSubtype ( ( PyTypeObject * ) type , ( PyTypeObject * ) PyExc_BaseException ) ) {
PyErr_SetString ( PyExc_TypeError ,
" raise: exception class must be a subclass of BaseException " ) ;
goto raise_error ;
}
# endif
}
__Pyx_ErrRestore ( type , value , tb ) ;
return ;
raise_error :
Py_XDECREF ( value ) ;
Py_XDECREF ( type ) ;
Py_XDECREF ( tb ) ;
return ;
2010-09-15 04:02:44 +08:00
}
2010-11-05 21:54:09 +08:00
# 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
2010-09-15 04:02:44 +08:00
# 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 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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( unsigned char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned char ) val ) ) {
2010-09-15 04:02:44 +08:00
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
2010-09-06 22:15:53 +08:00
PyErr_SetString ( PyExc_OverflowError ,
2010-09-15 04:02:44 +08:00
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to unsigned char " :
" value too large to convert to unsigned char " ) ;
2010-09-06 22:15:53 +08:00
}
return ( unsigned char ) - 1 ;
}
return ( unsigned char ) val ;
}
return ( unsigned char ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( unsigned short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned short ) val ) ) {
2010-09-15 04:02:44 +08:00
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
2010-09-06 22:15:53 +08:00
PyErr_SetString ( PyExc_OverflowError ,
2010-09-15 04:02:44 +08:00
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to unsigned short " :
" value too large to convert to unsigned short " ) ;
2010-09-06 22:15:53 +08:00
}
return ( unsigned short ) - 1 ;
}
return ( unsigned short ) val ;
}
return ( unsigned short ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( unsigned int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned int ) val ) ) {
2010-09-15 04:02:44 +08:00
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
2010-09-06 22:15:53 +08:00
PyErr_SetString ( PyExc_OverflowError ,
2010-09-15 04:02:44 +08:00
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to unsigned int " :
" value too large to convert to unsigned int " ) ;
2010-09-06 22:15:53 +08:00
}
return ( unsigned int ) - 1 ;
}
return ( unsigned int ) val ;
}
return ( unsigned int ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( char ) val ) ) {
2010-09-15 04:02:44 +08:00
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 " ) ;
}
2010-09-06 22:15:53 +08:00
return ( char ) - 1 ;
}
return ( char ) val ;
}
return ( char ) __Pyx_PyInt_AsLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( short ) val ) ) {
2010-09-15 04:02:44 +08:00
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 " ) ;
}
2010-09-06 22:15:53 +08:00
return ( short ) - 1 ;
}
return ( short ) val ;
}
return ( short ) __Pyx_PyInt_AsLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( int ) val ) ) {
2010-09-15 04:02:44 +08:00
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 " ) ;
}
2010-09-06 22:15:53 +08:00
return ( int ) - 1 ;
}
return ( int ) val ;
}
return ( int ) __Pyx_PyInt_AsLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( signed char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed char ) val ) ) {
2010-09-15 04:02:44 +08:00
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 " ) ;
}
2010-09-06 22:15:53 +08:00
return ( signed char ) - 1 ;
}
return ( signed char ) val ;
}
return ( signed char ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( signed short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed short ) val ) ) {
2010-09-15 04:02:44 +08:00
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 " ) ;
}
2010-09-06 22:15:53 +08:00
return ( signed short ) - 1 ;
}
return ( signed short ) val ;
}
return ( signed short ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
if ( sizeof ( signed int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed int ) val ) ) {
2010-09-15 04:02:44 +08:00
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 " ) ;
}
2010-09-06 22:15:53 +08:00
return ( signed int ) - 1 ;
}
return ( signed int ) val ;
}
return ( signed int ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x03000000
2010-09-15 04:02:44 +08:00
if ( likely ( PyInt_Check ( x ) ) ) {
2010-09-06 22:15:53 +08:00
long val = PyInt_AS_LONG ( x ) ;
2010-09-15 04:02:44 +08:00
if ( is_unsigned & & unlikely ( val < 0 ) ) {
2010-09-06 22:15:53 +08:00
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned long " ) ;
return ( unsigned long ) - 1 ;
}
return ( unsigned long ) val ;
} else
# endif
2010-09-15 04:02:44 +08:00
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 ) ;
2010-09-06 22:15:53 +08:00
}
} else {
unsigned long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( unsigned long ) - 1 ;
val = __Pyx_PyInt_AsUnsignedLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x03000000
2010-09-15 04:02:44 +08:00
if ( likely ( PyInt_Check ( x ) ) ) {
2010-09-06 22:15:53 +08:00
long val = PyInt_AS_LONG ( x ) ;
2010-09-15 04:02:44 +08:00
if ( is_unsigned & & unlikely ( val < 0 ) ) {
2010-09-06 22:15:53 +08:00
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned PY_LONG_LONG " ) ;
return ( unsigned PY_LONG_LONG ) - 1 ;
}
return ( unsigned PY_LONG_LONG ) val ;
} else
# endif
2010-09-15 04:02:44 +08:00
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 ) ;
2010-09-06 22:15:53 +08:00
}
} else {
unsigned PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( unsigned PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsUnsignedLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x03000000
2010-09-15 04:02:44 +08:00
if ( likely ( PyInt_Check ( x ) ) ) {
2010-09-06 22:15:53 +08:00
long val = PyInt_AS_LONG ( x ) ;
2010-09-15 04:02:44 +08:00
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to long " ) ;
return ( long ) - 1 ;
}
2010-09-06 22:15:53 +08:00
return ( long ) val ;
} else
# endif
2010-09-15 04:02:44 +08:00
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 ) ;
}
2010-09-06 22:15:53 +08:00
} else {
long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( long ) - 1 ;
val = __Pyx_PyInt_AsLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x03000000
2010-09-15 04:02:44 +08:00
if ( likely ( PyInt_Check ( x ) ) ) {
2010-09-06 22:15:53 +08:00
long val = PyInt_AS_LONG ( x ) ;
2010-09-15 04:02:44 +08:00
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to PY_LONG_LONG " ) ;
return ( PY_LONG_LONG ) - 1 ;
}
2010-09-06 22:15:53 +08:00
return ( PY_LONG_LONG ) val ;
} else
# endif
2010-09-15 04:02:44 +08:00
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 ) ;
}
2010-09-06 22:15:53 +08:00
} else {
PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x03000000
2010-09-15 04:02:44 +08:00
if ( likely ( PyInt_Check ( x ) ) ) {
2010-09-06 22:15:53 +08:00
long val = PyInt_AS_LONG ( x ) ;
2010-09-15 04:02:44 +08:00
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to signed long " ) ;
return ( signed long ) - 1 ;
}
2010-09-06 22:15:53 +08:00
return ( signed long ) val ;
} else
# endif
2010-09-15 04:02:44 +08:00
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 ) ;
}
2010-09-06 22:15:53 +08:00
} else {
signed long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( signed long ) - 1 ;
val = __Pyx_PyInt_AsSignedLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
2010-09-15 04:02:44 +08:00
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 ;
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x03000000
2010-09-15 04:02:44 +08:00
if ( likely ( PyInt_Check ( x ) ) ) {
2010-09-06 22:15:53 +08:00
long val = PyInt_AS_LONG ( x ) ;
2010-09-15 04:02:44 +08:00
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 ;
}
2010-09-06 22:15:53 +08:00
return ( signed PY_LONG_LONG ) val ;
} else
# endif
2010-09-15 04:02:44 +08:00
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 ) ;
}
2010-09-06 22:15:53 +08:00
} else {
signed PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( signed PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsSignedLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
# ifndef __PYX_HAVE_RT_ImportType
# define __PYX_HAVE_RT_ImportType
static PyTypeObject * __Pyx_ImportType ( const char * module_name , const char * class_name ,
2010-09-15 04:02:44 +08:00
long size , int strict )
2010-09-06 22:15:53 +08:00
{
PyObject * py_module = 0 ;
PyObject * result = 0 ;
PyObject * py_name = 0 ;
2010-09-15 04:02:44 +08:00
char warning [ 200 ] ;
2010-09-06 22:15:53 +08:00
py_module = __Pyx_ImportModule ( module_name ) ;
if ( ! py_module )
goto bad ;
# if PY_MAJOR_VERSION < 3
py_name = PyString_FromString ( class_name ) ;
# else
py_name = PyUnicode_FromString ( class_name ) ;
# endif
if ( ! py_name )
goto bad ;
result = PyObject_GetAttr ( py_module , py_name ) ;
Py_DECREF ( py_name ) ;
py_name = 0 ;
Py_DECREF ( py_module ) ;
py_module = 0 ;
if ( ! result )
goto bad ;
if ( ! PyType_Check ( result ) ) {
PyErr_Format ( PyExc_TypeError ,
" %s.%s is not a type object " ,
module_name , class_name ) ;
goto bad ;
}
2010-09-15 04:02:44 +08:00
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 ) {
2010-09-06 22:15:53 +08:00
PyErr_Format ( PyExc_ValueError ,
2010-09-15 04:02:44 +08:00
" %s.%s has the wrong size, try recompiling " ,
2010-09-06 22:15:53 +08:00
module_name , class_name ) ;
goto bad ;
}
return ( PyTypeObject * ) result ;
bad :
Py_XDECREF ( py_module ) ;
Py_XDECREF ( result ) ;
return 0 ;
}
# endif
# ifndef __PYX_HAVE_RT_ImportModule
# define __PYX_HAVE_RT_ImportModule
static PyObject * __Pyx_ImportModule ( const char * name ) {
PyObject * py_name = 0 ;
PyObject * py_module = 0 ;
# if PY_MAJOR_VERSION < 3
py_name = PyString_FromString ( name ) ;
# else
py_name = PyUnicode_FromString ( name ) ;
# endif
if ( ! py_name )
goto bad ;
py_module = PyImport_Import ( py_name ) ;
Py_DECREF ( py_name ) ;
return py_module ;
bad :
Py_XDECREF ( py_name ) ;
return 0 ;
}
# endif
# include "compile.h"
# include "frameobject.h"
# include "traceback.h"
static void __Pyx_AddTraceback ( const char * funcname ) {
PyObject * py_srcfile = 0 ;
PyObject * py_funcname = 0 ;
PyObject * py_globals = 0 ;
PyCodeObject * py_code = 0 ;
PyFrameObject * py_frame = 0 ;
# if PY_MAJOR_VERSION < 3
py_srcfile = PyString_FromString ( __pyx_filename ) ;
# else
py_srcfile = PyUnicode_FromString ( __pyx_filename ) ;
# endif
if ( ! py_srcfile ) goto bad ;
if ( __pyx_clineno ) {
# if PY_MAJOR_VERSION < 3
py_funcname = PyString_FromFormat ( " %s (%s:%d) " , funcname , __pyx_cfilenm , __pyx_clineno ) ;
# else
py_funcname = PyUnicode_FromFormat ( " %s (%s:%d) " , funcname , __pyx_cfilenm , __pyx_clineno ) ;
# endif
}
else {
# if PY_MAJOR_VERSION < 3
py_funcname = PyString_FromString ( funcname ) ;
# else
py_funcname = PyUnicode_FromString ( funcname ) ;
# endif
}
if ( ! py_funcname ) goto bad ;
py_globals = PyModule_GetDict ( __pyx_m ) ;
if ( ! py_globals ) goto bad ;
py_code = PyCode_New (
0 , /*int argcount,*/
# if PY_MAJOR_VERSION >= 3
0 , /*int kwonlyargcount,*/
# endif
0 , /*int nlocals,*/
0 , /*int stacksize,*/
0 , /*int flags,*/
2010-09-15 04:02:44 +08:00
__pyx_empty_bytes , /*PyObject *code,*/
2010-09-06 22:15:53 +08:00
__pyx_empty_tuple , /*PyObject *consts,*/
__pyx_empty_tuple , /*PyObject *names,*/
__pyx_empty_tuple , /*PyObject *varnames,*/
__pyx_empty_tuple , /*PyObject *freevars,*/
__pyx_empty_tuple , /*PyObject *cellvars,*/
py_srcfile , /*PyObject *filename,*/
py_funcname , /*PyObject *name,*/
__pyx_lineno , /*int firstlineno,*/
2010-09-15 04:02:44 +08:00
__pyx_empty_bytes /*PyObject *lnotab*/
2010-09-06 22:15:53 +08:00
) ;
if ( ! py_code ) goto bad ;
py_frame = PyFrame_New (
PyThreadState_GET ( ) , /*PyThreadState *tstate,*/
py_code , /*PyCodeObject *code,*/
py_globals , /*PyObject *globals,*/
0 /*PyObject *locals*/
) ;
if ( ! py_frame ) goto bad ;
py_frame - > f_lineno = __pyx_lineno ;
PyTraceBack_Here ( py_frame ) ;
bad :
Py_XDECREF ( py_srcfile ) ;
Py_XDECREF ( py_funcname ) ;
Py_XDECREF ( py_code ) ;
Py_XDECREF ( py_frame ) ;
}
static int __Pyx_InitStrings ( __Pyx_StringTabEntry * t ) {
while ( t - > p ) {
# if PY_MAJOR_VERSION < 3
2010-09-15 04:02:44 +08:00
if ( t - > is_unicode ) {
2010-09-06 22:15:53 +08:00
* t - > p = PyUnicode_DecodeUTF8 ( t - > s , t - > n - 1 , NULL ) ;
} else if ( t - > intern ) {
* t - > p = PyString_InternFromString ( t - > s ) ;
} else {
* t - > p = PyString_FromStringAndSize ( t - > s , t - > n - 1 ) ;
}
# else /* Python 3+ has unicode identifiers */
2010-09-15 04:02:44 +08:00
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 ) ;
}
2010-09-06 22:15:53 +08:00
} else {
* t - > p = PyBytes_FromStringAndSize ( t - > s , t - > n - 1 ) ;
}
# endif
if ( ! * t - > p )
return - 1 ;
+ + t ;
}
return 0 ;
}
/* Type Conversion Functions */
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE int __Pyx_PyObject_IsTrue ( PyObject * x ) {
2010-09-06 22:15:53 +08:00
if ( x = = Py_True ) return 1 ;
else if ( ( x = = Py_False ) | ( x = = Py_None ) ) return 0 ;
else return PyObject_IsTrue ( x ) ;
}
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE PyObject * __Pyx_PyNumber_Int ( PyObject * x ) {
2010-09-06 22:15:53 +08:00
PyNumberMethods * m ;
const char * name = NULL ;
PyObject * res = NULL ;
# if PY_VERSION_HEX < 0x03000000
if ( PyInt_Check ( x ) | | PyLong_Check ( x ) )
# else
if ( PyLong_Check ( x ) )
# endif
return Py_INCREF ( x ) , x ;
m = Py_TYPE ( x ) - > tp_as_number ;
# if PY_VERSION_HEX < 0x03000000
if ( m & & m - > nb_int ) {
name = " int " ;
res = PyNumber_Int ( x ) ;
}
else if ( m & & m - > nb_long ) {
name = " long " ;
res = PyNumber_Long ( x ) ;
}
# else
if ( m & & m - > nb_int ) {
name = " int " ;
res = PyNumber_Long ( x ) ;
}
# endif
if ( res ) {
# if PY_VERSION_HEX < 0x03000000
if ( ! PyInt_Check ( res ) & & ! PyLong_Check ( res ) ) {
# else
if ( ! PyLong_Check ( res ) ) {
# endif
PyErr_Format ( PyExc_TypeError ,
" __%s__ returned non-%s (type %.200s) " ,
name , name , Py_TYPE ( res ) - > tp_name ) ;
Py_DECREF ( res ) ;
return NULL ;
}
}
else if ( ! PyErr_Occurred ( ) ) {
PyErr_SetString ( PyExc_TypeError ,
" an integer is required " ) ;
}
return res ;
}
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t ( PyObject * b ) {
2010-09-06 22:15:53 +08:00
Py_ssize_t ival ;
PyObject * x = PyNumber_Index ( b ) ;
if ( ! x ) return - 1 ;
ival = PyInt_AsSsize_t ( x ) ;
Py_DECREF ( x ) ;
return ival ;
}
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t ( size_t ival ) {
2010-09-06 22:15:53 +08:00
# if PY_VERSION_HEX < 0x02050000
if ( ival < = LONG_MAX )
return PyInt_FromLong ( ( long ) ival ) ;
else {
unsigned char * bytes = ( unsigned char * ) & ival ;
int one = 1 ; int little = ( int ) * ( unsigned char * ) & one ;
return _PyLong_FromByteArray ( bytes , sizeof ( size_t ) , little , 0 ) ;
}
# else
return PyInt_FromSize_t ( ival ) ;
# endif
}
2010-09-15 04:02:44 +08:00
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t ( PyObject * x ) {
2010-09-06 22:15:53 +08:00
unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong ( x ) ;
if ( unlikely ( val = = ( unsigned PY_LONG_LONG ) - 1 & & PyErr_Occurred ( ) ) ) {
return ( size_t ) - 1 ;
} else if ( unlikely ( val ! = ( unsigned PY_LONG_LONG ) ( size_t ) val ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to size_t " ) ;
return ( size_t ) - 1 ;
}
return ( size_t ) val ;
}
2010-09-15 04:02:44 +08:00
# endif /* Py_PYTHON_H */