/* Generated by Cython 0.12 on Sun Mar 14 21:50:43 2010 */ #define PY_SSIZE_T_CLEAN #include "Python.h" #include "structmember.h" #ifndef Py_PYTHON_H #error Python headers needed to compile C extensions, please install development version of Python. #else #ifndef PY_LONG_LONG #define PY_LONG_LONG LONG_LONG #endif #ifndef DL_EXPORT #define DL_EXPORT(t) t #endif #if PY_VERSION_HEX < 0x02040000 #define METH_COEXIST 0 #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type) #define PyDict_Contains(d,o) PySequence_Contains(d,o) #endif #if PY_VERSION_HEX < 0x02050000 typedef int Py_ssize_t; #define PY_SSIZE_T_MAX INT_MAX #define PY_SSIZE_T_MIN INT_MIN #define PY_FORMAT_SIZE_T "" #define PyInt_FromSsize_t(z) PyInt_FromLong(z) #define PyInt_AsSsize_t(o) PyInt_AsLong(o) #define PyNumber_Index(o) PyNumber_Int(o) #define PyIndex_Check(o) PyNumber_Check(o) #endif #if PY_VERSION_HEX < 0x02060000 #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt) #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) #define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size) #define PyVarObject_HEAD_INIT(type, size) \ PyObject_HEAD_INIT(type) size, #define PyType_Modified(t) typedef struct { void *buf; PyObject *obj; Py_ssize_t len; Py_ssize_t itemsize; int readonly; int ndim; char *format; Py_ssize_t *shape; Py_ssize_t *strides; Py_ssize_t *suboffsets; void *internal; } Py_buffer; #define PyBUF_SIMPLE 0 #define PyBUF_WRITABLE 0x0001 #define PyBUF_FORMAT 0x0004 #define PyBUF_ND 0x0008 #define PyBUF_STRIDES (0x0010 | PyBUF_ND) #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES) #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES) #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES) #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES) #endif #if PY_MAJOR_VERSION < 3 #define __Pyx_BUILTIN_MODULE_NAME "__builtin__" #else #define __Pyx_BUILTIN_MODULE_NAME "builtins" #endif #if PY_MAJOR_VERSION >= 3 #define Py_TPFLAGS_CHECKTYPES 0 #define Py_TPFLAGS_HAVE_INDEX 0 #endif #if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3) #define Py_TPFLAGS_HAVE_NEWBUFFER 0 #endif #if PY_MAJOR_VERSION >= 3 #define PyBaseString_Type PyUnicode_Type #define PyString_Type PyUnicode_Type #define PyString_CheckExact PyUnicode_CheckExact #else #define PyBytes_Type PyString_Type #define PyBytes_CheckExact PyString_CheckExact #endif #if PY_MAJOR_VERSION >= 3 #define PyInt_Type PyLong_Type #define PyInt_Check(op) PyLong_Check(op) #define PyInt_CheckExact(op) PyLong_CheckExact(op) #define PyInt_FromString PyLong_FromString #define PyInt_FromUnicode PyLong_FromUnicode #define PyInt_FromLong PyLong_FromLong #define PyInt_FromSize_t PyLong_FromSize_t #define PyInt_FromSsize_t PyLong_FromSsize_t #define PyInt_AsLong PyLong_AsLong #define PyInt_AS_LONG PyLong_AS_LONG #define PyInt_AsSsize_t PyLong_AsSsize_t #define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask #define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y) #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y) #else #define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y) #define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y) #endif #if PY_MAJOR_VERSION >= 3 #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func) #endif #if !defined(WIN32) && !defined(MS_WINDOWS) #ifndef __stdcall #define __stdcall #endif #ifndef __cdecl #define __cdecl #endif #ifndef __fastcall #define __fastcall #endif #else #define _USE_MATH_DEFINES #endif #if PY_VERSION_HEX < 0x02050000 #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n))) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n))) #else #define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n)) #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a)) #define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n)) #endif #if PY_VERSION_HEX < 0x02050000 #define __Pyx_NAMESTR(n) ((char *)(n)) #define __Pyx_DOCSTR(n) ((char *)(n)) #else #define __Pyx_NAMESTR(n) (n) #define __Pyx_DOCSTR(n) (n) #endif #ifdef __cplusplus #define __PYX_EXTERN_C extern "C" #else #define __PYX_EXTERN_C extern #endif #include #define __PYX_HAVE_API__h5py___proxy #include "stdlib.h" #include "string.h" #include "time.h" #include "unistd.h" #include "stdint.h" #include "compat.h" #include "lzf_filter.h" #include "hdf5.h" #ifdef __GNUC__ #define INLINE __inline__ #elif _WIN32 #define INLINE __inline #else #define INLINE #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 */ #if PY_MAJOR_VERSION < 3 #define __Pyx_PyBytes_FromString PyString_FromString #define __Pyx_PyBytes_FromStringAndSize PyString_FromStringAndSize #define __Pyx_PyBytes_AsString PyString_AsString #else #define __Pyx_PyBytes_FromString PyBytes_FromString #define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize #define __Pyx_PyBytes_AsString PyBytes_AsString #endif #define __Pyx_PyBytes_FromUString(s) __Pyx_PyBytes_FromString((char*)s) #define __Pyx_PyBytes_AsUString(s) ((unsigned char*) __Pyx_PyBytes_AsString(s)) #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False)) static INLINE int __Pyx_PyObject_IsTrue(PyObject*); static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x); #if !defined(T_PYSSIZET) #if PY_VERSION_HEX < 0x02050000 #define T_PYSSIZET T_INT #elif !defined(T_LONGLONG) #define T_PYSSIZET \ ((sizeof(Py_ssize_t) == sizeof(int)) ? T_INT : \ ((sizeof(Py_ssize_t) == sizeof(long)) ? T_LONG : -1)) #else #define T_PYSSIZET \ ((sizeof(Py_ssize_t) == sizeof(int)) ? T_INT : \ ((sizeof(Py_ssize_t) == sizeof(long)) ? T_LONG : \ ((sizeof(Py_ssize_t) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))) #endif #endif #if !defined(T_ULONGLONG) #define __Pyx_T_UNSIGNED_INT(x) \ ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : -1)))) #else #define __Pyx_T_UNSIGNED_INT(x) \ ((sizeof(x) == sizeof(unsigned char)) ? T_UBYTE : \ ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \ ((sizeof(x) == sizeof(unsigned int)) ? T_UINT : \ ((sizeof(x) == sizeof(unsigned long)) ? T_ULONG : \ ((sizeof(x) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))))) #endif #if !defined(T_LONGLONG) #define __Pyx_T_SIGNED_INT(x) \ ((sizeof(x) == sizeof(char)) ? T_BYTE : \ ((sizeof(x) == sizeof(short)) ? T_SHORT : \ ((sizeof(x) == sizeof(int)) ? T_INT : \ ((sizeof(x) == sizeof(long)) ? T_LONG : -1)))) #else #define __Pyx_T_SIGNED_INT(x) \ ((sizeof(x) == sizeof(char)) ? T_BYTE : \ ((sizeof(x) == sizeof(short)) ? T_SHORT : \ ((sizeof(x) == sizeof(int)) ? T_INT : \ ((sizeof(x) == sizeof(long)) ? T_LONG : \ ((sizeof(x) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1))))) #endif #define __Pyx_T_FLOATING(x) \ ((sizeof(x) == sizeof(float)) ? T_FLOAT : \ ((sizeof(x) == sizeof(double)) ? T_DOUBLE : -1)) #if !defined(T_SIZET) #if !defined(T_ULONGLONG) #define T_SIZET \ ((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \ ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : -1)) #else #define T_SIZET \ ((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \ ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : \ ((sizeof(size_t) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1))) #endif #endif static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*); #define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x)) #ifdef __GNUC__ /* Test for GCC > 2.95 */ #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) #define likely(x) __builtin_expect(!!(x), 1) #define unlikely(x) __builtin_expect(!!(x), 0) #else /* __GNUC__ > 2 ... */ #define likely(x) (x) #define unlikely(x) (x) #endif /* __GNUC__ > 2 ... */ #else /* __GNUC__ */ #define likely(x) (x) #define unlikely(x) (x) #endif /* __GNUC__ */ static PyObject *__pyx_m; static PyObject *__pyx_b; static PyObject *__pyx_empty_tuple; static PyObject *__pyx_empty_bytes; static int __pyx_lineno; static int __pyx_clineno = 0; static const char * __pyx_cfilenm= __FILE__; static const char *__pyx_filename; static const char **__pyx_f; /* Type declarations */ /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":19 * """ * * cdef enum copy_dir: # <<<<<<<<<<<<<< * H5PY_SCATTER = 0, * H5PY_GATHER */ enum __pyx_t_4h5py_6_proxy_copy_dir { __pyx_e_4h5py_6_proxy_H5PY_SCATTER = 0, __pyx_e_4h5py_6_proxy_H5PY_GATHER }; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":186 * # Scatter/gather routines * * ctypedef struct h5py_scatter_t: # <<<<<<<<<<<<<< * size_t i * size_t elsize */ typedef struct { size_t i; size_t elsize; void *buf; } __pyx_t_4h5py_6_proxy_h5py_scatter_t; #ifndef CYTHON_REFNANNY #define CYTHON_REFNANNY 0 #endif #if CYTHON_REFNANNY typedef struct { void (*INCREF)(void*, PyObject*, int); void (*DECREF)(void*, PyObject*, int); void (*GOTREF)(void*, PyObject*, int); void (*GIVEREF)(void*, PyObject*, int); void* (*SetupContext)(const char*, int, const char*); void (*FinishContext)(void**); } __Pyx_RefNannyAPIStruct; static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) { PyObject *m = NULL, *p = NULL; void *r = NULL; m = PyImport_ImportModule((char *)modname); if (!m) goto end; p = PyObject_GetAttrString(m, (char *)"RefNannyAPI"); if (!p) goto end; r = PyLong_AsVoidPtr(p); end: Py_XDECREF(p); Py_XDECREF(m); return (__Pyx_RefNannyAPIStruct *)r; } #define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__) #define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny) #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__) #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__) #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__) #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__) #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0) #else #define __Pyx_RefNannySetupContext(name) #define __Pyx_RefNannyFinishContext() #define __Pyx_INCREF(r) Py_INCREF(r) #define __Pyx_DECREF(r) Py_DECREF(r) #define __Pyx_GOTREF(r) #define __Pyx_GIVEREF(r) #define __Pyx_XDECREF(r) Py_XDECREF(r) #endif /* CYTHON_REFNANNY */ #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0) #define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0) static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/ #ifndef __PYX_FORCE_INIT_THREADS #if PY_VERSION_HEX < 0x02040200 #define __PYX_FORCE_INIT_THREADS 1 #else #define __PYX_FORCE_INIT_THREADS 0 #endif #endif static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/ static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *); static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *); static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *); static INLINE char __Pyx_PyInt_AsChar(PyObject *); static INLINE short __Pyx_PyInt_AsShort(PyObject *); static INLINE int __Pyx_PyInt_AsInt(PyObject *); static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *); static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *); static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *); static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *); static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *); static INLINE long __Pyx_PyInt_AsLong(PyObject *); static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *); static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *); static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *); static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*proto*/ static void __Pyx_AddTraceback(const char *funcname); /*proto*/ static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/ /* Module declarations from h5py._proxy */ static herr_t __pyx_f_4h5py_6_proxy_attr_rw(hid_t, hid_t, void *, int); /*proto*/ static herr_t __pyx_f_4h5py_6_proxy_dset_rw(hid_t, hid_t, hid_t, hid_t, hid_t, void *, int); /*proto*/ static herr_t __pyx_f_4h5py_6_proxy_H5PY_H5Dread(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ static herr_t __pyx_f_4h5py_6_proxy_H5PY_H5Dwrite(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/ static void *__pyx_f_4h5py_6_proxy_create_buffer(size_t, size_t, size_t); /*proto*/ static herr_t __pyx_f_4h5py_6_proxy_h5py_scatter_cb(void *, hid_t, unsigned int, hsize_t *, void *); /*proto*/ static herr_t __pyx_f_4h5py_6_proxy_h5py_gather_cb(void *, hid_t, unsigned int, hsize_t *, void *); /*proto*/ static herr_t __pyx_f_4h5py_6_proxy_h5py_copy(hid_t, hid_t, void *, void *, enum __pyx_t_4h5py_6_proxy_copy_dir); /*proto*/ static htri_t __pyx_f_4h5py_6_proxy_needs_bkg_buffer(hid_t, hid_t); /*proto*/ static htri_t __pyx_f_4h5py_6_proxy_needs_proxy(hid_t); /*proto*/ #define __Pyx_MODULE_NAME "h5py._proxy" int __pyx_module_is_main_h5py___proxy = 0; /* Implementation of h5py._proxy */ static PyObject *__pyx_builtin_MemoryError; static PyObject *__pyx_builtin_RuntimeError; static char __pyx_k_1[] = "Failed to allocate conversion buffer"; static char __pyx_k_2[] = "Illegal direction"; static char __pyx_k_3[] = "\n Proxy functions for read/write, to work around the HDF5 bogus type issue.\n"; static char __pyx_k__i[] = "i"; static char __pyx_k__buf[] = "buf"; static char __pyx_k__elsize[] = "elsize"; static char __pyx_k____main__[] = "__main__"; static char __pyx_k__need_bkg[] = "need_bkg"; static char __pyx_k__MemoryError[] = "MemoryError"; static char __pyx_k__RuntimeError[] = "RuntimeError"; static PyObject *__pyx_kp_s_1; static PyObject *__pyx_kp_s_2; static PyObject *__pyx_n_s__MemoryError; static PyObject *__pyx_n_s__RuntimeError; static PyObject *__pyx_n_s____main__; static PyObject *__pyx_n_s__buf; static PyObject *__pyx_n_s__elsize; static PyObject *__pyx_n_s__i; static PyObject *__pyx_n_s__need_bkg; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":23 * H5PY_GATHER * * cdef herr_t attr_rw(hid_t attr, hid_t mtype, void *progbuf, int read) except -1: # <<<<<<<<<<<<<< * * cdef htri_t need_bkg */ static herr_t __pyx_f_4h5py_6_proxy_attr_rw(hid_t __pyx_v_attr, hid_t __pyx_v_mtype, void *__pyx_v_progbuf, int __pyx_v_read) { htri_t __pyx_v_need_bkg; hid_t __pyx_v_atype; hid_t __pyx_v_aspace; hsize_t __pyx_v_npoints; size_t __pyx_v_msize; size_t __pyx_v_asize; void *__pyx_v_conv_buf; void *__pyx_v_back_buf; herr_t __pyx_r; hid_t __pyx_t_1; htri_t __pyx_t_2; htri_t __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; herr_t __pyx_t_7; size_t __pyx_t_8; hssize_t __pyx_t_9; void *__pyx_t_10; __Pyx_RefNannySetupContext("attr_rw"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":26 * * cdef htri_t need_bkg * cdef hid_t atype = -1 # <<<<<<<<<<<<<< * cdef hid_t aspace = -1 * cdef hsize_t npoints */ __pyx_v_atype = -1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":27 * cdef htri_t need_bkg * cdef hid_t atype = -1 * cdef hid_t aspace = -1 # <<<<<<<<<<<<<< * cdef hsize_t npoints * */ __pyx_v_aspace = -1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":31 * * cdef size_t msize, asize * cdef void* conv_buf = NULL # <<<<<<<<<<<<<< * cdef void* back_buf = NULL * */ __pyx_v_conv_buf = NULL; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":32 * cdef size_t msize, asize * cdef void* conv_buf = NULL * cdef void* back_buf = NULL # <<<<<<<<<<<<<< * * try: */ __pyx_v_back_buf = NULL; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":34 * cdef void* back_buf = NULL * * try: # <<<<<<<<<<<<<< * atype = H5Aget_type(attr) * */ /*try:*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":35 * * try: * atype = H5Aget_type(attr) # <<<<<<<<<<<<<< * * if not (needs_proxy(atype) or needs_proxy(mtype)): */ __pyx_t_1 = H5Aget_type(__pyx_v_attr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_atype = __pyx_t_1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":37 * atype = H5Aget_type(attr) * * if not (needs_proxy(atype) or needs_proxy(mtype)): # <<<<<<<<<<<<<< * if read: * H5Aread(attr, mtype, progbuf) */ __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_atype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L4;} if (!__pyx_t_2) { __pyx_t_3 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_mtype); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_t_4 = __pyx_t_3; } else { __pyx_t_4 = __pyx_t_2; } __pyx_t_5 = (!__pyx_t_4); if (__pyx_t_5) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":38 * * if not (needs_proxy(atype) or needs_proxy(mtype)): * if read: # <<<<<<<<<<<<<< * H5Aread(attr, mtype, progbuf) * else: */ __pyx_t_6 = __pyx_v_read; if (__pyx_t_6) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":39 * if not (needs_proxy(atype) or needs_proxy(mtype)): * if read: * H5Aread(attr, mtype, progbuf) # <<<<<<<<<<<<<< * else: * H5Awrite(attr, mtype, progbuf) */ __pyx_t_7 = H5Aread(__pyx_v_attr, __pyx_v_mtype, __pyx_v_progbuf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L4;} goto __pyx_L7; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":41 * H5Aread(attr, mtype, progbuf) * else: * H5Awrite(attr, mtype, progbuf) # <<<<<<<<<<<<<< * * else: */ __pyx_t_7 = H5Awrite(__pyx_v_attr, __pyx_v_mtype, __pyx_v_progbuf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L4;} } __pyx_L7:; goto __pyx_L6; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":45 * else: * * asize = H5Tget_size(atype) # <<<<<<<<<<<<<< * msize = H5Tget_size(mtype) * aspace = H5Aget_space(attr) */ __pyx_t_8 = H5Tget_size(__pyx_v_atype); if (unlikely(__pyx_t_8 == 0 && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_asize = __pyx_t_8; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":46 * * asize = H5Tget_size(atype) * msize = H5Tget_size(mtype) # <<<<<<<<<<<<<< * aspace = H5Aget_space(attr) * npoints = H5Sget_select_npoints(aspace) */ __pyx_t_8 = H5Tget_size(__pyx_v_mtype); if (unlikely(__pyx_t_8 == 0 && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_msize = __pyx_t_8; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":47 * asize = H5Tget_size(atype) * msize = H5Tget_size(mtype) * aspace = H5Aget_space(attr) # <<<<<<<<<<<<<< * npoints = H5Sget_select_npoints(aspace) * */ __pyx_t_1 = H5Aget_space(__pyx_v_attr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_aspace = __pyx_t_1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":48 * msize = H5Tget_size(mtype) * aspace = H5Aget_space(attr) * npoints = H5Sget_select_npoints(aspace) # <<<<<<<<<<<<<< * * conv_buf = create_buffer(asize, msize, npoints) */ __pyx_t_9 = H5Sget_select_npoints(__pyx_v_aspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_npoints = __pyx_t_9; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":50 * npoints = H5Sget_select_npoints(aspace) * * conv_buf = create_buffer(asize, msize, npoints) # <<<<<<<<<<<<<< * * if read: */ __pyx_t_10 = __pyx_f_4h5py_6_proxy_create_buffer(__pyx_v_asize, __pyx_v_msize, __pyx_v_npoints); if (unlikely(__pyx_t_10 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_conv_buf = __pyx_t_10; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":52 * conv_buf = create_buffer(asize, msize, npoints) * * if read: # <<<<<<<<<<<<<< * need_bkg = needs_bkg_buffer(atype, mtype) * else: */ __pyx_t_6 = __pyx_v_read; if (__pyx_t_6) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":53 * * if read: * need_bkg = needs_bkg_buffer(atype, mtype) # <<<<<<<<<<<<<< * else: * need_bkg = needs_bkg_buffer(mtype, atype) */ __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_bkg_buffer(__pyx_v_atype, __pyx_v_mtype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_need_bkg = __pyx_t_2; goto __pyx_L8; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":55 * need_bkg = needs_bkg_buffer(atype, mtype) * else: * need_bkg = needs_bkg_buffer(mtype, atype) # <<<<<<<<<<<<<< * if need_bkg: * back_buf = malloc(msize*npoints) */ __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_bkg_buffer(__pyx_v_mtype, __pyx_v_atype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_need_bkg = __pyx_t_2; } __pyx_L8:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":56 * else: * need_bkg = needs_bkg_buffer(mtype, atype) * if need_bkg: # <<<<<<<<<<<<<< * back_buf = malloc(msize*npoints) * memcpy(back_buf, progbuf, msize*npoints) */ __pyx_t_2 = __pyx_v_need_bkg; if (__pyx_t_2) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":57 * need_bkg = needs_bkg_buffer(mtype, atype) * if need_bkg: * back_buf = malloc(msize*npoints) # <<<<<<<<<<<<<< * memcpy(back_buf, progbuf, msize*npoints) * */ __pyx_v_back_buf = malloc((__pyx_v_msize * __pyx_v_npoints)); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":58 * if need_bkg: * back_buf = malloc(msize*npoints) * memcpy(back_buf, progbuf, msize*npoints) # <<<<<<<<<<<<<< * * if read: */ memcpy(__pyx_v_back_buf, __pyx_v_progbuf, (__pyx_v_msize * __pyx_v_npoints)); goto __pyx_L9; } __pyx_L9:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":60 * memcpy(back_buf, progbuf, msize*npoints) * * if read: # <<<<<<<<<<<<<< * H5Aread(attr, atype, conv_buf) * H5Tconvert(atype, mtype, npoints, conv_buf, back_buf, H5P_DEFAULT) */ __pyx_t_6 = __pyx_v_read; if (__pyx_t_6) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":61 * * if read: * H5Aread(attr, atype, conv_buf) # <<<<<<<<<<<<<< * H5Tconvert(atype, mtype, npoints, conv_buf, back_buf, H5P_DEFAULT) * memcpy(progbuf, conv_buf, msize*npoints) */ __pyx_t_7 = H5Aread(__pyx_v_attr, __pyx_v_atype, __pyx_v_conv_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L4;} /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":62 * if read: * H5Aread(attr, atype, conv_buf) * H5Tconvert(atype, mtype, npoints, conv_buf, back_buf, H5P_DEFAULT) # <<<<<<<<<<<<<< * memcpy(progbuf, conv_buf, msize*npoints) * else: */ __pyx_t_7 = H5Tconvert(__pyx_v_atype, __pyx_v_mtype, __pyx_v_npoints, __pyx_v_conv_buf, __pyx_v_back_buf, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L4;} /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":63 * H5Aread(attr, atype, conv_buf) * H5Tconvert(atype, mtype, npoints, conv_buf, back_buf, H5P_DEFAULT) * memcpy(progbuf, conv_buf, msize*npoints) # <<<<<<<<<<<<<< * else: * memcpy(conv_buf, progbuf, msize*npoints) */ memcpy(__pyx_v_progbuf, __pyx_v_conv_buf, (__pyx_v_msize * __pyx_v_npoints)); goto __pyx_L10; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":65 * memcpy(progbuf, conv_buf, msize*npoints) * else: * memcpy(conv_buf, progbuf, msize*npoints) # <<<<<<<<<<<<<< * H5Tconvert(mtype, atype, npoints, conv_buf, back_buf, H5P_DEFAULT) * H5Awrite(attr, atype, conv_buf) */ memcpy(__pyx_v_conv_buf, __pyx_v_progbuf, (__pyx_v_msize * __pyx_v_npoints)); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":66 * else: * memcpy(conv_buf, progbuf, msize*npoints) * H5Tconvert(mtype, atype, npoints, conv_buf, back_buf, H5P_DEFAULT) # <<<<<<<<<<<<<< * H5Awrite(attr, atype, conv_buf) * finally: */ __pyx_t_7 = H5Tconvert(__pyx_v_mtype, __pyx_v_atype, __pyx_v_npoints, __pyx_v_conv_buf, __pyx_v_back_buf, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L4;} /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":67 * memcpy(conv_buf, progbuf, msize*npoints) * H5Tconvert(mtype, atype, npoints, conv_buf, back_buf, H5P_DEFAULT) * H5Awrite(attr, atype, conv_buf) # <<<<<<<<<<<<<< * finally: * free(conv_buf) */ __pyx_t_7 = H5Awrite(__pyx_v_attr, __pyx_v_atype, __pyx_v_conv_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L4;} } __pyx_L10:; } __pyx_L6:; } /*finally:*/ { int __pyx_why; PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; int __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; __pyx_why = 0; goto __pyx_L5; __pyx_L4: { __pyx_why = 4; __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); __pyx_exc_lineno = __pyx_lineno; goto __pyx_L5; } __pyx_L5:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":69 * H5Awrite(attr, atype, conv_buf) * finally: * free(conv_buf) # <<<<<<<<<<<<<< * free(back_buf) * if atype > 0: */ free(__pyx_v_conv_buf); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":70 * finally: * free(conv_buf) * free(back_buf) # <<<<<<<<<<<<<< * if atype > 0: * H5Tclose(atype) */ free(__pyx_v_back_buf); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":71 * free(conv_buf) * free(back_buf) * if atype > 0: # <<<<<<<<<<<<<< * H5Tclose(atype) * if aspace > 0: */ __pyx_t_5 = (__pyx_v_atype > 0); if (__pyx_t_5) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":72 * free(back_buf) * if atype > 0: * H5Tclose(atype) # <<<<<<<<<<<<<< * if aspace > 0: * H5Sclose(aspace) */ __pyx_t_7 = H5Tclose(__pyx_v_atype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L11_error;} goto __pyx_L12; } __pyx_L12:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":73 * if atype > 0: * H5Tclose(atype) * if aspace > 0: # <<<<<<<<<<<<<< * H5Sclose(aspace) * */ __pyx_t_5 = (__pyx_v_aspace > 0); if (__pyx_t_5) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":74 * H5Tclose(atype) * if aspace > 0: * H5Sclose(aspace) # <<<<<<<<<<<<<< * * return 0 */ __pyx_t_7 = H5Sclose(__pyx_v_aspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L11_error;} goto __pyx_L13; } __pyx_L13:; goto __pyx_L14; __pyx_L11_error:; if (__pyx_why == 4) { Py_XDECREF(__pyx_exc_type); Py_XDECREF(__pyx_exc_value); Py_XDECREF(__pyx_exc_tb); } goto __pyx_L1_error; __pyx_L14:; switch (__pyx_why) { case 4: { __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); __pyx_lineno = __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; goto __pyx_L1_error; } } } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":76 * H5Sclose(aspace) * * return 0 # <<<<<<<<<<<<<< * * # ============================================================================= */ __pyx_r = 0; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("h5py._proxy.attr_rw"); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":81 * # Proxy functions to safely release the GIL around read/write operations * * cdef herr_t H5PY_H5Dread(hid_t dset, hid_t mtype, hid_t mspace, # <<<<<<<<<<<<<< * hid_t fspace, hid_t dxpl, void* buf) except -1: * cdef herr_t retval */ static herr_t __pyx_f_4h5py_6_proxy_H5PY_H5Dread(hid_t __pyx_v_dset, hid_t __pyx_v_mtype, hid_t __pyx_v_mspace, hid_t __pyx_v_fspace, hid_t __pyx_v_dxpl, void *__pyx_v_buf) { herr_t __pyx_v_retval; herr_t __pyx_r; int __pyx_t_1; __Pyx_RefNannySetupContext("H5PY_H5Dread"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":84 * hid_t fspace, hid_t dxpl, void* buf) except -1: * cdef herr_t retval * with nogil: # <<<<<<<<<<<<<< * retval = H5Dread(dset, mtype, mspace, fspace, dxpl, buf) * if retval < 0: */ { PyThreadState *_save; Py_UNBLOCK_THREADS /*try:*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":85 * cdef herr_t retval * with nogil: * retval = H5Dread(dset, mtype, mspace, fspace, dxpl, buf) # <<<<<<<<<<<<<< * if retval < 0: * return -1 */ __pyx_v_retval = H5Dread(__pyx_v_dset, __pyx_v_mtype, __pyx_v_mspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_buf); } /*finally:*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":84 * hid_t fspace, hid_t dxpl, void* buf) except -1: * cdef herr_t retval * with nogil: # <<<<<<<<<<<<<< * retval = H5Dread(dset, mtype, mspace, fspace, dxpl, buf) * if retval < 0: */ Py_BLOCK_THREADS } } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":86 * with nogil: * retval = H5Dread(dset, mtype, mspace, fspace, dxpl, buf) * if retval < 0: # <<<<<<<<<<<<<< * return -1 * return retval */ __pyx_t_1 = (__pyx_v_retval < 0); if (__pyx_t_1) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":87 * retval = H5Dread(dset, mtype, mspace, fspace, dxpl, buf) * if retval < 0: * return -1 # <<<<<<<<<<<<<< * return retval * */ __pyx_r = -1; goto __pyx_L0; goto __pyx_L6; } __pyx_L6:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":88 * if retval < 0: * return -1 * return retval # <<<<<<<<<<<<<< * * cdef herr_t H5PY_H5Dwrite(hid_t dset, hid_t mtype, hid_t mspace, */ __pyx_r = __pyx_v_retval; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":90 * return retval * * cdef herr_t H5PY_H5Dwrite(hid_t dset, hid_t mtype, hid_t mspace, # <<<<<<<<<<<<<< * hid_t fspace, hid_t dxpl, void* buf) except -1: * cdef herr_t retval */ static herr_t __pyx_f_4h5py_6_proxy_H5PY_H5Dwrite(hid_t __pyx_v_dset, hid_t __pyx_v_mtype, hid_t __pyx_v_mspace, hid_t __pyx_v_fspace, hid_t __pyx_v_dxpl, void *__pyx_v_buf) { herr_t __pyx_v_retval; herr_t __pyx_r; int __pyx_t_1; __Pyx_RefNannySetupContext("H5PY_H5Dwrite"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":93 * hid_t fspace, hid_t dxpl, void* buf) except -1: * cdef herr_t retval * with nogil: # <<<<<<<<<<<<<< * retval = H5Dwrite(dset, mtype, mspace, fspace, dxpl, buf) * if retval < 0: */ { PyThreadState *_save; Py_UNBLOCK_THREADS /*try:*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":94 * cdef herr_t retval * with nogil: * retval = H5Dwrite(dset, mtype, mspace, fspace, dxpl, buf) # <<<<<<<<<<<<<< * if retval < 0: * return -1 */ __pyx_v_retval = H5Dwrite(__pyx_v_dset, __pyx_v_mtype, __pyx_v_mspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_buf); } /*finally:*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":93 * hid_t fspace, hid_t dxpl, void* buf) except -1: * cdef herr_t retval * with nogil: # <<<<<<<<<<<<<< * retval = H5Dwrite(dset, mtype, mspace, fspace, dxpl, buf) * if retval < 0: */ Py_BLOCK_THREADS } } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":95 * with nogil: * retval = H5Dwrite(dset, mtype, mspace, fspace, dxpl, buf) * if retval < 0: # <<<<<<<<<<<<<< * return -1 * return retval */ __pyx_t_1 = (__pyx_v_retval < 0); if (__pyx_t_1) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":96 * retval = H5Dwrite(dset, mtype, mspace, fspace, dxpl, buf) * if retval < 0: * return -1 # <<<<<<<<<<<<<< * return retval * */ __pyx_r = -1; goto __pyx_L0; goto __pyx_L6; } __pyx_L6:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":97 * if retval < 0: * return -1 * return retval # <<<<<<<<<<<<<< * * # ============================================================================= */ __pyx_r = __pyx_v_retval; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":102 * # Proxy for vlen buf workaround * * cdef herr_t dset_rw(hid_t dset, hid_t mtype, hid_t mspace, hid_t fspace, # <<<<<<<<<<<<<< * hid_t dxpl, void* progbuf, int read) except -1: * */ static herr_t __pyx_f_4h5py_6_proxy_dset_rw(hid_t __pyx_v_dset, hid_t __pyx_v_mtype, hid_t __pyx_v_mspace, hid_t __pyx_v_fspace, hid_t __pyx_v_dxpl, void *__pyx_v_progbuf, int __pyx_v_read) { htri_t __pyx_v_need_bkg; hid_t __pyx_v_dstype; hid_t __pyx_v_dspace; hid_t __pyx_v_cspace; void *__pyx_v_back_buf; void *__pyx_v_conv_buf; hsize_t __pyx_v_npoints; herr_t __pyx_r; hid_t __pyx_t_1; htri_t __pyx_t_2; htri_t __pyx_t_3; int __pyx_t_4; int __pyx_t_5; int __pyx_t_6; herr_t __pyx_t_7; int __pyx_t_8; hssize_t __pyx_t_9; size_t __pyx_t_10; size_t __pyx_t_11; void *__pyx_t_12; __Pyx_RefNannySetupContext("dset_rw"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":106 * * cdef htri_t need_bkg * cdef hid_t dstype = -1 # Dataset datatype # <<<<<<<<<<<<<< * cdef hid_t dspace = -1 # Dataset dataspace * cdef hid_t cspace = -1 # Temporary contiguous dataspaces */ __pyx_v_dstype = -1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":107 * cdef htri_t need_bkg * cdef hid_t dstype = -1 # Dataset datatype * cdef hid_t dspace = -1 # Dataset dataspace # <<<<<<<<<<<<<< * cdef hid_t cspace = -1 # Temporary contiguous dataspaces * */ __pyx_v_dspace = -1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":108 * cdef hid_t dstype = -1 # Dataset datatype * cdef hid_t dspace = -1 # Dataset dataspace * cdef hid_t cspace = -1 # Temporary contiguous dataspaces # <<<<<<<<<<<<<< * * cdef void* back_buf = NULL */ __pyx_v_cspace = -1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":110 * cdef hid_t cspace = -1 # Temporary contiguous dataspaces * * cdef void* back_buf = NULL # <<<<<<<<<<<<<< * cdef void* conv_buf = NULL * cdef hsize_t npoints */ __pyx_v_back_buf = NULL; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":111 * * cdef void* back_buf = NULL * cdef void* conv_buf = NULL # <<<<<<<<<<<<<< * cdef hsize_t npoints * */ __pyx_v_conv_buf = NULL; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":114 * cdef hsize_t npoints * * try: # <<<<<<<<<<<<<< * dstype = H5Dget_type(dset) * */ /*try:*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":115 * * try: * dstype = H5Dget_type(dset) # <<<<<<<<<<<<<< * * if not (needs_proxy(dstype) or needs_proxy(mtype)): */ __pyx_t_1 = H5Dget_type(__pyx_v_dset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_dstype = __pyx_t_1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":117 * dstype = H5Dget_type(dset) * * if not (needs_proxy(dstype) or needs_proxy(mtype)): # <<<<<<<<<<<<<< * if read: * H5PY_H5Dread(dset, mtype, mspace, fspace, dxpl, progbuf) */ __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_dstype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L4;} if (!__pyx_t_2) { __pyx_t_3 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_mtype); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_t_4 = __pyx_t_3; } else { __pyx_t_4 = __pyx_t_2; } __pyx_t_5 = (!__pyx_t_4); if (__pyx_t_5) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":118 * * if not (needs_proxy(dstype) or needs_proxy(mtype)): * if read: # <<<<<<<<<<<<<< * H5PY_H5Dread(dset, mtype, mspace, fspace, dxpl, progbuf) * else: */ __pyx_t_6 = __pyx_v_read; if (__pyx_t_6) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":119 * if not (needs_proxy(dstype) or needs_proxy(mtype)): * if read: * H5PY_H5Dread(dset, mtype, mspace, fspace, dxpl, progbuf) # <<<<<<<<<<<<<< * else: * H5PY_H5Dwrite(dset, mtype, mspace, fspace, dxpl, progbuf) */ __pyx_t_7 = __pyx_f_4h5py_6_proxy_H5PY_H5Dread(__pyx_v_dset, __pyx_v_mtype, __pyx_v_mspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_progbuf); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L4;} goto __pyx_L7; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":121 * H5PY_H5Dread(dset, mtype, mspace, fspace, dxpl, progbuf) * else: * H5PY_H5Dwrite(dset, mtype, mspace, fspace, dxpl, progbuf) # <<<<<<<<<<<<<< * else: * */ __pyx_t_7 = __pyx_f_4h5py_6_proxy_H5PY_H5Dwrite(__pyx_v_dset, __pyx_v_mtype, __pyx_v_mspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_progbuf); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L4;} } __pyx_L7:; goto __pyx_L6; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":124 * else: * * if mspace == H5S_ALL and fspace != H5S_ALL: # <<<<<<<<<<<<<< * mspace = fspace * elif mspace != H5S_ALL and fspace == H5S_ALL: */ __pyx_t_5 = (__pyx_v_mspace == H5S_ALL); if (__pyx_t_5) { __pyx_t_4 = (__pyx_v_fspace != H5S_ALL); __pyx_t_8 = __pyx_t_4; } else { __pyx_t_8 = __pyx_t_5; } if (__pyx_t_8) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":125 * * if mspace == H5S_ALL and fspace != H5S_ALL: * mspace = fspace # <<<<<<<<<<<<<< * elif mspace != H5S_ALL and fspace == H5S_ALL: * fspace = mspace */ __pyx_v_mspace = __pyx_v_fspace; goto __pyx_L8; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":126 * if mspace == H5S_ALL and fspace != H5S_ALL: * mspace = fspace * elif mspace != H5S_ALL and fspace == H5S_ALL: # <<<<<<<<<<<<<< * fspace = mspace * elif mspace == H5S_ALL and fspace == H5S_ALL: */ __pyx_t_8 = (__pyx_v_mspace != H5S_ALL); if (__pyx_t_8) { __pyx_t_5 = (__pyx_v_fspace == H5S_ALL); __pyx_t_4 = __pyx_t_5; } else { __pyx_t_4 = __pyx_t_8; } if (__pyx_t_4) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":127 * mspace = fspace * elif mspace != H5S_ALL and fspace == H5S_ALL: * fspace = mspace # <<<<<<<<<<<<<< * elif mspace == H5S_ALL and fspace == H5S_ALL: * fspace = mspace = dspace = H5Dget_space(dset) */ __pyx_v_fspace = __pyx_v_mspace; goto __pyx_L8; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":128 * elif mspace != H5S_ALL and fspace == H5S_ALL: * fspace = mspace * elif mspace == H5S_ALL and fspace == H5S_ALL: # <<<<<<<<<<<<<< * fspace = mspace = dspace = H5Dget_space(dset) * */ __pyx_t_4 = (__pyx_v_mspace == H5S_ALL); if (__pyx_t_4) { __pyx_t_8 = (__pyx_v_fspace == H5S_ALL); __pyx_t_5 = __pyx_t_8; } else { __pyx_t_5 = __pyx_t_4; } if (__pyx_t_5) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":129 * fspace = mspace * elif mspace == H5S_ALL and fspace == H5S_ALL: * fspace = mspace = dspace = H5Dget_space(dset) # <<<<<<<<<<<<<< * * npoints = H5Sget_select_npoints(mspace) */ __pyx_t_1 = H5Dget_space(__pyx_v_dset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_fspace = __pyx_t_1; __pyx_v_mspace = __pyx_t_1; __pyx_v_dspace = __pyx_t_1; goto __pyx_L8; } __pyx_L8:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":131 * fspace = mspace = dspace = H5Dget_space(dset) * * npoints = H5Sget_select_npoints(mspace) # <<<<<<<<<<<<<< * cspace = H5Screate_simple(1, &npoints, NULL) * */ __pyx_t_9 = H5Sget_select_npoints(__pyx_v_mspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_npoints = __pyx_t_9; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":132 * * npoints = H5Sget_select_npoints(mspace) * cspace = H5Screate_simple(1, &npoints, NULL) # <<<<<<<<<<<<<< * * conv_buf = create_buffer(H5Tget_size(dstype), H5Tget_size(mtype), npoints) */ __pyx_t_1 = H5Screate_simple(1, (&__pyx_v_npoints), NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_cspace = __pyx_t_1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":134 * cspace = H5Screate_simple(1, &npoints, NULL) * * conv_buf = create_buffer(H5Tget_size(dstype), H5Tget_size(mtype), npoints) # <<<<<<<<<<<<<< * * # Only create a (contiguous) backing buffer if absolutely */ __pyx_t_10 = H5Tget_size(__pyx_v_dstype); if (unlikely(__pyx_t_10 == 0 && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_t_11 = H5Tget_size(__pyx_v_mtype); if (unlikely(__pyx_t_11 == 0 && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_t_12 = __pyx_f_4h5py_6_proxy_create_buffer(__pyx_t_10, __pyx_t_11, __pyx_v_npoints); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_conv_buf = __pyx_t_12; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":138 * # Only create a (contiguous) backing buffer if absolutely * # necessary. Note this buffer always has memory type. * if read: # <<<<<<<<<<<<<< * need_bkg = needs_bkg_buffer(dstype, mtype) * else: */ __pyx_t_6 = __pyx_v_read; if (__pyx_t_6) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":139 * # necessary. Note this buffer always has memory type. * if read: * need_bkg = needs_bkg_buffer(dstype, mtype) # <<<<<<<<<<<<<< * else: * need_bkg = needs_bkg_buffer(mtype, dstype) */ __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_bkg_buffer(__pyx_v_dstype, __pyx_v_mtype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_need_bkg = __pyx_t_2; goto __pyx_L9; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":141 * need_bkg = needs_bkg_buffer(dstype, mtype) * else: * need_bkg = needs_bkg_buffer(mtype, dstype) # <<<<<<<<<<<<<< * if need_bkg: * back_buf = malloc(H5Tget_size(mtype)*npoints) */ __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_bkg_buffer(__pyx_v_mtype, __pyx_v_dstype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_need_bkg = __pyx_t_2; } __pyx_L9:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":142 * else: * need_bkg = needs_bkg_buffer(mtype, dstype) * if need_bkg: # <<<<<<<<<<<<<< * back_buf = malloc(H5Tget_size(mtype)*npoints) * h5py_copy(mtype, mspace, back_buf, progbuf, H5PY_GATHER) */ __pyx_t_2 = __pyx_v_need_bkg; if (__pyx_t_2) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":143 * need_bkg = needs_bkg_buffer(mtype, dstype) * if need_bkg: * back_buf = malloc(H5Tget_size(mtype)*npoints) # <<<<<<<<<<<<<< * h5py_copy(mtype, mspace, back_buf, progbuf, H5PY_GATHER) * */ __pyx_t_11 = H5Tget_size(__pyx_v_mtype); if (unlikely(__pyx_t_11 == 0 && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L4;} __pyx_v_back_buf = malloc((__pyx_t_11 * __pyx_v_npoints)); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":144 * if need_bkg: * back_buf = malloc(H5Tget_size(mtype)*npoints) * h5py_copy(mtype, mspace, back_buf, progbuf, H5PY_GATHER) # <<<<<<<<<<<<<< * * if read: */ __pyx_t_7 = __pyx_f_4h5py_6_proxy_h5py_copy(__pyx_v_mtype, __pyx_v_mspace, __pyx_v_back_buf, __pyx_v_progbuf, __pyx_e_4h5py_6_proxy_H5PY_GATHER); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L4;} goto __pyx_L10; } __pyx_L10:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":146 * h5py_copy(mtype, mspace, back_buf, progbuf, H5PY_GATHER) * * if read: # <<<<<<<<<<<<<< * H5PY_H5Dread(dset, dstype, cspace, fspace, dxpl, conv_buf) * H5Tconvert(dstype, mtype, npoints, conv_buf, back_buf, dxpl) */ __pyx_t_6 = __pyx_v_read; if (__pyx_t_6) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":147 * * if read: * H5PY_H5Dread(dset, dstype, cspace, fspace, dxpl, conv_buf) # <<<<<<<<<<<<<< * H5Tconvert(dstype, mtype, npoints, conv_buf, back_buf, dxpl) * h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_SCATTER) */ __pyx_t_7 = __pyx_f_4h5py_6_proxy_H5PY_H5Dread(__pyx_v_dset, __pyx_v_dstype, __pyx_v_cspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_conv_buf); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L4;} /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":148 * if read: * H5PY_H5Dread(dset, dstype, cspace, fspace, dxpl, conv_buf) * H5Tconvert(dstype, mtype, npoints, conv_buf, back_buf, dxpl) # <<<<<<<<<<<<<< * h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_SCATTER) * else: */ __pyx_t_7 = H5Tconvert(__pyx_v_dstype, __pyx_v_mtype, __pyx_v_npoints, __pyx_v_conv_buf, __pyx_v_back_buf, __pyx_v_dxpl); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L4;} /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":149 * H5PY_H5Dread(dset, dstype, cspace, fspace, dxpl, conv_buf) * H5Tconvert(dstype, mtype, npoints, conv_buf, back_buf, dxpl) * h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_SCATTER) # <<<<<<<<<<<<<< * else: * h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_GATHER) */ __pyx_t_7 = __pyx_f_4h5py_6_proxy_h5py_copy(__pyx_v_mtype, __pyx_v_mspace, __pyx_v_conv_buf, __pyx_v_progbuf, __pyx_e_4h5py_6_proxy_H5PY_SCATTER); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L4;} goto __pyx_L11; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":151 * h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_SCATTER) * else: * h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_GATHER) # <<<<<<<<<<<<<< * H5Tconvert(mtype, dstype, npoints, conv_buf, back_buf, dxpl) * H5PY_H5Dwrite(dset, dstype, cspace, fspace, dxpl, conv_buf) */ __pyx_t_7 = __pyx_f_4h5py_6_proxy_h5py_copy(__pyx_v_mtype, __pyx_v_mspace, __pyx_v_conv_buf, __pyx_v_progbuf, __pyx_e_4h5py_6_proxy_H5PY_GATHER); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L4;} /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":152 * else: * h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_GATHER) * H5Tconvert(mtype, dstype, npoints, conv_buf, back_buf, dxpl) # <<<<<<<<<<<<<< * H5PY_H5Dwrite(dset, dstype, cspace, fspace, dxpl, conv_buf) * */ __pyx_t_7 = H5Tconvert(__pyx_v_mtype, __pyx_v_dstype, __pyx_v_npoints, __pyx_v_conv_buf, __pyx_v_back_buf, __pyx_v_dxpl); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L4;} /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":153 * h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_GATHER) * H5Tconvert(mtype, dstype, npoints, conv_buf, back_buf, dxpl) * H5PY_H5Dwrite(dset, dstype, cspace, fspace, dxpl, conv_buf) # <<<<<<<<<<<<<< * * finally: */ __pyx_t_7 = __pyx_f_4h5py_6_proxy_H5PY_H5Dwrite(__pyx_v_dset, __pyx_v_dstype, __pyx_v_cspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_conv_buf); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L4;} } __pyx_L11:; } __pyx_L6:; } /*finally:*/ { int __pyx_why; PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; int __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; __pyx_why = 0; goto __pyx_L5; __pyx_L4: { __pyx_why = 4; __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); __pyx_exc_lineno = __pyx_lineno; goto __pyx_L5; } __pyx_L5:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":156 * * finally: * free(back_buf) # <<<<<<<<<<<<<< * free(conv_buf) * if dstype > 0: */ free(__pyx_v_back_buf); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":157 * finally: * free(back_buf) * free(conv_buf) # <<<<<<<<<<<<<< * if dstype > 0: * H5Tclose(dstype) */ free(__pyx_v_conv_buf); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":158 * free(back_buf) * free(conv_buf) * if dstype > 0: # <<<<<<<<<<<<<< * H5Tclose(dstype) * if dspace > 0: */ __pyx_t_5 = (__pyx_v_dstype > 0); if (__pyx_t_5) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":159 * free(conv_buf) * if dstype > 0: * H5Tclose(dstype) # <<<<<<<<<<<<<< * if dspace > 0: * H5Sclose(dspace) */ __pyx_t_7 = H5Tclose(__pyx_v_dstype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L12_error;} goto __pyx_L13; } __pyx_L13:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":160 * if dstype > 0: * H5Tclose(dstype) * if dspace > 0: # <<<<<<<<<<<<<< * H5Sclose(dspace) * if cspace > 0: */ __pyx_t_5 = (__pyx_v_dspace > 0); if (__pyx_t_5) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":161 * H5Tclose(dstype) * if dspace > 0: * H5Sclose(dspace) # <<<<<<<<<<<<<< * if cspace > 0: * H5Sclose(cspace) */ __pyx_t_7 = H5Sclose(__pyx_v_dspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L12_error;} goto __pyx_L14; } __pyx_L14:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":162 * if dspace > 0: * H5Sclose(dspace) * if cspace > 0: # <<<<<<<<<<<<<< * H5Sclose(cspace) * */ __pyx_t_5 = (__pyx_v_cspace > 0); if (__pyx_t_5) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":163 * H5Sclose(dspace) * if cspace > 0: * H5Sclose(cspace) # <<<<<<<<<<<<<< * * return 0 */ __pyx_t_7 = H5Sclose(__pyx_v_cspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L12_error;} goto __pyx_L15; } __pyx_L15:; goto __pyx_L16; __pyx_L12_error:; if (__pyx_why == 4) { Py_XDECREF(__pyx_exc_type); Py_XDECREF(__pyx_exc_value); Py_XDECREF(__pyx_exc_tb); } goto __pyx_L1_error; __pyx_L16:; switch (__pyx_why) { case 4: { __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); __pyx_lineno = __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; goto __pyx_L1_error; } } } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":165 * H5Sclose(cspace) * * return 0 # <<<<<<<<<<<<<< * * cdef void* create_buffer(size_t ipt_size, size_t opt_size, size_t nl) except NULL: */ __pyx_r = 0; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("h5py._proxy.dset_rw"); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":167 * return 0 * * cdef void* create_buffer(size_t ipt_size, size_t opt_size, size_t nl) except NULL: # <<<<<<<<<<<<<< * * cdef size_t final_size */ static void *__pyx_f_4h5py_6_proxy_create_buffer(size_t __pyx_v_ipt_size, size_t __pyx_v_opt_size, size_t __pyx_v_nl) { size_t __pyx_v_final_size; void *__pyx_v_buf; void *__pyx_r; int __pyx_t_1; PyObject *__pyx_t_2 = NULL; PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("create_buffer"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":172 * cdef void* buf * * if ipt_size >= opt_size: # <<<<<<<<<<<<<< * final_size = ipt_size*nl * else: */ __pyx_t_1 = (__pyx_v_ipt_size >= __pyx_v_opt_size); if (__pyx_t_1) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":173 * * if ipt_size >= opt_size: * final_size = ipt_size*nl # <<<<<<<<<<<<<< * else: * final_size = opt_size*nl */ __pyx_v_final_size = (__pyx_v_ipt_size * __pyx_v_nl); goto __pyx_L3; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":175 * final_size = ipt_size*nl * else: * final_size = opt_size*nl # <<<<<<<<<<<<<< * * buf = malloc(final_size) */ __pyx_v_final_size = (__pyx_v_opt_size * __pyx_v_nl); } __pyx_L3:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":177 * final_size = opt_size*nl * * buf = malloc(final_size) # <<<<<<<<<<<<<< * if buf == NULL: * raise MemoryError("Failed to allocate conversion buffer") */ __pyx_v_buf = malloc(__pyx_v_final_size); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":178 * * buf = malloc(final_size) * if buf == NULL: # <<<<<<<<<<<<<< * raise MemoryError("Failed to allocate conversion buffer") * */ __pyx_t_1 = (__pyx_v_buf == NULL); if (__pyx_t_1) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":179 * buf = malloc(final_size) * if buf == NULL: * raise MemoryError("Failed to allocate conversion buffer") # <<<<<<<<<<<<<< * * return buf */ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(((PyObject *)__pyx_kp_s_1)); PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_1)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_1)); __pyx_t_3 = PyObject_Call(__pyx_builtin_MemoryError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_Raise(__pyx_t_3, 0, 0); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L4; } __pyx_L4:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":181 * raise MemoryError("Failed to allocate conversion buffer") * * return buf # <<<<<<<<<<<<<< * * # ============================================================================= */ __pyx_r = __pyx_v_buf; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_AddTraceback("h5py._proxy.create_buffer"); __pyx_r = NULL; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":191 * void* buf * * cdef herr_t h5py_scatter_cb(void* elem, hid_t type_id, unsigned ndim, # <<<<<<<<<<<<<< * hsize_t *point, void *operator_data) except -1: * */ static herr_t __pyx_f_4h5py_6_proxy_h5py_scatter_cb(void *__pyx_v_elem, hid_t __pyx_v_type_id, unsigned int __pyx_v_ndim, hsize_t *__pyx_v_point, void *__pyx_v_operator_data) { __pyx_t_4h5py_6_proxy_h5py_scatter_t *__pyx_v_info; herr_t __pyx_r; __Pyx_RefNannySetupContext("h5py_scatter_cb"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":194 * hsize_t *point, void *operator_data) except -1: * * cdef h5py_scatter_t* info = operator_data # <<<<<<<<<<<<<< * * memcpy(elem, (info[0].buf)+((info[0].i)*(info[0].elsize)), */ __pyx_v_info = ((__pyx_t_4h5py_6_proxy_h5py_scatter_t *)__pyx_v_operator_data); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":197 * * memcpy(elem, (info[0].buf)+((info[0].i)*(info[0].elsize)), * info[0].elsize) # <<<<<<<<<<<<<< * * info[0].i += 1 */ memcpy(__pyx_v_elem, (((char *)(__pyx_v_info[0]).buf) + ((__pyx_v_info[0]).i * (__pyx_v_info[0]).elsize)), (__pyx_v_info[0]).elsize); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":199 * info[0].elsize) * * info[0].i += 1 # <<<<<<<<<<<<<< * * return 0 */ (__pyx_v_info[0]).i += 1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":201 * info[0].i += 1 * * return 0 # <<<<<<<<<<<<<< * * cdef herr_t h5py_gather_cb(void* elem, hid_t type_id, unsigned ndim, */ __pyx_r = 0; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":203 * return 0 * * cdef herr_t h5py_gather_cb(void* elem, hid_t type_id, unsigned ndim, # <<<<<<<<<<<<<< * hsize_t *point, void *operator_data) except -1: * */ static herr_t __pyx_f_4h5py_6_proxy_h5py_gather_cb(void *__pyx_v_elem, hid_t __pyx_v_type_id, unsigned int __pyx_v_ndim, hsize_t *__pyx_v_point, void *__pyx_v_operator_data) { __pyx_t_4h5py_6_proxy_h5py_scatter_t *__pyx_v_info; herr_t __pyx_r; __Pyx_RefNannySetupContext("h5py_gather_cb"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":206 * hsize_t *point, void *operator_data) except -1: * * cdef h5py_scatter_t* info = operator_data # <<<<<<<<<<<<<< * * memcpy((info[0].buf)+((info[0].i)*(info[0].elsize)), elem, */ __pyx_v_info = ((__pyx_t_4h5py_6_proxy_h5py_scatter_t *)__pyx_v_operator_data); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":209 * * memcpy((info[0].buf)+((info[0].i)*(info[0].elsize)), elem, * info[0].elsize) # <<<<<<<<<<<<<< * * info[0].i += 1 */ memcpy((((char *)(__pyx_v_info[0]).buf) + ((__pyx_v_info[0]).i * (__pyx_v_info[0]).elsize)), __pyx_v_elem, (__pyx_v_info[0]).elsize); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":211 * info[0].elsize) * * info[0].i += 1 # <<<<<<<<<<<<<< * * return 0 */ (__pyx_v_info[0]).i += 1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":213 * info[0].i += 1 * * return 0 # <<<<<<<<<<<<<< * * # Copy between a contiguous and non-contiguous buffer, with the layout */ __pyx_r = 0; goto __pyx_L0; __pyx_r = 0; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":217 * # Copy between a contiguous and non-contiguous buffer, with the layout * # of the latter specified by a dataspace selection. * cdef herr_t h5py_copy(hid_t tid, hid_t space, void* contig, void* noncontig, # <<<<<<<<<<<<<< * copy_dir op) except -1: * */ static herr_t __pyx_f_4h5py_6_proxy_h5py_copy(hid_t __pyx_v_tid, hid_t __pyx_v_space, void *__pyx_v_contig, void *__pyx_v_noncontig, enum __pyx_t_4h5py_6_proxy_copy_dir __pyx_v_op) { __pyx_t_4h5py_6_proxy_h5py_scatter_t __pyx_v_info; hsize_t __pyx_v_elsize; herr_t __pyx_r; size_t __pyx_t_1; int __pyx_t_2; herr_t __pyx_t_3; PyObject *__pyx_t_4 = NULL; PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("h5py_copy"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":223 * cdef hsize_t elsize * * elsize = H5Tget_size(tid) # <<<<<<<<<<<<<< * * info.i = 0 */ __pyx_t_1 = H5Tget_size(__pyx_v_tid); if (unlikely(__pyx_t_1 == 0 && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_elsize = __pyx_t_1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":225 * elsize = H5Tget_size(tid) * * info.i = 0 # <<<<<<<<<<<<<< * info.elsize = elsize * info.buf = contig */ __pyx_v_info.i = 0; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":226 * * info.i = 0 * info.elsize = elsize # <<<<<<<<<<<<<< * info.buf = contig * */ __pyx_v_info.elsize = __pyx_v_elsize; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":227 * info.i = 0 * info.elsize = elsize * info.buf = contig # <<<<<<<<<<<<<< * * if op == H5PY_SCATTER: */ __pyx_v_info.buf = __pyx_v_contig; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":229 * info.buf = contig * * if op == H5PY_SCATTER: # <<<<<<<<<<<<<< * H5Diterate(noncontig, tid, space, h5py_scatter_cb, &info) * elif op == H5PY_GATHER: */ __pyx_t_2 = (__pyx_v_op == __pyx_e_4h5py_6_proxy_H5PY_SCATTER); if (__pyx_t_2) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":230 * * if op == H5PY_SCATTER: * H5Diterate(noncontig, tid, space, h5py_scatter_cb, &info) # <<<<<<<<<<<<<< * elif op == H5PY_GATHER: * H5Diterate(noncontig, tid, space, h5py_gather_cb, &info) */ __pyx_t_3 = H5Diterate(__pyx_v_noncontig, __pyx_v_tid, __pyx_v_space, __pyx_f_4h5py_6_proxy_h5py_scatter_cb, (&__pyx_v_info)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L3; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":231 * if op == H5PY_SCATTER: * H5Diterate(noncontig, tid, space, h5py_scatter_cb, &info) * elif op == H5PY_GATHER: # <<<<<<<<<<<<<< * H5Diterate(noncontig, tid, space, h5py_gather_cb, &info) * else: */ __pyx_t_2 = (__pyx_v_op == __pyx_e_4h5py_6_proxy_H5PY_GATHER); if (__pyx_t_2) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":232 * H5Diterate(noncontig, tid, space, h5py_scatter_cb, &info) * elif op == H5PY_GATHER: * H5Diterate(noncontig, tid, space, h5py_gather_cb, &info) # <<<<<<<<<<<<<< * else: * raise RuntimeError("Illegal direction") */ __pyx_t_3 = H5Diterate(__pyx_v_noncontig, __pyx_v_tid, __pyx_v_space, __pyx_f_4h5py_6_proxy_h5py_gather_cb, (&__pyx_v_info)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;} goto __pyx_L3; } /*else*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":234 * H5Diterate(noncontig, tid, space, h5py_gather_cb, &info) * else: * raise RuntimeError("Illegal direction") # <<<<<<<<<<<<<< * * return 0 */ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(((PyObject *)__pyx_kp_s_2)); PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_2)); __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2)); __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_5, 0, 0); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} } __pyx_L3:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":236 * raise RuntimeError("Illegal direction") * * return 0 # <<<<<<<<<<<<<< * * # ============================================================================= */ __pyx_r = 0; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_AddTraceback("h5py._proxy.h5py_copy"); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":241 * # VLEN support routines * * cdef htri_t needs_bkg_buffer(hid_t src, hid_t dst) except -1: # <<<<<<<<<<<<<< * * cdef H5T_cdata_t *info = NULL */ static htri_t __pyx_f_4h5py_6_proxy_needs_bkg_buffer(hid_t __pyx_v_src, hid_t __pyx_v_dst) { H5T_cdata_t *__pyx_v_info; htri_t __pyx_r; htri_t __pyx_t_1; htri_t __pyx_t_2; int __pyx_t_3; H5T_conv_t __pyx_t_4; __Pyx_RefNannySetupContext("needs_bkg_buffer"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":243 * cdef htri_t needs_bkg_buffer(hid_t src, hid_t dst) except -1: * * cdef H5T_cdata_t *info = NULL # <<<<<<<<<<<<<< * * if H5Tdetect_class(src, H5T_COMPOUND) or H5Tdetect_class(dst, H5T_COMPOUND): */ __pyx_v_info = NULL; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":245 * cdef H5T_cdata_t *info = NULL * * if H5Tdetect_class(src, H5T_COMPOUND) or H5Tdetect_class(dst, H5T_COMPOUND): # <<<<<<<<<<<<<< * return 1 * */ __pyx_t_1 = H5Tdetect_class(__pyx_v_src, H5T_COMPOUND); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (!__pyx_t_1) { __pyx_t_2 = H5Tdetect_class(__pyx_v_dst, H5T_COMPOUND); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_t_3 = __pyx_t_2; } else { __pyx_t_3 = __pyx_t_1; } if (__pyx_t_3) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":246 * * if H5Tdetect_class(src, H5T_COMPOUND) or H5Tdetect_class(dst, H5T_COMPOUND): * return 1 # <<<<<<<<<<<<<< * * H5Tfind(src, dst, &info) */ __pyx_r = 1; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":248 * return 1 * * H5Tfind(src, dst, &info) # <<<<<<<<<<<<<< * if info[0].need_bkg == H5T_BKG_YES: * return 1 */ __pyx_t_4 = H5Tfind(__pyx_v_src, __pyx_v_dst, (&__pyx_v_info)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":249 * * H5Tfind(src, dst, &info) * if info[0].need_bkg == H5T_BKG_YES: # <<<<<<<<<<<<<< * return 1 * */ __pyx_t_3 = ((__pyx_v_info[0]).need_bkg == H5T_BKG_YES); if (__pyx_t_3) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":250 * H5Tfind(src, dst, &info) * if info[0].need_bkg == H5T_BKG_YES: * return 1 # <<<<<<<<<<<<<< * * return 0 */ __pyx_r = 1; goto __pyx_L0; goto __pyx_L4; } __pyx_L4:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":252 * return 1 * * return 0 # <<<<<<<<<<<<<< * * # Determine if the given type requires proxy buffering */ __pyx_r = 0; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("h5py._proxy.needs_bkg_buffer"); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":255 * * # Determine if the given type requires proxy buffering * cdef htri_t needs_proxy(hid_t tid) except -1: # <<<<<<<<<<<<<< * * cdef H5T_class_t cls */ static htri_t __pyx_f_4h5py_6_proxy_needs_proxy(hid_t __pyx_v_tid) { enum H5T_class_t __pyx_v_cls; hid_t __pyx_v_supertype; int __pyx_v_i; int __pyx_v_n; htri_t __pyx_v_result; htri_t __pyx_r; enum H5T_class_t __pyx_t_1; int __pyx_t_2; int __pyx_t_3; int __pyx_t_4; htri_t __pyx_t_5; hid_t __pyx_t_6; herr_t __pyx_t_7; int __pyx_t_8; __Pyx_RefNannySetupContext("needs_proxy"); /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":262 * cdef htri_t result * * cls = H5Tget_class(tid) # <<<<<<<<<<<<<< * * if cls == H5T_VLEN or cls == H5T_REFERENCE: */ __pyx_t_1 = H5Tget_class(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_cls = __pyx_t_1; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":264 * cls = H5Tget_class(tid) * * if cls == H5T_VLEN or cls == H5T_REFERENCE: # <<<<<<<<<<<<<< * return 1 * */ __pyx_t_2 = (__pyx_v_cls == H5T_VLEN); if (!__pyx_t_2) { __pyx_t_3 = (__pyx_v_cls == H5T_REFERENCE); __pyx_t_4 = __pyx_t_3; } else { __pyx_t_4 = __pyx_t_2; } if (__pyx_t_4) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":265 * * if cls == H5T_VLEN or cls == H5T_REFERENCE: * return 1 # <<<<<<<<<<<<<< * * elif cls == H5T_STRING: */ __pyx_r = 1; goto __pyx_L0; goto __pyx_L3; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":267 * return 1 * * elif cls == H5T_STRING: # <<<<<<<<<<<<<< * return H5Tis_variable_str(tid) * */ __pyx_t_4 = (__pyx_v_cls == H5T_STRING); if (__pyx_t_4) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":268 * * elif cls == H5T_STRING: * return H5Tis_variable_str(tid) # <<<<<<<<<<<<<< * * elif cls == H5T_ARRAY: */ __pyx_t_5 = H5Tis_variable_str(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_r = __pyx_t_5; goto __pyx_L0; goto __pyx_L3; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":270 * return H5Tis_variable_str(tid) * * elif cls == H5T_ARRAY: # <<<<<<<<<<<<<< * * supertype = H5Tget_super(tid) */ __pyx_t_4 = (__pyx_v_cls == H5T_ARRAY); if (__pyx_t_4) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":272 * elif cls == H5T_ARRAY: * * supertype = H5Tget_super(tid) # <<<<<<<<<<<<<< * try: * return needs_proxy(supertype) */ __pyx_t_6 = H5Tget_super(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;} __pyx_v_supertype = __pyx_t_6; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":273 * * supertype = H5Tget_super(tid) * try: # <<<<<<<<<<<<<< * return needs_proxy(supertype) * finally: */ /*try:*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":274 * supertype = H5Tget_super(tid) * try: * return needs_proxy(supertype) # <<<<<<<<<<<<<< * finally: * H5Tclose(supertype) */ __pyx_t_5 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_supertype); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L5;} __pyx_r = __pyx_t_5; goto __pyx_L4; } /*finally:*/ { int __pyx_why; PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; int __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; __pyx_why = 0; goto __pyx_L6; __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; __pyx_why = 3; goto __pyx_L6; __pyx_L5: { __pyx_why = 4; __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); __pyx_exc_lineno = __pyx_lineno; goto __pyx_L6; } __pyx_L6:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":276 * return needs_proxy(supertype) * finally: * H5Tclose(supertype) # <<<<<<<<<<<<<< * * elif cls == H5T_COMPOUND: */ __pyx_t_7 = H5Tclose(__pyx_v_supertype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L7_error;} goto __pyx_L8; __pyx_L7_error:; if (__pyx_why == 4) { Py_XDECREF(__pyx_exc_type); Py_XDECREF(__pyx_exc_value); Py_XDECREF(__pyx_exc_tb); } goto __pyx_L1_error; __pyx_L8:; switch (__pyx_why) { case 3: goto __pyx_L0; case 4: { __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); __pyx_lineno = __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; goto __pyx_L1_error; } } } goto __pyx_L3; } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":278 * H5Tclose(supertype) * * elif cls == H5T_COMPOUND: # <<<<<<<<<<<<<< * * n = H5Tget_nmembers(tid) */ __pyx_t_4 = (__pyx_v_cls == H5T_COMPOUND); if (__pyx_t_4) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":280 * elif cls == H5T_COMPOUND: * * n = H5Tget_nmembers(tid) # <<<<<<<<<<<<<< * for i from 0<=i 0: */ /*try:*/ { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":284 * supertype = H5Tget_member_type(tid, i) * try: * result = needs_proxy(supertype) # <<<<<<<<<<<<<< * if result > 0: * return 1 */ __pyx_t_5 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_supertype); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L14;} __pyx_v_result = __pyx_t_5; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":285 * try: * result = needs_proxy(supertype) * if result > 0: # <<<<<<<<<<<<<< * return 1 * finally: */ __pyx_t_4 = (__pyx_v_result > 0); if (__pyx_t_4) { /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":286 * result = needs_proxy(supertype) * if result > 0: * return 1 # <<<<<<<<<<<<<< * finally: * H5Tclose(supertype) */ __pyx_r = 1; goto __pyx_L13; goto __pyx_L16; } __pyx_L16:; } /*finally:*/ { int __pyx_why; PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb; int __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; __pyx_why = 0; goto __pyx_L15; __pyx_L13: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0; __pyx_why = 3; goto __pyx_L15; __pyx_L14: { __pyx_why = 4; __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb); __pyx_exc_lineno = __pyx_lineno; goto __pyx_L15; } __pyx_L15:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":288 * return 1 * finally: * H5Tclose(supertype) # <<<<<<<<<<<<<< * return 0 * */ __pyx_t_7 = H5Tclose(__pyx_v_supertype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L17_error;} goto __pyx_L18; __pyx_L17_error:; if (__pyx_why == 4) { Py_XDECREF(__pyx_exc_type); Py_XDECREF(__pyx_exc_value); Py_XDECREF(__pyx_exc_tb); } goto __pyx_L1_error; __pyx_L18:; switch (__pyx_why) { case 3: goto __pyx_L0; case 4: { __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb); __pyx_lineno = __pyx_exc_lineno; __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; goto __pyx_L1_error; } } } } /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":289 * finally: * H5Tclose(supertype) * return 0 # <<<<<<<<<<<<<< * * return 0 */ __pyx_r = 0; goto __pyx_L0; goto __pyx_L3; } __pyx_L3:; /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pyx":291 * return 0 * * return 0 # <<<<<<<<<<<<<< */ __pyx_r = 0; goto __pyx_L0; __pyx_r = 0; goto __pyx_L0; __pyx_L1_error:; __Pyx_AddTraceback("h5py._proxy.needs_proxy"); __pyx_r = -1; __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; } static struct PyMethodDef __pyx_methods[] = { {0, 0, 0, 0} }; static void __pyx_init_filenames(void); /*proto*/ #if PY_MAJOR_VERSION >= 3 static struct PyModuleDef __pyx_moduledef = { PyModuleDef_HEAD_INIT, __Pyx_NAMESTR("_proxy"), __Pyx_DOCSTR(__pyx_k_3), /* m_doc */ -1, /* m_size */ __pyx_methods /* m_methods */, NULL, /* m_reload */ NULL, /* m_traverse */ NULL, /* m_clear */ NULL /* m_free */ }; #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0}, {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0}, {&__pyx_n_s__MemoryError, __pyx_k__MemoryError, sizeof(__pyx_k__MemoryError), 0, 0, 1, 1}, {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1}, {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1}, {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1}, {&__pyx_n_s__elsize, __pyx_k__elsize, sizeof(__pyx_k__elsize), 0, 0, 1, 1}, {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1}, {&__pyx_n_s__need_bkg, __pyx_k__need_bkg, sizeof(__pyx_k__need_bkg), 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 0} }; static int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_MemoryError = __Pyx_GetName(__pyx_b, __pyx_n_s__MemoryError); if (!__pyx_builtin_MemoryError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __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[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;} return 0; __pyx_L1_error:; return -1; } static int __Pyx_InitGlobals(void) { if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; return 0; __pyx_L1_error:; return -1; } #if PY_MAJOR_VERSION < 3 PyMODINIT_FUNC init_proxy(void); /*proto*/ PyMODINIT_FUNC init_proxy(void) #else PyMODINIT_FUNC PyInit__proxy(void); /*proto*/ PyMODINIT_FUNC PyInit__proxy(void) #endif { #if CYTHON_REFNANNY void* __pyx_refnanny = NULL; __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); if (!__Pyx_RefNanny) { PyErr_Clear(); __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); if (!__Pyx_RefNanny) Py_FatalError("failed to import 'refnanny' module"); } __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit__proxy(void)", __LINE__, __FILE__); #endif __pyx_init_filenames(); __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #if PY_MAJOR_VERSION < 3 __pyx_empty_bytes = PyString_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #else __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} #endif /*--- Library function declarations ---*/ /*--- Threads initialization code ---*/ #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS #ifdef WITH_THREAD /* Python build with threading support? */ PyEval_InitThreads(); #endif #endif /*--- Module creation code ---*/ #if PY_MAJOR_VERSION < 3 __pyx_m = Py_InitModule4(__Pyx_NAMESTR("_proxy"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_3), 0, PYTHON_API_VERSION); #else __pyx_m = PyModule_Create(&__pyx_moduledef); #endif if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; #if PY_MAJOR_VERSION < 3 Py_INCREF(__pyx_m); #endif __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}; /*--- Initialize various global constants etc. ---*/ if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__pyx_module_is_main_h5py___proxy) { 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;} /*--- Global init code ---*/ /*--- Function export code ---*/ if (__Pyx_ExportFunction("attr_rw", (void (*)(void))__pyx_f_4h5py_6_proxy_attr_rw, "herr_t (hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} if (__Pyx_ExportFunction("dset_rw", (void (*)(void))__pyx_f_4h5py_6_proxy_dset_rw, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} /*--- Type init code ---*/ /*--- Type import code ---*/ /*--- Function import code ---*/ /*--- Execution code ---*/ /* "/home/tachyon/slave/unix-release/build/h5py/_proxy.pxd":1 * #+ # <<<<<<<<<<<<<< * # * # This file is part of h5py, a low-level Python interface to the HDF5 library. */ goto __pyx_L0; __pyx_L1_error:; if (__pyx_m) { __Pyx_AddTraceback("init h5py._proxy"); Py_DECREF(__pyx_m); __pyx_m = 0; } else if (!PyErr_Occurred()) { PyErr_SetString(PyExc_ImportError, "init h5py._proxy"); } __pyx_L0:; __Pyx_RefNannyFinishContext(); #if PY_MAJOR_VERSION < 3 return; #else return __pyx_m; #endif } static const char *__pyx_filenames[] = { "_proxy.pyx", }; /* Runtime support code */ static void __pyx_init_filenames(void) { __pyx_f = __pyx_filenames; } static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) { PyObject *tmp_type, *tmp_value, *tmp_tb; PyThreadState *tstate = PyThreadState_GET(); tmp_type = tstate->curexc_type; tmp_value = tstate->curexc_value; tmp_tb = tstate->curexc_traceback; tstate->curexc_type = type; tstate->curexc_value = value; tstate->curexc_traceback = tb; Py_XDECREF(tmp_type); Py_XDECREF(tmp_value); Py_XDECREF(tmp_tb); } static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) { PyThreadState *tstate = PyThreadState_GET(); *type = tstate->curexc_type; *value = tstate->curexc_value; *tb = tstate->curexc_traceback; tstate->curexc_type = 0; tstate->curexc_value = 0; tstate->curexc_traceback = 0; } static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) { PyObject *result; result = PyObject_GetAttr(dict, name); if (!result) PyErr_SetObject(PyExc_NameError, name); return result; } #if PY_MAJOR_VERSION < 3 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { Py_XINCREF(type); Py_XINCREF(value); Py_XINCREF(tb); /* First, check the traceback argument, replacing None with NULL. */ if (tb == Py_None) { Py_DECREF(tb); tb = 0; } else if (tb != NULL && !PyTraceBack_Check(tb)) { PyErr_SetString(PyExc_TypeError, "raise: arg 3 must be a traceback or None"); goto raise_error; } /* Next, replace a missing value with None */ if (value == NULL) { value = Py_None; Py_INCREF(value); } #if PY_VERSION_HEX < 0x02050000 if (!PyClass_Check(type)) #else if (!PyType_Check(type)) #endif { /* Raising an instance. The value should be a dummy. */ if (value != Py_None) { PyErr_SetString(PyExc_TypeError, "instance exception may not have a separate value"); goto raise_error; } /* Normalize to raise , */ Py_DECREF(value); value = type; #if PY_VERSION_HEX < 0x02050000 if (PyInstance_Check(type)) { type = (PyObject*) ((PyInstanceObject*)type)->in_class; Py_INCREF(type); } else { type = 0; PyErr_SetString(PyExc_TypeError, "raise: exception must be an old-style class or instance"); goto raise_error; } #else type = (PyObject*) Py_TYPE(type); Py_INCREF(type); if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { PyErr_SetString(PyExc_TypeError, "raise: exception class must be a subclass of BaseException"); goto raise_error; } #endif } __Pyx_ErrRestore(type, value, tb); return; raise_error: Py_XDECREF(value); Py_XDECREF(type); Py_XDECREF(tb); return; } #else /* Python 3+ */ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) { if (tb == Py_None) { tb = 0; } else if (tb && !PyTraceBack_Check(tb)) { PyErr_SetString(PyExc_TypeError, "raise: arg 3 must be a traceback or None"); goto bad; } if (value == Py_None) value = 0; if (PyExceptionInstance_Check(type)) { if (value) { PyErr_SetString(PyExc_TypeError, "instance exception may not have a separate value"); goto bad; } value = type; type = (PyObject*) Py_TYPE(value); } else if (!PyExceptionClass_Check(type)) { PyErr_SetString(PyExc_TypeError, "raise: exception class must be a subclass of BaseException"); goto bad; } PyErr_SetObject(type, value); if (tb) { PyThreadState *tstate = PyThreadState_GET(); PyObject* tmp_tb = tstate->curexc_traceback; if (tb != tmp_tb) { Py_INCREF(tb); tstate->curexc_traceback = tb; Py_XDECREF(tmp_tb); } } bad: return; } #endif static 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 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 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 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 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 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 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 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 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 INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) { const unsigned long neg_one = (unsigned long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; } return (unsigned long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned long"); return (unsigned long)-1; } return PyLong_AsUnsignedLong(x); } else { return PyLong_AsLong(x); } } else { unsigned long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (unsigned long)-1; val = __Pyx_PyInt_AsUnsignedLong(tmp); Py_DECREF(tmp); return val; } } static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) { const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned PY_LONG_LONG"); return (unsigned PY_LONG_LONG)-1; } return (unsigned PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to unsigned PY_LONG_LONG"); return (unsigned PY_LONG_LONG)-1; } return PyLong_AsUnsignedLongLong(x); } else { return PyLong_AsLongLong(x); } } else { unsigned PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (unsigned PY_LONG_LONG)-1; val = __Pyx_PyInt_AsUnsignedLongLong(tmp); Py_DECREF(tmp); return val; } } static INLINE long __Pyx_PyInt_AsLong(PyObject* x) { const long neg_one = (long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long)-1; } return (long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to long"); return (long)-1; } return PyLong_AsUnsignedLong(x); } else { return PyLong_AsLong(x); } } else { long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (long)-1; val = __Pyx_PyInt_AsLong(tmp); Py_DECREF(tmp); return val; } } static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) { const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to PY_LONG_LONG"); return (PY_LONG_LONG)-1; } return (PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to PY_LONG_LONG"); return (PY_LONG_LONG)-1; } return PyLong_AsUnsignedLongLong(x); } else { return PyLong_AsLongLong(x); } } else { PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (PY_LONG_LONG)-1; val = __Pyx_PyInt_AsLongLong(tmp); Py_DECREF(tmp); return val; } } static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) { const signed long neg_one = (signed long)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed long"); return (signed long)-1; } return (signed long)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed long"); return (signed long)-1; } return PyLong_AsUnsignedLong(x); } else { return PyLong_AsLong(x); } } else { signed long val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (signed long)-1; val = __Pyx_PyInt_AsSignedLong(tmp); Py_DECREF(tmp); return val; } } static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) { const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0; const int is_unsigned = neg_one > const_zero; #if PY_VERSION_HEX < 0x03000000 if (likely(PyInt_Check(x))) { long val = PyInt_AS_LONG(x); if (is_unsigned && unlikely(val < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed PY_LONG_LONG"); return (signed PY_LONG_LONG)-1; } return (signed PY_LONG_LONG)val; } else #endif if (likely(PyLong_Check(x))) { if (is_unsigned) { if (unlikely(Py_SIZE(x) < 0)) { PyErr_SetString(PyExc_OverflowError, "can't convert negative value to signed PY_LONG_LONG"); return (signed PY_LONG_LONG)-1; } return PyLong_AsUnsignedLongLong(x); } else { return PyLong_AsLongLong(x); } } else { signed PY_LONG_LONG val; PyObject *tmp = __Pyx_PyNumber_Int(x); if (!tmp) return (signed PY_LONG_LONG)-1; val = __Pyx_PyInt_AsSignedLongLong(tmp); Py_DECREF(tmp); return val; } } static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) { PyObject *d = 0; PyObject *cobj = 0; union { void (*fp)(void); void *p; } tmp; d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__"); if (!d) { PyErr_Clear(); d = PyDict_New(); if (!d) goto bad; Py_INCREF(d); if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0) goto bad; } tmp.fp = f; #if PY_VERSION_HEX < 0x03010000 cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0); #else cobj = PyCapsule_New(tmp.p, sig, 0); #endif if (!cobj) goto bad; if (PyDict_SetItemString(d, name, cobj) < 0) goto bad; Py_DECREF(cobj); Py_DECREF(d); return 0; bad: Py_XDECREF(cobj); Py_XDECREF(d); return -1; } #include "compile.h" #include "frameobject.h" #include "traceback.h" static void __Pyx_AddTraceback(const char *funcname) { PyObject *py_srcfile = 0; PyObject *py_funcname = 0; PyObject *py_globals = 0; PyCodeObject *py_code = 0; PyFrameObject *py_frame = 0; #if PY_MAJOR_VERSION < 3 py_srcfile = PyString_FromString(__pyx_filename); #else py_srcfile = PyUnicode_FromString(__pyx_filename); #endif if (!py_srcfile) goto bad; if (__pyx_clineno) { #if PY_MAJOR_VERSION < 3 py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); #else py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno); #endif } else { #if PY_MAJOR_VERSION < 3 py_funcname = PyString_FromString(funcname); #else py_funcname = PyUnicode_FromString(funcname); #endif } if (!py_funcname) goto bad; py_globals = PyModule_GetDict(__pyx_m); if (!py_globals) goto bad; py_code = PyCode_New( 0, /*int argcount,*/ #if PY_MAJOR_VERSION >= 3 0, /*int kwonlyargcount,*/ #endif 0, /*int nlocals,*/ 0, /*int stacksize,*/ 0, /*int flags,*/ __pyx_empty_bytes, /*PyObject *code,*/ __pyx_empty_tuple, /*PyObject *consts,*/ __pyx_empty_tuple, /*PyObject *names,*/ __pyx_empty_tuple, /*PyObject *varnames,*/ __pyx_empty_tuple, /*PyObject *freevars,*/ __pyx_empty_tuple, /*PyObject *cellvars,*/ py_srcfile, /*PyObject *filename,*/ py_funcname, /*PyObject *name,*/ __pyx_lineno, /*int firstlineno,*/ __pyx_empty_bytes /*PyObject *lnotab*/ ); if (!py_code) goto bad; py_frame = PyFrame_New( PyThreadState_GET(), /*PyThreadState *tstate,*/ py_code, /*PyCodeObject *code,*/ py_globals, /*PyObject *globals,*/ 0 /*PyObject *locals*/ ); if (!py_frame) goto bad; py_frame->f_lineno = __pyx_lineno; PyTraceBack_Here(py_frame); bad: Py_XDECREF(py_srcfile); Py_XDECREF(py_funcname); Py_XDECREF(py_code); Py_XDECREF(py_frame); } static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { while (t->p) { #if PY_MAJOR_VERSION < 3 if (t->is_unicode) { *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); } else if (t->intern) { *t->p = PyString_InternFromString(t->s); } else { *t->p = PyString_FromStringAndSize(t->s, t->n - 1); } #else /* Python 3+ has unicode identifiers */ if (t->is_unicode | t->is_str) { if (t->intern) { *t->p = PyUnicode_InternFromString(t->s); } else if (t->encoding) { *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL); } else { *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1); } } else { *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1); } #endif if (!*t->p) return -1; ++t; } return 0; } /* Type Conversion Functions */ static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { if (x == Py_True) return 1; else if ((x == Py_False) | (x == Py_None)) return 0; else return PyObject_IsTrue(x); } static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) { 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 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 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 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 */