2013-01-08 01:33:04 +08:00
/* Generated by Cython 0.17.4 on Mon Jan 7 18:14:52 2013 */
2011-11-18 02:22:31 +08:00
# define PY_SSIZE_T_CLEAN
# include "Python.h"
# ifndef Py_PYTHON_H
# error Python headers needed to compile C extensions, please install development version of Python.
# elif PY_VERSION_HEX < 0x02040000
# error Cython requires Python 2.4+.
# else
# include <stddef.h> /* For offsetof */
# ifndef offsetof
# define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
# endif
# if !defined(WIN32) && !defined(MS_WINDOWS)
# ifndef __stdcall
# define __stdcall
# endif
# ifndef __cdecl
# define __cdecl
# endif
# ifndef __fastcall
# define __fastcall
# endif
# endif
# ifndef DL_IMPORT
# define DL_IMPORT(t) t
# endif
# ifndef DL_EXPORT
# define DL_EXPORT(t) t
# endif
# ifndef PY_LONG_LONG
# define PY_LONG_LONG LONG_LONG
# endif
2013-01-08 01:33:04 +08:00
# ifndef Py_HUGE_VAL
# define Py_HUGE_VAL HUGE_VAL
# endif
# ifdef PYPY_VERSION
# define CYTHON_COMPILING_IN_PYPY 1
# define CYTHON_COMPILING_IN_CPYTHON 0
# else
# define CYTHON_COMPILING_IN_PYPY 0
# define CYTHON_COMPILING_IN_CPYTHON 1
# endif
2011-11-18 02:22:31 +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 ""
2013-01-08 01:33:04 +08:00
# define CYTHON_FORMAT_SSIZE_T ""
2011-11-18 02:22:31 +08:00
# define PyInt_FromSsize_t(z) PyInt_FromLong(z)
# define PyInt_AsSsize_t(o) __Pyx_PyInt_AsInt(o)
2013-01-08 01:33:04 +08:00
# define PyNumber_Index(o) ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
( PyErr_Format ( PyExc_TypeError , \
" expected index value, got %.200s " , Py_TYPE ( o ) - > tp_name ) , \
( PyObject * ) 0 ) )
# define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
! PyComplex_Check ( o ) )
# define PyIndex_Check __Pyx_PyIndex_Check
2011-11-18 02:22:31 +08:00
# define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
2013-01-08 01:33:04 +08:00
# define __PYX_BUILD_PY_SSIZE_T "i"
# else
# define __PYX_BUILD_PY_SSIZE_T "n"
# define CYTHON_FORMAT_SSIZE_T "z"
# define __Pyx_PyIndex_Check PyIndex_Check
2011-11-18 02:22:31 +08:00
# endif
# if PY_VERSION_HEX < 0x02060000
# define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
# define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
# define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
# define PyVarObject_HEAD_INIT(type, size) \
PyObject_HEAD_INIT ( type ) size ,
# define PyType_Modified(t)
typedef struct {
void * buf ;
PyObject * obj ;
Py_ssize_t len ;
Py_ssize_t itemsize ;
int readonly ;
int ndim ;
char * format ;
Py_ssize_t * shape ;
Py_ssize_t * strides ;
Py_ssize_t * suboffsets ;
void * internal ;
} Py_buffer ;
# define PyBUF_SIMPLE 0
# define PyBUF_WRITABLE 0x0001
# define PyBUF_FORMAT 0x0004
# define PyBUF_ND 0x0008
# define PyBUF_STRIDES (0x0010 | PyBUF_ND)
# define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
# define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
# define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
# define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
2013-01-08 01:33:04 +08:00
# define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
# define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
typedef int ( * getbufferproc ) ( PyObject * , Py_buffer * , int ) ;
typedef void ( * releasebufferproc ) ( PyObject * , Py_buffer * ) ;
2011-11-18 02:22:31 +08:00
# endif
# if PY_MAJOR_VERSION < 3
# define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
# define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
PyCode_New ( a , l , s , f , code , c , n , v , fv , cell , fn , name , fline , lnos )
# else
# define __Pyx_BUILTIN_MODULE_NAME "builtins"
# define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
PyCode_New ( a , k , l , s , f , code , c , n , v , fv , cell , fn , name , fline , lnos )
# endif
2013-01-08 01:33:04 +08:00
# if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
# define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
# endif
2011-11-18 02:22:31 +08:00
# if PY_MAJOR_VERSION >= 3
# define Py_TPFLAGS_CHECKTYPES 0
# define Py_TPFLAGS_HAVE_INDEX 0
# endif
# if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
# define Py_TPFLAGS_HAVE_NEWBUFFER 0
# endif
2013-01-08 01:33:04 +08:00
# if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
# define CYTHON_PEP393_ENABLED 1
# define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ? \
0 : _PyUnicode_Ready ( ( PyObject * ) ( op ) ) )
# define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
2011-11-18 02:22:31 +08:00
# define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
2013-01-08 01:33:04 +08:00
# define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
2011-11-18 02:22:31 +08:00
# else
2013-01-08 01:33:04 +08:00
# define CYTHON_PEP393_ENABLED 0
# define __Pyx_PyUnicode_READY(op) (0)
# define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
2011-11-18 02:22:31 +08:00
# define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
2013-01-08 01:33:04 +08:00
# define __Pyx_PyUnicode_READ(k, d, i) ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
2011-11-18 02:22:31 +08:00
# endif
# if PY_MAJOR_VERSION >= 3
# define PyBaseString_Type PyUnicode_Type
# define PyStringObject PyUnicodeObject
# define PyString_Type PyUnicode_Type
# define PyString_Check PyUnicode_Check
# define PyString_CheckExact PyUnicode_CheckExact
# endif
# if PY_VERSION_HEX < 0x02060000
# define PyBytesObject PyStringObject
# define PyBytes_Type PyString_Type
# define PyBytes_Check PyString_Check
# define PyBytes_CheckExact PyString_CheckExact
# define PyBytes_FromString PyString_FromString
# define PyBytes_FromStringAndSize PyString_FromStringAndSize
# define PyBytes_FromFormat PyString_FromFormat
# define PyBytes_DecodeEscape PyString_DecodeEscape
# define PyBytes_AsString PyString_AsString
# define PyBytes_AsStringAndSize PyString_AsStringAndSize
# define PyBytes_Size PyString_Size
# define PyBytes_AS_STRING PyString_AS_STRING
# define PyBytes_GET_SIZE PyString_GET_SIZE
# define PyBytes_Repr PyString_Repr
# define PyBytes_Concat PyString_Concat
# define PyBytes_ConcatAndDel PyString_ConcatAndDel
# endif
# if PY_VERSION_HEX < 0x02060000
# define PySet_Check(obj) PyObject_TypeCheck(obj, &PySet_Type)
# define PyFrozenSet_Check(obj) PyObject_TypeCheck(obj, &PyFrozenSet_Type)
# endif
# ifndef PySet_CheckExact
# define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
# endif
# define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
# if PY_MAJOR_VERSION >= 3
# define PyIntObject PyLongObject
# define PyInt_Type PyLong_Type
# define PyInt_Check(op) PyLong_Check(op)
# define PyInt_CheckExact(op) PyLong_CheckExact(op)
# define PyInt_FromString PyLong_FromString
# define PyInt_FromUnicode PyLong_FromUnicode
# define PyInt_FromLong PyLong_FromLong
# define PyInt_FromSize_t PyLong_FromSize_t
# define PyInt_FromSsize_t PyLong_FromSsize_t
# define PyInt_AsLong PyLong_AsLong
# define PyInt_AS_LONG PyLong_AS_LONG
# define PyInt_AsSsize_t PyLong_AsSsize_t
# define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
# define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
# endif
# if PY_MAJOR_VERSION >= 3
# define PyBoolObject PyLongObject
# endif
# if PY_VERSION_HEX < 0x03020000
typedef long Py_hash_t ;
# define __Pyx_PyInt_FromHash_t PyInt_FromLong
# define __Pyx_PyInt_AsHash_t PyInt_AsLong
# else
# define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
# define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
# endif
# if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
# define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
# define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
# define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
# else
# define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
( PyErr_SetString ( PyExc_SystemError , " null argument to internal routine " ) , ( PyObject * ) 0 ) : \
( likely ( ( obj ) - > ob_type - > tp_as_mapping ) ? ( PySequence_GetSlice ( obj , a , b ) ) : \
( PyErr_Format ( PyExc_TypeError , " '%.200s' object is unsliceable " , ( obj ) - > ob_type - > tp_name ) , ( PyObject * ) 0 ) ) )
# define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
( PyErr_SetString ( PyExc_SystemError , " null argument to internal routine " ) , - 1 ) : \
( likely ( ( obj ) - > ob_type - > tp_as_mapping ) ? ( PySequence_SetSlice ( obj , a , b , value ) ) : \
( PyErr_Format ( PyExc_TypeError , " '%.200s' object doesn't support slice assignment " , ( obj ) - > ob_type - > tp_name ) , - 1 ) ) )
# define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
( PyErr_SetString ( PyExc_SystemError , " null argument to internal routine " ) , - 1 ) : \
( likely ( ( obj ) - > ob_type - > tp_as_mapping ) ? ( PySequence_DelSlice ( obj , a , b ) ) : \
( PyErr_Format ( PyExc_TypeError , " '%.200s' object doesn't support slice deletion " , ( obj ) - > ob_type - > tp_name ) , - 1 ) ) )
# endif
# if PY_MAJOR_VERSION >= 3
# define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
# endif
# if PY_VERSION_HEX < 0x02050000
# define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n)))
# define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
# define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n)))
# else
# define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n))
# define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
# define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n))
# endif
# if PY_VERSION_HEX < 0x02050000
# define __Pyx_NAMESTR(n) ((char *)(n))
# define __Pyx_DOCSTR(n) ((char *)(n))
# else
# define __Pyx_NAMESTR(n) (n)
# define __Pyx_DOCSTR(n) (n)
# endif
2013-01-08 01:33:04 +08:00
# if PY_MAJOR_VERSION >= 3
# define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
# define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
# else
# define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
# define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
# endif
2011-11-18 02:22:31 +08:00
# ifndef __PYX_EXTERN_C
# ifdef __cplusplus
# define __PYX_EXTERN_C extern "C"
# else
# define __PYX_EXTERN_C extern
# endif
# endif
# if defined(WIN32) || defined(MS_WINDOWS)
# define _USE_MATH_DEFINES
# endif
# include <math.h>
# define __PYX_HAVE__sklearn__utils__arraybuilder
# define __PYX_HAVE_API__sklearn__utils__arraybuilder
# include "stdio.h"
# include "stdlib.h"
# include "numpy/arrayobject.h"
# include "numpy/ufuncobject.h"
# ifdef _OPENMP
# include <omp.h>
# endif /* _OPENMP */
# ifdef PYREX_WITHOUT_ASSERTIONS
# define CYTHON_WITHOUT_ASSERTIONS
# endif
/* inline attribute */
# ifndef CYTHON_INLINE
# if defined(__GNUC__)
# define CYTHON_INLINE __inline__
# elif defined(_MSC_VER)
# define CYTHON_INLINE __inline
# elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
# define CYTHON_INLINE inline
# else
# define CYTHON_INLINE
# endif
# endif
/* unused attribute */
# ifndef CYTHON_UNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define CYTHON_UNUSED __attribute__ ((__unused__))
# else
# define CYTHON_UNUSED
# endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
# define CYTHON_UNUSED __attribute__ ((__unused__))
# else
# define CYTHON_UNUSED
# endif
# endif
typedef struct { PyObject * * p ; char * s ; const long n ; const char * encoding ; const char is_unicode ; const char is_str ; const char intern ; } __Pyx_StringTabEntry ; /*proto*/
/* Type Conversion Predeclarations */
# define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
# define __Pyx_PyBytes_AsUString(s) ((unsigned char*) PyBytes_AsString(s))
# define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
# define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
static CYTHON_INLINE int __Pyx_PyObject_IsTrue ( PyObject * ) ;
static CYTHON_INLINE PyObject * __Pyx_PyNumber_Int ( PyObject * x ) ;
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t ( PyObject * ) ;
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t ( size_t ) ;
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t ( PyObject * ) ;
2013-01-08 01:33:04 +08:00
# if CYTHON_COMPILING_IN_CPYTHON
2011-11-18 02:22:31 +08:00
# define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
2013-01-08 01:33:04 +08:00
# else
# define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
# endif
# define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
2011-11-18 02:22:31 +08:00
# ifdef __GNUC__
/* Test for GCC > 2.95 */
# if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
# define likely(x) __builtin_expect(!!(x), 1)
# define unlikely(x) __builtin_expect(!!(x), 0)
# else /* __GNUC__ > 2 ... */
# define likely(x) (x)
# define unlikely(x) (x)
# endif /* __GNUC__ > 2 ... */
# else /* __GNUC__ */
# define likely(x) (x)
# define unlikely(x) (x)
# endif /* __GNUC__ */
static PyObject * __pyx_m ;
static PyObject * __pyx_b ;
static PyObject * __pyx_empty_tuple ;
static PyObject * __pyx_empty_bytes ;
static int __pyx_lineno ;
static int __pyx_clineno = 0 ;
static const char * __pyx_cfilenm = __FILE__ ;
static const char * __pyx_filename ;
# if !defined(CYTHON_CCOMPLEX)
# if defined(__cplusplus)
# define CYTHON_CCOMPLEX 1
# elif defined(_Complex_I)
# define CYTHON_CCOMPLEX 1
# else
# define CYTHON_CCOMPLEX 0
# endif
# endif
# if CYTHON_CCOMPLEX
# ifdef __cplusplus
# include <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
2013-01-08 01:33:04 +08:00
2011-11-18 02:22:31 +08:00
static const char * __pyx_f [ ] = {
" arraybuilder.pyx " ,
" numpy.pxd " ,
2013-01-08 01:33:04 +08:00
" type.pxd " ,
2011-11-18 02:22:31 +08:00
} ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":723
2011-11-18 02:22:31 +08:00
* # in Cython to enable them only on the right systems .
*
* ctypedef npy_int8 int8_t # < < < < < < < < < < < < < <
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t
*/
typedef npy_int8 __pyx_t_5numpy_int8_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":724
2011-11-18 02:22:31 +08:00
*
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t # < < < < < < < < < < < < < <
* ctypedef npy_int32 int32_t
* ctypedef npy_int64 int64_t
*/
typedef npy_int16 __pyx_t_5numpy_int16_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":725
2011-11-18 02:22:31 +08:00
* ctypedef npy_int8 int8_t
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t # < < < < < < < < < < < < < <
* ctypedef npy_int64 int64_t
* # ctypedef npy_int96 int96_t
*/
typedef npy_int32 __pyx_t_5numpy_int32_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":726
2011-11-18 02:22:31 +08:00
* ctypedef npy_int16 int16_t
* ctypedef npy_int32 int32_t
* ctypedef npy_int64 int64_t # < < < < < < < < < < < < < <
* # ctypedef npy_int96 int96_t
* # ctypedef npy_int128 int128_t
*/
typedef npy_int64 __pyx_t_5numpy_int64_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":730
2011-11-18 02:22:31 +08:00
* # ctypedef npy_int128 int128_t
*
* ctypedef npy_uint8 uint8_t # < < < < < < < < < < < < < <
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t
*/
typedef npy_uint8 __pyx_t_5numpy_uint8_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":731
2011-11-18 02:22:31 +08:00
*
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t # < < < < < < < < < < < < < <
* ctypedef npy_uint32 uint32_t
* ctypedef npy_uint64 uint64_t
*/
typedef npy_uint16 __pyx_t_5numpy_uint16_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":732
2011-11-18 02:22:31 +08:00
* ctypedef npy_uint8 uint8_t
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t # < < < < < < < < < < < < < <
* ctypedef npy_uint64 uint64_t
* # ctypedef npy_uint96 uint96_t
*/
typedef npy_uint32 __pyx_t_5numpy_uint32_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":733
2011-11-18 02:22:31 +08:00
* ctypedef npy_uint16 uint16_t
* ctypedef npy_uint32 uint32_t
* ctypedef npy_uint64 uint64_t # < < < < < < < < < < < < < <
* # ctypedef npy_uint96 uint96_t
* # ctypedef npy_uint128 uint128_t
*/
typedef npy_uint64 __pyx_t_5numpy_uint64_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":737
2011-11-18 02:22:31 +08:00
* # ctypedef npy_uint128 uint128_t
*
* ctypedef npy_float32 float32_t # < < < < < < < < < < < < < <
* ctypedef npy_float64 float64_t
* # ctypedef npy_float80 float80_t
*/
typedef npy_float32 __pyx_t_5numpy_float32_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":738
2011-11-18 02:22:31 +08:00
*
* ctypedef npy_float32 float32_t
* ctypedef npy_float64 float64_t # < < < < < < < < < < < < < <
* # ctypedef npy_float80 float80_t
* # ctypedef npy_float128 float128_t
*/
typedef npy_float64 __pyx_t_5numpy_float64_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":747
2011-11-18 02:22:31 +08:00
* # The int types are mapped a bit surprising - -
* # numpy . int corresponds to ' l ' and numpy . long to ' q '
* ctypedef npy_long int_t # < < < < < < < < < < < < < <
* ctypedef npy_longlong long_t
* ctypedef npy_longlong longlong_t
*/
typedef npy_long __pyx_t_5numpy_int_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":748
2011-11-18 02:22:31 +08:00
* # numpy . int corresponds to ' l ' and numpy . long to ' q '
* ctypedef npy_long int_t
* ctypedef npy_longlong long_t # < < < < < < < < < < < < < <
* ctypedef npy_longlong longlong_t
*
*/
typedef npy_longlong __pyx_t_5numpy_long_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":749
2011-11-18 02:22:31 +08:00
* ctypedef npy_long int_t
* ctypedef npy_longlong long_t
* ctypedef npy_longlong longlong_t # < < < < < < < < < < < < < <
*
* ctypedef npy_ulong uint_t
*/
typedef npy_longlong __pyx_t_5numpy_longlong_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":751
2011-11-18 02:22:31 +08:00
* ctypedef npy_longlong longlong_t
*
* ctypedef npy_ulong uint_t # < < < < < < < < < < < < < <
* ctypedef npy_ulonglong ulong_t
* ctypedef npy_ulonglong ulonglong_t
*/
typedef npy_ulong __pyx_t_5numpy_uint_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":752
2011-11-18 02:22:31 +08:00
*
* ctypedef npy_ulong uint_t
* ctypedef npy_ulonglong ulong_t # < < < < < < < < < < < < < <
* ctypedef npy_ulonglong ulonglong_t
*
*/
typedef npy_ulonglong __pyx_t_5numpy_ulong_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":753
2011-11-18 02:22:31 +08:00
* ctypedef npy_ulong uint_t
* ctypedef npy_ulonglong ulong_t
* ctypedef npy_ulonglong ulonglong_t # < < < < < < < < < < < < < <
*
* ctypedef npy_intp intp_t
*/
typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":755
2011-11-18 02:22:31 +08:00
* ctypedef npy_ulonglong ulonglong_t
*
* ctypedef npy_intp intp_t # < < < < < < < < < < < < < <
* ctypedef npy_uintp uintp_t
*
*/
typedef npy_intp __pyx_t_5numpy_intp_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":756
2011-11-18 02:22:31 +08:00
*
* ctypedef npy_intp intp_t
* ctypedef npy_uintp uintp_t # < < < < < < < < < < < < < <
*
* ctypedef npy_double float_t
*/
typedef npy_uintp __pyx_t_5numpy_uintp_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":758
2011-11-18 02:22:31 +08:00
* ctypedef npy_uintp uintp_t
*
* ctypedef npy_double float_t # < < < < < < < < < < < < < <
* ctypedef npy_double double_t
* ctypedef npy_longdouble longdouble_t
*/
typedef npy_double __pyx_t_5numpy_float_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":759
2011-11-18 02:22:31 +08:00
*
* ctypedef npy_double float_t
* ctypedef npy_double double_t # < < < < < < < < < < < < < <
* ctypedef npy_longdouble longdouble_t
*
*/
typedef npy_double __pyx_t_5numpy_double_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":760
2011-11-18 02:22:31 +08:00
* ctypedef npy_double float_t
* ctypedef npy_double double_t
* ctypedef npy_longdouble longdouble_t # < < < < < < < < < < < < < <
*
* ctypedef npy_cfloat cfloat_t
*/
typedef npy_longdouble __pyx_t_5numpy_longdouble_t ;
# if CYTHON_CCOMPLEX
# ifdef __cplusplus
typedef : : std : : complex < float > __pyx_t_float_complex ;
# else
typedef float _Complex __pyx_t_float_complex ;
# endif
# else
typedef struct { float real , imag ; } __pyx_t_float_complex ;
# endif
# if CYTHON_CCOMPLEX
# ifdef __cplusplus
typedef : : std : : complex < double > __pyx_t_double_complex ;
# else
typedef double _Complex __pyx_t_double_complex ;
# endif
# else
typedef struct { double real , imag ; } __pyx_t_double_complex ;
# endif
2013-01-08 01:33:04 +08:00
2011-11-18 02:22:31 +08:00
/*--- Type declarations ---*/
struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":762
2011-11-18 02:22:31 +08:00
* ctypedef npy_longdouble longdouble_t
*
* ctypedef npy_cfloat cfloat_t # < < < < < < < < < < < < < <
* ctypedef npy_cdouble cdouble_t
* ctypedef npy_clongdouble clongdouble_t
*/
typedef npy_cfloat __pyx_t_5numpy_cfloat_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":763
2011-11-18 02:22:31 +08:00
*
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t # < < < < < < < < < < < < < <
* ctypedef npy_clongdouble clongdouble_t
*
*/
typedef npy_cdouble __pyx_t_5numpy_cdouble_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":764
2011-11-18 02:22:31 +08:00
* ctypedef npy_cfloat cfloat_t
* ctypedef npy_cdouble cdouble_t
* ctypedef npy_clongdouble clongdouble_t # < < < < < < < < < < < < < <
*
* ctypedef npy_cdouble complex_t
*/
typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":766
2011-11-18 02:22:31 +08:00
* ctypedef npy_clongdouble clongdouble_t
*
* ctypedef npy_cdouble complex_t # < < < < < < < < < < < < < <
*
* cdef inline object PyArray_MultiIterNew1 ( a ) :
*/
typedef npy_cdouble __pyx_t_5numpy_complex_t ;
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":11
2011-11-18 02:22:31 +08:00
*
*
* cdef class ArrayBuilder ( object ) : # < < < < < < < < < < < < < <
* " " " Helper class to incrementally build a 1-d numpy.ndarray " " "
* # Or : let ' s reinvent the wheel !
*/
struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder {
PyObject_HEAD
struct __pyx_vtabstruct_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_vtab ;
Py_ssize_t _nelems ;
PyObject * _arr ;
} ;
struct __pyx_vtabstruct_7sklearn_5utils_12arraybuilder_ArrayBuilder {
PyObject * ( * _grow ) ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) ;
} ;
static struct __pyx_vtabstruct_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_vtabptr_7sklearn_5utils_12arraybuilder_ArrayBuilder ;
# 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 ) ; /*proto*/
# define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
2013-01-08 01:33:04 +08:00
# ifdef WITH_THREAD
# define __Pyx_RefNannySetupContext(name, acquire_gil) \
if ( acquire_gil ) { \
PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure ( ) ; \
__pyx_refnanny = __Pyx_RefNanny - > SetupContext ( ( name ) , __LINE__ , __FILE__ ) ; \
PyGILState_Release ( __pyx_gilstate_save ) ; \
} else { \
__pyx_refnanny = __Pyx_RefNanny - > SetupContext ( ( name ) , __LINE__ , __FILE__ ) ; \
}
# else
# define __Pyx_RefNannySetupContext(name, acquire_gil) \
__pyx_refnanny = __Pyx_RefNanny - > SetupContext ( ( name ) , __LINE__ , __FILE__ )
# endif
# define __Pyx_RefNannyFinishContext() \
__Pyx_RefNanny - > FinishContext ( & __pyx_refnanny )
2011-11-18 02:22:31 +08:00
# 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_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
# define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
# define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
# define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
# else
# define __Pyx_RefNannyDeclarations
2013-01-08 01:33:04 +08:00
# define __Pyx_RefNannySetupContext(name, acquire_gil)
2011-11-18 02:22:31 +08:00
# 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_XINCREF(r) Py_XINCREF(r)
# define __Pyx_XDECREF(r) Py_XDECREF(r)
# define __Pyx_XGOTREF(r)
# define __Pyx_XGIVEREF(r)
# endif /* CYTHON_REFNANNY */
# define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
# define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
2013-01-08 01:33:04 +08:00
static void __Pyx_RaiseDoubleKeywordsError ( const char * func_name , PyObject * kw_name ) ; /*proto*/
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
static int __Pyx_ParseOptionalKeywords ( PyObject * kwds , PyObject * * argnames [ ] , \
PyObject * kwds2 , PyObject * values [ ] , Py_ssize_t num_pos_args , \
const char * function_name ) ; /*proto*/
2011-11-18 02:22:31 +08:00
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 PyObject * __Pyx_GetName ( PyObject * dict , PyObject * name ) ; /*proto*/
# define __Pyx_SetItemInt(o, i, v, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
__Pyx_SetItemInt_Fast ( o , i , v ) : \
__Pyx_SetItemInt_Generic ( o , to_py_func ( i ) , v ) )
static CYTHON_INLINE int __Pyx_SetItemInt_Generic ( PyObject * o , PyObject * j , PyObject * v ) {
int r ;
if ( ! j ) return - 1 ;
r = PyObject_SetItem ( o , j , v ) ;
Py_DECREF ( j ) ;
return r ;
}
static CYTHON_INLINE int __Pyx_SetItemInt_Fast ( PyObject * o , Py_ssize_t i , PyObject * v ) {
2013-01-08 01:33:04 +08:00
# if CYTHON_COMPILING_IN_CPYTHON
2011-11-18 02:22:31 +08:00
if ( PyList_CheckExact ( o ) ) {
Py_ssize_t n = ( likely ( i > = 0 ) ) ? i : i + PyList_GET_SIZE ( o ) ;
if ( likely ( ( n > = 0 ) & ( n < PyList_GET_SIZE ( o ) ) ) ) {
PyObject * old = PyList_GET_ITEM ( o , n ) ;
Py_INCREF ( v ) ;
PyList_SET_ITEM ( o , n , v ) ;
Py_DECREF ( old ) ;
return 1 ;
}
2013-01-08 01:33:04 +08:00
} else { /* inlined PySequence_SetItem() */
2011-11-18 02:22:31 +08:00
PySequenceMethods * m = Py_TYPE ( o ) - > tp_as_sequence ;
if ( likely ( m & & m - > sq_ass_item ) ) {
2013-01-08 01:33:04 +08:00
if ( unlikely ( i < 0 ) & & likely ( m - > sq_length ) ) {
Py_ssize_t l = m - > sq_length ( o ) ;
if ( unlikely ( l < 0 ) ) return - 1 ;
i + = l ;
}
2011-11-18 02:22:31 +08:00
return m - > sq_ass_item ( o , i , v ) ;
}
}
2013-01-08 01:33:04 +08:00
# else
# if CYTHON_COMPILING_IN_PYPY
if ( PySequence_Check ( o ) & & ! PyDict_Check ( o ) ) {
# else
if ( PySequence_Check ( o ) ) {
# endif
return PySequence_SetItem ( o , i , v ) ;
}
# endif
2011-11-18 02:22:31 +08:00
return __Pyx_SetItemInt_Generic ( o , PyInt_FromSsize_t ( i ) , v ) ;
}
static CYTHON_INLINE void __Pyx_ErrRestore ( PyObject * type , PyObject * value , PyObject * tb ) ; /*proto*/
static CYTHON_INLINE void __Pyx_ErrFetch ( PyObject * * type , PyObject * * value , PyObject * * tb ) ; /*proto*/
static void __Pyx_Raise ( PyObject * type , PyObject * value , PyObject * tb , PyObject * cause ) ; /*proto*/
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError ( Py_ssize_t expected ) ;
2013-01-08 01:33:04 +08:00
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError ( Py_ssize_t index ) ;
2011-11-18 02:22:31 +08:00
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError ( void ) ;
2013-01-08 01:33:04 +08:00
static CYTHON_INLINE int __Pyx_IterFinish ( void ) ; /*proto*/
static int __Pyx_IternextUnpackEndCheck ( PyObject * retval , Py_ssize_t expected ) ; /*proto*/
2011-11-18 02:22:31 +08:00
static CYTHON_INLINE int __Pyx_TypeTest ( PyObject * obj , PyTypeObject * type ) ; /*proto*/
static PyObject * __Pyx_Import ( PyObject * name , PyObject * from_list , long level ) ; /*proto*/
# if CYTHON_CCOMPLEX
# ifdef __cplusplus
# define __Pyx_CREAL(z) ((z).real())
# define __Pyx_CIMAG(z) ((z).imag())
# else
# define __Pyx_CREAL(z) (__real__(z))
# define __Pyx_CIMAG(z) (__imag__(z))
# endif
# else
# define __Pyx_CREAL(z) ((z).real)
# define __Pyx_CIMAG(z) ((z).imag)
# endif
# if defined(_WIN32) && defined(__cplusplus) && CYTHON_CCOMPLEX
# define __Pyx_SET_CREAL(z,x) ((z).real(x))
# define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
# else
# define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
# define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
# endif
static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts ( float , float ) ;
# if CYTHON_CCOMPLEX
# define __Pyx_c_eqf(a, b) ((a)==(b))
# define __Pyx_c_sumf(a, b) ((a)+(b))
# define __Pyx_c_difff(a, b) ((a)-(b))
# define __Pyx_c_prodf(a, b) ((a)*(b))
# define __Pyx_c_quotf(a, b) ((a) / (b))
# define __Pyx_c_negf(a) (-(a))
# ifdef __cplusplus
# define __Pyx_c_is_zerof(z) ((z)==(float)0)
# define __Pyx_c_conjf(z) (::std::conj(z))
# if 1
# define __Pyx_c_absf(z) (::std::abs(z))
# define __Pyx_c_powf(a, b) (::std::pow(a, b))
# endif
# else
# define __Pyx_c_is_zerof(z) ((z)==0)
# define __Pyx_c_conjf(z) (conjf(z))
# if 1
# define __Pyx_c_absf(z) (cabsf(z))
# define __Pyx_c_powf(a, b) (cpowf(a, b))
# endif
# endif
# else
static CYTHON_INLINE int __Pyx_c_eqf ( __pyx_t_float_complex , __pyx_t_float_complex ) ;
static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf ( __pyx_t_float_complex , __pyx_t_float_complex ) ;
static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff ( __pyx_t_float_complex , __pyx_t_float_complex ) ;
static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf ( __pyx_t_float_complex , __pyx_t_float_complex ) ;
static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf ( __pyx_t_float_complex , __pyx_t_float_complex ) ;
static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf ( __pyx_t_float_complex ) ;
static CYTHON_INLINE int __Pyx_c_is_zerof ( __pyx_t_float_complex ) ;
static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf ( __pyx_t_float_complex ) ;
# if 1
static CYTHON_INLINE float __Pyx_c_absf ( __pyx_t_float_complex ) ;
static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf ( __pyx_t_float_complex , __pyx_t_float_complex ) ;
# endif
# endif
static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts ( double , double ) ;
# if CYTHON_CCOMPLEX
# define __Pyx_c_eq(a, b) ((a)==(b))
# define __Pyx_c_sum(a, b) ((a)+(b))
# define __Pyx_c_diff(a, b) ((a)-(b))
# define __Pyx_c_prod(a, b) ((a)*(b))
# define __Pyx_c_quot(a, b) ((a) / (b))
# define __Pyx_c_neg(a) (-(a))
# ifdef __cplusplus
# define __Pyx_c_is_zero(z) ((z)==(double)0)
# define __Pyx_c_conj(z) (::std::conj(z))
# if 1
# define __Pyx_c_abs(z) (::std::abs(z))
# define __Pyx_c_pow(a, b) (::std::pow(a, b))
# endif
# else
# define __Pyx_c_is_zero(z) ((z)==0)
# define __Pyx_c_conj(z) (conj(z))
# if 1
# define __Pyx_c_abs(z) (cabs(z))
# define __Pyx_c_pow(a, b) (cpow(a, b))
# endif
# endif
# else
static CYTHON_INLINE int __Pyx_c_eq ( __pyx_t_double_complex , __pyx_t_double_complex ) ;
static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum ( __pyx_t_double_complex , __pyx_t_double_complex ) ;
static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff ( __pyx_t_double_complex , __pyx_t_double_complex ) ;
static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod ( __pyx_t_double_complex , __pyx_t_double_complex ) ;
static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot ( __pyx_t_double_complex , __pyx_t_double_complex ) ;
static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg ( __pyx_t_double_complex ) ;
static CYTHON_INLINE int __Pyx_c_is_zero ( __pyx_t_double_complex ) ;
static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj ( __pyx_t_double_complex ) ;
# if 1
static CYTHON_INLINE double __Pyx_c_abs ( __pyx_t_double_complex ) ;
static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow ( __pyx_t_double_complex , __pyx_t_double_complex ) ;
# endif
# endif
static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar ( PyObject * ) ;
static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort ( PyObject * ) ;
static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt ( PyObject * ) ;
static CYTHON_INLINE char __Pyx_PyInt_AsChar ( PyObject * ) ;
static CYTHON_INLINE short __Pyx_PyInt_AsShort ( PyObject * ) ;
static CYTHON_INLINE int __Pyx_PyInt_AsInt ( PyObject * ) ;
static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar ( PyObject * ) ;
static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort ( PyObject * ) ;
static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt ( PyObject * ) ;
static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble ( PyObject * ) ;
static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong ( PyObject * ) ;
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong ( PyObject * ) ;
static CYTHON_INLINE long __Pyx_PyInt_AsLong ( PyObject * ) ;
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong ( PyObject * ) ;
static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong ( PyObject * ) ;
static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong ( PyObject * ) ;
static int __Pyx_check_binary_version ( void ) ;
static int __Pyx_SetVtable ( PyObject * dict , void * vtable ) ; /*proto*/
2013-01-08 01:33:04 +08:00
# if !defined(__Pyx_PyIdentifier_FromString)
# if PY_MAJOR_VERSION < 3
# define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
# else
# define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
# endif
# endif
2011-11-18 02:22:31 +08:00
static PyObject * __Pyx_ImportModule ( const char * name ) ; /*proto*/
2013-01-08 01:33:04 +08:00
static PyTypeObject * __Pyx_ImportType ( const char * module_name , const char * class_name , size_t size , int strict ) ; /*proto*/
typedef struct {
int code_line ;
PyCodeObject * code_object ;
} __Pyx_CodeObjectCacheEntry ;
struct __Pyx_CodeObjectCache {
int count ;
int max_count ;
__Pyx_CodeObjectCacheEntry * entries ;
} ;
static struct __Pyx_CodeObjectCache __pyx_code_cache = { 0 , 0 , NULL } ;
static int __pyx_bisect_code_objects ( __Pyx_CodeObjectCacheEntry * entries , int count , int code_line ) ;
static PyCodeObject * __pyx_find_code_object ( int code_line ) ;
static void __pyx_insert_code_object ( int code_line , PyCodeObject * code_object ) ;
static void __Pyx_AddTraceback ( const char * funcname , int c_line ,
int py_line , const char * filename ) ; /*proto*/
2011-11-18 02:22:31 +08:00
static int __Pyx_InitStrings ( __Pyx_StringTabEntry * t ) ; /*proto*/
2013-01-08 01:33:04 +08:00
2011-11-18 02:22:31 +08:00
/* Module declarations from 'cython' */
/* Module declarations from 'cpython.buffer' */
/* Module declarations from 'cpython.ref' */
/* Module declarations from 'libc.stdio' */
/* Module declarations from 'cpython.object' */
2013-01-08 01:33:04 +08:00
/* Module declarations from '__builtin__' */
/* Module declarations from 'cpython.type' */
static PyTypeObject * __pyx_ptype_7cpython_4type_type = 0 ;
2011-11-18 02:22:31 +08:00
/* Module declarations from 'libc.stdlib' */
/* Module declarations from 'numpy' */
/* Module declarations from 'numpy' */
static PyTypeObject * __pyx_ptype_5numpy_dtype = 0 ;
static PyTypeObject * __pyx_ptype_5numpy_flatiter = 0 ;
static PyTypeObject * __pyx_ptype_5numpy_broadcast = 0 ;
static PyTypeObject * __pyx_ptype_5numpy_ndarray = 0 ;
static PyTypeObject * __pyx_ptype_5numpy_ufunc = 0 ;
static CYTHON_INLINE char * __pyx_f_5numpy__util_dtypestring ( PyArray_Descr * , char * , char * , int * ) ; /*proto*/
/* Module declarations from 'sklearn.utils.arraybuilder' */
static PyTypeObject * __pyx_ptype_7sklearn_5utils_12arraybuilder_ArrayBuilder = 0 ;
# define __Pyx_MODULE_NAME "sklearn.utils.arraybuilder"
int __pyx_module_is_main_sklearn__utils__arraybuilder = 0 ;
/* Implementation of 'sklearn.utils.arraybuilder' */
static PyObject * __pyx_builtin_ValueError ;
static PyObject * __pyx_builtin_range ;
static PyObject * __pyx_builtin_RuntimeError ;
2013-01-08 01:33:04 +08:00
static int __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder___init__ ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self , PyObject * __pyx_v_dtype , PyObject * __pyx_v_initial_capacity ) ; /* proto */
static Py_ssize_t __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_2__len__ ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self ) ; /* proto */
static PyObject * __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_4append ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self , PyObject * __pyx_v_x ) ; /* proto */
static PyObject * __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_6get ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self ) ; /* proto */
static int __pyx_pf_5numpy_7ndarray___getbuffer__ ( PyArrayObject * __pyx_v_self , Py_buffer * __pyx_v_info , int __pyx_v_flags ) ; /* proto */
static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__ ( PyArrayObject * __pyx_v_self , Py_buffer * __pyx_v_info ) ; /* proto */
2011-11-18 02:22:31 +08:00
static char __pyx_k_1 [ ] = " ndarray is not C contiguous " ;
static char __pyx_k_3 [ ] = " ndarray is not Fortran contiguous " ;
static char __pyx_k_5 [ ] = " Non-native byte order not supported " ;
static char __pyx_k_7 [ ] = " unknown dtype code in numpy.pxd (%d) " ;
static char __pyx_k_8 [ ] = " Format string allocated too short, see comment in numpy.pxd " ;
static char __pyx_k_11 [ ] = " Format string allocated too short. " ;
static char __pyx_k__B [ ] = " B " ;
static char __pyx_k__H [ ] = " H " ;
static char __pyx_k__I [ ] = " I " ;
static char __pyx_k__L [ ] = " L " ;
static char __pyx_k__O [ ] = " O " ;
static char __pyx_k__Q [ ] = " Q " ;
static char __pyx_k__b [ ] = " b " ;
static char __pyx_k__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__Zd [ ] = " Zd " ;
static char __pyx_k__Zf [ ] = " Zf " ;
static char __pyx_k__Zg [ ] = " Zg " ;
static char __pyx_k__np [ ] = " np " ;
static char __pyx_k__size [ ] = " size " ;
static char __pyx_k__dtype [ ] = " dtype " ;
static char __pyx_k__empty [ ] = " empty " ;
static char __pyx_k__numpy [ ] = " numpy " ;
static char __pyx_k__range [ ] = " range " ;
static char __pyx_k__resize [ ] = " resize " ;
static char __pyx_k____main__ [ ] = " __main__ " ;
static char __pyx_k____test__ [ ] = " __test__ " ;
static char __pyx_k__ValueError [ ] = " ValueError " ;
static char __pyx_k__RuntimeError [ ] = " RuntimeError " ;
static char __pyx_k__GROWTH_FACTOR [ ] = " GROWTH_FACTOR " ;
static char __pyx_k__initial_capacity [ ] = " initial_capacity " ;
static PyObject * __pyx_kp_u_1 ;
static PyObject * __pyx_kp_u_11 ;
static PyObject * __pyx_kp_u_3 ;
static PyObject * __pyx_kp_u_5 ;
static PyObject * __pyx_kp_u_7 ;
static PyObject * __pyx_kp_u_8 ;
static PyObject * __pyx_n_s__GROWTH_FACTOR ;
static PyObject * __pyx_n_s__RuntimeError ;
static PyObject * __pyx_n_s__ValueError ;
static PyObject * __pyx_n_s____main__ ;
static PyObject * __pyx_n_s____test__ ;
static PyObject * __pyx_n_s__dtype ;
static PyObject * __pyx_n_s__empty ;
static PyObject * __pyx_n_s__initial_capacity ;
static PyObject * __pyx_n_s__np ;
static PyObject * __pyx_n_s__numpy ;
static PyObject * __pyx_n_s__range ;
static PyObject * __pyx_n_s__resize ;
static PyObject * __pyx_n_s__size ;
static PyObject * __pyx_int_1 ;
static PyObject * __pyx_int_2 ;
static PyObject * __pyx_int_15 ;
static PyObject * __pyx_int_256 ;
static PyObject * __pyx_k_tuple_2 ;
static PyObject * __pyx_k_tuple_4 ;
static PyObject * __pyx_k_tuple_6 ;
static PyObject * __pyx_k_tuple_9 ;
static PyObject * __pyx_k_tuple_10 ;
static PyObject * __pyx_k_tuple_12 ;
2013-01-08 01:33:04 +08:00
/* Python wrapper */
static int __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_1__init__ ( PyObject * __pyx_v_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) ; /*proto*/
static int __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_1__init__ ( PyObject * __pyx_v_self , PyObject * __pyx_args , PyObject * __pyx_kwds ) {
2011-11-18 02:22:31 +08:00
PyObject * __pyx_v_dtype = 0 ;
PyObject * __pyx_v_initial_capacity = 0 ;
int __pyx_r ;
__Pyx_RefNannyDeclarations
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " __init__ (wrapper) " , 0 ) ;
2011-11-18 02:22:31 +08:00
{
2013-01-08 01:33:04 +08:00
static PyObject * * __pyx_pyargnames [ ] = { & __pyx_n_s__dtype , & __pyx_n_s__initial_capacity , 0 } ;
2011-11-18 02:22:31 +08:00
PyObject * values [ 2 ] = { 0 , 0 } ;
values [ 1 ] = ( ( PyObject * ) __pyx_int_256 ) ;
if ( unlikely ( __pyx_kwds ) ) {
Py_ssize_t kw_args ;
const Py_ssize_t pos_args = PyTuple_GET_SIZE ( __pyx_args ) ;
switch ( pos_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 ;
}
kw_args = PyDict_Size ( __pyx_kwds ) ;
switch ( pos_args ) {
case 0 :
2013-01-08 01:33:04 +08:00
if ( likely ( ( values [ 0 ] = PyDict_GetItem ( __pyx_kwds , __pyx_n_s__dtype ) ) ! = 0 ) ) kw_args - - ;
2011-11-18 02:22:31 +08:00
else goto __pyx_L5_argtuple_error ;
case 1 :
if ( kw_args > 0 ) {
PyObject * value = PyDict_GetItem ( __pyx_kwds , __pyx_n_s__initial_capacity ) ;
if ( value ) { values [ 1 ] = value ; kw_args - - ; }
}
}
if ( unlikely ( kw_args > 0 ) ) {
2013-01-08 01:33:04 +08:00
if ( unlikely ( __Pyx_ParseOptionalKeywords ( __pyx_kwds , __pyx_pyargnames , 0 , values , pos_args , " __init__ " ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 20 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2011-11-18 02:22:31 +08:00
}
} else {
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 ) ;
break ;
default : goto __pyx_L5_argtuple_error ;
}
}
__pyx_v_dtype = values [ 0 ] ;
__pyx_v_initial_capacity = values [ 1 ] ;
}
goto __pyx_L4_argument_unpacking_done ;
__pyx_L5_argtuple_error : ;
2013-01-08 01:33:04 +08:00
__Pyx_RaiseArgtupleInvalid ( " __init__ " , 0 , 1 , 2 , PyTuple_GET_SIZE ( __pyx_args ) ) ; { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 20 ; __pyx_clineno = __LINE__ ; goto __pyx_L3_error ; }
2011-11-18 02:22:31 +08:00
__pyx_L3_error : ;
__Pyx_AddTraceback ( " sklearn.utils.arraybuilder.ArrayBuilder.__init__ " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__Pyx_RefNannyFinishContext ( ) ;
return - 1 ;
__pyx_L4_argument_unpacking_done : ;
2013-01-08 01:33:04 +08:00
__pyx_r = __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder___init__ ( ( ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) __pyx_v_self ) , __pyx_v_dtype , __pyx_v_initial_capacity ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":20
* cdef object _arr # object because we don ' t know the dtype statically
*
* def __init__ ( self , dtype , initial_capacity = 256 ) : # < < < < < < < < < < < < < <
* assert self . GROWTH_FACTOR > 1
* assert initial_capacity > = 2
*/
static int __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder___init__ ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self , PyObject * __pyx_v_dtype , PyObject * __pyx_v_initial_capacity ) {
int __pyx_r ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
int __pyx_t_3 ;
PyObject * __pyx_t_4 = NULL ;
PyObject * __pyx_t_5 = NULL ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
__Pyx_RefNannySetupContext ( " __init__ " , 0 ) ;
/* "sklearn/utils/arraybuilder.pyx":21
2011-11-18 02:22:31 +08:00
*
* def __init__ ( self , dtype , initial_capacity = 256 ) :
* assert self . GROWTH_FACTOR > 1 # < < < < < < < < < < < < < <
* assert initial_capacity > = 2
* self . _arr = np . empty ( initial_capacity , dtype = dtype )
*/
# ifndef CYTHON_WITHOUT_ASSERTIONS
2013-01-08 01:33:04 +08:00
__pyx_t_1 = PyObject_GetAttr ( ( ( PyObject * ) __pyx_v_self ) , __pyx_n_s__GROWTH_FACTOR ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 21 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_2 = PyObject_RichCompare ( __pyx_t_1 , __pyx_int_1 , Py_GT ) ; __Pyx_XGOTREF ( __pyx_t_2 ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 21 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = __Pyx_PyObject_IsTrue ( __pyx_t_2 ) ; if ( unlikely ( __pyx_t_3 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 21 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
if ( unlikely ( ! __pyx_t_3 ) ) {
PyErr_SetNone ( PyExc_AssertionError ) ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 21 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
}
# endif
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":22
2011-11-18 02:22:31 +08:00
* def __init__ ( self , dtype , initial_capacity = 256 ) :
* assert self . GROWTH_FACTOR > 1
* assert initial_capacity > = 2 # < < < < < < < < < < < < < <
* self . _arr = np . empty ( initial_capacity , dtype = dtype )
* self . _nelems = 0
*/
# ifndef CYTHON_WITHOUT_ASSERTIONS
2013-01-08 01:33:04 +08:00
__pyx_t_2 = PyObject_RichCompare ( __pyx_v_initial_capacity , __pyx_int_2 , Py_GE ) ; __Pyx_XGOTREF ( __pyx_t_2 ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 22 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_t_3 = __Pyx_PyObject_IsTrue ( __pyx_t_2 ) ; if ( unlikely ( __pyx_t_3 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 22 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
if ( unlikely ( ! __pyx_t_3 ) ) {
PyErr_SetNone ( PyExc_AssertionError ) ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 22 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
}
# endif
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":23
2011-11-18 02:22:31 +08:00
* assert self . GROWTH_FACTOR > 1
* assert initial_capacity > = 2
* self . _arr = np . empty ( initial_capacity , dtype = dtype ) # < < < < < < < < < < < < < <
* self . _nelems = 0
*
*/
2013-01-08 01:33:04 +08:00
__pyx_t_2 = __Pyx_GetName ( __pyx_m , __pyx_n_s__np ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 23 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_t_2 , __pyx_n_s__empty ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 23 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_2 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 23 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_INCREF ( __pyx_v_initial_capacity ) ;
PyTuple_SET_ITEM ( __pyx_t_2 , 0 , __pyx_v_initial_capacity ) ;
__Pyx_GIVEREF ( __pyx_v_initial_capacity ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_4 = PyDict_New ( ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 23 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_4 ) ) ;
2013-01-08 01:33:04 +08:00
if ( PyDict_SetItem ( __pyx_t_4 , ( ( PyObject * ) __pyx_n_s__dtype ) , __pyx_v_dtype ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 23 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_t_5 = PyObject_Call ( __pyx_t_1 , ( ( PyObject * ) __pyx_t_2 ) , ( ( PyObject * ) __pyx_t_4 ) ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 23 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_2 ) ) ; __pyx_t_2 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_4 ) ) ; __pyx_t_4 = 0 ;
__Pyx_GIVEREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__Pyx_GOTREF ( __pyx_v_self - > _arr ) ;
__Pyx_DECREF ( __pyx_v_self - > _arr ) ;
__pyx_v_self - > _arr = __pyx_t_5 ;
2011-11-18 02:22:31 +08:00
__pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":24
2011-11-18 02:22:31 +08:00
* assert initial_capacity > = 2
* self . _arr = np . empty ( initial_capacity , dtype = dtype )
* self . _nelems = 0 # < < < < < < < < < < < < < <
*
* def __len__ ( self ) :
*/
2013-01-08 01:33:04 +08:00
__pyx_v_self - > _nelems = 0 ;
2011-11-18 02:22:31 +08:00
__pyx_r = 0 ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_2 ) ;
__Pyx_XDECREF ( __pyx_t_4 ) ;
__Pyx_XDECREF ( __pyx_t_5 ) ;
__Pyx_AddTraceback ( " sklearn.utils.arraybuilder.ArrayBuilder.__init__ " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = - 1 ;
__pyx_L0 : ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* Python wrapper */
static Py_ssize_t __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_3__len__ ( PyObject * __pyx_v_self ) ; /*proto*/
static Py_ssize_t __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_3__len__ ( PyObject * __pyx_v_self ) {
Py_ssize_t __pyx_r ;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext ( " __len__ (wrapper) " , 0 ) ;
__pyx_r = __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_2__len__ ( ( ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) __pyx_v_self ) ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
/* "sklearn/utils/arraybuilder.pyx":26
2011-11-18 02:22:31 +08:00
* self . _nelems = 0
*
* def __len__ ( self ) : # < < < < < < < < < < < < < <
* return self . _nelems
*
*/
2013-01-08 01:33:04 +08:00
static Py_ssize_t __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_2__len__ ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self ) {
2011-11-18 02:22:31 +08:00
Py_ssize_t __pyx_r ;
__Pyx_RefNannyDeclarations
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " __len__ " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":27
2011-11-18 02:22:31 +08:00
*
* def __len__ ( self ) :
* return self . _nelems # < < < < < < < < < < < < < <
*
* @ cython . boundscheck ( False )
*/
2013-01-08 01:33:04 +08:00
__pyx_r = __pyx_v_self - > _nelems ;
2011-11-18 02:22:31 +08:00
goto __pyx_L0 ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* Python wrapper */
static PyObject * __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_5append ( PyObject * __pyx_v_self , PyObject * __pyx_v_x ) ; /*proto*/
static char __pyx_doc_7sklearn_5utils_12arraybuilder_12ArrayBuilder_4append [ ] = " Append a single value. \n \n Complexity: amortized O(1). \n " ;
static PyObject * __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_5append ( PyObject * __pyx_v_self , PyObject * __pyx_v_x ) {
PyObject * __pyx_r = 0 ;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext ( " append (wrapper) " , 0 ) ;
__pyx_r = __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_4append ( ( ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) __pyx_v_self ) , ( ( PyObject * ) __pyx_v_x ) ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
/* "sklearn/utils/arraybuilder.pyx":30
2011-11-18 02:22:31 +08:00
*
* @ cython . boundscheck ( False )
* def append ( self , x ) : # < < < < < < < < < < < < < <
* " " " Append a single value.
*
*/
2013-01-08 01:33:04 +08:00
static PyObject * __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_4append ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self , PyObject * __pyx_v_x ) {
2011-11-18 02:22:31 +08:00
PyObject * __pyx_r = NULL ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
int __pyx_t_4 ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " append " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":35
2011-11-18 02:22:31 +08:00
* Complexity : amortized O ( 1 ) .
* " " "
* if self . _nelems = = self . _arr . size : # < < < < < < < < < < < < < <
* self . _grow ( )
* self . _arr [ self . _nelems ] = x
*/
2013-01-08 01:33:04 +08:00
__pyx_t_1 = PyInt_FromSsize_t ( __pyx_v_self - > _nelems ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 35 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_2 = PyObject_GetAttr ( __pyx_v_self - > _arr , __pyx_n_s__size ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 35 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_t_1 , __pyx_t_2 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 35 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_4 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_4 < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 35 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
if ( __pyx_t_4 ) {
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":36
2011-11-18 02:22:31 +08:00
* " " "
* if self . _nelems = = self . _arr . size :
* self . _grow ( ) # < < < < < < < < < < < < < <
* self . _arr [ self . _nelems ] = x
* self . _nelems + = 1
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = ( ( struct __pyx_vtabstruct_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) __pyx_v_self - > __pyx_vtab ) - > _grow ( __pyx_v_self ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 36 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L3 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L3 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":37
2011-11-18 02:22:31 +08:00
* if self . _nelems = = self . _arr . size :
* self . _grow ( )
* self . _arr [ self . _nelems ] = x # < < < < < < < < < < < < < <
* self . _nelems + = 1
*
*/
2013-01-08 01:33:04 +08:00
if ( __Pyx_SetItemInt ( __pyx_v_self - > _arr , __pyx_v_self - > _nelems , __pyx_v_x , sizeof ( Py_ssize_t ) , PyInt_FromSsize_t ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 37 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":38
2011-11-18 02:22:31 +08:00
* self . _grow ( )
* self . _arr [ self . _nelems ] = x
* self . _nelems + = 1 # < < < < < < < < < < < < < <
*
* def get ( self ) :
*/
2013-01-08 01:33:04 +08:00
__pyx_v_self - > _nelems = ( __pyx_v_self - > _nelems + 1 ) ;
2011-11-18 02:22:31 +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_XDECREF ( __pyx_t_3 ) ;
__Pyx_AddTraceback ( " sklearn.utils.arraybuilder.ArrayBuilder.append " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* Python wrapper */
static PyObject * __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_7get ( PyObject * __pyx_v_self , CYTHON_UNUSED PyObject * unused ) ; /*proto*/
static char __pyx_doc_7sklearn_5utils_12arraybuilder_12ArrayBuilder_6get [ ] = " Return the constructed array. \n \n Don't use an ArrayBuilder after calling this method. \n " ;
static PyObject * __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_7get ( PyObject * __pyx_v_self , CYTHON_UNUSED PyObject * unused ) {
PyObject * __pyx_r = 0 ;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext ( " get (wrapper) " , 0 ) ;
__pyx_r = __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_6get ( ( ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) __pyx_v_self ) ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
/* "sklearn/utils/arraybuilder.pyx":40
2011-11-18 02:22:31 +08:00
* self . _nelems + = 1
*
* def get ( self ) : # < < < < < < < < < < < < < <
* " " " Return the constructed array.
*
*/
2013-01-08 01:33:04 +08:00
static PyObject * __pyx_pf_7sklearn_5utils_12arraybuilder_12ArrayBuilder_6get ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self ) {
2011-11-18 02:22:31 +08:00
PyObject * __pyx_r = NULL ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " get " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":45
2011-11-18 02:22:31 +08:00
* Don ' t use an ArrayBuilder after calling this method .
* " " "
* self . _arr . resize ( self . _nelems ) # < < < < < < < < < < < < < <
* return self . _arr
*
*/
2013-01-08 01:33:04 +08:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_self - > _arr , __pyx_n_s__resize ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 45 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_2 = PyInt_FromSsize_t ( __pyx_v_self - > _nelems ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 45 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 45 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
PyTuple_SET_ITEM ( __pyx_t_3 , 0 , __pyx_t_2 ) ;
__Pyx_GIVEREF ( __pyx_t_2 ) ;
__pyx_t_2 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_2 = PyObject_Call ( __pyx_t_1 , ( ( PyObject * ) __pyx_t_3 ) , NULL ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 45 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_3 ) ) ; __pyx_t_3 = 0 ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":46
2011-11-18 02:22:31 +08:00
* " " "
* self . _arr . resize ( self . _nelems )
* return self . _arr # < < < < < < < < < < < < < <
*
* cdef _grow ( self ) :
*/
__Pyx_XDECREF ( __pyx_r ) ;
2013-01-08 01:33:04 +08:00
__Pyx_INCREF ( __pyx_v_self - > _arr ) ;
__pyx_r = __pyx_v_self - > _arr ;
2011-11-18 02:22:31 +08:00
goto __pyx_L0 ;
__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_XDECREF ( __pyx_t_3 ) ;
__Pyx_AddTraceback ( " sklearn.utils.arraybuilder.ArrayBuilder.get " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":48
2011-11-18 02:22:31 +08:00
* return self . _arr
*
* cdef _grow ( self ) : # < < < < < < < < < < < < < <
* self . _arr . resize ( self . _arr . size * self . GROWTH_FACTOR )
*/
static PyObject * __pyx_f_7sklearn_5utils_12arraybuilder_12ArrayBuilder__grow ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * __pyx_v_self ) {
PyObject * __pyx_r = NULL ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
PyObject * __pyx_t_2 = NULL ;
PyObject * __pyx_t_3 = NULL ;
PyObject * __pyx_t_4 = NULL ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " _grow " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":49
2011-11-18 02:22:31 +08:00
*
* cdef _grow ( self ) :
* self . _arr . resize ( self . _arr . size * self . GROWTH_FACTOR ) # < < < < < < < < < < < < < <
*/
2013-01-08 01:33:04 +08:00
__pyx_t_1 = PyObject_GetAttr ( __pyx_v_self - > _arr , __pyx_n_s__resize ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 49 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_2 = PyObject_GetAttr ( __pyx_v_self - > _arr , __pyx_n_s__size ) ; if ( unlikely ( ! __pyx_t_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 49 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_2 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_GetAttr ( ( ( PyObject * ) __pyx_v_self ) , __pyx_n_s__GROWTH_FACTOR ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 49 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_4 = PyNumber_Multiply ( __pyx_t_2 , __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 49 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
__Pyx_DECREF ( __pyx_t_2 ) ; __pyx_t_2 = 0 ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 49 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
PyTuple_SET_ITEM ( __pyx_t_3 , 0 , __pyx_t_4 ) ;
__Pyx_GIVEREF ( __pyx_t_4 ) ;
__pyx_t_4 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_4 = PyObject_Call ( __pyx_t_1 , ( ( PyObject * ) __pyx_t_3 ) , NULL ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 49 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_3 ) ) ; __pyx_t_3 = 0 ;
__Pyx_DECREF ( __pyx_t_4 ) ; __pyx_t_4 = 0 ;
__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_XDECREF ( __pyx_t_3 ) ;
__Pyx_XDECREF ( __pyx_t_4 ) ;
__Pyx_AddTraceback ( " sklearn.utils.arraybuilder.ArrayBuilder._grow " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* Python wrapper */
static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__ ( PyObject * __pyx_v_self , Py_buffer * __pyx_v_info , int __pyx_v_flags ) ; /*proto*/
static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__ ( PyObject * __pyx_v_self , Py_buffer * __pyx_v_info , int __pyx_v_flags ) {
int __pyx_r ;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext ( " __getbuffer__ (wrapper) " , 0 ) ;
__pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__ ( ( ( PyArrayObject * ) __pyx_v_self ) , ( ( Py_buffer * ) __pyx_v_info ) , ( ( int ) __pyx_v_flags ) ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
/* "numpy.pxd":194
2011-11-18 02:22:31 +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
2013-04-12 02:51:28 +08:00
* # requirements , and does not yet fulfill the PEP .
2011-11-18 02:22:31 +08:00
*/
2013-01-08 01:33:04 +08:00
static int __pyx_pf_5numpy_7ndarray___getbuffer__ ( PyArrayObject * __pyx_v_self , Py_buffer * __pyx_v_info , int __pyx_v_flags ) {
2011-11-18 02:22:31 +08:00
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 ;
__Pyx_RefNannyDeclarations
int __pyx_t_1 ;
int __pyx_t_2 ;
int __pyx_t_3 ;
PyObject * __pyx_t_4 = NULL ;
int __pyx_t_5 ;
int __pyx_t_6 ;
int __pyx_t_7 ;
PyObject * __pyx_t_8 = NULL ;
char * __pyx_t_9 ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " __getbuffer__ " , 0 ) ;
2011-11-18 02:22:31 +08:00
if ( __pyx_v_info ! = NULL ) {
__pyx_v_info - > obj = Py_None ; __Pyx_INCREF ( Py_None ) ;
__Pyx_GIVEREF ( __pyx_v_info - > obj ) ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":200
2011-11-18 02:22:31 +08:00
* # of flags
*
* if info = = NULL : return # < < < < < < < < < < < < < <
*
* cdef int copy_shape , i , ndim
*/
__pyx_t_1 = ( __pyx_v_info = = NULL ) ;
if ( __pyx_t_1 ) {
__pyx_r = 0 ;
goto __pyx_L0 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L3 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L3 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":203
2011-11-18 02:22:31 +08:00
*
* 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 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":204
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":206
2011-11-18 02:22:31 +08:00
* cdef bint little_endian = ( ( < char * > & endian_detector ) [ 0 ] ! = 0 )
*
* ndim = PyArray_NDIM ( self ) # < < < < < < < < < < < < < <
*
* if sizeof ( npy_intp ) ! = sizeof ( Py_ssize_t ) :
*/
2013-01-08 01:33:04 +08:00
__pyx_v_ndim = PyArray_NDIM ( __pyx_v_self ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":208
2011-11-18 02:22:31 +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 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":209
2011-11-18 02:22:31 +08:00
*
* if sizeof ( npy_intp ) ! = sizeof ( Py_ssize_t ) :
* copy_shape = 1 # < < < < < < < < < < < < < <
* else :
* copy_shape = 0
*/
__pyx_v_copy_shape = 1 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L4 ;
2011-11-18 02:22:31 +08:00
}
/*else*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":211
2011-11-18 02:22:31 +08:00
* copy_shape = 1
* else :
* copy_shape = 0 # < < < < < < < < < < < < < <
*
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS )
*/
__pyx_v_copy_shape = 0 ;
}
2013-01-08 01:33:04 +08:00
__pyx_L4 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":213
2011-11-18 02:22:31 +08:00
* copy_shape = 0
*
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS ) # < < < < < < < < < < < < < <
* and not PyArray_CHKFLAGS ( self , NPY_C_CONTIGUOUS ) ) :
* raise ValueError ( u " ndarray is not C contiguous " )
*/
__pyx_t_1 = ( ( __pyx_v_flags & PyBUF_C_CONTIGUOUS ) = = PyBUF_C_CONTIGUOUS ) ;
if ( __pyx_t_1 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":214
2011-11-18 02:22:31 +08:00
*
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_C_CONTIGUOUS ) ) : # < < < < < < < < < < < < < <
* raise ValueError ( u " ndarray is not C contiguous " )
*
*/
2013-01-08 01:33:04 +08:00
__pyx_t_2 = ( ! PyArray_CHKFLAGS ( __pyx_v_self , NPY_C_CONTIGUOUS ) ) ;
2011-11-18 02:22:31 +08:00
__pyx_t_3 = __pyx_t_2 ;
} else {
__pyx_t_3 = __pyx_t_1 ;
}
if ( __pyx_t_3 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":215
2011-11-18 02:22:31 +08:00
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_C_CONTIGUOUS ) ) :
* raise ValueError ( u " ndarray is not C contiguous " ) # < < < < < < < < < < < < < <
*
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS )
*/
2013-01-08 01:33:04 +08:00
__pyx_t_4 = PyObject_Call ( __pyx_builtin_ValueError , ( ( PyObject * ) __pyx_k_tuple_2 ) , NULL ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 215 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
__Pyx_Raise ( __pyx_t_4 , 0 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_4 ) ; __pyx_t_4 = 0 ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 215 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
goto __pyx_L5 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L5 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":217
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " ndarray is not C contiguous " )
*
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS ) # < < < < < < < < < < < < < <
* and not PyArray_CHKFLAGS ( self , NPY_F_CONTIGUOUS ) ) :
* raise ValueError ( u " ndarray is not Fortran contiguous " )
*/
__pyx_t_3 = ( ( __pyx_v_flags & PyBUF_F_CONTIGUOUS ) = = PyBUF_F_CONTIGUOUS ) ;
if ( __pyx_t_3 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":218
2011-11-18 02:22:31 +08:00
*
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_F_CONTIGUOUS ) ) : # < < < < < < < < < < < < < <
* raise ValueError ( u " ndarray is not Fortran contiguous " )
*
*/
2013-01-08 01:33:04 +08:00
__pyx_t_1 = ( ! PyArray_CHKFLAGS ( __pyx_v_self , NPY_F_CONTIGUOUS ) ) ;
2011-11-18 02:22:31 +08:00
__pyx_t_2 = __pyx_t_1 ;
} else {
__pyx_t_2 = __pyx_t_3 ;
}
if ( __pyx_t_2 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":219
2011-11-18 02:22:31 +08:00
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_F_CONTIGUOUS ) ) :
* raise ValueError ( u " ndarray is not Fortran contiguous " ) # < < < < < < < < < < < < < <
*
* info . buf = PyArray_DATA ( self )
*/
2013-01-08 01:33:04 +08:00
__pyx_t_4 = PyObject_Call ( __pyx_builtin_ValueError , ( ( PyObject * ) __pyx_k_tuple_4 ) , NULL ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 219 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
__Pyx_Raise ( __pyx_t_4 , 0 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_4 ) ; __pyx_t_4 = 0 ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 219 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
goto __pyx_L6 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L6 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":221
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " ndarray is not Fortran contiguous " )
*
* info . buf = PyArray_DATA ( self ) # < < < < < < < < < < < < < <
* info . ndim = ndim
* if copy_shape :
*/
2013-01-08 01:33:04 +08:00
__pyx_v_info - > buf = PyArray_DATA ( __pyx_v_self ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":222
2011-11-18 02:22:31 +08:00
*
* info . buf = PyArray_DATA ( self )
* info . ndim = ndim # < < < < < < < < < < < < < <
* if copy_shape :
* # Allocate new buffer for strides and shape info .
*/
__pyx_v_info - > ndim = __pyx_v_ndim ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":223
2011-11-18 02:22:31 +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 .
*/
if ( __pyx_v_copy_shape ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":226
2011-11-18 02:22:31 +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 ) * < size_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 ) ) * ( ( size_t ) __pyx_v_ndim ) ) * 2 ) ) ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":227
2011-11-18 02:22:31 +08:00
* # This is allocated as one block , strides first .
* info . strides = < Py_ssize_t * > stdlib . malloc ( sizeof ( Py_ssize_t ) * < size_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 ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":228
2011-11-18 02:22:31 +08:00
* info . strides = < Py_ssize_t * > stdlib . malloc ( sizeof ( Py_ssize_t ) * < size_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 ]
*/
__pyx_t_5 = __pyx_v_ndim ;
for ( __pyx_t_6 = 0 ; __pyx_t_6 < __pyx_t_5 ; __pyx_t_6 + = 1 ) {
__pyx_v_i = __pyx_t_6 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":229
2011-11-18 02:22:31 +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 :
*/
2013-01-08 01:33:04 +08:00
( __pyx_v_info - > strides [ __pyx_v_i ] ) = ( PyArray_STRIDES ( __pyx_v_self ) [ __pyx_v_i ] ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":230
2011-11-18 02:22:31 +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 )
*/
2013-01-08 01:33:04 +08:00
( __pyx_v_info - > shape [ __pyx_v_i ] ) = ( PyArray_DIMS ( __pyx_v_self ) [ __pyx_v_i ] ) ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
goto __pyx_L7 ;
2011-11-18 02:22:31 +08:00
}
/*else*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":232
2011-11-18 02:22:31 +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
*/
2013-01-08 01:33:04 +08:00
__pyx_v_info - > strides = ( ( Py_ssize_t * ) PyArray_STRIDES ( __pyx_v_self ) ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":233
2011-11-18 02:22:31 +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 )
*/
2013-01-08 01:33:04 +08:00
__pyx_v_info - > shape = ( ( Py_ssize_t * ) PyArray_DIMS ( __pyx_v_self ) ) ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L7 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":234
2011-11-18 02:22:31 +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 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":235
2011-11-18 02:22:31 +08:00
* info . shape = < Py_ssize_t * > PyArray_DIMS ( self )
* info . suboffsets = NULL
* info . itemsize = PyArray_ITEMSIZE ( self ) # < < < < < < < < < < < < < <
* info . readonly = not PyArray_ISWRITEABLE ( self )
*
*/
2013-01-08 01:33:04 +08:00
__pyx_v_info - > itemsize = PyArray_ITEMSIZE ( __pyx_v_self ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":236
2011-11-18 02:22:31 +08:00
* info . suboffsets = NULL
* info . itemsize = PyArray_ITEMSIZE ( self )
* info . readonly = not PyArray_ISWRITEABLE ( self ) # < < < < < < < < < < < < < <
*
* cdef int t
*/
2013-01-08 01:33:04 +08:00
__pyx_v_info - > readonly = ( ! PyArray_ISWRITEABLE ( __pyx_v_self ) ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":239
2011-11-18 02:22:31 +08:00
*
* cdef int t
* cdef char * f = NULL # < < < < < < < < < < < < < <
* cdef dtype descr = self . descr
* cdef list stack
*/
__pyx_v_f = NULL ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":240
2011-11-18 02:22:31 +08:00
* cdef int t
* cdef char * f = NULL
* cdef dtype descr = self . descr # < < < < < < < < < < < < < <
* cdef list stack
* cdef int offset
*/
2013-01-08 01:33:04 +08:00
__pyx_t_4 = ( ( PyObject * ) __pyx_v_self - > descr ) ;
__Pyx_INCREF ( __pyx_t_4 ) ;
__pyx_v_descr = ( ( PyArray_Descr * ) __pyx_t_4 ) ;
__pyx_t_4 = 0 ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":244
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":246
2011-11-18 02:22:31 +08:00
* cdef bint hasfields = PyDataType_HASFIELDS ( descr )
*
* if not hasfields and not copy_shape : # < < < < < < < < < < < < < <
* # do not call releasebuffer
* info . obj = None
*/
__pyx_t_2 = ( ! __pyx_v_hasfields ) ;
if ( __pyx_t_2 ) {
__pyx_t_3 = ( ! __pyx_v_copy_shape ) ;
__pyx_t_1 = __pyx_t_3 ;
} else {
__pyx_t_1 = __pyx_t_2 ;
}
if ( __pyx_t_1 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":248
2011-11-18 02:22:31 +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 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L10 ;
2011-11-18 02:22:31 +08:00
}
/*else*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":251
2011-11-18 02:22:31 +08:00
* else :
* # need to call releasebuffer
* info . obj = self # < < < < < < < < < < < < < <
*
* if not hasfields :
*/
2013-01-08 01:33:04 +08:00
__Pyx_INCREF ( ( ( PyObject * ) __pyx_v_self ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_v_self ) ) ;
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_v_info - > obj ) ;
__Pyx_DECREF ( __pyx_v_info - > obj ) ;
2013-01-08 01:33:04 +08:00
__pyx_v_info - > obj = ( ( PyObject * ) __pyx_v_self ) ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L10 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":253
2011-11-18 02:22:31 +08:00
* info . obj = self
*
* if not hasfields : # < < < < < < < < < < < < < <
* t = descr . type_num
2013-01-08 01:33:04 +08:00
* if ( ( descr . byteorder = = c ' > ' and little_endian ) or
2011-11-18 02:22:31 +08:00
*/
__pyx_t_1 = ( ! __pyx_v_hasfields ) ;
if ( __pyx_t_1 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":254
2011-11-18 02:22:31 +08:00
*
* if not hasfields :
* t = descr . type_num # < < < < < < < < < < < < < <
2013-01-08 01:33:04 +08:00
* if ( ( descr . byteorder = = c ' > ' and little_endian ) or
* ( descr . byteorder = = c ' < ' and not little_endian ) ) :
2011-11-18 02:22:31 +08:00
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = __pyx_v_descr - > type_num ;
__pyx_v_t = __pyx_t_5 ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":255
2011-11-18 02:22:31 +08:00
* if not hasfields :
* t = descr . type_num
2013-01-08 01:33:04 +08:00
* if ( ( descr . byteorder = = c ' > ' and little_endian ) or # < < < < < < < < < < < < < <
* ( descr . byteorder = = c ' < ' and not little_endian ) ) :
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
*/
__pyx_t_1 = ( __pyx_v_descr - > byteorder = = ' > ' ) ;
if ( __pyx_t_1 ) {
__pyx_t_2 = __pyx_v_little_endian ;
} else {
__pyx_t_2 = __pyx_t_1 ;
}
if ( ! __pyx_t_2 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":256
2011-11-18 02:22:31 +08:00
* t = descr . type_num
2013-01-08 01:33:04 +08:00
* if ( ( descr . byteorder = = c ' > ' and little_endian ) or
* ( descr . byteorder = = c ' < ' and not little_endian ) ) : # < < < < < < < < < < < < < <
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
* if t = = NPY_BYTE : f = " b "
*/
__pyx_t_1 = ( __pyx_v_descr - > byteorder = = ' < ' ) ;
if ( __pyx_t_1 ) {
__pyx_t_3 = ( ! __pyx_v_little_endian ) ;
__pyx_t_7 = __pyx_t_3 ;
} else {
__pyx_t_7 = __pyx_t_1 ;
}
__pyx_t_1 = __pyx_t_7 ;
} else {
__pyx_t_1 = __pyx_t_2 ;
}
if ( __pyx_t_1 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":257
* if ( ( descr . byteorder = = c ' > ' and little_endian ) or
* ( descr . byteorder = = c ' < ' and not little_endian ) ) :
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " ) # < < < < < < < < < < < < < <
* if t = = NPY_BYTE : f = " b "
* elif t = = NPY_UBYTE : f = " B "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_4 = PyObject_Call ( __pyx_builtin_ValueError , ( ( PyObject * ) __pyx_k_tuple_6 ) , NULL ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 257 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
__Pyx_Raise ( __pyx_t_4 , 0 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_4 ) ; __pyx_t_4 = 0 ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 257 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
goto __pyx_L12 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L12 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":258
* ( descr . byteorder = = c ' < ' and not little_endian ) ) :
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
* if t = = NPY_BYTE : f = " b " # < < < < < < < < < < < < < <
* elif t = = NPY_UBYTE : f = " B "
* elif t = = NPY_SHORT : f = " h "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_BYTE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__b ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":259
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
* if t = = NPY_BYTE : f = " b "
* elif t = = NPY_UBYTE : f = " B " # < < < < < < < < < < < < < <
* elif t = = NPY_SHORT : f = " h "
* elif t = = NPY_USHORT : f = " H "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_UBYTE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__B ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":260
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_SHORT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__h ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":261
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_USHORT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__H ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":262
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_INT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__i ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":263
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_UINT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__I ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":264
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_LONG ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__l ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":265
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_ULONG ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__L ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":266
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_LONGLONG ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__q ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":267
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_ULONGLONG ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__Q ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":268
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_FLOAT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__f ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":269
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_DOUBLE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__d ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":270
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_LONGDOUBLE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__g ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":271
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_CFLOAT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__Zf ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":272
2011-11-18 02:22:31 +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 "
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_CDOUBLE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__Zd ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":273
2011-11-18 02:22:31 +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 :
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_CLONGDOUBLE ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__Zg ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":274
2011-11-18 02:22:31 +08:00
* elif t = = NPY_CDOUBLE : f = " Zd "
* elif t = = NPY_CLONGDOUBLE : f = " Zg "
* elif t = = NPY_OBJECT : f = " O " # < < < < < < < < < < < < < <
* else :
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
*/
__pyx_t_1 = ( __pyx_v_t = = NPY_OBJECT ) ;
if ( __pyx_t_1 ) {
__pyx_v_f = __pyx_k__O ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
/*else*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":276
2011-11-18 02:22:31 +08:00
* elif t = = NPY_OBJECT : f = " O "
* else :
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t ) # < < < < < < < < < < < < < <
* info . format = f
* return
*/
2013-01-08 01:33:04 +08:00
__pyx_t_4 = PyInt_FromLong ( __pyx_v_t ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 276 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_8 = PyNumber_Remainder ( ( ( PyObject * ) __pyx_kp_u_7 ) , __pyx_t_4 ) ; if ( unlikely ( ! __pyx_t_8 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 276 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_8 ) ) ;
__Pyx_DECREF ( __pyx_t_4 ) ; __pyx_t_4 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_4 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 276 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
PyTuple_SET_ITEM ( __pyx_t_4 , 0 , ( ( PyObject * ) __pyx_t_8 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_t_8 ) ) ;
__pyx_t_8 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_8 = PyObject_Call ( __pyx_builtin_ValueError , ( ( PyObject * ) __pyx_t_4 ) , NULL ) ; if ( unlikely ( ! __pyx_t_8 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 276 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_8 ) ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_4 ) ) ; __pyx_t_4 = 0 ;
__Pyx_Raise ( __pyx_t_8 , 0 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_8 ) ; __pyx_t_8 = 0 ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 276 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L13 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":277
2011-11-18 02:22:31 +08:00
* else :
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
* info . format = f # < < < < < < < < < < < < < <
* return
* else :
*/
__pyx_v_info - > format = __pyx_v_f ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":278
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
* info . format = f
* return # < < < < < < < < < < < < < <
* else :
* info . format = < char * > stdlib . malloc ( _buffer_format_string_len )
*/
__pyx_r = 0 ;
goto __pyx_L0 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L11 ;
2011-11-18 02:22:31 +08:00
}
/*else*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":280
2011-11-18 02:22:31 +08:00
* return
* else :
* info . format = < char * > stdlib . malloc ( _buffer_format_string_len ) # < < < < < < < < < < < < < <
2013-01-08 01:33:04 +08:00
* info . format [ 0 ] = c ' ^ ' # Native data types , manual alignment
2011-11-18 02:22:31 +08:00
* offset = 0
*/
__pyx_v_info - > format = ( ( char * ) malloc ( 255 ) ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":281
2011-11-18 02:22:31 +08:00
* else :
* info . format = < char * > stdlib . malloc ( _buffer_format_string_len )
2013-01-08 01:33:04 +08:00
* info . format [ 0 ] = c ' ^ ' # Native data types , manual alignment # < < < < < < < < < < < < < <
2011-11-18 02:22:31 +08:00
* offset = 0
* f = _util_dtypestring ( descr , info . format + 1 ,
*/
( __pyx_v_info - > format [ 0 ] ) = ' ^ ' ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":282
2011-11-18 02:22:31 +08:00
* info . format = < char * > stdlib . malloc ( _buffer_format_string_len )
2013-01-08 01:33:04 +08:00
* info . format [ 0 ] = c ' ^ ' # Native data types , manual alignment
2011-11-18 02:22:31 +08:00
* offset = 0 # < < < < < < < < < < < < < <
* f = _util_dtypestring ( descr , info . format + 1 ,
* info . format + _buffer_format_string_len ,
*/
__pyx_v_offset = 0 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":285
2011-11-18 02:22:31 +08:00
* f = _util_dtypestring ( descr , info . format + 1 ,
* info . format + _buffer_format_string_len ,
* & offset ) # < < < < < < < < < < < < < <
2013-01-08 01:33:04 +08:00
* f [ 0 ] = c ' \0 ' # Terminate format string
2011-11-18 02:22:31 +08:00
*
*/
2013-01-08 01:33:04 +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 = 283 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__pyx_v_f = __pyx_t_9 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":286
2011-11-18 02:22:31 +08:00
* info . format + _buffer_format_string_len ,
* & offset )
2013-01-08 01:33:04 +08:00
* f [ 0 ] = c ' \0 ' # Terminate format string # < < < < < < < < < < < < < <
2011-11-18 02:22:31 +08:00
*
* def __releasebuffer__ ( ndarray self , Py_buffer * info ) :
*/
2013-01-08 01:33:04 +08:00
( __pyx_v_f [ 0 ] ) = ' \x00 ' ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L11 : ;
2011-11-18 02:22:31 +08:00
__pyx_r = 0 ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_4 ) ;
__Pyx_XDECREF ( __pyx_t_8 ) ;
__Pyx_AddTraceback ( " numpy.ndarray.__getbuffer__ " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = - 1 ;
if ( __pyx_v_info ! = NULL & & __pyx_v_info - > obj ! = NULL ) {
__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 ! = NULL & & __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_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* Python wrapper */
static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__ ( PyObject * __pyx_v_self , Py_buffer * __pyx_v_info ) ; /*proto*/
static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__ ( PyObject * __pyx_v_self , Py_buffer * __pyx_v_info ) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext ( " __releasebuffer__ (wrapper) " , 0 ) ;
__pyx_pf_5numpy_7ndarray_2__releasebuffer__ ( ( ( PyArrayObject * ) __pyx_v_self ) , ( ( Py_buffer * ) __pyx_v_info ) ) ;
__Pyx_RefNannyFinishContext ( ) ;
}
/* "numpy.pxd":288
* f [ 0 ] = c ' \0 ' # Terminate format string
2011-11-18 02:22:31 +08:00
*
* def __releasebuffer__ ( ndarray self , Py_buffer * info ) : # < < < < < < < < < < < < < <
* if PyArray_HASFIELDS ( self ) :
* stdlib . free ( info . format )
*/
2013-01-08 01:33:04 +08:00
static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__ ( PyArrayObject * __pyx_v_self , Py_buffer * __pyx_v_info ) {
2011-11-18 02:22:31 +08:00
__Pyx_RefNannyDeclarations
int __pyx_t_1 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " __releasebuffer__ " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":289
2011-11-18 02:22:31 +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 ) :
*/
2013-01-08 01:33:04 +08:00
__pyx_t_1 = PyArray_HASFIELDS ( __pyx_v_self ) ;
2011-11-18 02:22:31 +08:00
if ( __pyx_t_1 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":290
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
goto __pyx_L3 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L3 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":291
2011-11-18 02:22:31 +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 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":292
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
goto __pyx_L4 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L4 : ;
2011-11-18 02:22:31 +08:00
__Pyx_RefNannyFinishContext ( ) ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":768
2011-11-18 02:22:31 +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 ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " PyArray_MultiIterNew1 " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":769
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_1 = PyArray_MultiIterNew ( 1 , ( ( void * ) __pyx_v_a ) ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 769 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__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_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":771
2011-11-18 02:22:31 +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 ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " PyArray_MultiIterNew2 " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":772
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
__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 = 772 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__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_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":774
2011-11-18 02:22:31 +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 ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " PyArray_MultiIterNew3 " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":775
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
__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 = 775 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__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_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":777
2011-11-18 02:22:31 +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 )
*
*/
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 ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " PyArray_MultiIterNew4 " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":778
2011-11-18 02:22:31 +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 ) :
*/
__Pyx_XDECREF ( __pyx_r ) ;
2013-01-08 01:33:04 +08:00
__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 = 778 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__pyx_r = __pyx_t_1 ;
__pyx_t_1 = 0 ;
goto __pyx_L0 ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_AddTraceback ( " numpy.PyArray_MultiIterNew4 " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":780
2011-11-18 02:22:31 +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 )
*
*/
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 ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " PyArray_MultiIterNew5 " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":781
2011-11-18 02:22:31 +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 ) # < < < < < < < < < < < < < <
*
* cdef inline char * _util_dtypestring ( dtype descr , char * f , char * end , int * offset ) except NULL :
*/
__Pyx_XDECREF ( __pyx_r ) ;
2013-01-08 01:33:04 +08:00
__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 = 781 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
__pyx_r = __pyx_t_1 ;
__pyx_t_1 = 0 ;
goto __pyx_L0 ;
__pyx_r = Py_None ; __Pyx_INCREF ( Py_None ) ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_AddTraceback ( " numpy.PyArray_MultiIterNew5 " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = 0 ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":783
2011-11-18 02:22:31 +08:00
* return PyArray_MultiIterNew ( 5 , < void * > a , < void * > b , < void * > c , < void * > d , < void * > e )
*
* cdef inline char * _util_dtypestring ( dtype descr , char * f , char * end , int * offset ) except NULL : # < < < < < < < < < < < < < <
* # Recursive utility function used in __getbuffer__ to get format
* # string . The new location in the format string is returned .
*/
static CYTHON_INLINE char * __pyx_f_5numpy__util_dtypestring ( PyArray_Descr * __pyx_v_descr , char * __pyx_v_f , char * __pyx_v_end , int * __pyx_v_offset ) {
PyArray_Descr * __pyx_v_child = 0 ;
int __pyx_v_endian_detector ;
int __pyx_v_little_endian ;
PyObject * __pyx_v_fields = 0 ;
PyObject * __pyx_v_childname = NULL ;
PyObject * __pyx_v_new_offset = NULL ;
PyObject * __pyx_v_t = NULL ;
char * __pyx_r ;
__Pyx_RefNannyDeclarations
PyObject * __pyx_t_1 = NULL ;
Py_ssize_t __pyx_t_2 ;
PyObject * __pyx_t_3 = NULL ;
PyObject * __pyx_t_4 = NULL ;
PyObject * __pyx_t_5 = NULL ;
2013-01-08 01:33:04 +08:00
PyObject * ( * __pyx_t_6 ) ( PyObject * ) ;
2011-11-18 02:22:31 +08:00
int __pyx_t_7 ;
int __pyx_t_8 ;
int __pyx_t_9 ;
2013-01-08 01:33:04 +08:00
int __pyx_t_10 ;
long __pyx_t_11 ;
char * __pyx_t_12 ;
2011-11-18 02:22:31 +08:00
int __pyx_lineno = 0 ;
const char * __pyx_filename = NULL ;
int __pyx_clineno = 0 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " _util_dtypestring " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":790
2011-11-18 02:22:31 +08:00
* cdef int delta_offset
* cdef tuple i
* cdef int endian_detector = 1 # < < < < < < < < < < < < < <
* cdef bint little_endian = ( ( < char * > & endian_detector ) [ 0 ] ! = 0 )
* cdef tuple fields
*/
__pyx_v_endian_detector = 1 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":791
2011-11-18 02:22:31 +08:00
* cdef tuple i
* cdef int endian_detector = 1
* cdef bint little_endian = ( ( < char * > & endian_detector ) [ 0 ] ! = 0 ) # < < < < < < < < < < < < < <
* cdef tuple fields
*
*/
__pyx_v_little_endian = ( ( ( ( char * ) ( & __pyx_v_endian_detector ) ) [ 0 ] ) ! = 0 ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":794
2011-11-18 02:22:31 +08:00
* cdef tuple fields
*
* for childname in descr . names : # < < < < < < < < < < < < < <
* fields = descr . fields [ childname ]
* child , new_offset = fields
*/
if ( unlikely ( ( ( PyObject * ) __pyx_v_descr - > names ) = = Py_None ) ) {
2013-01-08 01:33:04 +08:00
PyErr_SetString ( PyExc_TypeError , " 'NoneType' object is not iterable " ) ;
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 794 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
}
__pyx_t_1 = ( ( PyObject * ) __pyx_v_descr - > names ) ; __Pyx_INCREF ( __pyx_t_1 ) ; __pyx_t_2 = 0 ;
for ( ; ; ) {
if ( __pyx_t_2 > = PyTuple_GET_SIZE ( __pyx_t_1 ) ) break ;
2013-01-08 01:33:04 +08:00
# if CYTHON_COMPILING_IN_CPYTHON
__pyx_t_3 = PyTuple_GET_ITEM ( __pyx_t_1 , __pyx_t_2 ) ; __Pyx_INCREF ( __pyx_t_3 ) ; __pyx_t_2 + + ; if ( unlikely ( 0 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 794 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# else
__pyx_t_3 = PySequence_ITEM ( __pyx_t_1 , __pyx_t_2 ) ; __pyx_t_2 + + ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 794 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# endif
2011-11-18 02:22:31 +08:00
__Pyx_XDECREF ( __pyx_v_childname ) ;
__pyx_v_childname = __pyx_t_3 ;
__pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":795
2011-11-18 02:22:31 +08:00
*
* for childname in descr . names :
* fields = descr . fields [ childname ] # < < < < < < < < < < < < < <
* child , new_offset = fields
*
*/
2013-01-08 01:33:04 +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 = 795 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
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 = 795 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_XDECREF ( ( ( PyObject * ) __pyx_v_fields ) ) ;
__pyx_v_fields = ( ( PyObject * ) __pyx_t_3 ) ;
__pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":796
2011-11-18 02:22:31 +08:00
* for childname in descr . names :
* fields = descr . fields [ childname ]
* child , new_offset = fields # < < < < < < < < < < < < < <
*
* if ( end - f ) - ( new_offset - offset [ 0 ] ) < 15 :
*/
if ( likely ( PyTuple_CheckExact ( ( ( PyObject * ) __pyx_v_fields ) ) ) ) {
PyObject * sequence = ( ( PyObject * ) __pyx_v_fields ) ;
2013-01-08 01:33:04 +08:00
# if CYTHON_COMPILING_IN_CPYTHON
Py_ssize_t size = Py_SIZE ( sequence ) ;
# else
Py_ssize_t size = PySequence_Size ( sequence ) ;
# endif
if ( unlikely ( size ! = 2 ) ) {
if ( size > 2 ) __Pyx_RaiseTooManyValuesError ( 2 ) ;
else if ( size > = 0 ) __Pyx_RaiseNeedMoreValuesError ( size ) ;
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 796 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
# if CYTHON_COMPILING_IN_CPYTHON
2011-11-18 02:22:31 +08:00
__pyx_t_3 = PyTuple_GET_ITEM ( sequence , 0 ) ;
__pyx_t_4 = PyTuple_GET_ITEM ( sequence , 1 ) ;
__Pyx_INCREF ( __pyx_t_3 ) ;
__Pyx_INCREF ( __pyx_t_4 ) ;
2013-01-08 01:33:04 +08:00
# else
__pyx_t_3 = PySequence_ITEM ( sequence , 0 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 796 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_t_4 = PySequence_ITEM ( sequence , 1 ) ; if ( unlikely ( ! __pyx_t_4 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 796 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# endif
} else if ( 1 ) {
__Pyx_RaiseNoneNotIterableError ( ) ; { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 796 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
} else
{
Py_ssize_t index = - 1 ;
__pyx_t_5 = PyObject_GetIter ( ( ( PyObject * ) __pyx_v_fields ) ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 796 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( __pyx_t_5 ) ;
__pyx_t_6 = Py_TYPE ( __pyx_t_5 ) - > tp_iternext ;
index = 0 ; __pyx_t_3 = __pyx_t_6 ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_3 ) ) goto __pyx_L5_unpacking_failed ;
__Pyx_GOTREF ( __pyx_t_3 ) ;
index = 1 ; __pyx_t_4 = __pyx_t_6 ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_4 ) ) goto __pyx_L5_unpacking_failed ;
__Pyx_GOTREF ( __pyx_t_4 ) ;
if ( __Pyx_IternextUnpackEndCheck ( __pyx_t_6 ( __pyx_t_5 ) , 2 ) < 0 ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 796 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_t_6 = NULL ;
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
goto __pyx_L6_unpacking_done ;
__pyx_L5_unpacking_failed : ;
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
__pyx_t_6 = NULL ;
if ( __Pyx_IterFinish ( ) = = 0 ) __Pyx_RaiseNeedMoreValuesError ( index ) ;
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 796 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_L6_unpacking_done : ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
if ( ! ( likely ( ( ( __pyx_t_3 ) = = Py_None ) | | likely ( __Pyx_TypeTest ( __pyx_t_3 , __pyx_ptype_5numpy_dtype ) ) ) ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 796 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_XDECREF ( ( ( PyObject * ) __pyx_v_child ) ) ;
__pyx_v_child = ( ( PyArray_Descr * ) __pyx_t_3 ) ;
__pyx_t_3 = 0 ;
__Pyx_XDECREF ( __pyx_v_new_offset ) ;
__pyx_v_new_offset = __pyx_t_4 ;
__pyx_t_4 = 0 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":798
2011-11-18 02:22:31 +08:00
* child , new_offset = fields
*
* if ( end - f ) - ( new_offset - offset [ 0 ] ) < 15 : # < < < < < < < < < < < < < <
* raise RuntimeError ( u " Format string allocated too short, see comment in numpy.pxd " )
*
*/
2013-01-08 01:33:04 +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 = 798 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_4 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( ( __pyx_v_offset [ 0 ] ) ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 798 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyNumber_Subtract ( __pyx_v_new_offset , __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 798 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +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 = 798 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_DECREF ( __pyx_t_4 ) ; __pyx_t_4 = 0 ;
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_t_3 , __pyx_int_15 , Py_LT ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 798 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 798 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":799
2011-11-18 02:22:31 +08:00
*
* if ( end - f ) - ( new_offset - offset [ 0 ] ) < 15 :
* raise RuntimeError ( u " Format string allocated too short, see comment in numpy.pxd " ) # < < < < < < < < < < < < < <
*
2013-01-08 01:33:04 +08:00
* if ( ( child . byteorder = = c ' > ' and little_endian ) or
2011-11-18 02:22:31 +08:00
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_Call ( __pyx_builtin_RuntimeError , ( ( PyObject * ) __pyx_k_tuple_9 ) , NULL ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 799 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
__Pyx_Raise ( __pyx_t_5 , 0 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 799 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
goto __pyx_L7 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L7 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":801
2011-11-18 02:22:31 +08:00
* raise RuntimeError ( u " Format string allocated too short, see comment in numpy.pxd " )
*
2013-01-08 01:33:04 +08:00
* if ( ( child . byteorder = = c ' > ' and little_endian ) or # < < < < < < < < < < < < < <
* ( child . byteorder = = c ' < ' and not little_endian ) ) :
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
*/
2013-01-08 01:33:04 +08:00
__pyx_t_7 = ( __pyx_v_child - > byteorder = = ' > ' ) ;
if ( __pyx_t_7 ) {
__pyx_t_8 = __pyx_v_little_endian ;
2011-11-18 02:22:31 +08:00
} else {
2013-01-08 01:33:04 +08:00
__pyx_t_8 = __pyx_t_7 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
if ( ! __pyx_t_8 ) {
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":802
2011-11-18 02:22:31 +08:00
*
2013-01-08 01:33:04 +08:00
* if ( ( child . byteorder = = c ' > ' and little_endian ) or
* ( child . byteorder = = c ' < ' and not little_endian ) ) : # < < < < < < < < < < < < < <
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " )
* # One could encode it in the format string and have Cython
*/
2013-01-08 01:33:04 +08:00
__pyx_t_7 = ( __pyx_v_child - > byteorder = = ' < ' ) ;
if ( __pyx_t_7 ) {
__pyx_t_9 = ( ! __pyx_v_little_endian ) ;
__pyx_t_10 = __pyx_t_9 ;
2011-11-18 02:22:31 +08:00
} else {
2013-01-08 01:33:04 +08:00
__pyx_t_10 = __pyx_t_7 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __pyx_t_10 ;
2011-11-18 02:22:31 +08:00
} else {
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __pyx_t_8 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":803
* if ( ( child . byteorder = = c ' > ' and little_endian ) or
* ( child . byteorder = = c ' < ' and not little_endian ) ) :
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " ) # < < < < < < < < < < < < < <
* # One could encode it in the format string and have Cython
* # complain instead , BUT : < and > in format strings also imply
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_Call ( __pyx_builtin_ValueError , ( ( PyObject * ) __pyx_k_tuple_10 ) , NULL ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 803 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
__Pyx_Raise ( __pyx_t_5 , 0 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 803 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
goto __pyx_L8 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L8 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":813
2011-11-18 02:22:31 +08:00
*
* # Output padding bytes
* while offset [ 0 ] < new_offset : # < < < < < < < < < < < < < <
* f [ 0 ] = 120 # " x " ; pad byte
* f + = 1
*/
while ( 1 ) {
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( ( __pyx_v_offset [ 0 ] ) ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 813 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_t_5 , __pyx_v_new_offset , Py_LT ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 813 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 813 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( ! __pyx_t_7 ) break ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":814
2011-11-18 02:22:31 +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 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":815
2011-11-18 02:22:31 +08:00
* while offset [ 0 ] < new_offset :
* f [ 0 ] = 120 # " x " ; pad byte
* f + = 1 # < < < < < < < < < < < < < <
* offset [ 0 ] + = 1
*
*/
__pyx_v_f = ( __pyx_v_f + 1 ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":816
2011-11-18 02:22:31 +08:00
* f [ 0 ] = 120 # " x " ; pad byte
* f + = 1
* offset [ 0 ] + = 1 # < < < < < < < < < < < < < <
*
* offset [ 0 ] + = child . itemsize
*/
2013-01-08 01:33:04 +08:00
__pyx_t_11 = 0 ;
( __pyx_v_offset [ __pyx_t_11 ] ) = ( ( __pyx_v_offset [ __pyx_t_11 ] ) + 1 ) ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":818
2011-11-18 02:22:31 +08:00
* offset [ 0 ] + = 1
*
* offset [ 0 ] + = child . itemsize # < < < < < < < < < < < < < <
*
* if not PyDataType_HASFIELDS ( child ) :
*/
2013-01-08 01:33:04 +08:00
__pyx_t_11 = 0 ;
( __pyx_v_offset [ __pyx_t_11 ] ) = ( ( __pyx_v_offset [ __pyx_t_11 ] ) + __pyx_v_child - > elsize ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":820
2011-11-18 02:22:31 +08:00
* offset [ 0 ] + = child . itemsize
*
* if not PyDataType_HASFIELDS ( child ) : # < < < < < < < < < < < < < <
* t = child . type_num
* if end - f < 5 :
*/
2013-01-08 01:33:04 +08:00
__pyx_t_7 = ( ! PyDataType_HASFIELDS ( __pyx_v_child ) ) ;
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":821
2011-11-18 02:22:31 +08:00
*
* if not PyDataType_HASFIELDS ( child ) :
* t = child . type_num # < < < < < < < < < < < < < <
* if end - f < 5 :
* raise RuntimeError ( u " Format string allocated too short. " )
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( __pyx_v_child - > type_num ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 821 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_XDECREF ( __pyx_v_t ) ;
__pyx_v_t = __pyx_t_3 ;
__pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":822
2011-11-18 02:22:31 +08:00
* if not PyDataType_HASFIELDS ( child ) :
* t = child . type_num
* if end - f < 5 : # < < < < < < < < < < < < < <
* raise RuntimeError ( u " Format string allocated too short. " )
*
*/
2013-01-08 01:33:04 +08:00
__pyx_t_7 = ( ( __pyx_v_end - __pyx_v_f ) < 5 ) ;
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":823
2011-11-18 02:22:31 +08:00
* t = child . type_num
* if end - f < 5 :
* raise RuntimeError ( u " Format string allocated too short. " ) # < < < < < < < < < < < < < <
*
* # Until ticket # 99 is fixed , use integers to avoid warnings
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_Call ( __pyx_builtin_RuntimeError , ( ( PyObject * ) __pyx_k_tuple_12 ) , NULL ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 823 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
__Pyx_Raise ( __pyx_t_3 , 0 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 823 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
goto __pyx_L12 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L12 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":826
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_BYTE ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 826 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 826 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 826 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 98 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":827
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( NPY_UBYTE ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 827 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_5 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 827 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 827 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 66 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":828
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_SHORT ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 828 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 828 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 828 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 104 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":829
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( NPY_USHORT ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 829 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_5 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 829 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 829 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 72 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":830
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_INT ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 830 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 830 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 830 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 105 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":831
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( NPY_UINT ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 831 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_5 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 831 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 831 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 73 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":832
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_LONG ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 832 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 832 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 832 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 108 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":833
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( NPY_ULONG ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 833 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_5 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 833 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 833 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 76 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":834
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_LONGLONG ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 834 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 834 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 834 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 113 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":835
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( NPY_ULONGLONG ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 835 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_5 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 835 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 835 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 81 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":836
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_FLOAT ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 836 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 836 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 836 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 102 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":837
2011-11-18 02:22:31 +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
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( NPY_DOUBLE ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 837 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_5 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 837 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 837 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 100 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":838
2011-11-18 02:22:31 +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
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_LONGDOUBLE ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 838 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 838 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 838 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 103 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":839
2011-11-18 02:22:31 +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
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( NPY_CFLOAT ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 839 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_5 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 839 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 839 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 90 ;
( __pyx_v_f [ 1 ] ) = 102 ;
__pyx_v_f = ( __pyx_v_f + 1 ) ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":840
2011-11-18 02:22:31 +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 "
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_CDOUBLE ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 840 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 840 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 840 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 90 ;
( __pyx_v_f [ 1 ] ) = 100 ;
__pyx_v_f = ( __pyx_v_f + 1 ) ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":841
2011-11-18 02:22:31 +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 :
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyInt_FromLong ( NPY_CLONGDOUBLE ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 841 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_5 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_3 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 841 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_3 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 841 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 90 ;
( __pyx_v_f [ 1 ] ) = 103 ;
__pyx_v_f = ( __pyx_v_f + 1 ) ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":842
2011-11-18 02:22:31 +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 :
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
*/
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyInt_FromLong ( NPY_OBJECT ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 842 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_RichCompare ( __pyx_v_t , __pyx_t_3 , Py_EQ ) ; __Pyx_XGOTREF ( __pyx_t_5 ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 842 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_3 ) ; __pyx_t_3 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_7 = __Pyx_PyObject_IsTrue ( __pyx_t_5 ) ; if ( unlikely ( __pyx_t_7 < 0 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 842 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
if ( __pyx_t_7 ) {
2011-11-18 02:22:31 +08:00
( __pyx_v_f [ 0 ] ) = 79 ;
2013-01-08 01:33:04 +08:00
goto __pyx_L13 ;
2011-11-18 02:22:31 +08:00
}
/*else*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":844
2011-11-18 02:22:31 +08:00
* elif t = = NPY_OBJECT : f [ 0 ] = 79 # " O "
* else :
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t ) # < < < < < < < < < < < < < <
* f + = 1
* else :
*/
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyNumber_Remainder ( ( ( PyObject * ) __pyx_kp_u_7 ) , __pyx_v_t ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 844 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_5 ) ) ;
2013-01-08 01:33:04 +08:00
__pyx_t_3 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_t_3 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 844 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_3 ) ;
PyTuple_SET_ITEM ( __pyx_t_3 , 0 , ( ( PyObject * ) __pyx_t_5 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_t_5 ) ) ;
__pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
__pyx_t_5 = PyObject_Call ( __pyx_builtin_ValueError , ( ( PyObject * ) __pyx_t_3 ) , NULL ) ; if ( unlikely ( ! __pyx_t_5 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 844 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_5 ) ;
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_3 ) ) ; __pyx_t_3 = 0 ;
__Pyx_Raise ( __pyx_t_5 , 0 , 0 , 0 ) ;
__Pyx_DECREF ( __pyx_t_5 ) ; __pyx_t_5 = 0 ;
2013-01-08 01:33:04 +08:00
{ __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 844 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L13 : ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":845
2011-11-18 02:22:31 +08:00
* else :
* raise ValueError ( u " unknown dtype code in numpy.pxd (%d) " % t )
* f + = 1 # < < < < < < < < < < < < < <
* else :
* # Cython ignores struct boundary information ( " T{...} " ) ,
*/
__pyx_v_f = ( __pyx_v_f + 1 ) ;
2013-01-08 01:33:04 +08:00
goto __pyx_L11 ;
2011-11-18 02:22:31 +08:00
}
/*else*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":849
2011-11-18 02:22:31 +08:00
* # Cython ignores struct boundary information ( " T{...} " ) ,
* # so don ' t output it
* f = _util_dtypestring ( child , f , end , offset ) # < < < < < < < < < < < < < <
* return f
*
*/
2013-01-08 01:33:04 +08:00
__pyx_t_12 = __pyx_f_5numpy__util_dtypestring ( __pyx_v_child , __pyx_v_f , __pyx_v_end , __pyx_v_offset ) ; if ( unlikely ( __pyx_t_12 = = NULL ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 849 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_v_f = __pyx_t_12 ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
__pyx_L11 : ;
2011-11-18 02:22:31 +08:00
}
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":850
2011-11-18 02:22:31 +08:00
* # so don ' t output it
* f = _util_dtypestring ( child , f , end , offset )
* return f # < < < < < < < < < < < < < <
*
*
*/
__pyx_r = __pyx_v_f ;
goto __pyx_L0 ;
__pyx_r = 0 ;
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
__Pyx_XDECREF ( __pyx_t_3 ) ;
__Pyx_XDECREF ( __pyx_t_4 ) ;
__Pyx_XDECREF ( __pyx_t_5 ) ;
__Pyx_AddTraceback ( " numpy._util_dtypestring " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
__pyx_r = NULL ;
__pyx_L0 : ;
__Pyx_XDECREF ( ( PyObject * ) __pyx_v_child ) ;
__Pyx_XDECREF ( __pyx_v_fields ) ;
__Pyx_XDECREF ( __pyx_v_childname ) ;
__Pyx_XDECREF ( __pyx_v_new_offset ) ;
__Pyx_XDECREF ( __pyx_v_t ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":965
2011-11-18 02:22:31 +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 ;
__Pyx_RefNannyDeclarations
int __pyx_t_1 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " set_array_base " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":967
2011-11-18 02:22:31 +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 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":968
2011-11-18 02:22:31 +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*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":970
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":971
2011-11-18 02:22:31 +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 : ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":972
2011-11-18 02:22:31 +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 ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":973
2011-11-18 02:22:31 +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_RefNannyFinishContext ( ) ;
}
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":975
2011-11-18 02:22:31 +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 ;
__Pyx_RefNannyDeclarations
int __pyx_t_1 ;
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " get_array_base " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":976
2011-11-18 02:22:31 +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 ) {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":977
2011-11-18 02:22:31 +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*/ {
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":979
2011-11-18 02:22:31 +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 ) ;
__pyx_L0 : ;
__Pyx_XGIVEREF ( __pyx_r ) ;
__Pyx_RefNannyFinishContext ( ) ;
return __pyx_r ;
}
static struct __pyx_vtabstruct_7sklearn_5utils_12arraybuilder_ArrayBuilder __pyx_vtable_7sklearn_5utils_12arraybuilder_ArrayBuilder ;
2013-01-08 01:33:04 +08:00
static PyObject * __pyx_tp_new_7sklearn_5utils_12arraybuilder_ArrayBuilder ( PyTypeObject * t , CYTHON_UNUSED PyObject * a , CYTHON_UNUSED PyObject * k ) {
2011-11-18 02:22:31 +08:00
struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * p ;
PyObject * o = ( * t - > tp_alloc ) ( t , 0 ) ;
if ( ! o ) return 0 ;
p = ( ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) o ) ;
p - > __pyx_vtab = __pyx_vtabptr_7sklearn_5utils_12arraybuilder_ArrayBuilder ;
p - > _arr = Py_None ; Py_INCREF ( Py_None ) ;
return o ;
}
static void __pyx_tp_dealloc_7sklearn_5utils_12arraybuilder_ArrayBuilder ( PyObject * o ) {
struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * p = ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) o ;
2013-01-08 01:33:04 +08:00
PyObject_GC_UnTrack ( o ) ;
Py_CLEAR ( p - > _arr ) ;
PyObject_GC_Track ( o ) ;
2011-11-18 02:22:31 +08:00
( * Py_TYPE ( o ) - > tp_free ) ( o ) ;
}
static int __pyx_tp_traverse_7sklearn_5utils_12arraybuilder_ArrayBuilder ( PyObject * o , visitproc v , void * a ) {
int e ;
struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * p = ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) o ;
if ( p - > _arr ) {
e = ( * v ) ( p - > _arr , a ) ; if ( e ) return e ;
}
return 0 ;
}
static int __pyx_tp_clear_7sklearn_5utils_12arraybuilder_ArrayBuilder ( PyObject * o ) {
struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * p = ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) o ;
PyObject * tmp ;
tmp = ( ( PyObject * ) p - > _arr ) ;
p - > _arr = Py_None ; Py_INCREF ( Py_None ) ;
Py_XDECREF ( tmp ) ;
return 0 ;
}
static PyMethodDef __pyx_methods_7sklearn_5utils_12arraybuilder_ArrayBuilder [ ] = {
2013-01-08 01:33:04 +08:00
{ __Pyx_NAMESTR ( " append " ) , ( PyCFunction ) __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_5append , METH_O , __Pyx_DOCSTR ( __pyx_doc_7sklearn_5utils_12arraybuilder_12ArrayBuilder_4append ) } ,
{ __Pyx_NAMESTR ( " get " ) , ( PyCFunction ) __pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_7get , METH_NOARGS , __Pyx_DOCSTR ( __pyx_doc_7sklearn_5utils_12arraybuilder_12ArrayBuilder_6get ) } ,
2011-11-18 02:22:31 +08:00
{ 0 , 0 , 0 , 0 }
} ;
static PyNumberMethods __pyx_tp_as_number_ArrayBuilder = {
0 , /*nb_add*/
0 , /*nb_subtract*/
0 , /*nb_multiply*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_divide*/
# endif
0 , /*nb_remainder*/
0 , /*nb_divmod*/
0 , /*nb_power*/
0 , /*nb_negative*/
0 , /*nb_positive*/
0 , /*nb_absolute*/
0 , /*nb_nonzero*/
0 , /*nb_invert*/
0 , /*nb_lshift*/
0 , /*nb_rshift*/
0 , /*nb_and*/
0 , /*nb_xor*/
0 , /*nb_or*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_coerce*/
# endif
0 , /*nb_int*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_long*/
# else
0 , /*reserved*/
# endif
0 , /*nb_float*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_oct*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*nb_hex*/
# endif
0 , /*nb_inplace_add*/
0 , /*nb_inplace_subtract*/
0 , /*nb_inplace_multiply*/
# if PY_MAJOR_VERSION < 3
0 , /*nb_inplace_divide*/
# endif
0 , /*nb_inplace_remainder*/
0 , /*nb_inplace_power*/
0 , /*nb_inplace_lshift*/
0 , /*nb_inplace_rshift*/
0 , /*nb_inplace_and*/
0 , /*nb_inplace_xor*/
0 , /*nb_inplace_or*/
0 , /*nb_floor_divide*/
0 , /*nb_true_divide*/
0 , /*nb_inplace_floor_divide*/
0 , /*nb_inplace_true_divide*/
# if PY_VERSION_HEX >= 0x02050000
0 , /*nb_index*/
# endif
} ;
static PySequenceMethods __pyx_tp_as_sequence_ArrayBuilder = {
2013-01-08 01:33:04 +08:00
__pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_3__len__ , /*sq_length*/
2011-11-18 02:22:31 +08:00
0 , /*sq_concat*/
0 , /*sq_repeat*/
0 , /*sq_item*/
0 , /*sq_slice*/
0 , /*sq_ass_item*/
0 , /*sq_ass_slice*/
0 , /*sq_contains*/
0 , /*sq_inplace_concat*/
0 , /*sq_inplace_repeat*/
} ;
static PyMappingMethods __pyx_tp_as_mapping_ArrayBuilder = {
2013-01-08 01:33:04 +08:00
__pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_3__len__ , /*mp_length*/
2011-11-18 02:22:31 +08:00
0 , /*mp_subscript*/
0 , /*mp_ass_subscript*/
} ;
static PyBufferProcs __pyx_tp_as_buffer_ArrayBuilder = {
# if PY_MAJOR_VERSION < 3
0 , /*bf_getreadbuffer*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getwritebuffer*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getsegcount*/
# endif
# if PY_MAJOR_VERSION < 3
0 , /*bf_getcharbuffer*/
# endif
# if PY_VERSION_HEX >= 0x02060000
0 , /*bf_getbuffer*/
# endif
# if PY_VERSION_HEX >= 0x02060000
0 , /*bf_releasebuffer*/
# endif
} ;
static PyTypeObject __pyx_type_7sklearn_5utils_12arraybuilder_ArrayBuilder = {
PyVarObject_HEAD_INIT ( 0 , 0 )
__Pyx_NAMESTR ( " sklearn.utils.arraybuilder.ArrayBuilder " ) , /*tp_name*/
sizeof ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder ) , /*tp_basicsize*/
0 , /*tp_itemsize*/
__pyx_tp_dealloc_7sklearn_5utils_12arraybuilder_ArrayBuilder , /*tp_dealloc*/
0 , /*tp_print*/
0 , /*tp_getattr*/
0 , /*tp_setattr*/
# if PY_MAJOR_VERSION < 3
0 , /*tp_compare*/
# else
0 , /*reserved*/
# endif
0 , /*tp_repr*/
& __pyx_tp_as_number_ArrayBuilder , /*tp_as_number*/
& __pyx_tp_as_sequence_ArrayBuilder , /*tp_as_sequence*/
& __pyx_tp_as_mapping_ArrayBuilder , /*tp_as_mapping*/
0 , /*tp_hash*/
0 , /*tp_call*/
0 , /*tp_str*/
0 , /*tp_getattro*/
0 , /*tp_setattro*/
& __pyx_tp_as_buffer_ArrayBuilder , /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES | Py_TPFLAGS_HAVE_NEWBUFFER | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC , /*tp_flags*/
__Pyx_DOCSTR ( " Helper class to incrementally build a 1-d numpy.ndarray " ) , /*tp_doc*/
__pyx_tp_traverse_7sklearn_5utils_12arraybuilder_ArrayBuilder , /*tp_traverse*/
__pyx_tp_clear_7sklearn_5utils_12arraybuilder_ArrayBuilder , /*tp_clear*/
0 , /*tp_richcompare*/
0 , /*tp_weaklistoffset*/
0 , /*tp_iter*/
0 , /*tp_iternext*/
__pyx_methods_7sklearn_5utils_12arraybuilder_ArrayBuilder , /*tp_methods*/
0 , /*tp_members*/
0 , /*tp_getset*/
0 , /*tp_base*/
0 , /*tp_dict*/
0 , /*tp_descr_get*/
0 , /*tp_descr_set*/
0 , /*tp_dictoffset*/
2013-01-08 01:33:04 +08:00
__pyx_pw_7sklearn_5utils_12arraybuilder_12ArrayBuilder_1__init__ , /*tp_init*/
2011-11-18 02:22:31 +08:00
0 , /*tp_alloc*/
__pyx_tp_new_7sklearn_5utils_12arraybuilder_ArrayBuilder , /*tp_new*/
0 , /*tp_free*/
0 , /*tp_is_gc*/
0 , /*tp_bases*/
0 , /*tp_mro*/
0 , /*tp_cache*/
0 , /*tp_subclasses*/
0 , /*tp_weaklist*/
0 , /*tp_del*/
# if PY_VERSION_HEX >= 0x02060000
0 , /*tp_version_tag*/
# endif
} ;
static PyMethodDef __pyx_methods [ ] = {
{ 0 , 0 , 0 , 0 }
} ;
# if PY_MAJOR_VERSION >= 3
static struct PyModuleDef __pyx_moduledef = {
PyModuleDef_HEAD_INIT ,
__Pyx_NAMESTR ( " arraybuilder " ) ,
0 , /* m_doc */
- 1 , /* m_size */
__pyx_methods /* m_methods */ ,
NULL , /* m_reload */
NULL , /* m_traverse */
NULL , /* m_clear */
NULL /* m_free */
} ;
# endif
static __Pyx_StringTabEntry __pyx_string_tab [ ] = {
{ & __pyx_kp_u_1 , __pyx_k_1 , sizeof ( __pyx_k_1 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_u_11 , __pyx_k_11 , sizeof ( __pyx_k_11 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_u_3 , __pyx_k_3 , sizeof ( __pyx_k_3 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_u_5 , __pyx_k_5 , sizeof ( __pyx_k_5 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_u_7 , __pyx_k_7 , sizeof ( __pyx_k_7 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_kp_u_8 , __pyx_k_8 , sizeof ( __pyx_k_8 ) , 0 , 1 , 0 , 0 } ,
{ & __pyx_n_s__GROWTH_FACTOR , __pyx_k__GROWTH_FACTOR , sizeof ( __pyx_k__GROWTH_FACTOR ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__RuntimeError , __pyx_k__RuntimeError , sizeof ( __pyx_k__RuntimeError ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__ValueError , __pyx_k__ValueError , sizeof ( __pyx_k__ValueError ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s____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__dtype , __pyx_k__dtype , sizeof ( __pyx_k__dtype ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__empty , __pyx_k__empty , sizeof ( __pyx_k__empty ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__initial_capacity , __pyx_k__initial_capacity , sizeof ( __pyx_k__initial_capacity ) , 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__range , __pyx_k__range , sizeof ( __pyx_k__range ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__resize , __pyx_k__resize , sizeof ( __pyx_k__resize ) , 0 , 0 , 1 , 1 } ,
{ & __pyx_n_s__size , __pyx_k__size , sizeof ( __pyx_k__size ) , 0 , 0 , 1 , 1 } ,
{ 0 , 0 , 0 , 0 , 0 , 0 , 0 }
} ;
static int __Pyx_InitCachedBuiltins ( void ) {
2013-01-08 01:33:04 +08:00
__pyx_builtin_ValueError = __Pyx_GetName ( __pyx_b , __pyx_n_s__ValueError ) ; if ( ! __pyx_builtin_ValueError ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 215 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_builtin_range = __Pyx_GetName ( __pyx_b , __pyx_n_s__range ) ; if ( ! __pyx_builtin_range ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 228 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_builtin_RuntimeError = __Pyx_GetName ( __pyx_b , __pyx_n_s__RuntimeError ) ; if ( ! __pyx_builtin_RuntimeError ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 799 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
return 0 ;
__pyx_L1_error : ;
return - 1 ;
}
static int __Pyx_InitCachedConstants ( void ) {
__Pyx_RefNannyDeclarations
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " __Pyx_InitCachedConstants " , 0 ) ;
2011-11-18 02:22:31 +08:00
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":215
2011-11-18 02:22:31 +08:00
* if ( ( flags & pybuf . PyBUF_C_CONTIGUOUS = = pybuf . PyBUF_C_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_C_CONTIGUOUS ) ) :
* raise ValueError ( u " ndarray is not C contiguous " ) # < < < < < < < < < < < < < <
*
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS )
*/
2013-01-08 01:33:04 +08:00
__pyx_k_tuple_2 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_k_tuple_2 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 215 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_k_tuple_2 ) ;
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_1 ) ) ;
PyTuple_SET_ITEM ( __pyx_k_tuple_2 , 0 , ( ( PyObject * ) __pyx_kp_u_1 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_1 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_k_tuple_2 ) ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":219
2011-11-18 02:22:31 +08:00
* if ( ( flags & pybuf . PyBUF_F_CONTIGUOUS = = pybuf . PyBUF_F_CONTIGUOUS )
* and not PyArray_CHKFLAGS ( self , NPY_F_CONTIGUOUS ) ) :
* raise ValueError ( u " ndarray is not Fortran contiguous " ) # < < < < < < < < < < < < < <
*
* info . buf = PyArray_DATA ( self )
*/
2013-01-08 01:33:04 +08:00
__pyx_k_tuple_4 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_k_tuple_4 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 219 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_k_tuple_4 ) ;
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_3 ) ) ;
PyTuple_SET_ITEM ( __pyx_k_tuple_4 , 0 , ( ( PyObject * ) __pyx_kp_u_3 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_3 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_k_tuple_4 ) ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":257
* if ( ( descr . byteorder = = c ' > ' and little_endian ) or
* ( descr . byteorder = = c ' < ' and not little_endian ) ) :
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " ) # < < < < < < < < < < < < < <
* if t = = NPY_BYTE : f = " b "
* elif t = = NPY_UBYTE : f = " B "
*/
2013-01-08 01:33:04 +08:00
__pyx_k_tuple_6 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_k_tuple_6 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 257 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_k_tuple_6 ) ;
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
PyTuple_SET_ITEM ( __pyx_k_tuple_6 , 0 , ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_k_tuple_6 ) ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":799
2011-11-18 02:22:31 +08:00
*
* if ( end - f ) - ( new_offset - offset [ 0 ] ) < 15 :
* raise RuntimeError ( u " Format string allocated too short, see comment in numpy.pxd " ) # < < < < < < < < < < < < < <
*
2013-01-08 01:33:04 +08:00
* if ( ( child . byteorder = = c ' > ' and little_endian ) or
2011-11-18 02:22:31 +08:00
*/
2013-01-08 01:33:04 +08:00
__pyx_k_tuple_9 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_k_tuple_9 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 799 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_k_tuple_9 ) ;
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_8 ) ) ;
PyTuple_SET_ITEM ( __pyx_k_tuple_9 , 0 , ( ( PyObject * ) __pyx_kp_u_8 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_8 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_k_tuple_9 ) ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":803
* if ( ( child . byteorder = = c ' > ' and little_endian ) or
* ( child . byteorder = = c ' < ' and not little_endian ) ) :
2011-11-18 02:22:31 +08:00
* raise ValueError ( u " Non-native byte order not supported " ) # < < < < < < < < < < < < < <
* # One could encode it in the format string and have Cython
* # complain instead , BUT : < and > in format strings also imply
*/
2013-01-08 01:33:04 +08:00
__pyx_k_tuple_10 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_k_tuple_10 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 803 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_k_tuple_10 ) ;
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
PyTuple_SET_ITEM ( __pyx_k_tuple_10 , 0 , ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_5 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_k_tuple_10 ) ) ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":823
2011-11-18 02:22:31 +08:00
* t = child . type_num
* if end - f < 5 :
* raise RuntimeError ( u " Format string allocated too short. " ) # < < < < < < < < < < < < < <
*
* # Until ticket # 99 is fixed , use integers to avoid warnings
*/
2013-01-08 01:33:04 +08:00
__pyx_k_tuple_12 = PyTuple_New ( 1 ) ; if ( unlikely ( ! __pyx_k_tuple_12 ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 823 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_k_tuple_12 ) ;
__Pyx_INCREF ( ( ( PyObject * ) __pyx_kp_u_11 ) ) ;
PyTuple_SET_ITEM ( __pyx_k_tuple_12 , 0 , ( ( PyObject * ) __pyx_kp_u_11 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_kp_u_11 ) ) ;
__Pyx_GIVEREF ( ( ( PyObject * ) __pyx_k_tuple_12 ) ) ;
__Pyx_RefNannyFinishContext ( ) ;
return 0 ;
__pyx_L1_error : ;
__Pyx_RefNannyFinishContext ( ) ;
return - 1 ;
}
static int __Pyx_InitGlobals ( void ) {
if ( __Pyx_InitStrings ( __pyx_string_tab ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
__pyx_int_1 = PyInt_FromLong ( 1 ) ; if ( unlikely ( ! __pyx_int_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
__pyx_int_2 = PyInt_FromLong ( 2 ) ; if ( unlikely ( ! __pyx_int_2 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
__pyx_int_15 = PyInt_FromLong ( 15 ) ; if ( unlikely ( ! __pyx_int_15 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
__pyx_int_256 = PyInt_FromLong ( 256 ) ; if ( unlikely ( ! __pyx_int_256 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
return 0 ;
__pyx_L1_error : ;
return - 1 ;
}
# if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initarraybuilder ( void ) ; /*proto*/
PyMODINIT_FUNC initarraybuilder ( void )
# else
PyMODINIT_FUNC PyInit_arraybuilder ( void ) ; /*proto*/
PyMODINIT_FUNC PyInit_arraybuilder ( void )
# endif
{
PyObject * __pyx_t_1 = NULL ;
__Pyx_RefNannyDeclarations
# if CYTHON_REFNANNY
__Pyx_RefNanny = __Pyx_RefNannyImportAPI ( " refnanny " ) ;
if ( ! __Pyx_RefNanny ) {
PyErr_Clear ( ) ;
__Pyx_RefNanny = __Pyx_RefNannyImportAPI ( " Cython.Runtime.refnanny " ) ;
if ( ! __Pyx_RefNanny )
Py_FatalError ( " failed to import 'refnanny' module " ) ;
}
# endif
2013-01-08 01:33:04 +08:00
__Pyx_RefNannySetupContext ( " PyMODINIT_FUNC PyInit_arraybuilder(void) " , 0 ) ;
2011-11-18 02:22:31 +08:00
if ( __Pyx_check_binary_version ( ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_empty_tuple = PyTuple_New ( 0 ) ; if ( unlikely ( ! __pyx_empty_tuple ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_empty_bytes = PyBytes_FromStringAndSize ( " " , 0 ) ; if ( unlikely ( ! __pyx_empty_bytes ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# ifdef __Pyx_CyFunction_USED
if ( __Pyx_CyFunction_init ( ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# endif
2013-01-08 01:33:04 +08:00
# ifdef __Pyx_FusedFunction_USED
if ( __pyx_FusedFunction_init ( ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# endif
# ifdef __Pyx_Generator_USED
if ( __pyx_Generator_init ( ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# endif
2011-11-18 02:22:31 +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
2013-01-08 01:33:04 +08:00
__pyx_m = Py_InitModule4 ( __Pyx_NAMESTR ( " arraybuilder " ) , __pyx_methods , 0 , 0 , PYTHON_API_VERSION ) ; Py_XINCREF ( __pyx_m ) ;
2011-11-18 02:22:31 +08:00
# else
__pyx_m = PyModule_Create ( & __pyx_moduledef ) ;
# endif
2013-01-08 01:33:04 +08:00
if ( unlikely ( ! __pyx_m ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# if PY_MAJOR_VERSION >= 3
{
PyObject * modules = PyImport_GetModuleDict ( ) ; if ( unlikely ( ! modules ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
if ( ! PyDict_GetItemString ( modules , " sklearn.utils.arraybuilder " ) ) {
if ( unlikely ( PyDict_SetItemString ( modules , " sklearn.utils.arraybuilder " , __pyx_m ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
}
}
# endif
__pyx_b = PyImport_AddModule ( __Pyx_NAMESTR ( __Pyx_BUILTIN_MODULE_NAME ) ) ; if ( unlikely ( ! __pyx_b ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
# if CYTHON_COMPILING_IN_PYPY
Py_INCREF ( __pyx_b ) ;
2011-11-18 02:22:31 +08:00
# endif
if ( __Pyx_SetAttrString ( __pyx_m , " __builtins__ " , __pyx_b ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
/*--- Initialize various global constants etc. ---*/
if ( unlikely ( __Pyx_InitGlobals ( ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
if ( __pyx_module_is_main_sklearn__utils__arraybuilder ) {
if ( __Pyx_SetAttrString ( __pyx_m , " __name__ " , __pyx_n_s____main__ ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; } ;
}
/*--- Builtin init code ---*/
if ( unlikely ( __Pyx_InitCachedBuiltins ( ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
/*--- Constants init code ---*/
if ( unlikely ( __Pyx_InitCachedConstants ( ) < 0 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
/*--- Global init code ---*/
/*--- Variable export code ---*/
/*--- Function export code ---*/
/*--- Type init code ---*/
__pyx_vtabptr_7sklearn_5utils_12arraybuilder_ArrayBuilder = & __pyx_vtable_7sklearn_5utils_12arraybuilder_ArrayBuilder ;
__pyx_vtable_7sklearn_5utils_12arraybuilder_ArrayBuilder . _grow = ( PyObject * ( * ) ( struct __pyx_obj_7sklearn_5utils_12arraybuilder_ArrayBuilder * ) ) __pyx_f_7sklearn_5utils_12arraybuilder_12ArrayBuilder__grow ;
2013-01-08 01:33:04 +08:00
if ( PyType_Ready ( & __pyx_type_7sklearn_5utils_12arraybuilder_ArrayBuilder ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 11 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
if ( __Pyx_SetVtable ( __pyx_type_7sklearn_5utils_12arraybuilder_ArrayBuilder . tp_dict , __pyx_vtabptr_7sklearn_5utils_12arraybuilder_ArrayBuilder ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 11 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
if ( __Pyx_SetAttrString ( __pyx_m , " ArrayBuilder " , ( PyObject * ) & __pyx_type_7sklearn_5utils_12arraybuilder_ArrayBuilder ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 11 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__pyx_ptype_7sklearn_5utils_12arraybuilder_ArrayBuilder = & __pyx_type_7sklearn_5utils_12arraybuilder_ArrayBuilder ;
/*--- Type import code ---*/
2013-01-08 01:33:04 +08:00
__pyx_ptype_7cpython_4type_type = __Pyx_ImportType ( __Pyx_BUILTIN_MODULE_NAME , " type " ,
# if CYTHON_COMPILING_IN_PYPY
sizeof ( PyTypeObject ) ,
# else
sizeof ( PyHeapTypeObject ) ,
# endif
0 ) ; if ( unlikely ( ! __pyx_ptype_7cpython_4type_type ) ) { __pyx_filename = __pyx_f [ 2 ] ; __pyx_lineno = 9 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__pyx_ptype_5numpy_dtype = __Pyx_ImportType ( " numpy " , " dtype " , sizeof ( PyArray_Descr ) , 0 ) ; if ( unlikely ( ! __pyx_ptype_5numpy_dtype ) ) { __pyx_filename = __pyx_f [ 1 ] ; __pyx_lineno = 155 ; __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 = 165 ; __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 = 169 ; __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 = 178 ; __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 = 861 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
/*--- Variable import code ---*/
/*--- Function import code ---*/
/*--- Execution code ---*/
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":6
2011-11-18 02:22:31 +08:00
* cimport cython
* cimport numpy as np
* import numpy as np # < < < < < < < < < < < < < <
*
2013-01-08 01:33:04 +08:00
* np . import_array ( )
2011-11-18 02:22:31 +08:00
*/
2013-01-08 01:33:04 +08:00
__pyx_t_1 = __Pyx_Import ( ( ( PyObject * ) __pyx_n_s__numpy ) , 0 , - 1 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 6 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2013-01-08 01:33:04 +08:00
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 ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
2013-01-08 01:33:04 +08:00
/* "sklearn/utils/arraybuilder.pyx":8
* import numpy as np
*
* np . import_array ( ) # < < < < < < < < < < < < < <
*
*
*/
import_array ( ) ;
/* "sklearn/utils/arraybuilder.pyx":15
2011-11-18 02:22:31 +08:00
* # Or : let ' s reinvent the wheel !
*
* GROWTH_FACTOR = 1.5 # < < < < < < < < < < < < < <
*
* cdef Py_ssize_t _nelems
*/
2013-01-08 01:33:04 +08:00
__pyx_t_1 = PyFloat_FromDouble ( 1.5 ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 15 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_GOTREF ( __pyx_t_1 ) ;
2013-01-08 01:33:04 +08:00
if ( PyDict_SetItem ( ( PyObject * ) __pyx_ptype_7sklearn_5utils_12arraybuilder_ArrayBuilder - > tp_dict , __pyx_n_s__GROWTH_FACTOR , __pyx_t_1 ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 15 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
2011-11-18 02:22:31 +08:00
__Pyx_DECREF ( __pyx_t_1 ) ; __pyx_t_1 = 0 ;
PyType_Modified ( __pyx_ptype_7sklearn_5utils_12arraybuilder_ArrayBuilder ) ;
/* "sklearn/utils/arraybuilder.pyx":1
2013-01-08 01:33:04 +08:00
* # Author : Lars Buitinck < L . J . Buitinck @ uva . nl > # < < < < < < < < < < < < < <
2013-04-30 14:23:46 +08:00
* # Licence : BSD 3 clause
2013-01-08 01:33:04 +08:00
*
2011-11-18 02:22:31 +08:00
*/
__pyx_t_1 = PyDict_New ( ) ; if ( unlikely ( ! __pyx_t_1 ) ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_GOTREF ( ( ( PyObject * ) __pyx_t_1 ) ) ;
if ( PyObject_SetAttr ( __pyx_m , __pyx_n_s____test__ , ( ( PyObject * ) __pyx_t_1 ) ) < 0 ) { __pyx_filename = __pyx_f [ 0 ] ; __pyx_lineno = 1 ; __pyx_clineno = __LINE__ ; goto __pyx_L1_error ; }
__Pyx_DECREF ( ( ( PyObject * ) __pyx_t_1 ) ) ; __pyx_t_1 = 0 ;
2013-01-08 01:33:04 +08:00
/* "numpy.pxd":975
2011-11-18 02:22:31 +08:00
* arr . base = baseptr
*
* cdef inline object get_array_base ( ndarray arr ) : # < < < < < < < < < < < < < <
* if arr . base is NULL :
* return None
*/
goto __pyx_L0 ;
__pyx_L1_error : ;
__Pyx_XDECREF ( __pyx_t_1 ) ;
if ( __pyx_m ) {
__Pyx_AddTraceback ( " init sklearn.utils.arraybuilder " , __pyx_clineno , __pyx_lineno , __pyx_filename ) ;
Py_DECREF ( __pyx_m ) ; __pyx_m = 0 ;
} else if ( ! PyErr_Occurred ( ) ) {
PyErr_SetString ( PyExc_ImportError , " init sklearn.utils.arraybuilder " ) ;
}
__pyx_L0 : ;
__Pyx_RefNannyFinishContext ( ) ;
# if PY_MAJOR_VERSION < 3
return ;
# else
return __pyx_m ;
# endif
}
/* Runtime support code */
# if CYTHON_REFNANNY
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 ;
}
# endif /* CYTHON_REFNANNY */
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 ,
2013-01-08 01:33:04 +08:00
PyString_AsString ( kw_name ) ) ;
2011-11-18 02:22:31 +08:00
# endif
}
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 ;
2013-01-08 01:33:04 +08:00
continue ;
}
name = first_kw_arg ;
# if PY_MAJOR_VERSION < 3
if ( likely ( PyString_CheckExact ( key ) ) | | likely ( PyString_Check ( key ) ) ) {
while ( * name ) {
if ( ( CYTHON_COMPILING_IN_PYPY | | PyString_GET_SIZE ( * * name ) = = PyString_GET_SIZE ( key ) )
& & _PyString_Eq ( * * name , key ) ) {
2011-11-18 02:22:31 +08:00
values [ name - argnames ] = value ;
2013-01-08 01:33:04 +08:00
break ;
}
name + + ;
}
if ( * name ) continue ;
else {
PyObject * * * argname = argnames ;
while ( argname ! = first_kw_arg ) {
if ( ( * * argname = = key ) | | (
( CYTHON_COMPILING_IN_PYPY | | PyString_GET_SIZE ( * * argname ) = = PyString_GET_SIZE ( key ) )
& & _PyString_Eq ( * * argname , key ) ) ) {
goto arg_passed_twice ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
argname + + ;
}
}
} else
# endif
if ( likely ( PyUnicode_Check ( key ) ) ) {
while ( * name ) {
int cmp = ( * * name = = key ) ? 0 :
# if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
( PyUnicode_GET_SIZE ( * * name ) ! = PyUnicode_GET_SIZE ( key ) ) ? 1 :
# endif
PyUnicode_Compare ( * * name , key ) ;
if ( cmp < 0 & & unlikely ( PyErr_Occurred ( ) ) ) goto bad ;
if ( cmp = = 0 ) {
values [ name - argnames ] = value ;
break ;
}
name + + ;
}
if ( * name ) continue ;
else {
PyObject * * * argname = argnames ;
while ( argname ! = first_kw_arg ) {
int cmp = ( * * argname = = key ) ? 0 :
# if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
( PyUnicode_GET_SIZE ( * * argname ) ! = PyUnicode_GET_SIZE ( key ) ) ? 1 :
# endif
PyUnicode_Compare ( * * argname , key ) ;
if ( cmp < 0 & & unlikely ( PyErr_Occurred ( ) ) ) goto bad ;
if ( cmp = = 0 ) goto arg_passed_twice ;
argname + + ;
2011-11-18 02:22:31 +08:00
}
}
2013-01-08 01:33:04 +08:00
} else
goto invalid_keyword_type ;
if ( kwds2 ) {
if ( unlikely ( PyDict_SetItem ( kwds2 , key , value ) ) ) goto bad ;
} else {
goto invalid_keyword ;
2011-11-18 02:22:31 +08:00
}
}
return 0 ;
arg_passed_twice :
2013-01-08 01:33:04 +08:00
__Pyx_RaiseDoubleKeywordsError ( function_name , key ) ;
2011-11-18 02:22:31 +08:00
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 ;
}
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 * 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 " ;
}
PyErr_Format ( PyExc_TypeError ,
2013-01-08 01:33:04 +08:00
" %s() takes %s % " CYTHON_FORMAT_SSIZE_T " d positional argument%s (% " CYTHON_FORMAT_SSIZE_T " d given) " ,
2011-11-18 02:22:31 +08:00
func_name , more_or_less , num_expected ,
( num_expected = = 1 ) ? " " : " s " , num_found ) ;
}
static PyObject * __Pyx_GetName ( PyObject * dict , PyObject * name ) {
PyObject * result ;
result = PyObject_GetAttr ( dict , name ) ;
if ( ! result ) {
if ( dict ! = __pyx_b ) {
PyErr_Clear ( ) ;
result = PyObject_GetAttr ( __pyx_b , name ) ;
}
if ( ! result ) {
PyErr_SetObject ( PyExc_NameError , name ) ;
}
}
return result ;
}
static CYTHON_INLINE void __Pyx_ErrRestore ( PyObject * type , PyObject * value , PyObject * tb ) {
2013-01-08 01:33:04 +08:00
# if CYTHON_COMPILING_IN_CPYTHON
2011-11-18 02:22:31 +08:00
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 ) ;
2013-01-08 01:33:04 +08:00
# else
PyErr_Restore ( type , value , tb ) ;
# endif
2011-11-18 02:22:31 +08:00
}
static CYTHON_INLINE void __Pyx_ErrFetch ( PyObject * * type , PyObject * * value , PyObject * * tb ) {
2013-01-08 01:33:04 +08:00
# if CYTHON_COMPILING_IN_CPYTHON
2011-11-18 02:22:31 +08:00
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 ;
2013-01-08 01:33:04 +08:00
# else
PyErr_Fetch ( type , value , tb ) ;
# endif
2011-11-18 02:22:31 +08:00
}
# if PY_MAJOR_VERSION < 3
2013-01-08 01:33:04 +08:00
static void __Pyx_Raise ( PyObject * type , PyObject * value , PyObject * tb ,
CYTHON_UNUSED PyObject * cause ) {
2011-11-18 02:22:31 +08:00
Py_XINCREF ( type ) ;
2013-01-08 01:33:04 +08:00
if ( ! value | | value = = Py_None )
value = NULL ;
else
2011-11-18 02:22:31 +08:00
Py_INCREF ( value ) ;
2013-01-08 01:33:04 +08:00
if ( ! tb | | tb = = Py_None )
tb = NULL ;
else {
Py_INCREF ( tb ) ;
if ( ! PyTraceBack_Check ( tb ) ) {
PyErr_SetString ( PyExc_TypeError ,
" raise: arg 3 must be a traceback or None " ) ;
goto raise_error ;
}
2011-11-18 02:22:31 +08:00
}
# if PY_VERSION_HEX < 0x02050000
2013-01-08 01:33:04 +08:00
if ( PyClass_Check ( type ) ) {
2011-11-18 02:22:31 +08:00
# else
2013-01-08 01:33:04 +08:00
if ( PyType_Check ( type ) ) {
2011-11-18 02:22:31 +08:00
# endif
2013-01-08 01:33:04 +08:00
# if CYTHON_COMPILING_IN_PYPY
if ( ! value ) {
Py_INCREF ( Py_None ) ;
value = Py_None ;
}
# endif
PyErr_NormalizeException ( & type , & value , & tb ) ;
} else {
if ( value ) {
2011-11-18 02:22:31 +08:00
PyErr_SetString ( PyExc_TypeError ,
" instance exception may not have a separate value " ) ;
goto raise_error ;
}
value = type ;
# if PY_VERSION_HEX < 0x02050000
if ( PyInstance_Check ( type ) ) {
type = ( PyObject * ) ( ( PyInstanceObject * ) type ) - > in_class ;
Py_INCREF ( type ) ;
}
else {
type = 0 ;
PyErr_SetString ( PyExc_TypeError ,
" raise: exception must be an old-style class or instance " ) ;
goto raise_error ;
}
# else
type = ( PyObject * ) Py_TYPE ( type ) ;
Py_INCREF ( type ) ;
if ( ! PyType_IsSubtype ( ( PyTypeObject * ) type , ( PyTypeObject * ) PyExc_BaseException ) ) {
PyErr_SetString ( PyExc_TypeError ,
" raise: exception class must be a subclass of BaseException " ) ;
goto raise_error ;
}
# endif
}
__Pyx_ErrRestore ( type , value , tb ) ;
return ;
raise_error :
Py_XDECREF ( value ) ;
Py_XDECREF ( type ) ;
Py_XDECREF ( tb ) ;
return ;
}
# else /* Python 3+ */
static void __Pyx_Raise ( PyObject * type , PyObject * value , PyObject * tb , PyObject * cause ) {
2013-01-08 01:33:04 +08:00
PyObject * owned_instance = NULL ;
2011-11-18 02:22:31 +08:00
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 ) ;
2013-01-08 01:33:04 +08:00
} else if ( PyExceptionClass_Check ( type ) ) {
PyObject * args ;
if ( ! value )
args = PyTuple_New ( 0 ) ;
else if ( PyTuple_Check ( value ) ) {
Py_INCREF ( value ) ;
args = value ;
}
else
args = PyTuple_Pack ( 1 , value ) ;
if ( ! args )
goto bad ;
owned_instance = PyEval_CallObject ( type , args ) ;
Py_DECREF ( args ) ;
if ( ! owned_instance )
goto bad ;
value = owned_instance ;
if ( ! PyExceptionInstance_Check ( value ) ) {
PyErr_Format ( PyExc_TypeError ,
" calling %R should have returned an instance of "
" BaseException, not %R " ,
type , Py_TYPE ( value ) ) ;
goto bad ;
}
} else {
2011-11-18 02:22:31 +08:00
PyErr_SetString ( PyExc_TypeError ,
" raise: exception class must be a subclass of BaseException " ) ;
goto bad ;
}
2013-01-08 01:33:04 +08:00
if ( cause & & cause ! = Py_None ) {
2011-11-18 02:22:31 +08:00
PyObject * fixed_cause ;
if ( PyExceptionClass_Check ( cause ) ) {
fixed_cause = PyObject_CallObject ( cause , NULL ) ;
if ( fixed_cause = = NULL )
goto bad ;
}
else if ( PyExceptionInstance_Check ( cause ) ) {
fixed_cause = cause ;
Py_INCREF ( fixed_cause ) ;
}
else {
PyErr_SetString ( PyExc_TypeError ,
" exception causes must derive from "
" BaseException " ) ;
goto bad ;
}
PyException_SetCause ( value , fixed_cause ) ;
}
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 :
2013-01-08 01:33:04 +08:00
Py_XDECREF ( owned_instance ) ;
2011-11-18 02:22:31 +08:00
return ;
}
# endif
2013-01-08 01:33:04 +08:00
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError ( Py_ssize_t expected ) {
2011-11-18 02:22:31 +08:00
PyErr_Format ( PyExc_ValueError ,
2013-01-08 01:33:04 +08:00
" too many values to unpack (expected % " CYTHON_FORMAT_SSIZE_T " d) " , expected ) ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError ( Py_ssize_t index ) {
2011-11-18 02:22:31 +08:00
PyErr_Format ( PyExc_ValueError ,
2013-01-08 01:33:04 +08:00
" need more than % " CYTHON_FORMAT_SSIZE_T " d value%s to unpack " ,
index , ( index = = 1 ) ? " " : " s " ) ;
2011-11-18 02:22:31 +08:00
}
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError ( void ) {
PyErr_SetString ( PyExc_TypeError , " 'NoneType' object is not iterable " ) ;
}
2013-01-08 01:33:04 +08:00
static CYTHON_INLINE int __Pyx_IterFinish ( void ) {
# if CYTHON_COMPILING_IN_CPYTHON
PyThreadState * tstate = PyThreadState_GET ( ) ;
PyObject * exc_type = tstate - > curexc_type ;
if ( unlikely ( exc_type ) ) {
if ( likely ( exc_type = = PyExc_StopIteration ) | | PyErr_GivenExceptionMatches ( exc_type , PyExc_StopIteration ) ) {
PyObject * exc_value , * exc_tb ;
exc_value = tstate - > curexc_value ;
exc_tb = tstate - > curexc_traceback ;
tstate - > curexc_type = 0 ;
tstate - > curexc_value = 0 ;
tstate - > curexc_traceback = 0 ;
Py_DECREF ( exc_type ) ;
Py_XDECREF ( exc_value ) ;
Py_XDECREF ( exc_tb ) ;
return 0 ;
} else {
return - 1 ;
}
}
return 0 ;
# else
if ( unlikely ( PyErr_Occurred ( ) ) ) {
if ( likely ( PyErr_ExceptionMatches ( PyExc_StopIteration ) ) ) {
PyErr_Clear ( ) ;
return 0 ;
} else {
return - 1 ;
}
}
return 0 ;
# endif
}
static int __Pyx_IternextUnpackEndCheck ( PyObject * retval , Py_ssize_t expected ) {
if ( unlikely ( retval ) ) {
Py_DECREF ( retval ) ;
__Pyx_RaiseTooManyValuesError ( expected ) ;
return - 1 ;
2011-11-18 02:22:31 +08:00
} else {
2013-01-08 01:33:04 +08:00
return __Pyx_IterFinish ( ) ;
2011-11-18 02:22:31 +08:00
}
2013-01-08 01:33:04 +08:00
return 0 ;
2011-11-18 02:22:31 +08:00
}
static CYTHON_INLINE int __Pyx_TypeTest ( PyObject * obj , PyTypeObject * type ) {
if ( unlikely ( ! type ) ) {
PyErr_Format ( PyExc_SystemError , " Missing type object " ) ;
return 0 ;
}
if ( likely ( PyObject_TypeCheck ( obj , type ) ) )
return 1 ;
PyErr_Format ( PyExc_TypeError , " Cannot convert %.200s to %.200s " ,
Py_TYPE ( obj ) - > tp_name , type - > tp_name ) ;
return 0 ;
}
static PyObject * __Pyx_Import ( PyObject * name , PyObject * from_list , long level ) {
PyObject * py_import = 0 ;
PyObject * empty_list = 0 ;
PyObject * module = 0 ;
PyObject * global_dict = 0 ;
PyObject * empty_dict = 0 ;
PyObject * list ;
py_import = __Pyx_GetAttrString ( __pyx_b , " __import__ " ) ;
if ( ! py_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 ;
# if PY_VERSION_HEX >= 0x02050000
{
2013-01-08 01:33:04 +08:00
# if PY_MAJOR_VERSION >= 3
if ( level = = - 1 ) {
if ( strchr ( __Pyx_MODULE_NAME , ' . ' ) ) {
/* try package relative import first */
PyObject * py_level = PyInt_FromLong ( 1 ) ;
if ( ! py_level )
goto bad ;
module = PyObject_CallFunctionObjArgs ( py_import ,
name , global_dict , empty_dict , list , py_level , NULL ) ;
Py_DECREF ( py_level ) ;
if ( ! module ) {
if ( ! PyErr_ExceptionMatches ( PyExc_ImportError ) )
goto bad ;
PyErr_Clear ( ) ;
}
}
level = 0 ; /* try absolute import on failure */
}
# endif
if ( ! module ) {
PyObject * py_level = PyInt_FromLong ( level ) ;
if ( ! py_level )
goto bad ;
module = PyObject_CallFunctionObjArgs ( py_import ,
name , global_dict , empty_dict , list , py_level , NULL ) ;
Py_DECREF ( py_level ) ;
}
2011-11-18 02:22:31 +08:00
}
# else
if ( level > 0 ) {
PyErr_SetString ( PyExc_RuntimeError , " Relative import is not supported for Python <=2.4. " ) ;
goto bad ;
}
module = PyObject_CallFunctionObjArgs ( py_import ,
name , global_dict , empty_dict , list , NULL ) ;
# endif
bad :
Py_XDECREF ( empty_list ) ;
Py_XDECREF ( py_import ) ;
Py_XDECREF ( empty_dict ) ;
return module ;
}
# 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 ;
}
# if 1
static CYTHON_INLINE float __Pyx_c_absf ( __pyx_t_float_complex z ) {
# if !defined(HAVE_HYPOT) || defined(_MSC_VER)
return sqrtf ( z . real * z . real + z . imag * z . imag ) ;
# else
return hypotf ( z . real , z . imag ) ;
# endif
}
static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf ( __pyx_t_float_complex a , __pyx_t_float_complex b ) {
__pyx_t_float_complex z ;
float r , lnr , theta , z_r , z_theta ;
if ( b . imag = = 0 & & b . real = = ( int ) b . real ) {
if ( b . real < 0 ) {
float denom = a . real * a . real + a . imag * a . imag ;
a . real = a . real / denom ;
a . imag = - a . imag / denom ;
b . real = - b . real ;
}
switch ( ( int ) b . real ) {
case 0 :
z . real = 1 ;
z . imag = 0 ;
return z ;
case 1 :
return a ;
case 2 :
z = __Pyx_c_prodf ( a , a ) ;
return __Pyx_c_prodf ( a , a ) ;
case 3 :
z = __Pyx_c_prodf ( a , a ) ;
return __Pyx_c_prodf ( z , a ) ;
case 4 :
z = __Pyx_c_prodf ( a , a ) ;
return __Pyx_c_prodf ( z , z ) ;
}
}
if ( a . imag = = 0 ) {
if ( a . real = = 0 ) {
return a ;
}
r = a . real ;
theta = 0 ;
} else {
r = __Pyx_c_absf ( a ) ;
theta = atan2f ( a . imag , a . real ) ;
}
lnr = logf ( r ) ;
z_r = expf ( lnr * b . real - theta * b . imag ) ;
z_theta = theta * b . real + lnr * b . imag ;
z . real = z_r * cosf ( z_theta ) ;
z . imag = z_r * sinf ( z_theta ) ;
return z ;
}
# 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 ;
}
# if 1
static CYTHON_INLINE double __Pyx_c_abs ( __pyx_t_double_complex z ) {
# if !defined(HAVE_HYPOT) || defined(_MSC_VER)
return sqrt ( z . real * z . real + z . imag * z . imag ) ;
# else
return hypot ( z . real , z . imag ) ;
# endif
}
static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow ( __pyx_t_double_complex a , __pyx_t_double_complex b ) {
__pyx_t_double_complex z ;
double r , lnr , theta , z_r , z_theta ;
if ( b . imag = = 0 & & b . real = = ( int ) b . real ) {
if ( b . real < 0 ) {
double denom = a . real * a . real + a . imag * a . imag ;
a . real = a . real / denom ;
a . imag = - a . imag / denom ;
b . real = - b . real ;
}
switch ( ( int ) b . real ) {
case 0 :
z . real = 1 ;
z . imag = 0 ;
return z ;
case 1 :
return a ;
case 2 :
z = __Pyx_c_prod ( a , a ) ;
return __Pyx_c_prod ( a , a ) ;
case 3 :
z = __Pyx_c_prod ( a , a ) ;
return __Pyx_c_prod ( z , a ) ;
case 4 :
z = __Pyx_c_prod ( a , a ) ;
return __Pyx_c_prod ( z , z ) ;
}
}
if ( a . imag = = 0 ) {
if ( a . real = = 0 ) {
return a ;
}
r = a . real ;
theta = 0 ;
} else {
r = __Pyx_c_abs ( a ) ;
theta = atan2 ( a . imag , a . real ) ;
}
lnr = log ( r ) ;
z_r = exp ( lnr * b . real - theta * b . imag ) ;
z_theta = theta * b . real + lnr * b . imag ;
z . real = z_r * cos ( z_theta ) ;
z . imag = z_r * sin ( z_theta ) ;
return z ;
}
# 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 ;
if ( sizeof ( unsigned char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned char ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to unsigned char " :
" value too large to convert to unsigned char " ) ;
}
return ( unsigned char ) - 1 ;
}
return ( unsigned char ) val ;
}
return ( unsigned char ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort ( PyObject * x ) {
const unsigned short neg_one = ( unsigned short ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( unsigned short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned short ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to unsigned short " :
" value too large to convert to unsigned short " ) ;
}
return ( unsigned short ) - 1 ;
}
return ( unsigned short ) val ;
}
return ( unsigned short ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt ( PyObject * x ) {
const unsigned int neg_one = ( unsigned int ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( unsigned int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( unsigned int ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to unsigned int " :
" value too large to convert to unsigned int " ) ;
}
return ( unsigned int ) - 1 ;
}
return ( unsigned int ) val ;
}
return ( unsigned int ) __Pyx_PyInt_AsUnsignedLong ( x ) ;
}
static CYTHON_INLINE char __Pyx_PyInt_AsChar ( PyObject * x ) {
const char neg_one = ( char ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( char ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to char " :
" value too large to convert to char " ) ;
}
return ( char ) - 1 ;
}
return ( char ) val ;
}
return ( char ) __Pyx_PyInt_AsLong ( x ) ;
}
static CYTHON_INLINE short __Pyx_PyInt_AsShort ( PyObject * x ) {
const short neg_one = ( short ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( short ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to short " :
" value too large to convert to short " ) ;
}
return ( short ) - 1 ;
}
return ( short ) val ;
}
return ( short ) __Pyx_PyInt_AsLong ( x ) ;
}
static CYTHON_INLINE int __Pyx_PyInt_AsInt ( PyObject * x ) {
const int neg_one = ( int ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( int ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to int " :
" value too large to convert to int " ) ;
}
return ( int ) - 1 ;
}
return ( int ) val ;
}
return ( int ) __Pyx_PyInt_AsLong ( x ) ;
}
static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar ( PyObject * x ) {
const signed char neg_one = ( signed char ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( signed char ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed char ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to signed char " :
" value too large to convert to signed char " ) ;
}
return ( signed char ) - 1 ;
}
return ( signed char ) val ;
}
return ( signed char ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort ( PyObject * x ) {
const signed short neg_one = ( signed short ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( signed short ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed short ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to signed short " :
" value too large to convert to signed short " ) ;
}
return ( signed short ) - 1 ;
}
return ( signed short ) val ;
}
return ( signed short ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt ( PyObject * x ) {
const signed int neg_one = ( signed int ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( signed int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( signed int ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to signed int " :
" value too large to convert to signed int " ) ;
}
return ( signed int ) - 1 ;
}
return ( signed int ) val ;
}
return ( signed int ) __Pyx_PyInt_AsSignedLong ( x ) ;
}
static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble ( PyObject * x ) {
const int neg_one = ( int ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
if ( sizeof ( int ) < sizeof ( long ) ) {
long val = __Pyx_PyInt_AsLong ( x ) ;
if ( unlikely ( val ! = ( long ) ( int ) val ) ) {
if ( ! unlikely ( val = = - 1 & & PyErr_Occurred ( ) ) ) {
PyErr_SetString ( PyExc_OverflowError ,
( is_unsigned & & unlikely ( val < 0 ) ) ?
" can't convert negative value to int " :
" value too large to convert to int " ) ;
}
return ( int ) - 1 ;
}
return ( int ) val ;
}
return ( int ) __Pyx_PyInt_AsLong ( x ) ;
}
static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong ( PyObject * x ) {
const unsigned long neg_one = ( unsigned long ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned long " ) ;
return ( unsigned long ) - 1 ;
}
return ( unsigned long ) val ;
} else
# endif
if ( likely ( PyLong_Check ( x ) ) ) {
if ( is_unsigned ) {
if ( unlikely ( Py_SIZE ( x ) < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned long " ) ;
return ( unsigned long ) - 1 ;
}
return ( unsigned long ) PyLong_AsUnsignedLong ( x ) ;
} else {
return ( unsigned long ) PyLong_AsLong ( x ) ;
}
} else {
unsigned long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( unsigned long ) - 1 ;
val = __Pyx_PyInt_AsUnsignedLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong ( PyObject * x ) {
const unsigned PY_LONG_LONG neg_one = ( unsigned PY_LONG_LONG ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned PY_LONG_LONG " ) ;
return ( unsigned PY_LONG_LONG ) - 1 ;
}
return ( unsigned PY_LONG_LONG ) val ;
} else
# endif
if ( likely ( PyLong_Check ( x ) ) ) {
if ( is_unsigned ) {
if ( unlikely ( Py_SIZE ( x ) < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to unsigned PY_LONG_LONG " ) ;
return ( unsigned PY_LONG_LONG ) - 1 ;
}
return ( unsigned PY_LONG_LONG ) PyLong_AsUnsignedLongLong ( x ) ;
} else {
return ( unsigned PY_LONG_LONG ) PyLong_AsLongLong ( x ) ;
}
} else {
unsigned PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( unsigned PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsUnsignedLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static CYTHON_INLINE long __Pyx_PyInt_AsLong ( PyObject * x ) {
const long neg_one = ( long ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to long " ) ;
return ( long ) - 1 ;
}
return ( long ) val ;
} else
# endif
if ( likely ( PyLong_Check ( x ) ) ) {
if ( is_unsigned ) {
if ( unlikely ( Py_SIZE ( x ) < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to long " ) ;
return ( long ) - 1 ;
}
return ( long ) PyLong_AsUnsignedLong ( x ) ;
} else {
return ( long ) PyLong_AsLong ( x ) ;
}
} else {
long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( long ) - 1 ;
val = __Pyx_PyInt_AsLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong ( PyObject * x ) {
const PY_LONG_LONG neg_one = ( PY_LONG_LONG ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to PY_LONG_LONG " ) ;
return ( PY_LONG_LONG ) - 1 ;
}
return ( PY_LONG_LONG ) val ;
} else
# endif
if ( likely ( PyLong_Check ( x ) ) ) {
if ( is_unsigned ) {
if ( unlikely ( Py_SIZE ( x ) < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to PY_LONG_LONG " ) ;
return ( PY_LONG_LONG ) - 1 ;
}
return ( PY_LONG_LONG ) PyLong_AsUnsignedLongLong ( x ) ;
} else {
return ( PY_LONG_LONG ) PyLong_AsLongLong ( x ) ;
}
} else {
PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong ( PyObject * x ) {
const signed long neg_one = ( signed long ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to signed long " ) ;
return ( signed long ) - 1 ;
}
return ( signed long ) val ;
} else
# endif
if ( likely ( PyLong_Check ( x ) ) ) {
if ( is_unsigned ) {
if ( unlikely ( Py_SIZE ( x ) < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to signed long " ) ;
return ( signed long ) - 1 ;
}
return ( signed long ) PyLong_AsUnsignedLong ( x ) ;
} else {
return ( signed long ) PyLong_AsLong ( x ) ;
}
} else {
signed long val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( signed long ) - 1 ;
val = __Pyx_PyInt_AsSignedLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong ( PyObject * x ) {
const signed PY_LONG_LONG neg_one = ( signed PY_LONG_LONG ) - 1 , const_zero = 0 ;
const int is_unsigned = neg_one > const_zero ;
# if PY_VERSION_HEX < 0x03000000
if ( likely ( PyInt_Check ( x ) ) ) {
long val = PyInt_AS_LONG ( x ) ;
if ( is_unsigned & & unlikely ( val < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to signed PY_LONG_LONG " ) ;
return ( signed PY_LONG_LONG ) - 1 ;
}
return ( signed PY_LONG_LONG ) val ;
} else
# endif
if ( likely ( PyLong_Check ( x ) ) ) {
if ( is_unsigned ) {
if ( unlikely ( Py_SIZE ( x ) < 0 ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" can't convert negative value to signed PY_LONG_LONG " ) ;
return ( signed PY_LONG_LONG ) - 1 ;
}
return ( signed PY_LONG_LONG ) PyLong_AsUnsignedLongLong ( x ) ;
} else {
return ( signed PY_LONG_LONG ) PyLong_AsLongLong ( x ) ;
}
} else {
signed PY_LONG_LONG val ;
PyObject * tmp = __Pyx_PyNumber_Int ( x ) ;
if ( ! tmp ) return ( signed PY_LONG_LONG ) - 1 ;
val = __Pyx_PyInt_AsSignedLongLong ( tmp ) ;
Py_DECREF ( tmp ) ;
return val ;
}
}
static int __Pyx_check_binary_version ( void ) {
char ctversion [ 4 ] , rtversion [ 4 ] ;
PyOS_snprintf ( ctversion , 4 , " %d.%d " , PY_MAJOR_VERSION , PY_MINOR_VERSION ) ;
PyOS_snprintf ( rtversion , 4 , " %s " , Py_GetVersion ( ) ) ;
if ( ctversion [ 0 ] ! = rtversion [ 0 ] | | ctversion [ 2 ] ! = rtversion [ 2 ] ) {
char message [ 200 ] ;
PyOS_snprintf ( message , sizeof ( message ) ,
" compiletime version %s of module '%.100s' "
" does not match runtime version %s " ,
ctversion , __Pyx_MODULE_NAME , rtversion ) ;
# if PY_VERSION_HEX < 0x02050000
return PyErr_Warn ( NULL , message ) ;
# else
return PyErr_WarnEx ( NULL , message , 1 ) ;
# endif
}
return 0 ;
}
static int __Pyx_SetVtable ( PyObject * dict , void * vtable ) {
# if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
PyObject * ob = PyCapsule_New ( vtable , 0 , 0 ) ;
# else
PyObject * ob = PyCObject_FromVoidPtr ( vtable , 0 ) ;
# endif
if ( ! ob )
goto bad ;
if ( PyDict_SetItemString ( dict , " __pyx_vtable__ " , ob ) < 0 )
goto bad ;
Py_DECREF ( ob ) ;
return 0 ;
bad :
Py_XDECREF ( ob ) ;
return - 1 ;
}
2013-01-08 01:33:04 +08:00
# 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 ;
py_name = __Pyx_PyIdentifier_FromString ( name ) ;
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
2011-11-18 02:22:31 +08:00
# ifndef __PYX_HAVE_RT_ImportType
# define __PYX_HAVE_RT_ImportType
static PyTypeObject * __Pyx_ImportType ( const char * module_name , const char * class_name ,
size_t size , int strict )
{
PyObject * py_module = 0 ;
PyObject * result = 0 ;
PyObject * py_name = 0 ;
char warning [ 200 ] ;
py_module = __Pyx_ImportModule ( module_name ) ;
if ( ! py_module )
goto bad ;
py_name = __Pyx_PyIdentifier_FromString ( class_name ) ;
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 ;
}
2013-01-08 01:33:04 +08:00
if ( ! strict & & ( size_t ) ( ( PyTypeObject * ) result ) - > tp_basicsize > size ) {
2011-11-18 02:22:31 +08:00
PyOS_snprintf ( warning , sizeof ( warning ) ,
" %s.%s size changed, may indicate binary incompatibility " ,
module_name , class_name ) ;
# if PY_VERSION_HEX < 0x02050000
if ( PyErr_Warn ( NULL , warning ) < 0 ) goto bad ;
# else
if ( PyErr_WarnEx ( NULL , warning , 0 ) < 0 ) goto bad ;
# endif
}
2013-01-08 01:33:04 +08:00
else if ( ( size_t ) ( ( PyTypeObject * ) result ) - > tp_basicsize ! = size ) {
2011-11-18 02:22:31 +08:00
PyErr_Format ( PyExc_ValueError ,
" %s.%s has the wrong size, try recompiling " ,
module_name , class_name ) ;
goto bad ;
}
return ( PyTypeObject * ) result ;
bad :
Py_XDECREF ( py_module ) ;
Py_XDECREF ( result ) ;
return NULL ;
}
# endif
2013-01-08 01:33:04 +08:00
static int __pyx_bisect_code_objects ( __Pyx_CodeObjectCacheEntry * entries , int count , int code_line ) {
int start = 0 , mid = 0 , end = count - 1 ;
if ( end > = 0 & & code_line > entries [ end ] . code_line ) {
return count ;
}
while ( start < end ) {
mid = ( start + end ) / 2 ;
if ( code_line < entries [ mid ] . code_line ) {
end = mid ;
} else if ( code_line > entries [ mid ] . code_line ) {
start = mid + 1 ;
} else {
return mid ;
}
}
if ( code_line < = entries [ mid ] . code_line ) {
return mid ;
} else {
return mid + 1 ;
}
}
static PyCodeObject * __pyx_find_code_object ( int code_line ) {
PyCodeObject * code_object ;
int pos ;
if ( unlikely ( ! code_line ) | | unlikely ( ! __pyx_code_cache . entries ) ) {
return NULL ;
}
pos = __pyx_bisect_code_objects ( __pyx_code_cache . entries , __pyx_code_cache . count , code_line ) ;
if ( unlikely ( pos > = __pyx_code_cache . count ) | | unlikely ( __pyx_code_cache . entries [ pos ] . code_line ! = code_line ) ) {
return NULL ;
}
code_object = __pyx_code_cache . entries [ pos ] . code_object ;
Py_INCREF ( code_object ) ;
return code_object ;
}
static void __pyx_insert_code_object ( int code_line , PyCodeObject * code_object ) {
int pos , i ;
__Pyx_CodeObjectCacheEntry * entries = __pyx_code_cache . entries ;
if ( unlikely ( ! code_line ) ) {
return ;
}
if ( unlikely ( ! entries ) ) {
entries = ( __Pyx_CodeObjectCacheEntry * ) PyMem_Malloc ( 64 * sizeof ( __Pyx_CodeObjectCacheEntry ) ) ;
if ( likely ( entries ) ) {
__pyx_code_cache . entries = entries ;
__pyx_code_cache . max_count = 64 ;
__pyx_code_cache . count = 1 ;
entries [ 0 ] . code_line = code_line ;
entries [ 0 ] . code_object = code_object ;
Py_INCREF ( code_object ) ;
}
return ;
}
pos = __pyx_bisect_code_objects ( __pyx_code_cache . entries , __pyx_code_cache . count , code_line ) ;
if ( ( pos < __pyx_code_cache . count ) & & unlikely ( __pyx_code_cache . entries [ pos ] . code_line = = code_line ) ) {
PyCodeObject * tmp = entries [ pos ] . code_object ;
entries [ pos ] . code_object = code_object ;
Py_DECREF ( tmp ) ;
return ;
}
if ( __pyx_code_cache . count = = __pyx_code_cache . max_count ) {
int new_max = __pyx_code_cache . max_count + 64 ;
entries = ( __Pyx_CodeObjectCacheEntry * ) PyMem_Realloc (
__pyx_code_cache . entries , new_max * sizeof ( __Pyx_CodeObjectCacheEntry ) ) ;
if ( unlikely ( ! entries ) ) {
return ;
}
__pyx_code_cache . entries = entries ;
__pyx_code_cache . max_count = new_max ;
}
for ( i = __pyx_code_cache . count ; i > pos ; i - - ) {
entries [ i ] = entries [ i - 1 ] ;
}
entries [ pos ] . code_line = code_line ;
entries [ pos ] . code_object = code_object ;
__pyx_code_cache . count + + ;
Py_INCREF ( code_object ) ;
2011-11-18 02:22:31 +08:00
}
# include "compile.h"
# include "frameobject.h"
# include "traceback.h"
2013-01-08 01:33:04 +08:00
static PyCodeObject * __Pyx_CreateCodeObjectForTraceback (
const char * funcname , int c_line ,
int py_line , const char * filename ) {
PyCodeObject * py_code = 0 ;
2011-11-18 02:22:31 +08:00
PyObject * py_srcfile = 0 ;
PyObject * py_funcname = 0 ;
# if PY_MAJOR_VERSION < 3
2013-01-08 01:33:04 +08:00
py_srcfile = PyString_FromString ( filename ) ;
2011-11-18 02:22:31 +08:00
# else
2013-01-08 01:33:04 +08:00
py_srcfile = PyUnicode_FromString ( filename ) ;
2011-11-18 02:22:31 +08:00
# endif
if ( ! py_srcfile ) goto bad ;
2013-01-08 01:33:04 +08:00
if ( c_line ) {
2011-11-18 02:22:31 +08:00
# if PY_MAJOR_VERSION < 3
2013-01-08 01:33:04 +08:00
py_funcname = PyString_FromFormat ( " %s (%s:%d) " , funcname , __pyx_cfilenm , c_line ) ;
2011-11-18 02:22:31 +08:00
# else
2013-01-08 01:33:04 +08:00
py_funcname = PyUnicode_FromFormat ( " %s (%s:%d) " , funcname , __pyx_cfilenm , c_line ) ;
2011-11-18 02:22:31 +08:00
# 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_code = __Pyx_PyCode_New (
0 , /*int argcount,*/
0 , /*int kwonlyargcount,*/
0 , /*int nlocals,*/
0 , /*int stacksize,*/
0 , /*int flags,*/
__pyx_empty_bytes , /*PyObject *code,*/
2013-01-08 01:33:04 +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,*/
2011-11-18 02:22:31 +08:00
py_srcfile , /*PyObject *filename,*/
py_funcname , /*PyObject *name,*/
2013-01-08 01:33:04 +08:00
py_line , /*int firstlineno,*/
2011-11-18 02:22:31 +08:00
__pyx_empty_bytes /*PyObject *lnotab*/
) ;
2013-01-08 01:33:04 +08:00
Py_DECREF ( py_srcfile ) ;
Py_DECREF ( py_funcname ) ;
return py_code ;
bad :
Py_XDECREF ( py_srcfile ) ;
Py_XDECREF ( py_funcname ) ;
return NULL ;
}
static void __Pyx_AddTraceback ( const char * funcname , int c_line ,
int py_line , const char * filename ) {
PyCodeObject * py_code = 0 ;
PyObject * py_globals = 0 ;
PyFrameObject * py_frame = 0 ;
py_code = __pyx_find_code_object ( c_line ? c_line : py_line ) ;
if ( ! py_code ) {
py_code = __Pyx_CreateCodeObjectForTraceback (
funcname , c_line , py_line , filename ) ;
if ( ! py_code ) goto bad ;
__pyx_insert_code_object ( c_line ? c_line : py_line , py_code ) ;
}
py_globals = PyModule_GetDict ( __pyx_m ) ;
if ( ! py_globals ) goto bad ;
2011-11-18 02:22:31 +08:00
py_frame = PyFrame_New (
PyThreadState_GET ( ) , /*PyThreadState *tstate,*/
py_code , /*PyCodeObject *code,*/
py_globals , /*PyObject *globals,*/
0 /*PyObject *locals*/
) ;
if ( ! py_frame ) goto bad ;
2013-01-08 01:33:04 +08:00
py_frame - > f_lineno = py_line ;
2011-11-18 02:22:31 +08:00
PyTraceBack_Here ( py_frame ) ;
bad :
Py_XDECREF ( py_code ) ;
Py_XDECREF ( py_frame ) ;
}
static int __Pyx_InitStrings ( __Pyx_StringTabEntry * t ) {
while ( t - > p ) {
# if PY_MAJOR_VERSION < 3
if ( t - > is_unicode ) {
* t - > p = PyUnicode_DecodeUTF8 ( t - > s , t - > n - 1 , NULL ) ;
} else if ( t - > intern ) {
* t - > p = PyString_InternFromString ( t - > s ) ;
} else {
* t - > p = PyString_FromStringAndSize ( t - > s , t - > n - 1 ) ;
}
# else /* Python 3+ has unicode identifiers */
if ( t - > is_unicode | t - > is_str ) {
if ( t - > intern ) {
* t - > p = PyUnicode_InternFromString ( t - > s ) ;
} else if ( t - > encoding ) {
* t - > p = PyUnicode_Decode ( t - > s , t - > n - 1 , t - > encoding , NULL ) ;
} else {
* t - > p = PyUnicode_FromStringAndSize ( t - > s , t - > n - 1 ) ;
}
} else {
* t - > p = PyBytes_FromStringAndSize ( t - > s , t - > n - 1 ) ;
}
# endif
if ( ! * t - > p )
return - 1 ;
+ + t ;
}
return 0 ;
}
2013-01-08 01:33:04 +08:00
2011-11-18 02:22:31 +08:00
/* Type Conversion Functions */
static CYTHON_INLINE int __Pyx_PyObject_IsTrue ( PyObject * x ) {
int is_true = x = = Py_True ;
if ( is_true | ( x = = Py_False ) | ( x = = Py_None ) ) return is_true ;
else return PyObject_IsTrue ( x ) ;
}
static CYTHON_INLINE PyObject * __Pyx_PyNumber_Int ( PyObject * x ) {
PyNumberMethods * m ;
const char * name = NULL ;
PyObject * res = NULL ;
# if PY_VERSION_HEX < 0x03000000
if ( PyInt_Check ( x ) | | PyLong_Check ( x ) )
# else
if ( PyLong_Check ( x ) )
# endif
return Py_INCREF ( x ) , x ;
m = Py_TYPE ( x ) - > tp_as_number ;
# if PY_VERSION_HEX < 0x03000000
if ( m & & m - > nb_int ) {
name = " int " ;
res = PyNumber_Int ( x ) ;
}
else if ( m & & m - > nb_long ) {
name = " long " ;
res = PyNumber_Long ( x ) ;
}
# else
if ( m & & m - > nb_int ) {
name = " int " ;
res = PyNumber_Long ( x ) ;
}
# endif
if ( res ) {
# if PY_VERSION_HEX < 0x03000000
if ( ! PyInt_Check ( res ) & & ! PyLong_Check ( res ) ) {
# else
if ( ! PyLong_Check ( res ) ) {
# endif
PyErr_Format ( PyExc_TypeError ,
" __%s__ returned non-%s (type %.200s) " ,
name , name , Py_TYPE ( res ) - > tp_name ) ;
Py_DECREF ( res ) ;
return NULL ;
}
}
else if ( ! PyErr_Occurred ( ) ) {
PyErr_SetString ( PyExc_TypeError ,
" an integer is required " ) ;
}
return res ;
}
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t ( PyObject * b ) {
Py_ssize_t ival ;
PyObject * x = PyNumber_Index ( b ) ;
if ( ! x ) return - 1 ;
ival = PyInt_AsSsize_t ( x ) ;
Py_DECREF ( x ) ;
return ival ;
}
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t ( size_t ival ) {
# if PY_VERSION_HEX < 0x02050000
if ( ival < = LONG_MAX )
return PyInt_FromLong ( ( long ) ival ) ;
else {
unsigned char * bytes = ( unsigned char * ) & ival ;
int one = 1 ; int little = ( int ) * ( unsigned char * ) & one ;
return _PyLong_FromByteArray ( bytes , sizeof ( size_t ) , little , 0 ) ;
}
# else
return PyInt_FromSize_t ( ival ) ;
# endif
}
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t ( PyObject * x ) {
unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong ( x ) ;
if ( unlikely ( val = = ( unsigned PY_LONG_LONG ) - 1 & & PyErr_Occurred ( ) ) ) {
return ( size_t ) - 1 ;
} else if ( unlikely ( val ! = ( unsigned PY_LONG_LONG ) ( size_t ) val ) ) {
PyErr_SetString ( PyExc_OverflowError ,
" value too large to convert to size_t " ) ;
return ( size_t ) - 1 ;
}
return ( size_t ) val ;
}
# endif /* Py_PYTHON_H */