4530 lines
176 KiB
C
Executable file
4530 lines
176 KiB
C
Executable file
/* Generated by Cython 0.12 on Sun Mar 14 21:50:09 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 <math.h>
|
|
#define __PYX_HAVE_API__h5py__h5a
|
|
#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"
|
|
#include "numpy/arrayobject.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/h5t.pxd":72
|
|
*
|
|
* cdef TypeID typewrap(hid_t id_)
|
|
* cpdef TypeID py_create(object dtype, bint logical=*) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
|
|
struct __pyx_opt_args_4h5py_3h5t_py_create {
|
|
int __pyx_n;
|
|
int logical;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/utils.pxd":20
|
|
* cdef void efree(void* ptr)
|
|
*
|
|
* cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1 # <<<<<<<<<<<<<<
|
|
* cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
|
|
*
|
|
*/
|
|
|
|
struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
|
|
int __pyx_n;
|
|
hid_t space_id;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/utils.pxd":21
|
|
*
|
|
* cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
|
|
* cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1 # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
|
|
*/
|
|
|
|
struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
|
|
int __pyx_n;
|
|
hid_t space_id;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":282
|
|
* # === Iteration routines ======================================================
|
|
*
|
|
* cdef class _AttrVisitor: # <<<<<<<<<<<<<<
|
|
* cdef object func
|
|
* cdef object retval
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5a__AttrVisitor {
|
|
PyObject_HEAD
|
|
PyObject *func;
|
|
PyObject *retval;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":28
|
|
* cpdef H5PYConfig get_config()
|
|
*
|
|
* cdef class ObjectID: # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef object __weakref__
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_2h5_ObjectID {
|
|
PyObject_HEAD
|
|
PyObject *__weakref__;
|
|
hid_t id;
|
|
int _locked;
|
|
PyObject *_hash;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":23
|
|
* # --- Base classes ---
|
|
*
|
|
* cdef class PropID(ObjectID): # <<<<<<<<<<<<<<
|
|
* """ Base class for all property lists """
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropID {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":33
|
|
* pass
|
|
*
|
|
* cdef class PropInstanceID(PropID): # <<<<<<<<<<<<<<
|
|
* """ Represents an instance of a property list class (i.e. an actual list
|
|
* which can be passed on to other API functions).
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropInstanceID {
|
|
struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":62
|
|
* # --- Object access ---
|
|
*
|
|
* cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<<
|
|
* """ File access property list """
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropFAID {
|
|
struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":17
|
|
* from h5 cimport class ObjectID
|
|
*
|
|
* cdef class TypeID(ObjectID): # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef object py_dtype(self)
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeID {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":40
|
|
* pass
|
|
*
|
|
* cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":39
|
|
* pass
|
|
*
|
|
* cdef class PropCreateID(PropInstanceID): # <<<<<<<<<<<<<<
|
|
* """ Base class for all object creation lists.
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropCreateID {
|
|
struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":55
|
|
* pass
|
|
*
|
|
* cdef class PropFCID(PropCreateID): # <<<<<<<<<<<<<<
|
|
* """ File creation property list """
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropFCID {
|
|
struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":27
|
|
* pass
|
|
*
|
|
* cdef class PropClassID(PropID): # <<<<<<<<<<<<<<
|
|
* """ Represents an HDF5 property list class. These can be either (locked)
|
|
* library-defined classes or user-created classes.
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropClassID {
|
|
struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":59
|
|
* # --- Enums & compound types ---
|
|
*
|
|
* cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":66
|
|
* cdef int enum_convert(self, long long *buf, int reverse) except -1
|
|
*
|
|
* cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":33
|
|
* pass
|
|
*
|
|
* cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<<
|
|
* # Non-string vlens
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeVlenID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":51
|
|
* # --- Object creation ---
|
|
*
|
|
* cdef class PropDCID(PropCreateID): # <<<<<<<<<<<<<<
|
|
* """ Dataset creation property list """
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropDCID {
|
|
struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":37
|
|
* pass
|
|
*
|
|
* cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeTimeID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":23
|
|
* # --- Top-level classes ---
|
|
*
|
|
* cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeArrayID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":48
|
|
* # --- Numeric atomic types ---
|
|
*
|
|
* cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":54
|
|
* pass
|
|
*
|
|
* cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeFloatID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":29
|
|
* pass
|
|
*
|
|
* cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<<
|
|
* # Both vlen and fixed-len strings
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeStringID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":26
|
|
* pass
|
|
*
|
|
* cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":62
|
|
* pass
|
|
*
|
|
* cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef int enum_convert(self, long long *buf, int reverse) except -1
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeEnumID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":15
|
|
* include "defs.pxd"
|
|
*
|
|
* cdef class H5PYConfig: # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef object _r_name
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_2h5_H5PYConfig {
|
|
PyObject_HEAD
|
|
PyObject *_r_name;
|
|
PyObject *_i_name;
|
|
PyObject *_f_name;
|
|
PyObject *_t_name;
|
|
PyObject *API_16;
|
|
PyObject *API_18;
|
|
PyObject *DEBUG;
|
|
PyObject *THREADS;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":46
|
|
* pass
|
|
*
|
|
* cdef class PropCopyID(PropInstanceID): # <<<<<<<<<<<<<<
|
|
* """ Property list for copying objects (as in h5o.copy) """
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropCopyID {
|
|
struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":51
|
|
* pass
|
|
*
|
|
* cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":43
|
|
* pass
|
|
*
|
|
* cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":66
|
|
* pass
|
|
*
|
|
* cdef class PropDXID(PropInstanceID): # <<<<<<<<<<<<<<
|
|
* """ Dataset transfer property list """
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5p_PropDXID {
|
|
struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":35
|
|
* cdef object _hash
|
|
*
|
|
* cdef class SmartStruct: # <<<<<<<<<<<<<<
|
|
* cdef object __weakref__
|
|
* cdef object _title
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_2h5_SmartStruct {
|
|
PyObject_HEAD
|
|
PyObject *__weakref__;
|
|
PyObject *_title;
|
|
};
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5s.pxd":17
|
|
* from h5 cimport class ObjectID
|
|
*
|
|
* cdef class SpaceID(ObjectID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_obj_4h5py_3h5s_SpaceID {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
|
|
};
|
|
|
|
struct __pyx_obj_4h5py_3h5a_AttrID {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
|
|
};
|
|
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
|
|
PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":59
|
|
* # --- Enums & compound types ---
|
|
*
|
|
* cdef class TypeCompositeID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":66
|
|
* cdef int enum_convert(self, long long *buf, int reverse) except -1
|
|
*
|
|
* cdef class TypeCompoundID(TypeCompositeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":26
|
|
* pass
|
|
*
|
|
* cdef class TypeOpaqueID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":23
|
|
* # --- Top-level classes ---
|
|
*
|
|
* cdef class TypeArrayID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":48
|
|
* # --- Numeric atomic types ---
|
|
*
|
|
* cdef class TypeAtomicID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":51
|
|
* pass
|
|
*
|
|
* cdef class TypeIntegerID(TypeAtomicID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":43
|
|
* pass
|
|
*
|
|
* cdef class TypeReferenceID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":29
|
|
* pass
|
|
*
|
|
* cdef class TypeStringID(TypeID): # <<<<<<<<<<<<<<
|
|
* # Both vlen and fixed-len strings
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":54
|
|
* pass
|
|
*
|
|
* cdef class TypeFloatID(TypeAtomicID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":37
|
|
* pass
|
|
*
|
|
* cdef class TypeTimeID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":40
|
|
* pass
|
|
*
|
|
* cdef class TypeBitfieldID(TypeID): # <<<<<<<<<<<<<<
|
|
* pass
|
|
*
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":33
|
|
* pass
|
|
*
|
|
* cdef class TypeVlenID(TypeID): # <<<<<<<<<<<<<<
|
|
* # Non-string vlens
|
|
* pass
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
|
|
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5t.pxd":62
|
|
* pass
|
|
*
|
|
* cdef class TypeEnumID(TypeCompositeID): # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef int enum_convert(self, long long *buf, int reverse) except -1
|
|
*/
|
|
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
|
|
struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
|
|
int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
|
|
};
|
|
static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
|
|
|
|
#ifndef CYTHON_REFNANNY
|
|
#define CYTHON_REFNANNY 0
|
|
#endif
|
|
|
|
#if CYTHON_REFNANNY
|
|
typedef struct {
|
|
void (*INCREF)(void*, PyObject*, int);
|
|
void (*DECREF)(void*, PyObject*, int);
|
|
void (*GOTREF)(void*, PyObject*, int);
|
|
void (*GIVEREF)(void*, PyObject*, int);
|
|
void* (*SetupContext)(const char*, int, const char*);
|
|
void (*FinishContext)(void**);
|
|
} __Pyx_RefNannyAPIStruct;
|
|
static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
|
|
static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) {
|
|
PyObject *m = NULL, *p = NULL;
|
|
void *r = NULL;
|
|
m = PyImport_ImportModule((char *)modname);
|
|
if (!m) goto end;
|
|
p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
|
|
if (!p) goto end;
|
|
r = PyLong_AsVoidPtr(p);
|
|
end:
|
|
Py_XDECREF(p);
|
|
Py_XDECREF(m);
|
|
return (__Pyx_RefNannyAPIStruct *)r;
|
|
}
|
|
#define __Pyx_RefNannySetupContext(name) void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
|
|
#define __Pyx_RefNannyFinishContext() __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
|
|
#define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
|
|
#define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
|
|
#define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
|
|
#define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
|
|
#define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0)
|
|
#else
|
|
#define __Pyx_RefNannySetupContext(name)
|
|
#define __Pyx_RefNannyFinishContext()
|
|
#define __Pyx_INCREF(r) Py_INCREF(r)
|
|
#define __Pyx_DECREF(r) Py_DECREF(r)
|
|
#define __Pyx_GOTREF(r)
|
|
#define __Pyx_GIVEREF(r)
|
|
#define __Pyx_XDECREF(r) Py_XDECREF(r)
|
|
#endif /* CYTHON_REFNANNY */
|
|
#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0)
|
|
#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0)
|
|
|
|
static void __Pyx_RaiseDoubleKeywordsError(
|
|
const char* func_name, PyObject* kw_name); /*proto*/
|
|
|
|
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
|
|
Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
|
|
|
|
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/
|
|
|
|
static INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
|
|
|
|
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
|
|
static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
|
|
|
|
static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
|
|
const char *name, int exact); /*proto*/
|
|
|
|
static INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
|
|
|
|
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 PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size); /*proto*/
|
|
|
|
static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
|
|
|
|
static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
|
|
|
|
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, 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.h5 */
|
|
|
|
static PyTypeObject *__pyx_ptype_4h5py_2h5_H5PYConfig = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_2h5_ObjectID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_2h5_SmartStruct = 0;
|
|
static struct __pyx_obj_4h5py_2h5_H5PYConfig *(*__pyx_f_4h5py_2h5_get_config)(int __pyx_skip_dispatch); /*proto*/
|
|
static int (*__pyx_f_4h5py_2h5_init_hdf5)(void); /*proto*/
|
|
/* Module declarations from h5py.h5t */
|
|
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
|
|
static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t); /*proto*/
|
|
static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/
|
|
/* Module declarations from h5py.h5s */
|
|
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5s_SpaceID = 0;
|
|
/* Module declarations from h5py.h5p */
|
|
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
|
|
static hid_t (*__pyx_f_4h5py_3h5p_pdefault)(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/
|
|
static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/
|
|
/* Module declarations from numpy */
|
|
|
|
/* Module declarations from h5py.numpy */
|
|
|
|
static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
|
|
/* Module declarations from h5py.utils */
|
|
|
|
static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
|
|
static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
|
|
static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/
|
|
static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/
|
|
static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
|
|
static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/
|
|
static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/
|
|
static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/
|
|
static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*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*/
|
|
/* Module declarations from h5py.h5a */
|
|
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5a_AttrID = 0;
|
|
static PyTypeObject *__pyx_ptype_4h5py_3h5a__AttrVisitor = 0;
|
|
static herr_t __pyx_f_4h5py_3h5a_cb_exist(hid_t, char *, void *); /*proto*/
|
|
static herr_t __pyx_f_4h5py_3h5a_cb_attr_iter(hid_t, char *, void *); /*proto*/
|
|
#define __Pyx_MODULE_NAME "h5py.h5a"
|
|
int __pyx_module_is_main_h5py__h5a = 0;
|
|
|
|
/* Implementation of h5py.h5a */
|
|
static PyObject *__pyx_builtin_TypeError;
|
|
static PyObject *__pyx_builtin_ValueError;
|
|
static char __pyx_k_1[] = "Exactly one of name or idx must be specified";
|
|
static char __pyx_k_2[] = "Starting index must be a non-negative integer.";
|
|
static char __pyx_k_3[] = "get_simple_extent_dims";
|
|
static char __pyx_k_4[] = "The attribute's name";
|
|
static char __pyx_k_5[] = "A Numpy-style shape tuple representing the attribute's dataspace";
|
|
static char __pyx_k_6[] = "A Numpy-stype dtype object representing the attribute's datatype";
|
|
static char __pyx_k_7[] = "\n Provides access to the low-level HDF5 \"H5A\" attribute interface.\n";
|
|
static char __pyx_k__id[] = "id";
|
|
static char __pyx_k__loc[] = "loc";
|
|
static char __pyx_k__tid[] = "tid";
|
|
static char __pyx_k__func[] = "func";
|
|
static char __pyx_k__name[] = "name";
|
|
static char __pyx_k__dtype[] = "dtype";
|
|
static char __pyx_k__index[] = "index";
|
|
static char __pyx_k__space[] = "space";
|
|
static char __pyx_k__retval[] = "retval";
|
|
static char __pyx_k____main__[] = "__main__";
|
|
static char __pyx_k__get_name[] = "get_name";
|
|
static char __pyx_k__get_type[] = "get_type";
|
|
static char __pyx_k__py_dtype[] = "py_dtype";
|
|
static char __pyx_k__TypeError[] = "TypeError";
|
|
static char __pyx_k__get_space[] = "get_space";
|
|
static char __pyx_k__ValueError[] = "ValueError";
|
|
static PyObject *__pyx_kp_s_1;
|
|
static PyObject *__pyx_kp_s_2;
|
|
static PyObject *__pyx_n_s_3;
|
|
static PyObject *__pyx_n_s__TypeError;
|
|
static PyObject *__pyx_n_s__ValueError;
|
|
static PyObject *__pyx_n_s____main__;
|
|
static PyObject *__pyx_n_s__dtype;
|
|
static PyObject *__pyx_n_s__func;
|
|
static PyObject *__pyx_n_s__get_name;
|
|
static PyObject *__pyx_n_s__get_space;
|
|
static PyObject *__pyx_n_s__get_type;
|
|
static PyObject *__pyx_n_s__id;
|
|
static PyObject *__pyx_n_s__index;
|
|
static PyObject *__pyx_n_s__loc;
|
|
static PyObject *__pyx_n_s__name;
|
|
static PyObject *__pyx_n_s__py_dtype;
|
|
static PyObject *__pyx_n_s__retval;
|
|
static PyObject *__pyx_n_s__space;
|
|
static PyObject *__pyx_n_s__tid;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":56
|
|
* ELSE:
|
|
*
|
|
* def create(ObjectID loc not None, char* name, TypeID tid not None, # <<<<<<<<<<<<<<
|
|
* SpaceID space not None):
|
|
* """(ObjectID loc, STRING name, TypeID tid, SpaceID space) => AttrID
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_create[] = "(ObjectID loc, STRING name, TypeID tid, SpaceID space) => AttrID\n\n Create a new attribute attached to a parent object, specifiying an \n HDF5 datatype and dataspace.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
|
|
char *__pyx_v_name;
|
|
struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
|
|
struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0;
|
|
PyObject *__pyx_r = NULL;
|
|
hid_t __pyx_t_1;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
PyObject *__pyx_t_3 = NULL;
|
|
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__tid,&__pyx_n_s__space,0};
|
|
__Pyx_RefNannySetupContext("create");
|
|
__pyx_self = __pyx_self;
|
|
if (unlikely(__pyx_kwds)) {
|
|
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
|
|
PyObject* values[4] = {0,0,0,0};
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
|
|
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
|
|
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
|
|
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
|
|
case 0: break;
|
|
default: goto __pyx_L5_argtuple_error;
|
|
}
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 0:
|
|
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc);
|
|
if (likely(values[0])) kw_args--;
|
|
else goto __pyx_L5_argtuple_error;
|
|
case 1:
|
|
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
|
|
if (likely(values[1])) kw_args--;
|
|
else {
|
|
__Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
case 2:
|
|
values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tid);
|
|
if (likely(values[2])) kw_args--;
|
|
else {
|
|
__Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
case 3:
|
|
values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space);
|
|
if (likely(values[3])) kw_args--;
|
|
else {
|
|
__Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
}
|
|
if (unlikely(kw_args > 0)) {
|
|
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
|
|
__pyx_v_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
__pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[2]);
|
|
__pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[3]);
|
|
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
|
|
goto __pyx_L5_argtuple_error;
|
|
} else {
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
|
|
__pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
__pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)PyTuple_GET_ITEM(__pyx_args, 2));
|
|
__pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)PyTuple_GET_ITEM(__pyx_args, 3));
|
|
}
|
|
goto __pyx_L4_argument_unpacking_done;
|
|
__pyx_L5_argtuple_error:;
|
|
__Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
__pyx_L3_error:;
|
|
__Pyx_AddTraceback("h5py.h5a.create");
|
|
return NULL;
|
|
__pyx_L4_argument_unpacking_done:;
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tid), __pyx_ptype_4h5py_3h5t_TypeID, 0, "tid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_space), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "space", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":63
|
|
* HDF5 datatype and dataspace.
|
|
* """
|
|
* return AttrID(H5Acreate(loc.id, name, tid.id, space.id, H5P_DEFAULT)) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_1 = H5Acreate(__pyx_v_loc->id, __pyx_v_name, __pyx_v_tid->__pyx_base.id, __pyx_v_space->__pyx_base.id, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_3);
|
|
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
|
|
__Pyx_GIVEREF(__pyx_t_2);
|
|
__pyx_t_2 = 0;
|
|
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a_AttrID)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
__pyx_r = __pyx_t_2;
|
|
__pyx_t_2 = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_XDECREF(__pyx_t_3);
|
|
__Pyx_AddTraceback("h5py.h5a.create");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":102
|
|
* ELSE:
|
|
*
|
|
* def open(ObjectID loc not None, char* name=NULL, int index=-1): # <<<<<<<<<<<<<<
|
|
* """(ObjectID loc, STRING name=, INT index=) => AttrID
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_open[] = "(ObjectID loc, STRING name=, INT index=) => AttrID\n\n Open an attribute attached to an existing object. You must specify\n exactly one of either name or idx.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
|
|
char *__pyx_v_name;
|
|
int __pyx_v_index;
|
|
PyObject *__pyx_r = NULL;
|
|
int __pyx_t_1;
|
|
int __pyx_t_2;
|
|
int __pyx_t_3;
|
|
int __pyx_t_4;
|
|
PyObject *__pyx_t_5 = NULL;
|
|
PyObject *__pyx_t_6 = NULL;
|
|
hid_t __pyx_t_7;
|
|
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,0};
|
|
__Pyx_RefNannySetupContext("open");
|
|
__pyx_self = __pyx_self;
|
|
if (unlikely(__pyx_kwds)) {
|
|
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
|
|
PyObject* values[3] = {0,0,0};
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
|
|
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
|
|
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
|
|
case 0: break;
|
|
default: goto __pyx_L5_argtuple_error;
|
|
}
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 0:
|
|
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc);
|
|
if (likely(values[0])) kw_args--;
|
|
else goto __pyx_L5_argtuple_error;
|
|
case 1:
|
|
if (kw_args > 0) {
|
|
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
|
|
if (unlikely(value)) { values[1] = value; kw_args--; }
|
|
}
|
|
case 2:
|
|
if (kw_args > 0) {
|
|
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
|
|
if (unlikely(value)) { values[2] = value; kw_args--; }
|
|
}
|
|
}
|
|
if (unlikely(kw_args > 0)) {
|
|
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
|
|
if (values[1]) {
|
|
__pyx_v_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
} else {
|
|
__pyx_v_name = ((char *)NULL);
|
|
}
|
|
if (values[2]) {
|
|
__pyx_v_index = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
} else {
|
|
__pyx_v_index = ((int)-1);
|
|
}
|
|
} else {
|
|
__pyx_v_name = ((char *)NULL);
|
|
__pyx_v_index = ((int)-1);
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 3: __pyx_v_index = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
case 2: __pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
case 1: __pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
|
|
break;
|
|
default: goto __pyx_L5_argtuple_error;
|
|
}
|
|
}
|
|
goto __pyx_L4_argument_unpacking_done;
|
|
__pyx_L5_argtuple_error:;
|
|
__Pyx_RaiseArgtupleInvalid("open", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
__pyx_L3_error:;
|
|
__Pyx_AddTraceback("h5py.h5a.open");
|
|
return NULL;
|
|
__pyx_L4_argument_unpacking_done:;
|
|
__Pyx_INCREF((PyObject *)__pyx_v_loc);
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":108
|
|
* exactly one of either name or idx.
|
|
* """
|
|
* if (name == NULL and index < 0) or (name != NULL and index >= 0): # <<<<<<<<<<<<<<
|
|
* raise TypeError("Exactly one of name or idx must be specified")
|
|
*
|
|
*/
|
|
__pyx_t_1 = (__pyx_v_name == NULL);
|
|
if (__pyx_t_1) {
|
|
__pyx_t_2 = (__pyx_v_index < 0);
|
|
__pyx_t_3 = __pyx_t_2;
|
|
} else {
|
|
__pyx_t_3 = __pyx_t_1;
|
|
}
|
|
if (!__pyx_t_3) {
|
|
__pyx_t_1 = (__pyx_v_name != NULL);
|
|
if (__pyx_t_1) {
|
|
__pyx_t_2 = (__pyx_v_index >= 0);
|
|
__pyx_t_4 = __pyx_t_2;
|
|
} else {
|
|
__pyx_t_4 = __pyx_t_1;
|
|
}
|
|
__pyx_t_1 = __pyx_t_4;
|
|
} else {
|
|
__pyx_t_1 = __pyx_t_3;
|
|
}
|
|
if (__pyx_t_1) {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":109
|
|
* """
|
|
* if (name == NULL and index < 0) or (name != NULL and index >= 0):
|
|
* raise TypeError("Exactly one of name or idx must be specified") # <<<<<<<<<<<<<<
|
|
*
|
|
* if name != NULL:
|
|
*/
|
|
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_5);
|
|
__Pyx_INCREF(((PyObject *)__pyx_kp_s_1));
|
|
PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_1));
|
|
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_1));
|
|
__pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_6);
|
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
__Pyx_Raise(__pyx_t_6, 0, 0);
|
|
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
|
|
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
goto __pyx_L6;
|
|
}
|
|
__pyx_L6:;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":111
|
|
* raise TypeError("Exactly one of name or idx must be specified")
|
|
*
|
|
* if name != NULL: # <<<<<<<<<<<<<<
|
|
* return AttrID(H5Aopen_name(loc.id, name))
|
|
* else:
|
|
*/
|
|
__pyx_t_1 = (__pyx_v_name != NULL);
|
|
if (__pyx_t_1) {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":112
|
|
*
|
|
* if name != NULL:
|
|
* return AttrID(H5Aopen_name(loc.id, name)) # <<<<<<<<<<<<<<
|
|
* else:
|
|
* return AttrID(H5Aopen_idx(loc.id, index))
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_7 = H5Aopen_name(__pyx_v_loc->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_t_6 = __Pyx_PyInt_to_py_hid_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_6);
|
|
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_5);
|
|
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
|
|
__Pyx_GIVEREF(__pyx_t_6);
|
|
__pyx_t_6 = 0;
|
|
__pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a_AttrID)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_6);
|
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
__pyx_r = __pyx_t_6;
|
|
__pyx_t_6 = 0;
|
|
goto __pyx_L0;
|
|
goto __pyx_L7;
|
|
}
|
|
/*else*/ {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":114
|
|
* return AttrID(H5Aopen_name(loc.id, name))
|
|
* else:
|
|
* return AttrID(H5Aopen_idx(loc.id, index)) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_7 = H5Aopen_idx(__pyx_v_loc->id, __pyx_v_index); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_t_6 = __Pyx_PyInt_to_py_hid_t(__pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_6);
|
|
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_5);
|
|
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
|
|
__Pyx_GIVEREF(__pyx_t_6);
|
|
__pyx_t_6 = 0;
|
|
__pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a_AttrID)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_6);
|
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
__pyx_r = __pyx_t_6;
|
|
__pyx_t_6 = 0;
|
|
goto __pyx_L0;
|
|
}
|
|
__pyx_L7:;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_5);
|
|
__Pyx_XDECREF(__pyx_t_6);
|
|
__Pyx_AddTraceback("h5py.h5a.open");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_DECREF((PyObject *)__pyx_v_loc);
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":136
|
|
*
|
|
* ELSE:
|
|
* cdef herr_t cb_exist(hid_t loc_id, char* attr_name, void* ref_name) except 2: # <<<<<<<<<<<<<<
|
|
*
|
|
* if strcmp(attr_name, <char*>ref_name) == 0:
|
|
*/
|
|
|
|
static herr_t __pyx_f_4h5py_3h5a_cb_exist(hid_t __pyx_v_loc_id, char *__pyx_v_attr_name, void *__pyx_v_ref_name) {
|
|
herr_t __pyx_r;
|
|
int __pyx_t_1;
|
|
__Pyx_RefNannySetupContext("cb_exist");
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":138
|
|
* cdef herr_t cb_exist(hid_t loc_id, char* attr_name, void* ref_name) except 2:
|
|
*
|
|
* if strcmp(attr_name, <char*>ref_name) == 0: # <<<<<<<<<<<<<<
|
|
* return 1
|
|
* return 0
|
|
*/
|
|
__pyx_t_1 = (strcmp(__pyx_v_attr_name, ((char *)__pyx_v_ref_name)) == 0);
|
|
if (__pyx_t_1) {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":139
|
|
*
|
|
* if strcmp(attr_name, <char*>ref_name) == 0:
|
|
* return 1 # <<<<<<<<<<<<<<
|
|
* return 0
|
|
*
|
|
*/
|
|
__pyx_r = 1;
|
|
goto __pyx_L0;
|
|
goto __pyx_L3;
|
|
}
|
|
__pyx_L3:;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":140
|
|
* if strcmp(attr_name, <char*>ref_name) == 0:
|
|
* return 1
|
|
* return 0 # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__pyx_r = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = 0;
|
|
__pyx_L0:;
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":143
|
|
*
|
|
*
|
|
* def exists(ObjectID loc not None, char* name): # <<<<<<<<<<<<<<
|
|
* """(ObjectID loc, STRING name) => BOOL
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_exists(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_exists[] = "(ObjectID loc, STRING name) => BOOL\n\n Determine if an attribute named \"name\" is attached to this object.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_exists(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
|
|
char *__pyx_v_name;
|
|
unsigned int __pyx_v_i;
|
|
PyObject *__pyx_r = NULL;
|
|
herr_t __pyx_t_1;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0};
|
|
__Pyx_RefNannySetupContext("exists");
|
|
__pyx_self = __pyx_self;
|
|
if (unlikely(__pyx_kwds)) {
|
|
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
|
|
PyObject* values[2] = {0,0};
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
|
|
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
|
|
case 0: break;
|
|
default: goto __pyx_L5_argtuple_error;
|
|
}
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 0:
|
|
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc);
|
|
if (likely(values[0])) kw_args--;
|
|
else goto __pyx_L5_argtuple_error;
|
|
case 1:
|
|
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
|
|
if (likely(values[1])) kw_args--;
|
|
else {
|
|
__Pyx_RaiseArgtupleInvalid("exists", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
}
|
|
if (unlikely(kw_args > 0)) {
|
|
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "exists") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
|
|
__pyx_v_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
|
|
goto __pyx_L5_argtuple_error;
|
|
} else {
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
|
|
__pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
goto __pyx_L4_argument_unpacking_done;
|
|
__pyx_L5_argtuple_error:;
|
|
__Pyx_RaiseArgtupleInvalid("exists", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
__pyx_L3_error:;
|
|
__Pyx_AddTraceback("h5py.h5a.exists");
|
|
return NULL;
|
|
__pyx_L4_argument_unpacking_done:;
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":148
|
|
* Determine if an attribute named "name" is attached to this object.
|
|
* """
|
|
* cdef unsigned int i=0 # <<<<<<<<<<<<<<
|
|
*
|
|
* return <bint>H5Aiterate(loc.id, &i, <H5A_operator_t>cb_exist, <void*>name)
|
|
*/
|
|
__pyx_v_i = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":150
|
|
* cdef unsigned int i=0
|
|
*
|
|
* return <bint>H5Aiterate(loc.id, &i, <H5A_operator_t>cb_exist, <void*>name) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_1 = H5Aiterate(__pyx_v_loc->id, (&__pyx_v_i), ((herr_t (*)(hid_t, char *, void *))__pyx_f_4h5py_3h5a_cb_exist), ((void *)__pyx_v_name)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__pyx_r = __pyx_t_2;
|
|
__pyx_t_2 = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_AddTraceback("h5py.h5a.exists");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":201
|
|
* ELSE:
|
|
*
|
|
* def delete(ObjectID loc not None, char* name): # <<<<<<<<<<<<<<
|
|
* """(ObjectID loc, STRING name)
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_delete(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_delete[] = "(ObjectID loc, STRING name)\n\n Remove an attribute from an object.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_delete(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
|
|
char *__pyx_v_name;
|
|
PyObject *__pyx_r = NULL;
|
|
herr_t __pyx_t_1;
|
|
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0};
|
|
__Pyx_RefNannySetupContext("delete");
|
|
__pyx_self = __pyx_self;
|
|
if (unlikely(__pyx_kwds)) {
|
|
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
|
|
PyObject* values[2] = {0,0};
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
|
|
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
|
|
case 0: break;
|
|
default: goto __pyx_L5_argtuple_error;
|
|
}
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 0:
|
|
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc);
|
|
if (likely(values[0])) kw_args--;
|
|
else goto __pyx_L5_argtuple_error;
|
|
case 1:
|
|
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
|
|
if (likely(values[1])) kw_args--;
|
|
else {
|
|
__Pyx_RaiseArgtupleInvalid("delete", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
}
|
|
if (unlikely(kw_args > 0)) {
|
|
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "delete") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
|
|
__pyx_v_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
|
|
goto __pyx_L5_argtuple_error;
|
|
} else {
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
|
|
__pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
goto __pyx_L4_argument_unpacking_done;
|
|
__pyx_L5_argtuple_error:;
|
|
__Pyx_RaiseArgtupleInvalid("delete", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
__pyx_L3_error:;
|
|
__Pyx_AddTraceback("h5py.h5a.delete");
|
|
return NULL;
|
|
__pyx_L4_argument_unpacking_done:;
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":206
|
|
* Remove an attribute from an object.
|
|
* """
|
|
* H5Adelete(loc.id, name) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__pyx_t_1 = H5Adelete(__pyx_v_loc->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_AddTraceback("h5py.h5a.delete");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":209
|
|
*
|
|
*
|
|
* def get_num_attrs(ObjectID loc not None): # <<<<<<<<<<<<<<
|
|
* """(ObjectID loc) => INT
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_get_num_attrs(PyObject *__pyx_self, PyObject *__pyx_v_loc); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_get_num_attrs[] = "(ObjectID loc) => INT\n\n Determine the number of attributes attached to an HDF5 object.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_get_num_attrs(PyObject *__pyx_self, PyObject *__pyx_v_loc) {
|
|
PyObject *__pyx_r = NULL;
|
|
int __pyx_t_1;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
__Pyx_RefNannySetupContext("get_num_attrs");
|
|
__pyx_self = __pyx_self;
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":214
|
|
* Determine the number of attributes attached to an HDF5 object.
|
|
* """
|
|
* return H5Aget_num_attrs(loc.id) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_1 = H5Aget_num_attrs(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_loc)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__pyx_r = __pyx_t_2;
|
|
__pyx_t_2 = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_AddTraceback("h5py.h5a.get_num_attrs");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":285
|
|
* cdef object func
|
|
* cdef object retval
|
|
* def __init__(self, func): # <<<<<<<<<<<<<<
|
|
* self.func = func
|
|
* self.retval = None
|
|
*/
|
|
|
|
static int __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
|
static int __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
|
|
PyObject *__pyx_v_func = 0;
|
|
int __pyx_r;
|
|
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0};
|
|
__Pyx_RefNannySetupContext("__init__");
|
|
if (unlikely(__pyx_kwds)) {
|
|
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
|
|
PyObject* values[1] = {0};
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
|
|
case 0: break;
|
|
default: goto __pyx_L5_argtuple_error;
|
|
}
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 0:
|
|
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func);
|
|
if (likely(values[0])) kw_args--;
|
|
else goto __pyx_L5_argtuple_error;
|
|
}
|
|
if (unlikely(kw_args > 0)) {
|
|
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
__pyx_v_func = values[0];
|
|
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
|
|
goto __pyx_L5_argtuple_error;
|
|
} else {
|
|
__pyx_v_func = PyTuple_GET_ITEM(__pyx_args, 0);
|
|
}
|
|
goto __pyx_L4_argument_unpacking_done;
|
|
__pyx_L5_argtuple_error:;
|
|
__Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
__pyx_L3_error:;
|
|
__Pyx_AddTraceback("h5py.h5a._AttrVisitor.__init__");
|
|
return -1;
|
|
__pyx_L4_argument_unpacking_done:;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":286
|
|
* cdef object retval
|
|
* def __init__(self, func):
|
|
* self.func = func # <<<<<<<<<<<<<<
|
|
* self.retval = None
|
|
*
|
|
*/
|
|
__Pyx_INCREF(__pyx_v_func);
|
|
__Pyx_GIVEREF(__pyx_v_func);
|
|
__Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->func);
|
|
__Pyx_DECREF(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->func);
|
|
((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->func = __pyx_v_func;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":287
|
|
* def __init__(self, func):
|
|
* self.func = func
|
|
* self.retval = None # <<<<<<<<<<<<<<
|
|
*
|
|
* IF H5PY_18API:
|
|
*/
|
|
__Pyx_INCREF(Py_None);
|
|
__Pyx_GIVEREF(Py_None);
|
|
__Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->retval);
|
|
__Pyx_DECREF(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->retval);
|
|
((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self)->retval = Py_None;
|
|
|
|
__pyx_r = 0;
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":353
|
|
* ELSE:
|
|
*
|
|
* cdef herr_t cb_attr_iter(hid_t loc_id, char* attr_name, void* vis_in) except 2: # <<<<<<<<<<<<<<
|
|
* cdef _AttrVisitor vis = <_AttrVisitor>vis_in
|
|
* vis.retval = vis.func(attr_name)
|
|
*/
|
|
|
|
static herr_t __pyx_f_4h5py_3h5a_cb_attr_iter(hid_t __pyx_v_loc_id, char *__pyx_v_attr_name, void *__pyx_v_vis_in) {
|
|
struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0;
|
|
herr_t __pyx_r;
|
|
PyObject *__pyx_t_1 = NULL;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
int __pyx_t_3;
|
|
__Pyx_RefNannySetupContext("cb_attr_iter");
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":354
|
|
*
|
|
* cdef herr_t cb_attr_iter(hid_t loc_id, char* attr_name, void* vis_in) except 2:
|
|
* cdef _AttrVisitor vis = <_AttrVisitor>vis_in # <<<<<<<<<<<<<<
|
|
* vis.retval = vis.func(attr_name)
|
|
* if vis.retval is not None:
|
|
*/
|
|
__Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_vis_in)));
|
|
__pyx_v_vis = ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_vis_in);
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":355
|
|
* cdef herr_t cb_attr_iter(hid_t loc_id, char* attr_name, void* vis_in) except 2:
|
|
* cdef _AttrVisitor vis = <_AttrVisitor>vis_in
|
|
* vis.retval = vis.func(attr_name) # <<<<<<<<<<<<<<
|
|
* if vis.retval is not None:
|
|
* return 1
|
|
*/
|
|
__pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_attr_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_1);
|
|
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
|
|
__Pyx_GIVEREF(__pyx_t_1);
|
|
__pyx_t_1 = 0;
|
|
__pyx_t_1 = PyObject_Call(__pyx_v_vis->func, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_1);
|
|
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
|
|
__Pyx_GIVEREF(__pyx_t_1);
|
|
__Pyx_GOTREF(__pyx_v_vis->retval);
|
|
__Pyx_DECREF(__pyx_v_vis->retval);
|
|
__pyx_v_vis->retval = __pyx_t_1;
|
|
__pyx_t_1 = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":356
|
|
* cdef _AttrVisitor vis = <_AttrVisitor>vis_in
|
|
* vis.retval = vis.func(attr_name)
|
|
* if vis.retval is not None: # <<<<<<<<<<<<<<
|
|
* return 1
|
|
* return 0
|
|
*/
|
|
__pyx_t_3 = (__pyx_v_vis->retval != Py_None);
|
|
if (__pyx_t_3) {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":357
|
|
* vis.retval = vis.func(attr_name)
|
|
* if vis.retval is not None:
|
|
* return 1 # <<<<<<<<<<<<<<
|
|
* return 0
|
|
*
|
|
*/
|
|
__pyx_r = 1;
|
|
goto __pyx_L0;
|
|
goto __pyx_L3;
|
|
}
|
|
__pyx_L3:;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":358
|
|
* if vis.retval is not None:
|
|
* return 1
|
|
* return 0 # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__pyx_r = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = 0;
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_1);
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_AddTraceback("h5py.h5a.cb_attr_iter");
|
|
__pyx_r = 2;
|
|
__pyx_L0:;
|
|
__Pyx_XDECREF((PyObject *)__pyx_v_vis);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":361
|
|
*
|
|
*
|
|
* def iterate(ObjectID loc not None, object func, int index=0): # <<<<<<<<<<<<<<
|
|
* """(ObjectID loc, CALLABLE func, INT index=0) => <Return value from func>
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_iterate[] = "(ObjectID loc, CALLABLE func, INT index=0) => <Return value from func>\n\n Iterate a callable (function, method or callable object) over the\n attributes attached to this object. You callable should have the\n signature::\n\n func(STRING name) => Result\n\n Returning None continues iteration; returning anything else aborts\n iteration and returns that value.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
|
|
struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
|
|
PyObject *__pyx_v_func = 0;
|
|
int __pyx_v_index;
|
|
unsigned int __pyx_v_i;
|
|
struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0;
|
|
PyObject *__pyx_r = NULL;
|
|
int __pyx_t_1;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
PyObject *__pyx_t_3 = NULL;
|
|
herr_t __pyx_t_4;
|
|
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__index,0};
|
|
__Pyx_RefNannySetupContext("iterate");
|
|
__pyx_self = __pyx_self;
|
|
if (unlikely(__pyx_kwds)) {
|
|
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
|
|
PyObject* values[3] = {0,0,0};
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
|
|
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
|
|
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
|
|
case 0: break;
|
|
default: goto __pyx_L5_argtuple_error;
|
|
}
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 0:
|
|
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc);
|
|
if (likely(values[0])) kw_args--;
|
|
else goto __pyx_L5_argtuple_error;
|
|
case 1:
|
|
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func);
|
|
if (likely(values[1])) kw_args--;
|
|
else {
|
|
__Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
case 2:
|
|
if (kw_args > 0) {
|
|
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
|
|
if (unlikely(value)) { values[2] = value; kw_args--; }
|
|
}
|
|
}
|
|
if (unlikely(kw_args > 0)) {
|
|
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
}
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
|
|
__pyx_v_func = values[1];
|
|
if (values[2]) {
|
|
__pyx_v_index = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
} else {
|
|
__pyx_v_index = ((int)0);
|
|
}
|
|
} else {
|
|
__pyx_v_index = ((int)0);
|
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
case 3:
|
|
__pyx_v_index = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
case 2:
|
|
__pyx_v_func = PyTuple_GET_ITEM(__pyx_args, 1);
|
|
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
|
|
break;
|
|
default: goto __pyx_L5_argtuple_error;
|
|
}
|
|
}
|
|
goto __pyx_L4_argument_unpacking_done;
|
|
__pyx_L5_argtuple_error:;
|
|
__Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
|
|
__pyx_L3_error:;
|
|
__Pyx_AddTraceback("h5py.h5a.iterate");
|
|
return NULL;
|
|
__pyx_L4_argument_unpacking_done:;
|
|
__Pyx_INCREF((PyObject *)__pyx_v_loc);
|
|
__Pyx_INCREF(__pyx_v_func);
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":373
|
|
* iteration and returns that value.
|
|
* """
|
|
* if index < 0: # <<<<<<<<<<<<<<
|
|
* raise ValueError("Starting index must be a non-negative integer.")
|
|
*
|
|
*/
|
|
__pyx_t_1 = (__pyx_v_index < 0);
|
|
if (__pyx_t_1) {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":374
|
|
* """
|
|
* if index < 0:
|
|
* raise ValueError("Starting index must be a non-negative integer.") # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef unsigned int i = index
|
|
*/
|
|
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__Pyx_INCREF(((PyObject *)__pyx_kp_s_2));
|
|
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_2));
|
|
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2));
|
|
__pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __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 = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
goto __pyx_L6;
|
|
}
|
|
__pyx_L6:;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":376
|
|
* raise ValueError("Starting index must be a non-negative integer.")
|
|
*
|
|
* cdef unsigned int i = index # <<<<<<<<<<<<<<
|
|
* cdef _AttrVisitor vis = _AttrVisitor(func)
|
|
*
|
|
*/
|
|
__pyx_v_i = __pyx_v_index;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":377
|
|
*
|
|
* cdef unsigned int i = index
|
|
* cdef _AttrVisitor vis = _AttrVisitor(func) # <<<<<<<<<<<<<<
|
|
*
|
|
* H5Aiterate(loc.id, &i, <H5A_operator_t>cb_attr_iter, <void*>vis)
|
|
*/
|
|
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_3);
|
|
__Pyx_INCREF(__pyx_v_func);
|
|
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_func);
|
|
__Pyx_GIVEREF(__pyx_v_func);
|
|
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a__AttrVisitor)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
__pyx_v_vis = ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_t_2);
|
|
__pyx_t_2 = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":379
|
|
* cdef _AttrVisitor vis = _AttrVisitor(func)
|
|
*
|
|
* H5Aiterate(loc.id, &i, <H5A_operator_t>cb_attr_iter, <void*>vis) # <<<<<<<<<<<<<<
|
|
*
|
|
* return vis.retval
|
|
*/
|
|
__pyx_t_4 = H5Aiterate(__pyx_v_loc->id, (&__pyx_v_i), ((herr_t (*)(hid_t, char *, void *))__pyx_f_4h5py_3h5a_cb_attr_iter), ((void *)__pyx_v_vis)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":381
|
|
* H5Aiterate(loc.id, &i, <H5A_operator_t>cb_attr_iter, <void*>vis)
|
|
*
|
|
* return vis.retval # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__Pyx_INCREF(__pyx_v_vis->retval);
|
|
__pyx_r = __pyx_v_vis->retval;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_XDECREF(__pyx_t_3);
|
|
__Pyx_AddTraceback("h5py.h5a.iterate");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XDECREF((PyObject *)__pyx_v_vis);
|
|
__Pyx_DECREF((PyObject *)__pyx_v_loc);
|
|
__Pyx_DECREF(__pyx_v_func);
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":402
|
|
* property name:
|
|
* """The attribute's name"""
|
|
* def __get__(self): # <<<<<<<<<<<<<<
|
|
* return self.get_name()
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4name___get__(PyObject *__pyx_v_self); /*proto*/
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4name___get__(PyObject *__pyx_v_self) {
|
|
PyObject *__pyx_r = NULL;
|
|
PyObject *__pyx_t_1 = NULL;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
__Pyx_RefNannySetupContext("__get__");
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":403
|
|
* """The attribute's name"""
|
|
* def __get__(self):
|
|
* return self.get_name() # <<<<<<<<<<<<<<
|
|
*
|
|
* property shape:
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_1);
|
|
__pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
__pyx_r = __pyx_t_2;
|
|
__pyx_t_2 = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_1);
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID.name.__get__");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":407
|
|
* property shape:
|
|
* """A Numpy-style shape tuple representing the attribute's dataspace"""
|
|
* def __get__(self): # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef SpaceID space
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(PyObject *__pyx_v_self); /*proto*/
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(PyObject *__pyx_v_self) {
|
|
struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space;
|
|
PyObject *__pyx_r = NULL;
|
|
PyObject *__pyx_t_1 = NULL;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
__Pyx_RefNannySetupContext("__get__");
|
|
__pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)Py_None); __Pyx_INCREF(Py_None);
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":410
|
|
*
|
|
* cdef SpaceID space
|
|
* space = self.get_space() # <<<<<<<<<<<<<<
|
|
* return space.get_simple_extent_dims()
|
|
*
|
|
*/
|
|
__pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_1);
|
|
__pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_DECREF(((PyObject *)__pyx_v_space));
|
|
__pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2);
|
|
__pyx_t_2 = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":411
|
|
* cdef SpaceID space
|
|
* space = self.get_space()
|
|
* return space.get_simple_extent_dims() # <<<<<<<<<<<<<<
|
|
*
|
|
* property dtype:
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_space), __pyx_n_s_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_1);
|
|
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
|
|
__pyx_r = __pyx_t_1;
|
|
__pyx_t_1 = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_1);
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID.shape.__get__");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_DECREF((PyObject *)__pyx_v_space);
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":415
|
|
* property dtype:
|
|
* """A Numpy-stype dtype object representing the attribute's datatype"""
|
|
* def __get__(self): # <<<<<<<<<<<<<<
|
|
*
|
|
* cdef TypeID tid
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(PyObject *__pyx_v_self); /*proto*/
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(PyObject *__pyx_v_self) {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid;
|
|
PyObject *__pyx_r = NULL;
|
|
PyObject *__pyx_t_1 = NULL;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
__Pyx_RefNannySetupContext("__get__");
|
|
__pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None);
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":418
|
|
*
|
|
* cdef TypeID tid
|
|
* tid = self.get_type() # <<<<<<<<<<<<<<
|
|
* return tid.py_dtype()
|
|
*
|
|
*/
|
|
__pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__get_type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_1);
|
|
__pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_DECREF(((PyObject *)__pyx_v_tid));
|
|
__pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
|
|
__pyx_t_2 = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":419
|
|
* cdef TypeID tid
|
|
* tid = self.get_type()
|
|
* return tid.py_dtype() # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_tid->__pyx_vtab)->py_dtype(__pyx_v_tid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__pyx_r = __pyx_t_2;
|
|
__pyx_t_2 = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_1);
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID.dtype.__get__");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_DECREF((PyObject *)__pyx_v_tid);
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":422
|
|
*
|
|
*
|
|
* def _close(self): # <<<<<<<<<<<<<<
|
|
* """()
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID__close(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_6AttrID__close[] = "()\n\n Close this attribute and release resources. You don't need to\n call this manually; attributes are automatically destroyed when\n their Python wrappers are freed.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID__close(PyObject *__pyx_v_self, PyObject *unused) {
|
|
PyObject *__pyx_r = NULL;
|
|
herr_t __pyx_t_1;
|
|
__Pyx_RefNannySetupContext("_close");
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":429
|
|
* their Python wrappers are freed.
|
|
* """
|
|
* H5Aclose(self.id) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__pyx_t_1 = H5Aclose(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID._close");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":432
|
|
*
|
|
*
|
|
* def read(self, ndarray arr not None): # <<<<<<<<<<<<<<
|
|
* """(NDARRAY arr)
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_read(PyObject *__pyx_v_self, PyObject *__pyx_v_arr); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_6AttrID_read[] = "(NDARRAY arr)\n\n Read the attribute data into the given Numpy array. Note that the \n Numpy array must have the same shape as the HDF5 attribute, and a \n conversion-compatible datatype.\n\n The Numpy array must be writable and C-contiguous. If this is not\n the case, the read will fail with an exception.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_read(PyObject *__pyx_v_self, PyObject *__pyx_v_arr) {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype;
|
|
hid_t __pyx_v_space_id;
|
|
PyObject *__pyx_r = NULL;
|
|
hid_t __pyx_t_1;
|
|
int __pyx_t_2;
|
|
struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_3;
|
|
PyObject *__pyx_t_4 = NULL;
|
|
PyObject *__pyx_t_5 = NULL;
|
|
herr_t __pyx_t_6;
|
|
herr_t __pyx_t_7;
|
|
__Pyx_RefNannySetupContext("read");
|
|
__Pyx_INCREF((PyObject *)__pyx_v_self);
|
|
__Pyx_INCREF((PyObject *)__pyx_v_arr);
|
|
__pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None);
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":444
|
|
* cdef TypeID mtype
|
|
* cdef hid_t space_id
|
|
* space_id = 0 # <<<<<<<<<<<<<<
|
|
*
|
|
* try:
|
|
*/
|
|
__pyx_v_space_id = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":446
|
|
* space_id = 0
|
|
*
|
|
* try: # <<<<<<<<<<<<<<
|
|
* space_id = H5Aget_space(self.id)
|
|
* check_numpy_write(arr, space_id)
|
|
*/
|
|
/*try:*/ {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":447
|
|
*
|
|
* try:
|
|
* space_id = H5Aget_space(self.id) # <<<<<<<<<<<<<<
|
|
* check_numpy_write(arr, space_id)
|
|
*
|
|
*/
|
|
__pyx_t_1 = H5Aget_space(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__pyx_v_space_id = __pyx_t_1;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":448
|
|
* try:
|
|
* space_id = H5Aget_space(self.id)
|
|
* check_numpy_write(arr, space_id) # <<<<<<<<<<<<<<
|
|
*
|
|
* mtype = py_create(arr.dtype)
|
|
*/
|
|
__pyx_t_3.__pyx_n = 1;
|
|
__pyx_t_3.space_id = __pyx_v_space_id;
|
|
__pyx_t_2 = __pyx_f_4h5py_5utils_check_numpy_write(((PyArrayObject *)__pyx_v_arr), 0, &__pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":450
|
|
* check_numpy_write(arr, space_id)
|
|
*
|
|
* mtype = py_create(arr.dtype) # <<<<<<<<<<<<<<
|
|
*
|
|
* attr_rw(self.id, mtype.id, PyArray_DATA(arr), 1)
|
|
*/
|
|
__pyx_t_4 = PyObject_GetAttr(__pyx_v_arr, __pyx_n_s__dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__Pyx_GOTREF(__pyx_t_4);
|
|
__pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_4, 0, NULL)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__Pyx_GOTREF(__pyx_t_5);
|
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
__Pyx_DECREF(((PyObject *)__pyx_v_mtype));
|
|
__pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
|
|
__pyx_t_5 = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":452
|
|
* mtype = py_create(arr.dtype)
|
|
*
|
|
* attr_rw(self.id, mtype.id, PyArray_DATA(arr), 1) # <<<<<<<<<<<<<<
|
|
*
|
|
* finally:
|
|
*/
|
|
__pyx_t_6 = __pyx_f_4h5py_6_proxy_attr_rw(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, __pyx_v_mtype->__pyx_base.id, PyArray_DATA(((PyArrayObject *)__pyx_v_arr)), 1); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __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_L7;
|
|
__pyx_L6: {
|
|
__pyx_why = 4;
|
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
|
|
__pyx_exc_lineno = __pyx_lineno;
|
|
goto __pyx_L7;
|
|
}
|
|
__pyx_L7:;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":455
|
|
*
|
|
* finally:
|
|
* if space_id: # <<<<<<<<<<<<<<
|
|
* H5Sclose(space_id)
|
|
*
|
|
*/
|
|
__pyx_t_1 = __pyx_v_space_id;
|
|
if (__pyx_t_1) {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":456
|
|
* finally:
|
|
* if space_id:
|
|
* H5Sclose(space_id) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__pyx_t_7 = H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
|
|
goto __pyx_L9;
|
|
}
|
|
__pyx_L9:;
|
|
goto __pyx_L10;
|
|
__pyx_L8_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_L10:;
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_4);
|
|
__Pyx_XDECREF(__pyx_t_5);
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID.read");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_DECREF((PyObject *)__pyx_v_mtype);
|
|
__Pyx_DECREF((PyObject *)__pyx_v_self);
|
|
__Pyx_DECREF((PyObject *)__pyx_v_arr);
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":459
|
|
*
|
|
*
|
|
* def write(self, ndarray arr not None): # <<<<<<<<<<<<<<
|
|
* """(NDARRAY arr)
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_write(PyObject *__pyx_v_self, PyObject *__pyx_v_arr); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_6AttrID_write[] = "(NDARRAY arr)\n\n Write the contents of a Numpy array too the attribute. Note that\n the Numpy array must have the same shape as the HDF5 attribute, and\n a conversion-compatible datatype. \n\n The Numpy array must be C-contiguous. If this is not the case, \n the write will fail with an exception.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_write(PyObject *__pyx_v_self, PyObject *__pyx_v_arr) {
|
|
struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype;
|
|
hid_t __pyx_v_space_id;
|
|
PyObject *__pyx_r = NULL;
|
|
hid_t __pyx_t_1;
|
|
int __pyx_t_2;
|
|
struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_3;
|
|
PyObject *__pyx_t_4 = NULL;
|
|
PyObject *__pyx_t_5 = NULL;
|
|
herr_t __pyx_t_6;
|
|
herr_t __pyx_t_7;
|
|
__Pyx_RefNannySetupContext("write");
|
|
__Pyx_INCREF((PyObject *)__pyx_v_self);
|
|
__Pyx_INCREF((PyObject *)__pyx_v_arr);
|
|
__pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None);
|
|
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":471
|
|
* cdef TypeID mtype
|
|
* cdef hid_t space_id
|
|
* space_id = 0 # <<<<<<<<<<<<<<
|
|
*
|
|
* try:
|
|
*/
|
|
__pyx_v_space_id = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":473
|
|
* space_id = 0
|
|
*
|
|
* try: # <<<<<<<<<<<<<<
|
|
* space_id = H5Aget_space(self.id)
|
|
* check_numpy_read(arr, space_id)
|
|
*/
|
|
/*try:*/ {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":474
|
|
*
|
|
* try:
|
|
* space_id = H5Aget_space(self.id) # <<<<<<<<<<<<<<
|
|
* check_numpy_read(arr, space_id)
|
|
* mtype = py_create(arr.dtype)
|
|
*/
|
|
__pyx_t_1 = H5Aget_space(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__pyx_v_space_id = __pyx_t_1;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":475
|
|
* try:
|
|
* space_id = H5Aget_space(self.id)
|
|
* check_numpy_read(arr, space_id) # <<<<<<<<<<<<<<
|
|
* mtype = py_create(arr.dtype)
|
|
*
|
|
*/
|
|
__pyx_t_3.__pyx_n = 1;
|
|
__pyx_t_3.space_id = __pyx_v_space_id;
|
|
__pyx_t_2 = __pyx_f_4h5py_5utils_check_numpy_read(((PyArrayObject *)__pyx_v_arr), 0, &__pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 475; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":476
|
|
* space_id = H5Aget_space(self.id)
|
|
* check_numpy_read(arr, space_id)
|
|
* mtype = py_create(arr.dtype) # <<<<<<<<<<<<<<
|
|
*
|
|
* attr_rw(self.id, mtype.id, PyArray_DATA(arr), 0)
|
|
*/
|
|
__pyx_t_4 = PyObject_GetAttr(__pyx_v_arr, __pyx_n_s__dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__Pyx_GOTREF(__pyx_t_4);
|
|
__pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_4, 0, NULL)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__Pyx_GOTREF(__pyx_t_5);
|
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
__Pyx_DECREF(((PyObject *)__pyx_v_mtype));
|
|
__pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
|
|
__pyx_t_5 = 0;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":478
|
|
* mtype = py_create(arr.dtype)
|
|
*
|
|
* attr_rw(self.id, mtype.id, PyArray_DATA(arr), 0) # <<<<<<<<<<<<<<
|
|
*
|
|
* finally:
|
|
*/
|
|
__pyx_t_6 = __pyx_f_4h5py_6_proxy_attr_rw(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, __pyx_v_mtype->__pyx_base.id, PyArray_DATA(((PyArrayObject *)__pyx_v_arr)), 0); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 478; __pyx_clineno = __LINE__; goto __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_L7;
|
|
__pyx_L6: {
|
|
__pyx_why = 4;
|
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
|
|
__pyx_exc_lineno = __pyx_lineno;
|
|
goto __pyx_L7;
|
|
}
|
|
__pyx_L7:;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":481
|
|
*
|
|
* finally:
|
|
* if space_id: # <<<<<<<<<<<<<<
|
|
* H5Sclose(space_id)
|
|
*
|
|
*/
|
|
__pyx_t_1 = __pyx_v_space_id;
|
|
if (__pyx_t_1) {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":482
|
|
* finally:
|
|
* if space_id:
|
|
* H5Sclose(space_id) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__pyx_t_7 = H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
|
|
goto __pyx_L9;
|
|
}
|
|
__pyx_L9:;
|
|
goto __pyx_L10;
|
|
__pyx_L8_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_L10:;
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_4);
|
|
__Pyx_XDECREF(__pyx_t_5);
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID.write");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_DECREF((PyObject *)__pyx_v_mtype);
|
|
__Pyx_DECREF((PyObject *)__pyx_v_self);
|
|
__Pyx_DECREF((PyObject *)__pyx_v_arr);
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":485
|
|
*
|
|
*
|
|
* def get_name(self): # <<<<<<<<<<<<<<
|
|
* """() => STRING name
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_get_name(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_6AttrID_get_name[] = "() => STRING name\n\n Determine the name of this attribute.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_get_name(PyObject *__pyx_v_self, PyObject *unused) {
|
|
int __pyx_v_blen;
|
|
char *__pyx_v_buf;
|
|
PyObject *__pyx_v_strout;
|
|
PyObject *__pyx_r = NULL;
|
|
ssize_t __pyx_t_1;
|
|
void *__pyx_t_2;
|
|
PyObject *__pyx_t_3 = NULL;
|
|
__Pyx_RefNannySetupContext("get_name");
|
|
__Pyx_INCREF((PyObject *)__pyx_v_self);
|
|
__pyx_v_strout = Py_None; __Pyx_INCREF(Py_None);
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":492
|
|
* cdef int blen
|
|
* cdef char* buf
|
|
* buf = NULL # <<<<<<<<<<<<<<
|
|
*
|
|
* try:
|
|
*/
|
|
__pyx_v_buf = NULL;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":494
|
|
* buf = NULL
|
|
*
|
|
* try: # <<<<<<<<<<<<<<
|
|
* blen = H5Aget_name(self.id, 0, NULL)
|
|
* assert blen >= 0
|
|
*/
|
|
/*try:*/ {
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":495
|
|
*
|
|
* try:
|
|
* blen = H5Aget_name(self.id, 0, NULL) # <<<<<<<<<<<<<<
|
|
* assert blen >= 0
|
|
* buf = <char*>emalloc(sizeof(char)*blen+1)
|
|
*/
|
|
__pyx_t_1 = H5Aget_name(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__pyx_v_blen = __pyx_t_1;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":496
|
|
* try:
|
|
* blen = H5Aget_name(self.id, 0, NULL)
|
|
* assert blen >= 0 # <<<<<<<<<<<<<<
|
|
* buf = <char*>emalloc(sizeof(char)*blen+1)
|
|
* blen = H5Aget_name(self.id, blen+1, buf)
|
|
*/
|
|
#ifndef PYREX_WITHOUT_ASSERTIONS
|
|
if (unlikely(!(__pyx_v_blen >= 0))) {
|
|
PyErr_SetNone(PyExc_AssertionError);
|
|
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
}
|
|
#endif
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":497
|
|
* blen = H5Aget_name(self.id, 0, NULL)
|
|
* assert blen >= 0
|
|
* buf = <char*>emalloc(sizeof(char)*blen+1) # <<<<<<<<<<<<<<
|
|
* blen = H5Aget_name(self.id, blen+1, buf)
|
|
* strout = buf
|
|
*/
|
|
__pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((((sizeof(char)) * __pyx_v_blen) + 1)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 497; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__pyx_v_buf = ((char *)__pyx_t_2);
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":498
|
|
* assert blen >= 0
|
|
* buf = <char*>emalloc(sizeof(char)*blen+1)
|
|
* blen = H5Aget_name(self.id, blen+1, buf) # <<<<<<<<<<<<<<
|
|
* strout = buf
|
|
* finally:
|
|
*/
|
|
__pyx_t_1 = H5Aget_name(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id, (__pyx_v_blen + 1), __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__pyx_v_blen = __pyx_t_1;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":499
|
|
* buf = <char*>emalloc(sizeof(char)*blen+1)
|
|
* blen = H5Aget_name(self.id, blen+1, buf)
|
|
* strout = buf # <<<<<<<<<<<<<<
|
|
* finally:
|
|
* efree(buf)
|
|
*/
|
|
__pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L6;}
|
|
__Pyx_GOTREF(__pyx_t_3);
|
|
__Pyx_DECREF(__pyx_v_strout);
|
|
__pyx_v_strout = __pyx_t_3;
|
|
__pyx_t_3 = 0;
|
|
}
|
|
/*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_L7;
|
|
__pyx_L6: {
|
|
__pyx_why = 4;
|
|
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
|
|
__pyx_exc_lineno = __pyx_lineno;
|
|
goto __pyx_L7;
|
|
}
|
|
__pyx_L7:;
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":501
|
|
* strout = buf
|
|
* finally:
|
|
* efree(buf) # <<<<<<<<<<<<<<
|
|
*
|
|
* return strout
|
|
*/
|
|
__pyx_f_4h5py_5utils_efree(__pyx_v_buf);
|
|
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/h5a.pyx":503
|
|
* efree(buf)
|
|
*
|
|
* return strout # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__Pyx_INCREF(__pyx_v_strout);
|
|
__pyx_r = __pyx_v_strout;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_3);
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID.get_name");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_DECREF(__pyx_v_strout);
|
|
__Pyx_DECREF((PyObject *)__pyx_v_self);
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":506
|
|
*
|
|
*
|
|
* def get_space(self): # <<<<<<<<<<<<<<
|
|
* """() => SpaceID
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_get_space(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_6AttrID_get_space[] = "() => SpaceID\n\n Create and return a copy of the attribute's dataspace.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_get_space(PyObject *__pyx_v_self, PyObject *unused) {
|
|
PyObject *__pyx_r = NULL;
|
|
hid_t __pyx_t_1;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
PyObject *__pyx_t_3 = NULL;
|
|
__Pyx_RefNannySetupContext("get_space");
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":511
|
|
* Create and return a copy of the attribute's dataspace.
|
|
* """
|
|
* return SpaceID(H5Aget_space(self.id)) # <<<<<<<<<<<<<<
|
|
*
|
|
*
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_1 = H5Aget_space(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_3);
|
|
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
|
|
__Pyx_GIVEREF(__pyx_t_2);
|
|
__pyx_t_2 = 0;
|
|
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
__pyx_r = __pyx_t_2;
|
|
__pyx_t_2 = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_XDECREF(__pyx_t_3);
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID.get_space");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":514
|
|
*
|
|
*
|
|
* def get_type(self): # <<<<<<<<<<<<<<
|
|
* """() => TypeID
|
|
*
|
|
*/
|
|
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_get_type(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
|
|
static char __pyx_doc_4h5py_3h5a_6AttrID_get_type[] = "() => TypeID\n\n Create and return a copy of the attribute's datatype.\n ";
|
|
static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_get_type(PyObject *__pyx_v_self, PyObject *unused) {
|
|
PyObject *__pyx_r = NULL;
|
|
hid_t __pyx_t_1;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
__Pyx_RefNannySetupContext("get_type");
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":519
|
|
* Create and return a copy of the attribute's datatype.
|
|
* """
|
|
* return typewrap(H5Aget_type(self.id)) # <<<<<<<<<<<<<<
|
|
*
|
|
* IF H5PY_18API:
|
|
*/
|
|
__Pyx_XDECREF(__pyx_r);
|
|
__pyx_t_1 = H5Aget_type(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__Pyx_GOTREF(__pyx_t_2);
|
|
__pyx_r = __pyx_t_2;
|
|
__pyx_t_2 = 0;
|
|
goto __pyx_L0;
|
|
|
|
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_AddTraceback("h5py.h5a.AttrID.get_type");
|
|
__pyx_r = NULL;
|
|
__pyx_L0:;
|
|
__Pyx_XGIVEREF(__pyx_r);
|
|
__Pyx_RefNannyFinishContext();
|
|
return __pyx_r;
|
|
}
|
|
|
|
static PyObject *__pyx_tp_new_4h5py_3h5a_AttrID(PyTypeObject *t, PyObject *a, PyObject *k) {
|
|
PyObject *o = __pyx_ptype_4h5py_2h5_ObjectID->tp_new(t, a, k);
|
|
if (!o) return 0;
|
|
return o;
|
|
}
|
|
|
|
static void __pyx_tp_dealloc_4h5py_3h5a_AttrID(PyObject *o) {
|
|
__pyx_ptype_4h5py_2h5_ObjectID->tp_dealloc(o);
|
|
}
|
|
|
|
static int __pyx_tp_traverse_4h5py_3h5a_AttrID(PyObject *o, visitproc v, void *a) {
|
|
int e;
|
|
if (__pyx_ptype_4h5py_2h5_ObjectID->tp_traverse) {
|
|
e = __pyx_ptype_4h5py_2h5_ObjectID->tp_traverse(o, v, a); if (e) return e;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
static int __pyx_tp_clear_4h5py_3h5a_AttrID(PyObject *o) {
|
|
if (__pyx_ptype_4h5py_2h5_ObjectID->tp_clear) {
|
|
__pyx_ptype_4h5py_2h5_ObjectID->tp_clear(o);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_name(PyObject *o, void *x) {
|
|
return __pyx_pf_4h5py_3h5a_6AttrID_4name___get__(o);
|
|
}
|
|
|
|
static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_shape(PyObject *o, void *x) {
|
|
return __pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(o);
|
|
}
|
|
|
|
static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_dtype(PyObject *o, void *x) {
|
|
return __pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(o);
|
|
}
|
|
|
|
static struct PyMethodDef __pyx_methods_4h5py_3h5a_AttrID[] = {
|
|
{__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID__close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID__close)},
|
|
{__Pyx_NAMESTR("read"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_read, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_read)},
|
|
{__Pyx_NAMESTR("write"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_write, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_write)},
|
|
{__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_get_name, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_get_name)},
|
|
{__Pyx_NAMESTR("get_space"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_get_space, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_get_space)},
|
|
{__Pyx_NAMESTR("get_type"), (PyCFunction)__pyx_pf_4h5py_3h5a_6AttrID_get_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_get_type)},
|
|
{0, 0, 0, 0}
|
|
};
|
|
|
|
static struct PyGetSetDef __pyx_getsets_4h5py_3h5a_AttrID[] = {
|
|
{(char *)"name", __pyx_getprop_4h5py_3h5a_6AttrID_name, 0, __Pyx_DOCSTR(__pyx_k_4), 0},
|
|
{(char *)"shape", __pyx_getprop_4h5py_3h5a_6AttrID_shape, 0, __Pyx_DOCSTR(__pyx_k_5), 0},
|
|
{(char *)"dtype", __pyx_getprop_4h5py_3h5a_6AttrID_dtype, 0, __Pyx_DOCSTR(__pyx_k_6), 0},
|
|
{0, 0, 0, 0, 0}
|
|
};
|
|
|
|
static PyNumberMethods __pyx_tp_as_number_AttrID = {
|
|
0, /*nb_add*/
|
|
0, /*nb_subtract*/
|
|
0, /*nb_multiply*/
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_divide*/
|
|
#endif
|
|
0, /*nb_remainder*/
|
|
0, /*nb_divmod*/
|
|
0, /*nb_power*/
|
|
0, /*nb_negative*/
|
|
0, /*nb_positive*/
|
|
0, /*nb_absolute*/
|
|
0, /*nb_nonzero*/
|
|
0, /*nb_invert*/
|
|
0, /*nb_lshift*/
|
|
0, /*nb_rshift*/
|
|
0, /*nb_and*/
|
|
0, /*nb_xor*/
|
|
0, /*nb_or*/
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_coerce*/
|
|
#endif
|
|
0, /*nb_int*/
|
|
#if PY_MAJOR_VERSION >= 3
|
|
0, /*reserved*/
|
|
#else
|
|
0, /*nb_long*/
|
|
#endif
|
|
0, /*nb_float*/
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_oct*/
|
|
#endif
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_hex*/
|
|
#endif
|
|
0, /*nb_inplace_add*/
|
|
0, /*nb_inplace_subtract*/
|
|
0, /*nb_inplace_multiply*/
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_inplace_divide*/
|
|
#endif
|
|
0, /*nb_inplace_remainder*/
|
|
0, /*nb_inplace_power*/
|
|
0, /*nb_inplace_lshift*/
|
|
0, /*nb_inplace_rshift*/
|
|
0, /*nb_inplace_and*/
|
|
0, /*nb_inplace_xor*/
|
|
0, /*nb_inplace_or*/
|
|
0, /*nb_floor_divide*/
|
|
0, /*nb_true_divide*/
|
|
0, /*nb_inplace_floor_divide*/
|
|
0, /*nb_inplace_true_divide*/
|
|
#if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
|
|
0, /*nb_index*/
|
|
#endif
|
|
};
|
|
|
|
static PySequenceMethods __pyx_tp_as_sequence_AttrID = {
|
|
0, /*sq_length*/
|
|
0, /*sq_concat*/
|
|
0, /*sq_repeat*/
|
|
0, /*sq_item*/
|
|
0, /*sq_slice*/
|
|
0, /*sq_ass_item*/
|
|
0, /*sq_ass_slice*/
|
|
0, /*sq_contains*/
|
|
0, /*sq_inplace_concat*/
|
|
0, /*sq_inplace_repeat*/
|
|
};
|
|
|
|
static PyMappingMethods __pyx_tp_as_mapping_AttrID = {
|
|
0, /*mp_length*/
|
|
0, /*mp_subscript*/
|
|
0, /*mp_ass_subscript*/
|
|
};
|
|
|
|
static PyBufferProcs __pyx_tp_as_buffer_AttrID = {
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*bf_getreadbuffer*/
|
|
#endif
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*bf_getwritebuffer*/
|
|
#endif
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*bf_getsegcount*/
|
|
#endif
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*bf_getcharbuffer*/
|
|
#endif
|
|
#if PY_VERSION_HEX >= 0x02060000
|
|
0, /*bf_getbuffer*/
|
|
#endif
|
|
#if PY_VERSION_HEX >= 0x02060000
|
|
0, /*bf_releasebuffer*/
|
|
#endif
|
|
};
|
|
|
|
PyTypeObject __pyx_type_4h5py_3h5a_AttrID = {
|
|
PyVarObject_HEAD_INIT(0, 0)
|
|
__Pyx_NAMESTR("h5py.h5a.AttrID"), /*tp_name*/
|
|
sizeof(struct __pyx_obj_4h5py_3h5a_AttrID), /*tp_basicsize*/
|
|
0, /*tp_itemsize*/
|
|
__pyx_tp_dealloc_4h5py_3h5a_AttrID, /*tp_dealloc*/
|
|
0, /*tp_print*/
|
|
0, /*tp_getattr*/
|
|
0, /*tp_setattr*/
|
|
0, /*tp_compare*/
|
|
0, /*tp_repr*/
|
|
&__pyx_tp_as_number_AttrID, /*tp_as_number*/
|
|
&__pyx_tp_as_sequence_AttrID, /*tp_as_sequence*/
|
|
&__pyx_tp_as_mapping_AttrID, /*tp_as_mapping*/
|
|
0, /*tp_hash*/
|
|
0, /*tp_call*/
|
|
0, /*tp_str*/
|
|
0, /*tp_getattro*/
|
|
0, /*tp_setattro*/
|
|
&__pyx_tp_as_buffer_AttrID, /*tp_as_buffer*/
|
|
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
|
|
__Pyx_DOCSTR("\n Logical representation of an HDF5 attribute identifier.\n\n Objects of this class can be used in any HDF5 function call\n which expects an attribute identifier. Additionally, all ``H5A*``\n functions which always take an attribute instance as the first\n argument are presented as methods of this class. \n\n * Hashable: No\n * Equality: Identifier comparison\n "), /*tp_doc*/
|
|
__pyx_tp_traverse_4h5py_3h5a_AttrID, /*tp_traverse*/
|
|
__pyx_tp_clear_4h5py_3h5a_AttrID, /*tp_clear*/
|
|
0, /*tp_richcompare*/
|
|
0, /*tp_weaklistoffset*/
|
|
0, /*tp_iter*/
|
|
0, /*tp_iternext*/
|
|
__pyx_methods_4h5py_3h5a_AttrID, /*tp_methods*/
|
|
0, /*tp_members*/
|
|
__pyx_getsets_4h5py_3h5a_AttrID, /*tp_getset*/
|
|
0, /*tp_base*/
|
|
0, /*tp_dict*/
|
|
0, /*tp_descr_get*/
|
|
0, /*tp_descr_set*/
|
|
0, /*tp_dictoffset*/
|
|
0, /*tp_init*/
|
|
0, /*tp_alloc*/
|
|
__pyx_tp_new_4h5py_3h5a_AttrID, /*tp_new*/
|
|
0, /*tp_free*/
|
|
0, /*tp_is_gc*/
|
|
0, /*tp_bases*/
|
|
0, /*tp_mro*/
|
|
0, /*tp_cache*/
|
|
0, /*tp_subclasses*/
|
|
0, /*tp_weaklist*/
|
|
0, /*tp_del*/
|
|
#if PY_VERSION_HEX >= 0x02060000
|
|
0, /*tp_version_tag*/
|
|
#endif
|
|
};
|
|
|
|
static PyObject *__pyx_tp_new_4h5py_3h5a__AttrVisitor(PyTypeObject *t, PyObject *a, PyObject *k) {
|
|
struct __pyx_obj_4h5py_3h5a__AttrVisitor *p;
|
|
PyObject *o = (*t->tp_alloc)(t, 0);
|
|
if (!o) return 0;
|
|
p = ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o);
|
|
p->func = Py_None; Py_INCREF(Py_None);
|
|
p->retval = Py_None; Py_INCREF(Py_None);
|
|
return o;
|
|
}
|
|
|
|
static void __pyx_tp_dealloc_4h5py_3h5a__AttrVisitor(PyObject *o) {
|
|
struct __pyx_obj_4h5py_3h5a__AttrVisitor *p = (struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o;
|
|
Py_XDECREF(p->func);
|
|
Py_XDECREF(p->retval);
|
|
(*Py_TYPE(o)->tp_free)(o);
|
|
}
|
|
|
|
static int __pyx_tp_traverse_4h5py_3h5a__AttrVisitor(PyObject *o, visitproc v, void *a) {
|
|
int e;
|
|
struct __pyx_obj_4h5py_3h5a__AttrVisitor *p = (struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o;
|
|
if (p->func) {
|
|
e = (*v)(p->func, a); if (e) return e;
|
|
}
|
|
if (p->retval) {
|
|
e = (*v)(p->retval, a); if (e) return e;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
static int __pyx_tp_clear_4h5py_3h5a__AttrVisitor(PyObject *o) {
|
|
struct __pyx_obj_4h5py_3h5a__AttrVisitor *p = (struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o;
|
|
PyObject* tmp;
|
|
tmp = ((PyObject*)p->func);
|
|
p->func = Py_None; Py_INCREF(Py_None);
|
|
Py_XDECREF(tmp);
|
|
tmp = ((PyObject*)p->retval);
|
|
p->retval = Py_None; Py_INCREF(Py_None);
|
|
Py_XDECREF(tmp);
|
|
return 0;
|
|
}
|
|
|
|
static struct PyMethodDef __pyx_methods_4h5py_3h5a__AttrVisitor[] = {
|
|
{0, 0, 0, 0}
|
|
};
|
|
|
|
static PyNumberMethods __pyx_tp_as_number__AttrVisitor = {
|
|
0, /*nb_add*/
|
|
0, /*nb_subtract*/
|
|
0, /*nb_multiply*/
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_divide*/
|
|
#endif
|
|
0, /*nb_remainder*/
|
|
0, /*nb_divmod*/
|
|
0, /*nb_power*/
|
|
0, /*nb_negative*/
|
|
0, /*nb_positive*/
|
|
0, /*nb_absolute*/
|
|
0, /*nb_nonzero*/
|
|
0, /*nb_invert*/
|
|
0, /*nb_lshift*/
|
|
0, /*nb_rshift*/
|
|
0, /*nb_and*/
|
|
0, /*nb_xor*/
|
|
0, /*nb_or*/
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_coerce*/
|
|
#endif
|
|
0, /*nb_int*/
|
|
#if PY_MAJOR_VERSION >= 3
|
|
0, /*reserved*/
|
|
#else
|
|
0, /*nb_long*/
|
|
#endif
|
|
0, /*nb_float*/
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_oct*/
|
|
#endif
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_hex*/
|
|
#endif
|
|
0, /*nb_inplace_add*/
|
|
0, /*nb_inplace_subtract*/
|
|
0, /*nb_inplace_multiply*/
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*nb_inplace_divide*/
|
|
#endif
|
|
0, /*nb_inplace_remainder*/
|
|
0, /*nb_inplace_power*/
|
|
0, /*nb_inplace_lshift*/
|
|
0, /*nb_inplace_rshift*/
|
|
0, /*nb_inplace_and*/
|
|
0, /*nb_inplace_xor*/
|
|
0, /*nb_inplace_or*/
|
|
0, /*nb_floor_divide*/
|
|
0, /*nb_true_divide*/
|
|
0, /*nb_inplace_floor_divide*/
|
|
0, /*nb_inplace_true_divide*/
|
|
#if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
|
|
0, /*nb_index*/
|
|
#endif
|
|
};
|
|
|
|
static PySequenceMethods __pyx_tp_as_sequence__AttrVisitor = {
|
|
0, /*sq_length*/
|
|
0, /*sq_concat*/
|
|
0, /*sq_repeat*/
|
|
0, /*sq_item*/
|
|
0, /*sq_slice*/
|
|
0, /*sq_ass_item*/
|
|
0, /*sq_ass_slice*/
|
|
0, /*sq_contains*/
|
|
0, /*sq_inplace_concat*/
|
|
0, /*sq_inplace_repeat*/
|
|
};
|
|
|
|
static PyMappingMethods __pyx_tp_as_mapping__AttrVisitor = {
|
|
0, /*mp_length*/
|
|
0, /*mp_subscript*/
|
|
0, /*mp_ass_subscript*/
|
|
};
|
|
|
|
static PyBufferProcs __pyx_tp_as_buffer__AttrVisitor = {
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*bf_getreadbuffer*/
|
|
#endif
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*bf_getwritebuffer*/
|
|
#endif
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*bf_getsegcount*/
|
|
#endif
|
|
#if PY_MAJOR_VERSION < 3
|
|
0, /*bf_getcharbuffer*/
|
|
#endif
|
|
#if PY_VERSION_HEX >= 0x02060000
|
|
0, /*bf_getbuffer*/
|
|
#endif
|
|
#if PY_VERSION_HEX >= 0x02060000
|
|
0, /*bf_releasebuffer*/
|
|
#endif
|
|
};
|
|
|
|
PyTypeObject __pyx_type_4h5py_3h5a__AttrVisitor = {
|
|
PyVarObject_HEAD_INIT(0, 0)
|
|
__Pyx_NAMESTR("h5py.h5a._AttrVisitor"), /*tp_name*/
|
|
sizeof(struct __pyx_obj_4h5py_3h5a__AttrVisitor), /*tp_basicsize*/
|
|
0, /*tp_itemsize*/
|
|
__pyx_tp_dealloc_4h5py_3h5a__AttrVisitor, /*tp_dealloc*/
|
|
0, /*tp_print*/
|
|
0, /*tp_getattr*/
|
|
0, /*tp_setattr*/
|
|
0, /*tp_compare*/
|
|
0, /*tp_repr*/
|
|
&__pyx_tp_as_number__AttrVisitor, /*tp_as_number*/
|
|
&__pyx_tp_as_sequence__AttrVisitor, /*tp_as_sequence*/
|
|
&__pyx_tp_as_mapping__AttrVisitor, /*tp_as_mapping*/
|
|
0, /*tp_hash*/
|
|
0, /*tp_call*/
|
|
0, /*tp_str*/
|
|
0, /*tp_getattro*/
|
|
0, /*tp_setattro*/
|
|
&__pyx_tp_as_buffer__AttrVisitor, /*tp_as_buffer*/
|
|
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
|
|
0, /*tp_doc*/
|
|
__pyx_tp_traverse_4h5py_3h5a__AttrVisitor, /*tp_traverse*/
|
|
__pyx_tp_clear_4h5py_3h5a__AttrVisitor, /*tp_clear*/
|
|
0, /*tp_richcompare*/
|
|
0, /*tp_weaklistoffset*/
|
|
0, /*tp_iter*/
|
|
0, /*tp_iternext*/
|
|
__pyx_methods_4h5py_3h5a__AttrVisitor, /*tp_methods*/
|
|
0, /*tp_members*/
|
|
0, /*tp_getset*/
|
|
0, /*tp_base*/
|
|
0, /*tp_dict*/
|
|
0, /*tp_descr_get*/
|
|
0, /*tp_descr_set*/
|
|
0, /*tp_dictoffset*/
|
|
__pyx_pf_4h5py_3h5a_12_AttrVisitor___init__, /*tp_init*/
|
|
0, /*tp_alloc*/
|
|
__pyx_tp_new_4h5py_3h5a__AttrVisitor, /*tp_new*/
|
|
0, /*tp_free*/
|
|
0, /*tp_is_gc*/
|
|
0, /*tp_bases*/
|
|
0, /*tp_mro*/
|
|
0, /*tp_cache*/
|
|
0, /*tp_subclasses*/
|
|
0, /*tp_weaklist*/
|
|
0, /*tp_del*/
|
|
#if PY_VERSION_HEX >= 0x02060000
|
|
0, /*tp_version_tag*/
|
|
#endif
|
|
};
|
|
|
|
static struct PyMethodDef __pyx_methods[] = {
|
|
{__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5a_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_create)},
|
|
{__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pf_4h5py_3h5a_open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_open)},
|
|
{__Pyx_NAMESTR("exists"), (PyCFunction)__pyx_pf_4h5py_3h5a_exists, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_exists)},
|
|
{__Pyx_NAMESTR("delete"), (PyCFunction)__pyx_pf_4h5py_3h5a_delete, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_delete)},
|
|
{__Pyx_NAMESTR("get_num_attrs"), (PyCFunction)__pyx_pf_4h5py_3h5a_get_num_attrs, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_get_num_attrs)},
|
|
{__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pf_4h5py_3h5a_iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_iterate)},
|
|
{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("h5a"),
|
|
__Pyx_DOCSTR(__pyx_k_7), /* 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_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 1},
|
|
{&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
|
|
{&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
|
|
{&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
|
|
{&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1},
|
|
{&__pyx_n_s__func, __pyx_k__func, sizeof(__pyx_k__func), 0, 0, 1, 1},
|
|
{&__pyx_n_s__get_name, __pyx_k__get_name, sizeof(__pyx_k__get_name), 0, 0, 1, 1},
|
|
{&__pyx_n_s__get_space, __pyx_k__get_space, sizeof(__pyx_k__get_space), 0, 0, 1, 1},
|
|
{&__pyx_n_s__get_type, __pyx_k__get_type, sizeof(__pyx_k__get_type), 0, 0, 1, 1},
|
|
{&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
|
|
{&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1},
|
|
{&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1},
|
|
{&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
|
|
{&__pyx_n_s__py_dtype, __pyx_k__py_dtype, sizeof(__pyx_k__py_dtype), 0, 0, 1, 1},
|
|
{&__pyx_n_s__retval, __pyx_k__retval, sizeof(__pyx_k__retval), 0, 0, 1, 1},
|
|
{&__pyx_n_s__space, __pyx_k__space, sizeof(__pyx_k__space), 0, 0, 1, 1},
|
|
{&__pyx_n_s__tid, __pyx_k__tid, sizeof(__pyx_k__tid), 0, 0, 1, 1},
|
|
{0, 0, 0, 0, 0, 0, 0}
|
|
};
|
|
static int __Pyx_InitCachedBuiltins(void) {
|
|
__pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __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 inith5a(void); /*proto*/
|
|
PyMODINIT_FUNC inith5a(void)
|
|
#else
|
|
PyMODINIT_FUNC PyInit_h5a(void); /*proto*/
|
|
PyMODINIT_FUNC PyInit_h5a(void)
|
|
#endif
|
|
{
|
|
PyObject *__pyx_t_1 = NULL;
|
|
PyObject *__pyx_t_2 = NULL;
|
|
PyObject *__pyx_t_3 = NULL;
|
|
PyObject *__pyx_t_4 = NULL;
|
|
PyObject *__pyx_t_5 = NULL;
|
|
int __pyx_t_6;
|
|
#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_h5a(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("h5a"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_7), 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__h5a) {
|
|
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 ---*/
|
|
/*--- Type init code ---*/
|
|
__pyx_ptype_4h5py_2h5_ObjectID = __Pyx_ImportType("h5py.h5", "ObjectID", sizeof(struct __pyx_obj_4h5py_2h5_ObjectID)); if (unlikely(!__pyx_ptype_4h5py_2h5_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_type_4h5py_3h5a_AttrID.tp_base = __pyx_ptype_4h5py_2h5_ObjectID;
|
|
if (PyType_Ready(&__pyx_type_4h5py_3h5a_AttrID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_SetAttrString(__pyx_m, "AttrID", (PyObject *)&__pyx_type_4h5py_3h5a_AttrID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__pyx_type_4h5py_3h5a_AttrID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5a_AttrID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5a_AttrID, __pyx_base.__weakref__);
|
|
__pyx_ptype_4h5py_3h5a_AttrID = &__pyx_type_4h5py_3h5a_AttrID;
|
|
if (PyType_Ready(&__pyx_type_4h5py_3h5a__AttrVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_SetAttrString(__pyx_m, "_AttrVisitor", (PyObject *)&__pyx_type_4h5py_3h5a__AttrVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5a__AttrVisitor = &__pyx_type_4h5py_3h5a__AttrVisitor;
|
|
/*--- Type import code ---*/
|
|
__pyx_ptype_4h5py_2h5_H5PYConfig = __Pyx_ImportType("h5py.h5", "H5PYConfig", sizeof(struct __pyx_obj_4h5py_2h5_H5PYConfig)); if (unlikely(!__pyx_ptype_4h5py_2h5_H5PYConfig)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_2h5_SmartStruct = __Pyx_ImportType("h5py.h5", "SmartStruct", sizeof(struct __pyx_obj_4h5py_2h5_SmartStruct)); if (unlikely(!__pyx_ptype_4h5py_2h5_SmartStruct)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeID = __Pyx_ImportType("h5py.h5t", "TypeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeArrayID = __Pyx_ImportType("h5py.h5t", "TypeArrayID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeArrayID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeArrayID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeOpaqueID = __Pyx_ImportType("h5py.h5t", "TypeOpaqueID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeOpaqueID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeStringID = __Pyx_ImportType("h5py.h5t", "TypeStringID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeStringID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeStringID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeVlenID = __Pyx_ImportType("h5py.h5t", "TypeVlenID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeVlenID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeVlenID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeTimeID = __Pyx_ImportType("h5py.h5t", "TypeTimeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeTimeID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeTimeID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeBitfieldID = __Pyx_ImportType("h5py.h5t", "TypeBitfieldID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeBitfieldID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeReferenceID = __Pyx_ImportType("h5py.h5t", "TypeReferenceID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeReferenceID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeReferenceID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeAtomicID = __Pyx_ImportType("h5py.h5t", "TypeAtomicID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeAtomicID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeAtomicID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeIntegerID = __Pyx_ImportType("h5py.h5t", "TypeIntegerID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeIntegerID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeIntegerID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeFloatID = __Pyx_ImportType("h5py.h5t", "TypeFloatID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeFloatID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeFloatID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeCompositeID = __Pyx_ImportType("h5py.h5t", "TypeCompositeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompositeID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeCompositeID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeEnumID = __Pyx_ImportType("h5py.h5t", "TypeEnumID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeEnumID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeEnumID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5t_TypeCompoundID = __Pyx_ImportType("h5py.h5t", "TypeCompoundID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeCompoundID) < 0) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5s_SpaceID = __Pyx_ImportType("h5py.h5s", "SpaceID", sizeof(struct __pyx_obj_4h5py_3h5s_SpaceID)); if (unlikely(!__pyx_ptype_4h5py_3h5s_SpaceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr)); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
__pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject)); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
/*--- Function import code ---*/
|
|
__pyx_t_1 = __Pyx_ImportModule("h5py.h5"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_1, "get_config", (void (**)(void))&__pyx_f_4h5py_2h5_get_config, "struct __pyx_obj_4h5py_2h5_H5PYConfig *(int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_1, "init_hdf5", (void (**)(void))&__pyx_f_4h5py_2h5_init_hdf5, "int (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
__pyx_t_2 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_2, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_2, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
|
|
__pyx_t_3 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_3, "pdefault", (void (**)(void))&__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_3, "propwrap", (void (**)(void))&__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
__pyx_t_4 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_4, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
Py_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
__pyx_t_5 = __Pyx_ImportModule("h5py._proxy"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
if (__Pyx_ImportFunction(__pyx_t_5, "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_ImportFunction(__pyx_t_5, "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;}
|
|
Py_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
/*--- Execution code ---*/
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":29
|
|
*
|
|
* # Initialization
|
|
* import_array() # <<<<<<<<<<<<<<
|
|
* init_hdf5()
|
|
*
|
|
*/
|
|
import_array();
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pyx":30
|
|
* # Initialization
|
|
* import_array()
|
|
* init_hdf5() # <<<<<<<<<<<<<<
|
|
*
|
|
* # === General attribute operations ============================================
|
|
*/
|
|
__pyx_t_6 = __pyx_f_4h5py_2h5_init_hdf5(); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
|
|
|
|
/* "/home/tachyon/slave/unix-release/build/h5py/h5a.pxd":1
|
|
* #+ # <<<<<<<<<<<<<<
|
|
* #
|
|
* # This file is part of h5py, a low-level Python interface to the HDF5 library.
|
|
*/
|
|
goto __pyx_L0;
|
|
__pyx_L1_error:;
|
|
__Pyx_XDECREF(__pyx_t_1);
|
|
__Pyx_XDECREF(__pyx_t_2);
|
|
__Pyx_XDECREF(__pyx_t_3);
|
|
__Pyx_XDECREF(__pyx_t_4);
|
|
__Pyx_XDECREF(__pyx_t_5);
|
|
if (__pyx_m) {
|
|
__Pyx_AddTraceback("init h5py.h5a");
|
|
Py_DECREF(__pyx_m); __pyx_m = 0;
|
|
} else if (!PyErr_Occurred()) {
|
|
PyErr_SetString(PyExc_ImportError, "init h5py.h5a");
|
|
}
|
|
__pyx_L0:;
|
|
__Pyx_RefNannyFinishContext();
|
|
#if PY_MAJOR_VERSION < 3
|
|
return;
|
|
#else
|
|
return __pyx_m;
|
|
#endif
|
|
}
|
|
|
|
static const char *__pyx_filenames[] = {
|
|
"h5a.pyx",
|
|
"h5.pxd",
|
|
"h5t.pxd",
|
|
"h5s.pxd",
|
|
"h5p.pxd",
|
|
"numpy.pxd",
|
|
};
|
|
|
|
/* Runtime support code */
|
|
|
|
static void __pyx_init_filenames(void) {
|
|
__pyx_f = __pyx_filenames;
|
|
}
|
|
|
|
static void __Pyx_RaiseDoubleKeywordsError(
|
|
const char* func_name,
|
|
PyObject* kw_name)
|
|
{
|
|
PyErr_Format(PyExc_TypeError,
|
|
#if PY_MAJOR_VERSION >= 3
|
|
"%s() got multiple values for keyword argument '%U'", func_name, kw_name);
|
|
#else
|
|
"%s() got multiple values for keyword argument '%s'", func_name,
|
|
PyString_AS_STRING(kw_name));
|
|
#endif
|
|
}
|
|
|
|
static void __Pyx_RaiseArgtupleInvalid(
|
|
const char* func_name,
|
|
int exact,
|
|
Py_ssize_t num_min,
|
|
Py_ssize_t num_max,
|
|
Py_ssize_t num_found)
|
|
{
|
|
Py_ssize_t num_expected;
|
|
const char *number, *more_or_less;
|
|
|
|
if (num_found < num_min) {
|
|
num_expected = num_min;
|
|
more_or_less = "at least";
|
|
} else {
|
|
num_expected = num_max;
|
|
more_or_less = "at most";
|
|
}
|
|
if (exact) {
|
|
more_or_less = "exactly";
|
|
}
|
|
number = (num_expected == 1) ? "" : "s";
|
|
PyErr_Format(PyExc_TypeError,
|
|
#if PY_VERSION_HEX < 0x02050000
|
|
"%s() takes %s %d positional argument%s (%d given)",
|
|
#else
|
|
"%s() takes %s %zd positional argument%s (%zd given)",
|
|
#endif
|
|
func_name, more_or_less, num_expected, number, num_found);
|
|
}
|
|
|
|
static int __Pyx_ParseOptionalKeywords(
|
|
PyObject *kwds,
|
|
PyObject **argnames[],
|
|
PyObject *kwds2,
|
|
PyObject *values[],
|
|
Py_ssize_t num_pos_args,
|
|
const char* function_name)
|
|
{
|
|
PyObject *key = 0, *value = 0;
|
|
Py_ssize_t pos = 0;
|
|
PyObject*** name;
|
|
PyObject*** first_kw_arg = argnames + num_pos_args;
|
|
|
|
while (PyDict_Next(kwds, &pos, &key, &value)) {
|
|
name = first_kw_arg;
|
|
while (*name && (**name != key)) name++;
|
|
if (*name) {
|
|
values[name-argnames] = value;
|
|
} else {
|
|
#if PY_MAJOR_VERSION < 3
|
|
if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) {
|
|
#else
|
|
if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) {
|
|
#endif
|
|
goto invalid_keyword_type;
|
|
} else {
|
|
for (name = first_kw_arg; *name; name++) {
|
|
#if PY_MAJOR_VERSION >= 3
|
|
if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
|
|
PyUnicode_Compare(**name, key) == 0) break;
|
|
#else
|
|
if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
|
|
_PyString_Eq(**name, key)) break;
|
|
#endif
|
|
}
|
|
if (*name) {
|
|
values[name-argnames] = value;
|
|
} else {
|
|
/* unexpected keyword found */
|
|
for (name=argnames; name != first_kw_arg; name++) {
|
|
if (**name == key) goto arg_passed_twice;
|
|
#if PY_MAJOR_VERSION >= 3
|
|
if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
|
|
PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice;
|
|
#else
|
|
if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
|
|
_PyString_Eq(**name, key)) goto arg_passed_twice;
|
|
#endif
|
|
}
|
|
if (kwds2) {
|
|
if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
|
|
} else {
|
|
goto invalid_keyword;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
arg_passed_twice:
|
|
__Pyx_RaiseDoubleKeywordsError(function_name, **name);
|
|
goto bad;
|
|
invalid_keyword_type:
|
|
PyErr_Format(PyExc_TypeError,
|
|
"%s() keywords must be strings", function_name);
|
|
goto bad;
|
|
invalid_keyword:
|
|
PyErr_Format(PyExc_TypeError,
|
|
#if PY_MAJOR_VERSION < 3
|
|
"%s() got an unexpected keyword argument '%s'",
|
|
function_name, PyString_AsString(key));
|
|
#else
|
|
"%s() got an unexpected keyword argument '%U'",
|
|
function_name, key);
|
|
#endif
|
|
bad:
|
|
return -1;
|
|
}
|
|
|
|
static INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
|
|
if (unlikely(!type)) {
|
|
PyErr_Format(PyExc_SystemError, "Missing type object");
|
|
return 0;
|
|
}
|
|
if (likely(PyObject_TypeCheck(obj, type)))
|
|
return 1;
|
|
PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
|
|
Py_TYPE(obj)->tp_name, type->tp_name);
|
|
return 0;
|
|
}
|
|
|
|
static 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 int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
|
|
const char *name, int exact)
|
|
{
|
|
if (!type) {
|
|
PyErr_Format(PyExc_SystemError, "Missing type object");
|
|
return 0;
|
|
}
|
|
if (none_allowed && obj == Py_None) return 1;
|
|
else if (exact) {
|
|
if (Py_TYPE(obj) == type) return 1;
|
|
}
|
|
else {
|
|
if (PyObject_TypeCheck(obj, type)) return 1;
|
|
}
|
|
PyErr_Format(PyExc_TypeError,
|
|
"Argument '%s' has incorrect type (expected %s, got %s)",
|
|
name, type->tp_name, Py_TYPE(obj)->tp_name);
|
|
return 0;
|
|
}
|
|
|
|
static INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
|
|
const hid_t neg_one = (hid_t)-1, const_zero = 0;
|
|
const int is_unsigned = neg_one > const_zero;
|
|
if (sizeof(hid_t) < sizeof(long)) {
|
|
return PyInt_FromLong((long)val);
|
|
} else if (sizeof(hid_t) == sizeof(long)) {
|
|
if (is_unsigned)
|
|
return PyLong_FromUnsignedLong((unsigned long)val);
|
|
else
|
|
return PyInt_FromLong((long)val);
|
|
} else { /* (sizeof(hid_t) > sizeof(long)) */
|
|
if (is_unsigned)
|
|
return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
|
|
else
|
|
return PyLong_FromLongLong((PY_LONG_LONG)val);
|
|
}
|
|
}
|
|
|
|
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 <class>, <instance> */
|
|
Py_DECREF(value);
|
|
value = type;
|
|
#if PY_VERSION_HEX < 0x02050000
|
|
if (PyInstance_Check(type)) {
|
|
type = (PyObject*) ((PyInstanceObject*)type)->in_class;
|
|
Py_INCREF(type);
|
|
}
|
|
else {
|
|
type = 0;
|
|
PyErr_SetString(PyExc_TypeError,
|
|
"raise: exception must be an old-style class or instance");
|
|
goto raise_error;
|
|
}
|
|
#else
|
|
type = (PyObject*) Py_TYPE(type);
|
|
Py_INCREF(type);
|
|
if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
|
|
PyErr_SetString(PyExc_TypeError,
|
|
"raise: exception class must be a subclass of BaseException");
|
|
goto raise_error;
|
|
}
|
|
#endif
|
|
}
|
|
|
|
__Pyx_ErrRestore(type, value, tb);
|
|
return;
|
|
raise_error:
|
|
Py_XDECREF(value);
|
|
Py_XDECREF(type);
|
|
Py_XDECREF(tb);
|
|
return;
|
|
}
|
|
|
|
#else /* Python 3+ */
|
|
|
|
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
|
|
if (tb == Py_None) {
|
|
tb = 0;
|
|
} else if (tb && !PyTraceBack_Check(tb)) {
|
|
PyErr_SetString(PyExc_TypeError,
|
|
"raise: arg 3 must be a traceback or None");
|
|
goto bad;
|
|
}
|
|
if (value == Py_None)
|
|
value = 0;
|
|
|
|
if (PyExceptionInstance_Check(type)) {
|
|
if (value) {
|
|
PyErr_SetString(PyExc_TypeError,
|
|
"instance exception may not have a separate value");
|
|
goto bad;
|
|
}
|
|
value = type;
|
|
type = (PyObject*) Py_TYPE(value);
|
|
} else if (!PyExceptionClass_Check(type)) {
|
|
PyErr_SetString(PyExc_TypeError,
|
|
"raise: exception class must be a subclass of BaseException");
|
|
goto bad;
|
|
}
|
|
|
|
PyErr_SetObject(type, value);
|
|
|
|
if (tb) {
|
|
PyThreadState *tstate = PyThreadState_GET();
|
|
PyObject* tmp_tb = tstate->curexc_traceback;
|
|
if (tb != tmp_tb) {
|
|
Py_INCREF(tb);
|
|
tstate->curexc_traceback = tb;
|
|
Py_XDECREF(tmp_tb);
|
|
}
|
|
}
|
|
|
|
bad:
|
|
return;
|
|
}
|
|
#endif
|
|
|
|
static 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;
|
|
}
|
|
}
|
|
|
|
#ifndef __PYX_HAVE_RT_ImportType
|
|
#define __PYX_HAVE_RT_ImportType
|
|
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
|
|
long size)
|
|
{
|
|
PyObject *py_module = 0;
|
|
PyObject *result = 0;
|
|
PyObject *py_name = 0;
|
|
|
|
py_module = __Pyx_ImportModule(module_name);
|
|
if (!py_module)
|
|
goto bad;
|
|
#if PY_MAJOR_VERSION < 3
|
|
py_name = PyString_FromString(class_name);
|
|
#else
|
|
py_name = PyUnicode_FromString(class_name);
|
|
#endif
|
|
if (!py_name)
|
|
goto bad;
|
|
result = PyObject_GetAttr(py_module, py_name);
|
|
Py_DECREF(py_name);
|
|
py_name = 0;
|
|
Py_DECREF(py_module);
|
|
py_module = 0;
|
|
if (!result)
|
|
goto bad;
|
|
if (!PyType_Check(result)) {
|
|
PyErr_Format(PyExc_TypeError,
|
|
"%s.%s is not a type object",
|
|
module_name, class_name);
|
|
goto bad;
|
|
}
|
|
if (((PyTypeObject *)result)->tp_basicsize != size) {
|
|
PyErr_Format(PyExc_ValueError,
|
|
"%s.%s does not appear to be the correct type object",
|
|
module_name, class_name);
|
|
goto bad;
|
|
}
|
|
return (PyTypeObject *)result;
|
|
bad:
|
|
Py_XDECREF(py_module);
|
|
Py_XDECREF(result);
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
#ifndef __PYX_HAVE_RT_ImportModule
|
|
#define __PYX_HAVE_RT_ImportModule
|
|
static PyObject *__Pyx_ImportModule(const char *name) {
|
|
PyObject *py_name = 0;
|
|
PyObject *py_module = 0;
|
|
|
|
#if PY_MAJOR_VERSION < 3
|
|
py_name = PyString_FromString(name);
|
|
#else
|
|
py_name = PyUnicode_FromString(name);
|
|
#endif
|
|
if (!py_name)
|
|
goto bad;
|
|
py_module = PyImport_Import(py_name);
|
|
Py_DECREF(py_name);
|
|
return py_module;
|
|
bad:
|
|
Py_XDECREF(py_name);
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
static int __Pyx_GetVtable(PyObject *dict, void *vtabptr) {
|
|
PyObject *ob = PyMapping_GetItemString(dict, (char *)"__pyx_vtable__");
|
|
if (!ob)
|
|
goto bad;
|
|
#if PY_VERSION_HEX < 0x03010000
|
|
*(void **)vtabptr = PyCObject_AsVoidPtr(ob);
|
|
#else
|
|
*(void **)vtabptr = PyCapsule_GetPointer(ob, 0);
|
|
#endif
|
|
if (!*(void **)vtabptr)
|
|
goto bad;
|
|
Py_DECREF(ob);
|
|
return 0;
|
|
bad:
|
|
Py_XDECREF(ob);
|
|
return -1;
|
|
}
|
|
|
|
#ifndef __PYX_HAVE_RT_ImportFunction
|
|
#define __PYX_HAVE_RT_ImportFunction
|
|
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
|
|
PyObject *d = 0;
|
|
PyObject *cobj = 0;
|
|
union {
|
|
void (*fp)(void);
|
|
void *p;
|
|
} tmp;
|
|
#if PY_VERSION_HEX < 0x03010000
|
|
const char *desc, *s1, *s2;
|
|
#endif
|
|
|
|
d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
|
|
if (!d)
|
|
goto bad;
|
|
cobj = PyDict_GetItemString(d, funcname);
|
|
if (!cobj) {
|
|
PyErr_Format(PyExc_ImportError,
|
|
"%s does not export expected C function %s",
|
|
PyModule_GetName(module), funcname);
|
|
goto bad;
|
|
}
|
|
#if PY_VERSION_HEX < 0x03010000
|
|
desc = (const char *)PyCObject_GetDesc(cobj);
|
|
if (!desc)
|
|
goto bad;
|
|
s1 = desc; s2 = sig;
|
|
while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
|
|
if (*s1 != *s2) {
|
|
PyErr_Format(PyExc_TypeError,
|
|
"C function %s.%s has wrong signature (expected %s, got %s)",
|
|
PyModule_GetName(module), funcname, sig, desc);
|
|
goto bad;
|
|
}
|
|
tmp.p = PyCObject_AsVoidPtr(cobj);
|
|
#else
|
|
if (!PyCapsule_IsValid(cobj, sig)) {
|
|
PyErr_Format(PyExc_TypeError,
|
|
"C function %s.%s has wrong signature (expected %s, got %s)",
|
|
PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
|
|
goto bad;
|
|
}
|
|
tmp.p = PyCapsule_GetPointer(cobj, sig);
|
|
#endif
|
|
*f = tmp.fp;
|
|
if (!(*f))
|
|
goto bad;
|
|
Py_DECREF(d);
|
|
return 0;
|
|
bad:
|
|
Py_XDECREF(d);
|
|
return -1;
|
|
}
|
|
#endif
|
|
|
|
#include "compile.h"
|
|
#include "frameobject.h"
|
|
#include "traceback.h"
|
|
|
|
static void __Pyx_AddTraceback(const char *funcname) {
|
|
PyObject *py_srcfile = 0;
|
|
PyObject *py_funcname = 0;
|
|
PyObject *py_globals = 0;
|
|
PyCodeObject *py_code = 0;
|
|
PyFrameObject *py_frame = 0;
|
|
|
|
#if PY_MAJOR_VERSION < 3
|
|
py_srcfile = PyString_FromString(__pyx_filename);
|
|
#else
|
|
py_srcfile = PyUnicode_FromString(__pyx_filename);
|
|
#endif
|
|
if (!py_srcfile) goto bad;
|
|
if (__pyx_clineno) {
|
|
#if PY_MAJOR_VERSION < 3
|
|
py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
|
|
#else
|
|
py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
|
|
#endif
|
|
}
|
|
else {
|
|
#if PY_MAJOR_VERSION < 3
|
|
py_funcname = PyString_FromString(funcname);
|
|
#else
|
|
py_funcname = PyUnicode_FromString(funcname);
|
|
#endif
|
|
}
|
|
if (!py_funcname) goto bad;
|
|
py_globals = PyModule_GetDict(__pyx_m);
|
|
if (!py_globals) goto bad;
|
|
py_code = PyCode_New(
|
|
0, /*int argcount,*/
|
|
#if PY_MAJOR_VERSION >= 3
|
|
0, /*int kwonlyargcount,*/
|
|
#endif
|
|
0, /*int nlocals,*/
|
|
0, /*int stacksize,*/
|
|
0, /*int flags,*/
|
|
__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 */
|