1
/* Generated by Cython 0.11.2 on Mon Aug 31 11:03:03 2009 */
3
#define PY_SSIZE_T_CLEAN
5
#include "structmember.h"
7
#error Python headers needed to compile C extensions, please install development version of Python.
10
#define PY_LONG_LONG LONG_LONG
13
#define DL_EXPORT(t) t
15
#if PY_VERSION_HEX < 0x02040000
16
#define METH_COEXIST 0
17
#define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
19
#if PY_VERSION_HEX < 0x02050000
20
typedef int Py_ssize_t;
21
#define PY_SSIZE_T_MAX INT_MAX
22
#define PY_SSIZE_T_MIN INT_MIN
23
#define PY_FORMAT_SIZE_T ""
24
#define PyInt_FromSsize_t(z) PyInt_FromLong(z)
25
#define PyInt_AsSsize_t(o) PyInt_AsLong(o)
26
#define PyNumber_Index(o) PyNumber_Int(o)
27
#define PyIndex_Check(o) PyNumber_Check(o)
29
#if PY_VERSION_HEX < 0x02060000
30
#define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
31
#define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
32
#define Py_SIZE(ob) (((PyVarObject*)(ob))->ob_size)
33
#define PyVarObject_HEAD_INIT(type, size) \
34
PyObject_HEAD_INIT(type) size,
35
#define PyType_Modified(t)
47
Py_ssize_t *suboffsets;
51
#define PyBUF_SIMPLE 0
52
#define PyBUF_WRITABLE 0x0001
53
#define PyBUF_FORMAT 0x0004
54
#define PyBUF_ND 0x0008
55
#define PyBUF_STRIDES (0x0010 | PyBUF_ND)
56
#define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
57
#define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
58
#define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
59
#define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
62
#if PY_MAJOR_VERSION < 3
63
#define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
65
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
67
#if PY_MAJOR_VERSION >= 3
68
#define Py_TPFLAGS_CHECKTYPES 0
69
#define Py_TPFLAGS_HAVE_INDEX 0
71
#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
72
#define Py_TPFLAGS_HAVE_NEWBUFFER 0
74
#if PY_MAJOR_VERSION >= 3
75
#define PyBaseString_Type PyUnicode_Type
76
#define PyString_Type PyBytes_Type
77
#define PyString_CheckExact PyBytes_CheckExact
78
#define PyInt_Type PyLong_Type
79
#define PyInt_Check(op) PyLong_Check(op)
80
#define PyInt_CheckExact(op) PyLong_CheckExact(op)
81
#define PyInt_FromString PyLong_FromString
82
#define PyInt_FromUnicode PyLong_FromUnicode
83
#define PyInt_FromLong PyLong_FromLong
84
#define PyInt_FromSize_t PyLong_FromSize_t
85
#define PyInt_FromSsize_t PyLong_FromSsize_t
86
#define PyInt_AsLong PyLong_AsLong
87
#define PyInt_AS_LONG PyLong_AS_LONG
88
#define PyInt_AsSsize_t PyLong_AsSsize_t
89
#define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
90
#define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
91
#define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
93
#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
94
#define PyBytes_Type PyString_Type
96
#if PY_MAJOR_VERSION >= 3
97
#define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
99
#if !defined(WIN32) && !defined(MS_WINDOWS)
110
#define _USE_MATH_DEFINES
112
#if PY_VERSION_HEX < 0x02050000
113
#define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),((char *)(n)))
114
#define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
115
#define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),((char *)(n)))
117
#define __Pyx_GetAttrString(o,n) PyObject_GetAttrString((o),(n))
118
#define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
119
#define __Pyx_DelAttrString(o,n) PyObject_DelAttrString((o),(n))
121
#if PY_VERSION_HEX < 0x02050000
122
#define __Pyx_NAMESTR(n) ((char *)(n))
123
#define __Pyx_DOCSTR(n) ((char *)(n))
125
#define __Pyx_NAMESTR(n) (n)
126
#define __Pyx_DOCSTR(n) (n)
129
#define __PYX_EXTERN_C extern "C"
131
#define __PYX_EXTERN_C extern
134
#define __PYX_HAVE_API__h5py__h5g
141
#include "lzf_filter.h"
143
#include "typeconv.h"
144
#include "typeproxy.h"
145
#include "numpy/arrayobject.h"
146
#define __PYX_USE_C99_COMPLEX defined(_Complex_I)
150
#define INLINE __inline__
152
#define INLINE __inline
157
typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/
161
static int __pyx_skip_dispatch = 0;
164
/* Type Conversion Predeclarations */
166
#if PY_MAJOR_VERSION < 3
167
#define __Pyx_PyBytes_FromString PyString_FromString
168
#define __Pyx_PyBytes_FromStringAndSize PyString_FromStringAndSize
169
#define __Pyx_PyBytes_AsString PyString_AsString
171
#define __Pyx_PyBytes_FromString PyBytes_FromString
172
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
173
#define __Pyx_PyBytes_AsString PyBytes_AsString
176
#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
177
static INLINE int __Pyx_PyObject_IsTrue(PyObject*);
178
static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
180
#if !defined(T_PYSSIZET)
181
#if PY_VERSION_HEX < 0x02050000
182
#define T_PYSSIZET T_INT
183
#elif !defined(T_LONGLONG)
185
((sizeof(Py_ssize_t) == sizeof(int)) ? T_INT : \
186
((sizeof(Py_ssize_t) == sizeof(long)) ? T_LONG : -1))
189
((sizeof(Py_ssize_t) == sizeof(int)) ? T_INT : \
190
((sizeof(Py_ssize_t) == sizeof(long)) ? T_LONG : \
191
((sizeof(Py_ssize_t) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1)))
195
#if !defined(T_SIZET)
196
#if !defined(T_ULONGLONG)
198
((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \
199
((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : -1))
202
((sizeof(size_t) == sizeof(unsigned int)) ? T_UINT : \
203
((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : \
204
((sizeof(size_t) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1)))
208
static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
209
static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
210
static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
212
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
216
/* Test for GCC > 2.95 */
217
#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
218
#define likely(x) __builtin_expect(!!(x), 1)
219
#define unlikely(x) __builtin_expect(!!(x), 0)
220
#else /* __GNUC__ > 2 ... */
221
#define likely(x) (x)
222
#define unlikely(x) (x)
223
#endif /* __GNUC__ > 2 ... */
225
#define likely(x) (x)
226
#define unlikely(x) (x)
227
#endif /* __GNUC__ */
229
static PyObject *__pyx_m;
230
static PyObject *__pyx_b;
231
static PyObject *__pyx_empty_tuple;
232
static int __pyx_lineno;
233
static int __pyx_clineno = 0;
234
static const char * __pyx_cfilenm= __FILE__;
235
static const char *__pyx_filename;
236
static const char **__pyx_f;
239
#ifdef CYTHON_REFNANNY
241
void (*INCREF)(void*, PyObject*, int);
242
void (*DECREF)(void*, PyObject*, int);
243
void (*GOTREF)(void*, PyObject*, int);
244
void (*GIVEREF)(void*, PyObject*, int);
245
void* (*NewContext)(const char*, int, const char*);
246
void (*FinishContext)(void**);
247
} __Pyx_RefnannyAPIStruct;
248
static __Pyx_RefnannyAPIStruct *__Pyx_Refnanny = NULL;
249
#define __Pyx_ImportRefcountAPI(name) (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI")
250
#define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__)
251
#define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__)
252
#define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__)
253
#define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__)
254
#define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r)
255
#define __Pyx_SetupRefcountContext(name) void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__)
256
#define __Pyx_FinishRefcountContext() __Pyx_Refnanny->FinishContext(&__pyx_refchk)
258
#define __Pyx_INCREF(r) Py_INCREF(r)
259
#define __Pyx_DECREF(r) Py_DECREF(r)
260
#define __Pyx_GOTREF(r)
261
#define __Pyx_GIVEREF(r)
262
#define __Pyx_XDECREF(r) Py_XDECREF(r)
263
#define __Pyx_SetupRefcountContext(name)
264
#define __Pyx_FinishRefcountContext()
265
#endif /* CYTHON_REFNANNY */
266
#define __Pyx_XGIVEREF(r) if((r) == NULL) ; else __Pyx_GIVEREF(r)
267
#define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r)
269
static void __Pyx_RaiseDoubleKeywordsError(
270
const char* func_name, PyObject* kw_name); /*proto*/
272
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
273
Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
275
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, const char* function_name); /*proto*/
277
static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
279
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
280
static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
282
static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
283
const char *name, int exact); /*proto*/
285
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
287
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
289
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
291
static INLINE int __Pyx_StrEq(const char *, const char *); /*proto*/
293
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
295
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
297
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
299
static INLINE char __Pyx_PyInt_AsChar(PyObject *);
301
static INLINE short __Pyx_PyInt_AsShort(PyObject *);
303
static INLINE int __Pyx_PyInt_AsInt(PyObject *);
305
static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
307
static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
309
static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
311
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
313
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
315
static INLINE long __Pyx_PyInt_AsLong(PyObject *);
317
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
319
static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
321
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
323
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size); /*proto*/
325
static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
327
static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
329
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
331
static void __Pyx_AddTraceback(const char *funcname); /*proto*/
333
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
335
/* Type declarations */
337
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":21
338
* cpdef bint __enter__(self) except -1
339
* cpdef bint __exit__(self, a, b, c) except -1
340
* cpdef bint acquire(self, int blocking=*) except -1 # <<<<<<<<<<<<<<
341
* cpdef bint release(self) except -1
345
struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire {
350
/* "/home/tachyon/pydev/h5py/h5py/utils.pxd":20
351
* cdef void efree(void* ptr)
353
* cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1 # <<<<<<<<<<<<<<
354
* cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
358
struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
363
/* "/home/tachyon/pydev/h5py/h5py/utils.pxd":21
365
* cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
366
* cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1 # <<<<<<<<<<<<<<
368
* cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
371
struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
376
/* "/home/tachyon/pydev/h5py/h5py/h5e.pxd":225
377
* herr_t H5Ewalk(H5E_direction_t direction, H5E_walk_t func, void* client_data)
379
* ctypedef struct err_cookie: # <<<<<<<<<<<<<<
387
} __pyx_t_4h5py_3h5e_err_cookie;
389
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":90
392
* cdef class GroupIter: # <<<<<<<<<<<<<<
397
struct __pyx_obj_4h5py_3h5g_GroupIter {
401
struct __pyx_obj_4h5py_3h5g_GroupID *grp;
404
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":39
405
* cpdef H5PYConfig get_config()
407
* cdef class ObjectID: # <<<<<<<<<<<<<<
409
* cdef object __weakref__
412
struct __pyx_obj_4h5py_2h5_ObjectID {
414
PyObject *__weakref__;
420
/* "/home/tachyon/pydev/h5py/h5py/h5g.pxd":18
421
* from h5 cimport ObjectID
423
* cdef class GroupID(ObjectID): # <<<<<<<<<<<<<<
428
struct __pyx_obj_4h5py_3h5g_GroupID {
429
struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
432
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":23
433
* # --- Base classes ---
435
* cdef class PropID(ObjectID): # <<<<<<<<<<<<<<
436
* """ Base class for all property lists """
440
struct __pyx_obj_4h5py_3h5p_PropID {
441
struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
444
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":33
447
* cdef class PropInstanceID(PropID): # <<<<<<<<<<<<<<
448
* """ Represents an instance of a property list class (i.e. an actual list
449
* which can be passed on to other API functions).
452
struct __pyx_obj_4h5py_3h5p_PropInstanceID {
453
struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
456
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":62
457
* # --- Object access ---
459
* cdef class PropFAID(PropInstanceID): # <<<<<<<<<<<<<<
460
* """ File access property list """
464
struct __pyx_obj_4h5py_3h5p_PropFAID {
465
struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
468
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":39
471
* cdef class PropCreateID(PropInstanceID): # <<<<<<<<<<<<<<
472
* """ Base class for all object creation lists.
476
struct __pyx_obj_4h5py_3h5p_PropCreateID {
477
struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
480
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":66
483
* cdef class PropDXID(PropInstanceID): # <<<<<<<<<<<<<<
484
* """ Dataset transfer property list """
488
struct __pyx_obj_4h5py_3h5p_PropDXID {
489
struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
492
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":51
493
* # --- Object creation ---
495
* cdef class PropDCID(PropCreateID): # <<<<<<<<<<<<<<
496
* """ Dataset creation property list """
500
struct __pyx_obj_4h5py_3h5p_PropDCID {
501
struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
504
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":46
507
* cdef class SmartStruct: # <<<<<<<<<<<<<<
508
* cdef object __weakref__
512
struct __pyx_obj_4h5py_2h5_SmartStruct {
514
PyObject *__weakref__;
518
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":149
519
* return GroupID(H5Gcreate(loc.id, name, -1))
521
* cdef class _GroupVisitor: # <<<<<<<<<<<<<<
526
struct __pyx_obj_4h5py_3h5g__GroupVisitor {
532
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":55
535
* cdef class PropFCID(PropCreateID): # <<<<<<<<<<<<<<
536
* """ File creation property list """
540
struct __pyx_obj_4h5py_3h5p_PropFCID {
541
struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
544
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":26
545
* cpdef PHIL get_phil()
547
* cdef class H5PYConfig: # <<<<<<<<<<<<<<
549
* cdef object _r_name
552
struct __pyx_obj_4h5py_2h5_H5PYConfig {
564
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":27
567
* cdef class PropClassID(PropID): # <<<<<<<<<<<<<<
568
* """ Represents an HDF5 property list class. These can be either (locked)
569
* library-defined classes or user-created classes.
572
struct __pyx_obj_4h5py_3h5p_PropClassID {
573
struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
576
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":46
579
* cdef class PropCopyID(PropInstanceID): # <<<<<<<<<<<<<<
580
* """ Property list for copying objects (as in h5o.copy) """
584
struct __pyx_obj_4h5py_3h5p_PropCopyID {
585
struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
588
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":48
589
* LINK_SOFT = H5G_LINK_SOFT
591
* cdef class GroupStat(SmartStruct): # <<<<<<<<<<<<<<
592
* """Represents the H5G_stat_t structure containing group member info.
596
struct __pyx_obj_4h5py_3h5g_GroupStat {
597
struct __pyx_obj_4h5py_2h5_SmartStruct __pyx_base;
598
H5G_stat_t infostruct;
601
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":15
604
* cdef class PHIL: # <<<<<<<<<<<<<<
609
struct __pyx_obj_4h5py_2h5_PHIL {
611
struct __pyx_vtabstruct_4h5py_2h5_PHIL *__pyx_vtab;
616
struct __pyx_vtabstruct_4h5py_2h5_PHIL {
617
int (*__enter__)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch);
618
int (*__exit__)(struct __pyx_obj_4h5py_2h5_PHIL *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
619
int (*acquire)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire *__pyx_optional_args);
620
int (*release)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch);
622
static struct __pyx_vtabstruct_4h5py_2h5_PHIL *__pyx_vtabptr_4h5py_2h5_PHIL;
623
/* Module declarations from h5py.h5 */
625
static PyTypeObject *__pyx_ptype_4h5py_2h5_PHIL = 0;
626
static PyTypeObject *__pyx_ptype_4h5py_2h5_H5PYConfig = 0;
627
static PyTypeObject *__pyx_ptype_4h5py_2h5_ObjectID = 0;
628
static PyTypeObject *__pyx_ptype_4h5py_2h5_SmartStruct = 0;
629
static struct __pyx_obj_4h5py_2h5_PHIL *(*__pyx_f_4h5py_2h5_get_phil)(int __pyx_skip_dispatch); /*proto*/
630
static struct __pyx_obj_4h5py_2h5_H5PYConfig *(*__pyx_f_4h5py_2h5_get_config)(int __pyx_skip_dispatch); /*proto*/
631
static int (*__pyx_f_4h5py_2h5_init_hdf5)(void); /*proto*/
632
static hid_t (*__pyx_f_4h5py_2h5_get_object_type)(void); /*proto*/
633
static herr_t (*__pyx_f_4h5py_2h5_attr_rw)(hid_t, hid_t, void *, h5py_rw_t); /*proto*/
634
static herr_t (*__pyx_f_4h5py_2h5_dset_rw)(hid_t, hid_t, hid_t, hid_t, hid_t, void *, h5py_rw_t); /*proto*/
635
/* Module declarations from numpy */
637
/* Module declarations from h5py.numpy */
639
static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
640
static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
641
/* Module declarations from h5py.utils */
643
static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
644
static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
645
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*/
646
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*/
647
static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
648
static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/
649
static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/
650
static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/
651
static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/
652
/* Module declarations from h5py.h5p */
654
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
655
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
656
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
657
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
658
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
659
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
660
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
661
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
662
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
663
static hid_t (*__pyx_f_4h5py_3h5p_pdefault)(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/
664
static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/
665
/* Module declarations from h5py.h5e */
667
static int (*__pyx_f_4h5py_3h5e_register_thread)(int __pyx_skip_dispatch); /*proto*/
668
static __pyx_t_4h5py_3h5e_err_cookie (*__pyx_f_4h5py_3h5e_disable_errors)(void); /*proto*/
669
static void (*__pyx_f_4h5py_3h5e_enable_errors)(__pyx_t_4h5py_3h5e_err_cookie); /*proto*/
670
/* Module declarations from h5py.h5g */
672
static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupID = 0;
673
static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupStat = 0;
674
static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupIter = 0;
675
static PyTypeObject *__pyx_ptype_4h5py_3h5g__GroupVisitor = 0;
676
static int __pyx_k_97;
677
static herr_t __pyx_f_4h5py_3h5g_cb_group_iter(hid_t, char *, void *); /*proto*/
678
#define __Pyx_MODULE_NAME "h5py.h5g"
679
int __pyx_module_is_main_h5py__h5g = 0;
681
/* Implementation of h5py.h5g */
682
static char __pyx_k_92[] = "\n Low-level HDF5 \"H5G\" group interface.\n";
683
static char __pyx_k_95[] = ".";
684
static char __pyx_k_96[] = ".";
685
static PyObject *__pyx_int_1;
686
static char __pyx_k___main__[] = "__main__";
687
static PyObject *__pyx_kp___main__;
688
static char __pyx_k__hash[] = "_hash";
689
static PyObject *__pyx_kp__hash;
690
static char __pyx_k___init__[] = "__init__";
691
static PyObject *__pyx_kp___init__;
692
static char __pyx_k___iter__[] = "__iter__";
693
static PyObject *__pyx_kp___iter__;
694
static char __pyx_k___next__[] = "__next__";
695
static PyObject *__pyx_kp___next__;
696
static char __pyx_k__close[] = "_close";
697
static PyObject *__pyx_kp__close;
698
static char __pyx_k_link[] = "link";
699
static PyObject *__pyx_kp_link;
700
static char __pyx_k_unlink[] = "unlink";
701
static PyObject *__pyx_kp_unlink;
702
static char __pyx_k_move[] = "move";
703
static PyObject *__pyx_kp_move;
704
static char __pyx_k_get_num_objs[] = "get_num_objs";
705
static PyObject *__pyx_kp_get_num_objs;
706
static char __pyx_k_get_objname_by_idx[] = "get_objname_by_idx";
707
static PyObject *__pyx_kp_get_objname_by_idx;
708
static char __pyx_k_get_objtype_by_idx[] = "get_objtype_by_idx";
709
static PyObject *__pyx_kp_get_objtype_by_idx;
710
static char __pyx_k_get_linkval[] = "get_linkval";
711
static PyObject *__pyx_kp_get_linkval;
712
static char __pyx_k_set_comment[] = "set_comment";
713
static PyObject *__pyx_kp_set_comment;
714
static char __pyx_k_get_comment[] = "get_comment";
715
static PyObject *__pyx_kp_get_comment;
716
static char __pyx_k___contains__[] = "__contains__";
717
static PyObject *__pyx_kp___contains__;
718
static char __pyx_k___len__[] = "__len__";
719
static PyObject *__pyx_kp___len__;
720
static char __pyx_k_grp[] = "grp";
721
static PyObject *__pyx_kp_grp;
722
static char __pyx_k_loc[] = "loc";
723
static PyObject *__pyx_kp_loc;
724
static char __pyx_k_name[] = "name";
725
static PyObject *__pyx_kp_name;
726
static char __pyx_k_func[] = "func";
727
static PyObject *__pyx_kp_func;
728
static char __pyx_k_startidx[] = "startidx";
729
static PyObject *__pyx_kp_startidx;
730
static char __pyx_k_obj_name[] = "obj_name";
731
static PyObject *__pyx_kp_obj_name;
732
static char __pyx_k_obj[] = "obj";
733
static PyObject *__pyx_kp_obj;
734
static char __pyx_k_follow_link[] = "follow_link";
735
static PyObject *__pyx_kp_follow_link;
736
static char __pyx_k_current_name[] = "current_name";
737
static PyObject *__pyx_kp_current_name;
738
static char __pyx_k_new_name[] = "new_name";
739
static PyObject *__pyx_kp_new_name;
740
static char __pyx_k_link_type[] = "link_type";
741
static PyObject *__pyx_kp_link_type;
742
static char __pyx_k_remote[] = "remote";
743
static PyObject *__pyx_kp_remote;
744
static char __pyx_k_idx[] = "idx";
745
static PyObject *__pyx_kp_idx;
746
static char __pyx_k_comment[] = "comment";
747
static PyObject *__pyx_kp_comment;
748
static char __pyx_k___doc__[] = "__doc__";
749
static PyObject *__pyx_kp___doc__;
750
static char __pyx_k_93[] = "h5";
751
static PyObject *__pyx_kp_93;
752
static char __pyx_k_94[] = "H5Error";
753
static PyObject *__pyx_kp_94;
754
static char __pyx_k__sync[] = "_sync";
755
static PyObject *__pyx_kp__sync;
756
static char __pyx_k_sync[] = "sync";
757
static PyObject *__pyx_kp_sync;
758
static char __pyx_k_nosync[] = "nosync";
759
static PyObject *__pyx_kp_nosync;
760
static char __pyx_k_UNKNOWN[] = "UNKNOWN";
761
static PyObject *__pyx_kp_UNKNOWN;
762
static char __pyx_k_LINK[] = "LINK";
763
static PyObject *__pyx_kp_LINK;
764
static char __pyx_k_GROUP[] = "GROUP";
765
static PyObject *__pyx_kp_GROUP;
766
static char __pyx_k_DATASET[] = "DATASET";
767
static PyObject *__pyx_kp_DATASET;
768
static char __pyx_k_TYPE[] = "TYPE";
769
static PyObject *__pyx_kp_TYPE;
770
static char __pyx_k_LINK_ERROR[] = "LINK_ERROR";
771
static PyObject *__pyx_kp_LINK_ERROR;
772
static char __pyx_k_LINK_HARD[] = "LINK_HARD";
773
static PyObject *__pyx_kp_LINK_HARD;
774
static char __pyx_k_LINK_SOFT[] = "LINK_SOFT";
775
static PyObject *__pyx_kp_LINK_SOFT;
776
static char __pyx_k_open[] = "open";
777
static PyObject *__pyx_kp_open;
778
static char __pyx_k_create[] = "create";
779
static PyObject *__pyx_kp_create;
780
static char __pyx_k_iterate[] = "iterate";
781
static PyObject *__pyx_kp_iterate;
782
static char __pyx_k_get_objinfo[] = "get_objinfo";
783
static PyObject *__pyx_kp_get_objinfo;
784
static char __pyx_k_fileno[] = "fileno";
785
static PyObject *__pyx_kp_fileno;
786
static char __pyx_k_objno[] = "objno";
787
static PyObject *__pyx_kp_objno;
788
static char __pyx_k_nlink[] = "nlink";
789
static PyObject *__pyx_kp_nlink;
790
static char __pyx_k_type[] = "type";
791
static PyObject *__pyx_kp_type;
792
static char __pyx_k_mtime[] = "mtime";
793
static PyObject *__pyx_kp_mtime;
794
static char __pyx_k_linklen[] = "linklen";
795
static PyObject *__pyx_kp_linklen;
796
static char __pyx_k_StopIteration[] = "StopIteration";
797
static PyObject *__pyx_kp_StopIteration;
798
static char __pyx_k_ValueError[] = "ValueError";
799
static PyObject *__pyx_kp_ValueError;
800
static PyObject *__pyx_kp_92;
801
static PyObject *__pyx_kp_96;
802
static PyObject *__pyx_builtin_StopIteration;
803
static PyObject *__pyx_builtin_ValueError;
804
static PyObject *__pyx_kp_98;
805
static char __pyx_k_98[] = "Starting index must be non-negative";
806
static PyObject *__pyx_kp_99;
807
static char __pyx_k_99[] = "Invalid index";
808
static PyObject *__pyx_kp_100;
809
static char __pyx_k_100[] = "Invalid index";
810
static PyObject *__pyx_kp_101;
811
static char __pyx_k_101[] = "\"%s\" is not a symbolic link.";
813
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":68
816
* def __get__(self): # <<<<<<<<<<<<<<
817
* return (self.infostruct.fileno[0], self.infostruct.fileno[1])
821
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(PyObject *__pyx_v_self); /*proto*/
822
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(PyObject *__pyx_v_self) {
823
PyObject *__pyx_r = NULL;
824
PyObject *__pyx_t_1 = NULL;
825
PyObject *__pyx_t_2 = NULL;
826
PyObject *__pyx_t_3 = NULL;
827
__Pyx_SetupRefcountContext("__get__");
829
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":69
832
* return (self.infostruct.fileno[0], self.infostruct.fileno[1]) # <<<<<<<<<<<<<<
836
__Pyx_XDECREF(__pyx_r);
837
__pyx_t_1 = PyLong_FromUnsignedLong((((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.fileno[0])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
838
__Pyx_GOTREF(__pyx_t_1);
839
__pyx_t_2 = PyLong_FromUnsignedLong((((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.fileno[1])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
840
__Pyx_GOTREF(__pyx_t_2);
841
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
842
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
843
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
844
__Pyx_GIVEREF(__pyx_t_1);
845
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
846
__Pyx_GIVEREF(__pyx_t_2);
849
__pyx_r = ((PyObject *)__pyx_t_3);
853
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
856
__Pyx_XDECREF(__pyx_t_1);
857
__Pyx_XDECREF(__pyx_t_2);
858
__Pyx_XDECREF(__pyx_t_3);
859
__Pyx_AddTraceback("h5py.h5g.GroupStat.fileno.__get__");
862
__Pyx_XGIVEREF(__pyx_r);
863
__Pyx_FinishRefcountContext();
867
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":71
868
* return (self.infostruct.fileno[0], self.infostruct.fileno[1])
870
* def __get__(self): # <<<<<<<<<<<<<<
871
* return (self.infostruct.objno[0], self.infostruct.objno[1])
875
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(PyObject *__pyx_v_self); /*proto*/
876
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(PyObject *__pyx_v_self) {
877
PyObject *__pyx_r = NULL;
878
PyObject *__pyx_t_1 = NULL;
879
PyObject *__pyx_t_2 = NULL;
880
PyObject *__pyx_t_3 = NULL;
881
__Pyx_SetupRefcountContext("__get__");
883
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":72
886
* return (self.infostruct.objno[0], self.infostruct.objno[1]) # <<<<<<<<<<<<<<
890
__Pyx_XDECREF(__pyx_r);
891
__pyx_t_1 = PyLong_FromUnsignedLong((((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.objno[0])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
892
__Pyx_GOTREF(__pyx_t_1);
893
__pyx_t_2 = PyLong_FromUnsignedLong((((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.objno[1])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
894
__Pyx_GOTREF(__pyx_t_2);
895
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
896
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
897
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
898
__Pyx_GIVEREF(__pyx_t_1);
899
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
900
__Pyx_GIVEREF(__pyx_t_2);
903
__pyx_r = ((PyObject *)__pyx_t_3);
907
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
910
__Pyx_XDECREF(__pyx_t_1);
911
__Pyx_XDECREF(__pyx_t_2);
912
__Pyx_XDECREF(__pyx_t_3);
913
__Pyx_AddTraceback("h5py.h5g.GroupStat.objno.__get__");
916
__Pyx_XGIVEREF(__pyx_r);
917
__Pyx_FinishRefcountContext();
921
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":74
922
* return (self.infostruct.objno[0], self.infostruct.objno[1])
924
* def __get__(self): # <<<<<<<<<<<<<<
925
* return self.infostruct.nlink
929
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(PyObject *__pyx_v_self); /*proto*/
930
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(PyObject *__pyx_v_self) {
931
PyObject *__pyx_r = NULL;
932
PyObject *__pyx_t_1 = NULL;
933
__Pyx_SetupRefcountContext("__get__");
935
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":75
938
* return self.infostruct.nlink # <<<<<<<<<<<<<<
942
__Pyx_XDECREF(__pyx_r);
943
__pyx_t_1 = PyLong_FromUnsignedLong(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.nlink); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
944
__Pyx_GOTREF(__pyx_t_1);
949
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
952
__Pyx_XDECREF(__pyx_t_1);
953
__Pyx_AddTraceback("h5py.h5g.GroupStat.nlink.__get__");
956
__Pyx_XGIVEREF(__pyx_r);
957
__Pyx_FinishRefcountContext();
961
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":77
962
* return self.infostruct.nlink
964
* def __get__(self): # <<<<<<<<<<<<<<
965
* return self.infostruct.type
969
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(PyObject *__pyx_v_self); /*proto*/
970
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(PyObject *__pyx_v_self) {
971
PyObject *__pyx_r = NULL;
972
PyObject *__pyx_t_1 = NULL;
973
__Pyx_SetupRefcountContext("__get__");
975
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":78
978
* return self.infostruct.type # <<<<<<<<<<<<<<
982
__Pyx_XDECREF(__pyx_r);
983
__pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
984
__Pyx_GOTREF(__pyx_t_1);
989
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
992
__Pyx_XDECREF(__pyx_t_1);
993
__Pyx_AddTraceback("h5py.h5g.GroupStat.type.__get__");
996
__Pyx_XGIVEREF(__pyx_r);
997
__Pyx_FinishRefcountContext();
1001
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":80
1002
* return self.infostruct.type
1004
* def __get__(self): # <<<<<<<<<<<<<<
1005
* return self.infostruct.mtime
1009
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(PyObject *__pyx_v_self); /*proto*/
1010
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(PyObject *__pyx_v_self) {
1011
PyObject *__pyx_r = NULL;
1012
PyObject *__pyx_t_1 = NULL;
1013
__Pyx_SetupRefcountContext("__get__");
1015
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":81
1017
* def __get__(self):
1018
* return self.infostruct.mtime # <<<<<<<<<<<<<<
1020
* def __get__(self):
1022
__Pyx_XDECREF(__pyx_r);
1023
__pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.mtime); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1024
__Pyx_GOTREF(__pyx_t_1);
1025
__pyx_r = __pyx_t_1;
1029
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1032
__Pyx_XDECREF(__pyx_t_1);
1033
__Pyx_AddTraceback("h5py.h5g.GroupStat.mtime.__get__");
1036
__Pyx_XGIVEREF(__pyx_r);
1037
__Pyx_FinishRefcountContext();
1041
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":83
1042
* return self.infostruct.mtime
1044
* def __get__(self): # <<<<<<<<<<<<<<
1045
* return self.infostruct.linklen
1049
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(PyObject *__pyx_v_self); /*proto*/
1050
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(PyObject *__pyx_v_self) {
1051
PyObject *__pyx_r = NULL;
1052
PyObject *__pyx_t_1 = NULL;
1053
__Pyx_SetupRefcountContext("__get__");
1055
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":84
1057
* def __get__(self):
1058
* return self.infostruct.linklen # <<<<<<<<<<<<<<
1062
__Pyx_XDECREF(__pyx_r);
1063
__pyx_t_1 = __Pyx_PyInt_FromSize_t(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self)->infostruct.linklen); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1064
__Pyx_GOTREF(__pyx_t_1);
1065
__pyx_r = __pyx_t_1;
1069
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1072
__Pyx_XDECREF(__pyx_t_1);
1073
__Pyx_AddTraceback("h5py.h5g.GroupStat.linklen.__get__");
1076
__Pyx_XGIVEREF(__pyx_r);
1077
__Pyx_FinishRefcountContext();
1081
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":86
1082
* return self.infostruct.linklen
1084
* def _hash(self): # <<<<<<<<<<<<<<
1085
* return hash((self.fileno, self.objno, self.nlink, self.type, self.mtime, self.linklen))
1089
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat__hash(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
1090
static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat__hash(PyObject *__pyx_v_self, PyObject *unused) {
1091
PyObject *__pyx_r = NULL;
1092
PyObject *__pyx_t_1 = NULL;
1093
PyObject *__pyx_t_2 = NULL;
1094
PyObject *__pyx_t_3 = NULL;
1095
PyObject *__pyx_t_4 = NULL;
1096
PyObject *__pyx_t_5 = NULL;
1097
PyObject *__pyx_t_6 = NULL;
1098
PyObject *__pyx_t_7 = NULL;
1100
__Pyx_SetupRefcountContext("_hash");
1102
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":87
1105
* return hash((self.fileno, self.objno, self.nlink, self.type, self.mtime, self.linklen)) # <<<<<<<<<<<<<<
1109
__Pyx_XDECREF(__pyx_r);
1110
__pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_fileno); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1111
__Pyx_GOTREF(__pyx_t_1);
1112
__pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_objno); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1113
__Pyx_GOTREF(__pyx_t_2);
1114
__pyx_t_3 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_nlink); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1115
__Pyx_GOTREF(__pyx_t_3);
1116
__pyx_t_4 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1117
__Pyx_GOTREF(__pyx_t_4);
1118
__pyx_t_5 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_mtime); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1119
__Pyx_GOTREF(__pyx_t_5);
1120
__pyx_t_6 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_linklen); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1121
__Pyx_GOTREF(__pyx_t_6);
1122
__pyx_t_7 = PyTuple_New(6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1123
__Pyx_GOTREF(((PyObject *)__pyx_t_7));
1124
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
1125
__Pyx_GIVEREF(__pyx_t_1);
1126
PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
1127
__Pyx_GIVEREF(__pyx_t_2);
1128
PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_3);
1129
__Pyx_GIVEREF(__pyx_t_3);
1130
PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_4);
1131
__Pyx_GIVEREF(__pyx_t_4);
1132
PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_t_5);
1133
__Pyx_GIVEREF(__pyx_t_5);
1134
PyTuple_SET_ITEM(__pyx_t_7, 5, __pyx_t_6);
1135
__Pyx_GIVEREF(__pyx_t_6);
1142
__pyx_t_8 = PyObject_Hash(((PyObject *)__pyx_t_7)); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1143
__Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
1144
__pyx_t_7 = PyInt_FromLong(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1145
__Pyx_GOTREF(__pyx_t_7);
1146
__pyx_r = __pyx_t_7;
1150
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1153
__Pyx_XDECREF(__pyx_t_1);
1154
__Pyx_XDECREF(__pyx_t_2);
1155
__Pyx_XDECREF(__pyx_t_3);
1156
__Pyx_XDECREF(__pyx_t_4);
1157
__Pyx_XDECREF(__pyx_t_5);
1158
__Pyx_XDECREF(__pyx_t_6);
1159
__Pyx_XDECREF(__pyx_t_7);
1160
__Pyx_AddTraceback("h5py.h5g.GroupStat._hash");
1163
__Pyx_XGIVEREF(__pyx_r);
1164
__Pyx_FinishRefcountContext();
1168
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":101
1171
* def __init__(self, GroupID grp not None): # <<<<<<<<<<<<<<
1176
static int __pyx_pf_4h5py_3h5g_9GroupIter___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1177
static int __pyx_pf_4h5py_3h5g_9GroupIter___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1178
struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_grp = 0;
1180
PyObject *__pyx_t_1 = NULL;
1181
PyObject *__pyx_t_2 = NULL;
1182
unsigned long __pyx_t_3;
1183
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_grp,0};
1184
__Pyx_SetupRefcountContext("__init__");
1185
if (unlikely(__pyx_kwds)) {
1186
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
1187
PyObject* values[1] = {0};
1188
switch (PyTuple_GET_SIZE(__pyx_args)) {
1189
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
1191
default: goto __pyx_L5_argtuple_error;
1193
switch (PyTuple_GET_SIZE(__pyx_args)) {
1195
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_grp);
1196
if (likely(values[0])) kw_args--;
1197
else goto __pyx_L5_argtuple_error;
1199
if (unlikely(kw_args > 0)) {
1200
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1202
__pyx_v_grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[0]);
1203
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
1204
goto __pyx_L5_argtuple_error;
1206
__pyx_v_grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)PyTuple_GET_ITEM(__pyx_args, 0));
1208
goto __pyx_L4_argument_unpacking_done;
1209
__pyx_L5_argtuple_error:;
1210
__Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1212
__Pyx_AddTraceback("h5py.h5g.GroupIter.__init__");
1214
__pyx_L4_argument_unpacking_done:;
1215
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_grp), __pyx_ptype_4h5py_3h5g_GroupID, 0, "grp", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1217
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":102
1219
* def __init__(self, GroupID grp not None):
1220
* self.idx = 0 # <<<<<<<<<<<<<<
1222
* self.nobjs = grp.get_num_objs()
1224
((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx = 0;
1226
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":103
1227
* def __init__(self, GroupID grp not None):
1229
* self.grp = grp # <<<<<<<<<<<<<<
1230
* self.nobjs = grp.get_num_objs()
1233
__Pyx_INCREF(((PyObject *)__pyx_v_grp));
1234
__Pyx_GIVEREF(((PyObject *)__pyx_v_grp));
1235
__Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp);
1236
__Pyx_DECREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp));
1237
((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp = __pyx_v_grp;
1239
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":104
1242
* self.nobjs = grp.get_num_objs() # <<<<<<<<<<<<<<
1244
* def __iter__(self):
1246
__pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_grp), __pyx_kp_get_num_objs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1247
__Pyx_GOTREF(__pyx_t_1);
1248
__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 = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1249
__Pyx_GOTREF(__pyx_t_2);
1250
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1251
__pyx_t_3 = __Pyx_PyInt_AsUnsignedLong(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1252
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1253
((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->nobjs = __pyx_t_3;
1258
__Pyx_XDECREF(__pyx_t_1);
1259
__Pyx_XDECREF(__pyx_t_2);
1260
__Pyx_AddTraceback("h5py.h5g.GroupIter.__init__");
1263
__Pyx_FinishRefcountContext();
1267
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":106
1268
* self.nobjs = grp.get_num_objs()
1270
* def __iter__(self): # <<<<<<<<<<<<<<
1275
static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter___iter__(PyObject *__pyx_v_self); /*proto*/
1276
static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter___iter__(PyObject *__pyx_v_self) {
1277
PyObject *__pyx_r = NULL;
1278
__Pyx_SetupRefcountContext("__iter__");
1280
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":107
1282
* def __iter__(self):
1283
* return self # <<<<<<<<<<<<<<
1285
* def __next__(self):
1287
__Pyx_XDECREF(__pyx_r);
1288
__Pyx_INCREF(__pyx_v_self);
1289
__pyx_r = __pyx_v_self;
1292
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1294
__Pyx_XGIVEREF(__pyx_r);
1295
__Pyx_FinishRefcountContext();
1299
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":109
1302
* def __next__(self): # <<<<<<<<<<<<<<
1303
* if self.idx == self.nobjs:
1307
static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter___next__(PyObject *__pyx_v_self); /*proto*/
1308
static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter___next__(PyObject *__pyx_v_self) {
1309
PyObject *__pyx_v_retval;
1310
PyObject *__pyx_r = NULL;
1312
PyObject *__pyx_t_2 = NULL;
1313
PyObject *__pyx_t_3 = NULL;
1314
PyObject *__pyx_t_4 = NULL;
1315
__Pyx_SetupRefcountContext("__next__");
1316
__pyx_v_retval = Py_None; __Pyx_INCREF(Py_None);
1318
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":110
1320
* def __next__(self):
1321
* if self.idx == self.nobjs: # <<<<<<<<<<<<<<
1323
* raise StopIteration
1325
__pyx_t_1 = (((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx == ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->nobjs);
1328
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":111
1329
* def __next__(self):
1330
* if self.idx == self.nobjs:
1331
* self.grp = None # <<<<<<<<<<<<<<
1332
* raise StopIteration
1335
__Pyx_INCREF(Py_None);
1336
__Pyx_GIVEREF(Py_None);
1337
__Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp);
1338
__Pyx_DECREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp));
1339
((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
1341
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":112
1342
* if self.idx == self.nobjs:
1344
* raise StopIteration # <<<<<<<<<<<<<<
1346
* retval = self.grp.get_objname_by_idx(self.idx)
1348
__Pyx_Raise(__pyx_builtin_StopIteration, 0, 0);
1349
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1354
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":114
1355
* raise StopIteration
1357
* retval = self.grp.get_objname_by_idx(self.idx) # <<<<<<<<<<<<<<
1358
* self.idx = self.idx + 1
1361
__pyx_t_2 = PyObject_GetAttr(((PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp), __pyx_kp_get_objname_by_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1362
__Pyx_GOTREF(__pyx_t_2);
1363
__pyx_t_3 = PyLong_FromUnsignedLong(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1364
__Pyx_GOTREF(__pyx_t_3);
1365
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1366
__Pyx_GOTREF(((PyObject *)__pyx_t_4));
1367
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
1368
__Pyx_GIVEREF(__pyx_t_3);
1370
__pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1371
__Pyx_GOTREF(__pyx_t_3);
1372
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1373
__Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
1374
__Pyx_DECREF(__pyx_v_retval);
1375
__pyx_v_retval = __pyx_t_3;
1378
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":115
1380
* retval = self.grp.get_objname_by_idx(self.idx)
1381
* self.idx = self.idx + 1 # <<<<<<<<<<<<<<
1385
((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx = (((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx + 1);
1387
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":116
1388
* retval = self.grp.get_objname_by_idx(self.idx)
1389
* self.idx = self.idx + 1
1390
* return retval # <<<<<<<<<<<<<<
1392
* # === Basic group management ==================================================
1394
__Pyx_XDECREF(__pyx_r);
1395
__Pyx_INCREF(__pyx_v_retval);
1396
__pyx_r = __pyx_v_retval;
1399
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1402
__Pyx_XDECREF(__pyx_t_2);
1403
__Pyx_XDECREF(__pyx_t_3);
1404
__Pyx_XDECREF(__pyx_t_4);
1405
__Pyx_AddTraceback("h5py.h5g.GroupIter.__next__");
1408
__Pyx_DECREF(__pyx_v_retval);
1409
__Pyx_XGIVEREF(__pyx_r);
1410
__Pyx_FinishRefcountContext();
1414
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":121
1417
* def open(ObjectID loc not None, char* name): # <<<<<<<<<<<<<<
1418
* """(ObjectID loc, STRING name) => GroupID
1422
static PyObject *__pyx_pf_4h5py_3h5g_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1423
static char __pyx_doc_4h5py_3h5g_open[] = "(ObjectID loc, STRING name) => GroupID\n\n Open an existing HDF5 group, attached to some other group.\n ";
1424
static PyObject *__pyx_pf_4h5py_3h5g_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1425
struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
1427
PyObject *__pyx_r = NULL;
1429
PyObject *__pyx_t_2 = NULL;
1430
PyObject *__pyx_t_3 = NULL;
1431
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_loc,&__pyx_kp_name,0};
1432
__Pyx_SetupRefcountContext("open");
1433
__pyx_self = __pyx_self;
1434
if (unlikely(__pyx_kwds)) {
1435
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
1436
PyObject* values[2] = {0,0};
1437
switch (PyTuple_GET_SIZE(__pyx_args)) {
1438
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
1439
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
1441
default: goto __pyx_L5_argtuple_error;
1443
switch (PyTuple_GET_SIZE(__pyx_args)) {
1445
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_loc);
1446
if (likely(values[0])) kw_args--;
1447
else goto __pyx_L5_argtuple_error;
1449
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name);
1450
if (likely(values[1])) kw_args--;
1452
__Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1455
if (unlikely(kw_args > 0)) {
1456
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1458
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
1459
__pyx_v_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1460
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
1461
goto __pyx_L5_argtuple_error;
1463
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
1464
__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 = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1466
goto __pyx_L4_argument_unpacking_done;
1467
__pyx_L5_argtuple_error:;
1468
__Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1470
__Pyx_AddTraceback("h5py.h5g.open");
1472
__pyx_L4_argument_unpacking_done:;
1473
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1475
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":126
1476
* Open an existing HDF5 group, attached to some other group.
1478
* return GroupID(H5Gopen(loc.id, name)) # <<<<<<<<<<<<<<
1482
__Pyx_XDECREF(__pyx_r);
1483
__pyx_t_1 = H5Gopen(__pyx_v_loc->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1484
__pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1485
__Pyx_GOTREF(__pyx_t_2);
1486
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1487
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
1488
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
1489
__Pyx_GIVEREF(__pyx_t_2);
1491
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1492
__Pyx_GOTREF(__pyx_t_2);
1493
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
1494
__pyx_r = __pyx_t_2;
1498
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1501
__Pyx_XDECREF(__pyx_t_2);
1502
__Pyx_XDECREF(__pyx_t_3);
1503
__Pyx_AddTraceback("h5py.h5g.open");
1506
__Pyx_XGIVEREF(__pyx_r);
1507
__Pyx_FinishRefcountContext();
1511
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":142
1514
* def create(ObjectID loc not None, char* name): # <<<<<<<<<<<<<<
1515
* """(ObjectID loc, STRING name) => GroupID
1519
static PyObject *__pyx_pf_4h5py_3h5g_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1520
static char __pyx_doc_4h5py_3h5g_create[] = "(ObjectID loc, STRING name) => GroupID\n\n Create a new group, under a given parent group.\n ";
1521
static PyObject *__pyx_pf_4h5py_3h5g_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1522
struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
1524
PyObject *__pyx_r = NULL;
1526
PyObject *__pyx_t_2 = NULL;
1527
PyObject *__pyx_t_3 = NULL;
1528
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_loc,&__pyx_kp_name,0};
1529
__Pyx_SetupRefcountContext("create");
1530
__pyx_self = __pyx_self;
1531
if (unlikely(__pyx_kwds)) {
1532
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
1533
PyObject* values[2] = {0,0};
1534
switch (PyTuple_GET_SIZE(__pyx_args)) {
1535
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
1536
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
1538
default: goto __pyx_L5_argtuple_error;
1540
switch (PyTuple_GET_SIZE(__pyx_args)) {
1542
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_loc);
1543
if (likely(values[0])) kw_args--;
1544
else goto __pyx_L5_argtuple_error;
1546
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name);
1547
if (likely(values[1])) kw_args--;
1549
__Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1552
if (unlikely(kw_args > 0)) {
1553
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1555
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
1556
__pyx_v_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1557
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
1558
goto __pyx_L5_argtuple_error;
1560
__pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
1561
__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 = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1563
goto __pyx_L4_argument_unpacking_done;
1564
__pyx_L5_argtuple_error:;
1565
__Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1567
__Pyx_AddTraceback("h5py.h5g.create");
1569
__pyx_L4_argument_unpacking_done:;
1570
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1572
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":147
1573
* Create a new group, under a given parent group.
1575
* return GroupID(H5Gcreate(loc.id, name, -1)) # <<<<<<<<<<<<<<
1577
* cdef class _GroupVisitor:
1579
__Pyx_XDECREF(__pyx_r);
1580
__pyx_t_1 = H5Gcreate(__pyx_v_loc->id, __pyx_v_name, -1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1581
__pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1582
__Pyx_GOTREF(__pyx_t_2);
1583
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1584
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
1585
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
1586
__Pyx_GIVEREF(__pyx_t_2);
1588
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1589
__Pyx_GOTREF(__pyx_t_2);
1590
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
1591
__pyx_r = __pyx_t_2;
1595
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1598
__Pyx_XDECREF(__pyx_t_2);
1599
__Pyx_XDECREF(__pyx_t_3);
1600
__Pyx_AddTraceback("h5py.h5g.create");
1603
__Pyx_XGIVEREF(__pyx_r);
1604
__Pyx_FinishRefcountContext();
1608
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":154
1609
* cdef object retval
1611
* def __init__(self, func): # <<<<<<<<<<<<<<
1613
* self.retval = None
1616
static int __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1617
static int __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1618
PyObject *__pyx_v_func = 0;
1620
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_func,0};
1621
__Pyx_SetupRefcountContext("__init__");
1622
if (unlikely(__pyx_kwds)) {
1623
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
1624
PyObject* values[1] = {0};
1625
switch (PyTuple_GET_SIZE(__pyx_args)) {
1626
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
1628
default: goto __pyx_L5_argtuple_error;
1630
switch (PyTuple_GET_SIZE(__pyx_args)) {
1632
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_func);
1633
if (likely(values[0])) kw_args--;
1634
else goto __pyx_L5_argtuple_error;
1636
if (unlikely(kw_args > 0)) {
1637
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1639
__pyx_v_func = values[0];
1640
} else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
1641
goto __pyx_L5_argtuple_error;
1643
__pyx_v_func = PyTuple_GET_ITEM(__pyx_args, 0);
1645
goto __pyx_L4_argument_unpacking_done;
1646
__pyx_L5_argtuple_error:;
1647
__Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1649
__Pyx_AddTraceback("h5py.h5g._GroupVisitor.__init__");
1651
__pyx_L4_argument_unpacking_done:;
1653
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":155
1655
* def __init__(self, func):
1656
* self.func = func # <<<<<<<<<<<<<<
1657
* self.retval = None
1660
__Pyx_INCREF(__pyx_v_func);
1661
__Pyx_GIVEREF(__pyx_v_func);
1662
__Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->func);
1663
__Pyx_DECREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->func);
1664
((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->func = __pyx_v_func;
1666
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":156
1667
* def __init__(self, func):
1669
* self.retval = None # <<<<<<<<<<<<<<
1671
* cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2:
1673
__Pyx_INCREF(Py_None);
1674
__Pyx_GIVEREF(Py_None);
1675
__Pyx_GOTREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->retval);
1676
__Pyx_DECREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->retval);
1677
((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->retval = Py_None;
1680
__Pyx_FinishRefcountContext();
1684
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":158
1685
* self.retval = None
1687
* cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2: # <<<<<<<<<<<<<<
1689
* cdef _GroupVisitor vis = <_GroupVisitor>vis_in
1692
static herr_t __pyx_f_4h5py_3h5g_cb_group_iter(hid_t __pyx_v_gid, char *__pyx_v_name, void *__pyx_v_vis_in) {
1693
struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_vis = 0;
1695
PyObject *__pyx_t_1 = NULL;
1696
PyObject *__pyx_t_2 = NULL;
1698
__Pyx_SetupRefcountContext("cb_group_iter");
1700
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":160
1701
* cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2:
1703
* cdef _GroupVisitor vis = <_GroupVisitor>vis_in # <<<<<<<<<<<<<<
1705
* vis.retval = vis.func(name)
1707
__Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_vis_in)));
1708
__pyx_v_vis = ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_vis_in);
1710
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":162
1711
* cdef _GroupVisitor vis = <_GroupVisitor>vis_in
1713
* vis.retval = vis.func(name) # <<<<<<<<<<<<<<
1715
* if vis.retval is not None:
1717
__pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1718
__Pyx_GOTREF(__pyx_t_1);
1719
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1720
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
1721
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
1722
__Pyx_GIVEREF(__pyx_t_1);
1724
__pyx_t_1 = PyObject_Call(__pyx_v_vis->func, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1725
__Pyx_GOTREF(__pyx_t_1);
1726
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
1727
__Pyx_GIVEREF(__pyx_t_1);
1728
__Pyx_GOTREF(__pyx_v_vis->retval);
1729
__Pyx_DECREF(__pyx_v_vis->retval);
1730
__pyx_v_vis->retval = __pyx_t_1;
1733
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":164
1734
* vis.retval = vis.func(name)
1736
* if vis.retval is not None: # <<<<<<<<<<<<<<
1740
__pyx_t_3 = (__pyx_v_vis->retval != Py_None);
1743
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":165
1745
* if vis.retval is not None:
1746
* return 1 # <<<<<<<<<<<<<<
1756
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":166
1757
* if vis.retval is not None:
1759
* return 0 # <<<<<<<<<<<<<<
1769
__Pyx_XDECREF(__pyx_t_1);
1770
__Pyx_XDECREF(__pyx_t_2);
1771
__Pyx_AddTraceback("h5py.h5g.cb_group_iter");
1774
__Pyx_XDECREF((PyObject *)__pyx_v_vis);
1775
__Pyx_FinishRefcountContext();
1779
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":169
1782
* def iterate(GroupID loc not None, object func, int startidx=0, *, # <<<<<<<<<<<<<<
1783
* char* obj_name='.'):
1784
* """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)
1787
static PyObject *__pyx_pf_4h5py_3h5g_iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1788
static char __pyx_doc_4h5py_3h5g_iterate[] = " (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)\n => Return value from func\n\n Iterate a callable (function, method or callable object) over the\n members of a group. Your callable should have the signature::\n\n func(STRING name) => Result\n\n Returning None continues iteration; returning anything else aborts\n iteration and returns that value. Keywords:\n\n STRING obj_name (\".\")\n Iterate over this subgroup instead\n ";
1789
static PyObject *__pyx_pf_4h5py_3h5g_iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1790
struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc = 0;
1791
PyObject *__pyx_v_func = 0;
1792
int __pyx_v_startidx;
1793
char *__pyx_v_obj_name;
1795
struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_vis = 0;
1796
PyObject *__pyx_r = NULL;
1798
PyObject *__pyx_t_2 = NULL;
1799
PyObject *__pyx_t_3 = NULL;
1801
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_loc,&__pyx_kp_func,&__pyx_kp_startidx,&__pyx_kp_obj_name,0};
1802
__Pyx_SetupRefcountContext("iterate");
1803
__pyx_self = __pyx_self;
1804
if (unlikely(__pyx_kwds)) {
1805
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
1806
PyObject* values[4] = {0,0,0,0};
1807
switch (PyTuple_GET_SIZE(__pyx_args)) {
1808
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
1809
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
1810
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
1812
default: goto __pyx_L5_argtuple_error;
1814
switch (PyTuple_GET_SIZE(__pyx_args)) {
1816
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_loc);
1817
if (likely(values[0])) kw_args--;
1818
else goto __pyx_L5_argtuple_error;
1820
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_func);
1821
if (likely(values[1])) kw_args--;
1823
__Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1827
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_startidx);
1828
if (unlikely(value)) { values[2] = value; kw_args--; }
1831
while (kw_args > 0) {
1833
value = PyDict_GetItem(__pyx_kwds, __pyx_kp_obj_name);
1834
if (value) { values[3] = value; if (!(--kw_args)) break; }
1837
if (unlikely(kw_args > 0)) {
1838
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1840
__pyx_v_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[0]);
1841
__pyx_v_func = values[1];
1843
__pyx_v_startidx = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_startidx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1845
__pyx_v_startidx = 0;
1848
__pyx_v_obj_name = __Pyx_PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1850
__pyx_v_obj_name = __pyx_k_95;
1853
__pyx_v_startidx = 0;
1854
__pyx_v_obj_name = __pyx_k_95;
1855
switch (PyTuple_GET_SIZE(__pyx_args)) {
1857
__pyx_v_startidx = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_startidx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1859
__pyx_v_func = PyTuple_GET_ITEM(__pyx_args, 1);
1860
__pyx_v_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)PyTuple_GET_ITEM(__pyx_args, 0));
1862
default: goto __pyx_L5_argtuple_error;
1865
goto __pyx_L4_argument_unpacking_done;
1866
__pyx_L5_argtuple_error:;
1867
__Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
1869
__Pyx_AddTraceback("h5py.h5g.iterate");
1871
__pyx_L4_argument_unpacking_done:;
1872
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_3h5g_GroupID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1874
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":185
1875
* Iterate over this subgroup instead
1877
* if startidx < 0: # <<<<<<<<<<<<<<
1878
* raise ValueError("Starting index must be non-negative")
1881
__pyx_t_1 = (__pyx_v_startidx < 0);
1884
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":186
1887
* raise ValueError("Starting index must be non-negative") # <<<<<<<<<<<<<<
1889
* cdef int i = startidx
1891
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1892
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
1893
__Pyx_INCREF(__pyx_kp_98);
1894
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_98);
1895
__Pyx_GIVEREF(__pyx_kp_98);
1896
__pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1897
__Pyx_GOTREF(__pyx_t_3);
1898
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
1899
__Pyx_Raise(__pyx_t_3, 0, 0);
1900
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1901
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1906
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":188
1907
* raise ValueError("Starting index must be non-negative")
1909
* cdef int i = startidx # <<<<<<<<<<<<<<
1910
* cdef _GroupVisitor vis = _GroupVisitor(func)
1913
__pyx_v_i = __pyx_v_startidx;
1915
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":189
1917
* cdef int i = startidx
1918
* cdef _GroupVisitor vis = _GroupVisitor(func) # <<<<<<<<<<<<<<
1920
* H5Giterate(loc.id, obj_name, &i, <H5G_iterate_t>cb_group_iter, <void*>vis)
1922
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1923
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
1924
__Pyx_INCREF(__pyx_v_func);
1925
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_func);
1926
__Pyx_GIVEREF(__pyx_v_func);
1927
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g__GroupVisitor)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1928
__Pyx_GOTREF(__pyx_t_2);
1929
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
1930
if (!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5g__GroupVisitor))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1931
__pyx_v_vis = ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_t_2);
1934
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":191
1935
* cdef _GroupVisitor vis = _GroupVisitor(func)
1937
* H5Giterate(loc.id, obj_name, &i, <H5G_iterate_t>cb_group_iter, <void*>vis) # <<<<<<<<<<<<<<
1941
__pyx_t_4 = H5Giterate(__pyx_v_loc->__pyx_base.id, __pyx_v_obj_name, (&__pyx_v_i), ((herr_t (*)(hid_t, char *, void *))__pyx_f_4h5py_3h5g_cb_group_iter), ((void *)__pyx_v_vis)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1943
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":193
1944
* H5Giterate(loc.id, obj_name, &i, <H5G_iterate_t>cb_group_iter, <void*>vis)
1946
* return vis.retval # <<<<<<<<<<<<<<
1950
__Pyx_XDECREF(__pyx_r);
1951
__Pyx_INCREF(__pyx_v_vis->retval);
1952
__pyx_r = __pyx_v_vis->retval;
1955
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
1958
__Pyx_XDECREF(__pyx_t_2);
1959
__Pyx_XDECREF(__pyx_t_3);
1960
__Pyx_AddTraceback("h5py.h5g.iterate");
1963
__Pyx_XDECREF((PyObject *)__pyx_v_vis);
1964
__Pyx_XGIVEREF(__pyx_r);
1965
__Pyx_FinishRefcountContext();
1969
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":196
1972
* def get_objinfo(ObjectID obj not None, object name='.', int follow_link=1): # <<<<<<<<<<<<<<
1973
* """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object
1977
static PyObject *__pyx_pf_4h5py_3h5g_get_objinfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1978
static char __pyx_doc_4h5py_3h5g_get_objinfo[] = "(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object\n\n Obtain information about a named object. If \"name\" is provided,\n \"obj\" is taken to be a GroupID object containing the target.\n The return value is a GroupStat object; see that class's docstring\n for a description of its attributes. \n\n If follow_link is True (default) and the object is a symbolic link, \n the information returned describes its target. Otherwise the \n information describes the link itself.\n ";
1979
static PyObject *__pyx_pf_4h5py_3h5g_get_objinfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1980
struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_obj = 0;
1981
PyObject *__pyx_v_name = 0;
1982
int __pyx_v_follow_link;
1983
struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_statobj;
1984
char *__pyx_v__name;
1985
PyObject *__pyx_r = NULL;
1986
PyObject *__pyx_t_1 = NULL;
1989
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_obj,&__pyx_kp_name,&__pyx_kp_follow_link,0};
1990
__Pyx_SetupRefcountContext("get_objinfo");
1991
__pyx_self = __pyx_self;
1992
if (unlikely(__pyx_kwds)) {
1993
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
1994
PyObject* values[3] = {0,0,0};
1995
values[1] = __pyx_kp_96;
1996
switch (PyTuple_GET_SIZE(__pyx_args)) {
1997
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
1998
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
1999
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2001
default: goto __pyx_L5_argtuple_error;
2003
switch (PyTuple_GET_SIZE(__pyx_args)) {
2005
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_obj);
2006
if (likely(values[0])) kw_args--;
2007
else goto __pyx_L5_argtuple_error;
2010
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_name);
2011
if (unlikely(value)) { values[1] = value; kw_args--; }
2015
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_follow_link);
2016
if (unlikely(value)) { values[2] = value; kw_args--; }
2019
if (unlikely(kw_args > 0)) {
2020
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "get_objinfo") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2022
__pyx_v_obj = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
2023
__pyx_v_name = values[1];
2025
__pyx_v_follow_link = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_follow_link == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2027
__pyx_v_follow_link = 1;
2030
__pyx_v_name = __pyx_kp_96;
2031
__pyx_v_follow_link = 1;
2032
switch (PyTuple_GET_SIZE(__pyx_args)) {
2033
case 3: __pyx_v_follow_link = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_follow_link == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2034
case 2: __pyx_v_name = PyTuple_GET_ITEM(__pyx_args, 1);
2035
case 1: __pyx_v_obj = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
2037
default: goto __pyx_L5_argtuple_error;
2040
goto __pyx_L4_argument_unpacking_done;
2041
__pyx_L5_argtuple_error:;
2042
__Pyx_RaiseArgtupleInvalid("get_objinfo", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2044
__Pyx_AddTraceback("h5py.h5g.get_objinfo");
2046
__pyx_L4_argument_unpacking_done:;
2047
__pyx_v_statobj = ((struct __pyx_obj_4h5py_3h5g_GroupStat *)Py_None); __Pyx_INCREF(Py_None);
2048
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_2h5_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2050
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":209
2052
* cdef GroupStat statobj
2053
* statobj = GroupStat() # <<<<<<<<<<<<<<
2057
__pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupStat)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2058
__Pyx_GOTREF(__pyx_t_1);
2059
if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5g_GroupStat))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2060
__Pyx_DECREF(((PyObject *)__pyx_v_statobj));
2061
__pyx_v_statobj = ((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_t_1);
2064
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":211
2065
* statobj = GroupStat()
2067
* _name = name # <<<<<<<<<<<<<<
2069
* H5Gget_objinfo(obj.id, _name, follow_link, &statobj.infostruct)
2071
__pyx_t_2 = __Pyx_PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2072
__pyx_v__name = __pyx_t_2;
2074
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":213
2077
* H5Gget_objinfo(obj.id, _name, follow_link, &statobj.infostruct) # <<<<<<<<<<<<<<
2081
__pyx_t_3 = H5Gget_objinfo(__pyx_v_obj->id, __pyx_v__name, __pyx_v_follow_link, (&__pyx_v_statobj->infostruct)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2083
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":215
2084
* H5Gget_objinfo(obj.id, _name, follow_link, &statobj.infostruct)
2086
* return statobj # <<<<<<<<<<<<<<
2088
* # === Group member management =================================================
2090
__Pyx_XDECREF(__pyx_r);
2091
__Pyx_INCREF(((PyObject *)__pyx_v_statobj));
2092
__pyx_r = ((PyObject *)__pyx_v_statobj);
2095
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2098
__Pyx_XDECREF(__pyx_t_1);
2099
__Pyx_AddTraceback("h5py.h5g.get_objinfo");
2102
__Pyx_DECREF((PyObject *)__pyx_v_statobj);
2103
__Pyx_XGIVEREF(__pyx_r);
2104
__Pyx_FinishRefcountContext();
2108
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":248
2111
* def _close(self): # <<<<<<<<<<<<<<
2116
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID__close(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
2117
static char __pyx_doc_4h5py_3h5g_7GroupID__close[] = "()\n\n Terminate access through this identifier. You shouldn't have to\n call this manually; group identifiers are automatically released\n when their Python wrappers are freed.\n ";
2118
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID__close(PyObject *__pyx_v_self, PyObject *unused) {
2119
PyObject *__pyx_r = NULL;
2121
__Pyx_SetupRefcountContext("_close");
2123
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":255
2124
* when their Python wrappers are freed.
2126
* H5Gclose(self.id) # <<<<<<<<<<<<<<
2130
__pyx_t_1 = H5Gclose(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2132
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2135
__Pyx_AddTraceback("h5py.h5g.GroupID._close");
2138
__Pyx_XGIVEREF(__pyx_r);
2139
__Pyx_FinishRefcountContext();
2143
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":258
2146
* def link(self, char* current_name, char* new_name, # <<<<<<<<<<<<<<
2147
* int link_type=H5G_LINK_HARD, GroupID remote=None):
2148
* """(STRING current_name, STRING new_name, INT link_type=LINK_HARD,
2151
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_link(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2152
static char __pyx_doc_4h5py_3h5g_7GroupID_link[] = "(STRING current_name, STRING new_name, INT link_type=LINK_HARD, \n GroupID remote=None)\n\n Create a new hard or soft link. current_name identifies\n the link target (object the link will point to). The new link is\n identified by new_name and (optionally) another group \"remote\".\n\n Link types are:\n\n LINK_HARD\n Hard link to existing object (default)\n\n LINK_SOFT\n Symbolic link; link target need not exist.\n ";
2153
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_link(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2154
char *__pyx_v_current_name;
2155
char *__pyx_v_new_name;
2156
int __pyx_v_link_type;
2157
struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote = 0;
2158
hid_t __pyx_v_remote_id;
2159
PyObject *__pyx_r = NULL;
2162
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_current_name,&__pyx_kp_new_name,&__pyx_kp_link_type,&__pyx_kp_remote,0};
2163
__Pyx_SetupRefcountContext("link");
2164
if (unlikely(__pyx_kwds)) {
2165
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
2166
PyObject* values[4] = {0,0,0,0};
2167
values[3] = (PyObject*)((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
2168
switch (PyTuple_GET_SIZE(__pyx_args)) {
2169
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
2170
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
2171
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
2172
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2174
default: goto __pyx_L5_argtuple_error;
2176
switch (PyTuple_GET_SIZE(__pyx_args)) {
2178
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_current_name);
2179
if (likely(values[0])) kw_args--;
2180
else goto __pyx_L5_argtuple_error;
2182
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_new_name);
2183
if (likely(values[1])) kw_args--;
2185
__Pyx_RaiseArgtupleInvalid("link", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2189
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_link_type);
2190
if (unlikely(value)) { values[2] = value; kw_args--; }
2194
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_remote);
2195
if (unlikely(value)) { values[3] = value; kw_args--; }
2198
if (unlikely(kw_args > 0)) {
2199
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "link") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2201
__pyx_v_current_name = __Pyx_PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2202
__pyx_v_new_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2204
__pyx_v_link_type = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_link_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2206
__pyx_v_link_type = __pyx_k_97;
2208
__pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[3]);
2210
__pyx_v_link_type = __pyx_k_97;
2211
__pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
2212
switch (PyTuple_GET_SIZE(__pyx_args)) {
2214
__pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)PyTuple_GET_ITEM(__pyx_args, 3));
2216
__pyx_v_link_type = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_link_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2218
__pyx_v_new_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2219
__pyx_v_current_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2221
default: goto __pyx_L5_argtuple_error;
2224
goto __pyx_L4_argument_unpacking_done;
2225
__pyx_L5_argtuple_error:;
2226
__Pyx_RaiseArgtupleInvalid("link", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2228
__Pyx_AddTraceback("h5py.h5g.GroupID.link");
2230
__pyx_L4_argument_unpacking_done:;
2231
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_remote), __pyx_ptype_4h5py_3h5g_GroupID, 1, "remote", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2233
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":276
2235
* cdef hid_t remote_id
2236
* if remote is None: # <<<<<<<<<<<<<<
2237
* remote_id = self.id
2240
__pyx_t_1 = (((PyObject *)__pyx_v_remote) == Py_None);
2243
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":277
2244
* cdef hid_t remote_id
2245
* if remote is None:
2246
* remote_id = self.id # <<<<<<<<<<<<<<
2248
* remote_id = remote.id
2250
__pyx_v_remote_id = ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id;
2255
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":279
2256
* remote_id = self.id
2258
* remote_id = remote.id # <<<<<<<<<<<<<<
2260
* H5Glink2(self.id, current_name, <H5G_link_t>link_type, remote_id, new_name)
2262
__pyx_v_remote_id = __pyx_v_remote->__pyx_base.id;
2266
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":281
2267
* remote_id = remote.id
2269
* H5Glink2(self.id, current_name, <H5G_link_t>link_type, remote_id, new_name) # <<<<<<<<<<<<<<
2273
__pyx_t_2 = H5Glink2(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_current_name, ((H5G_link_t)__pyx_v_link_type), __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2275
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2278
__Pyx_AddTraceback("h5py.h5g.GroupID.link");
2281
__Pyx_XGIVEREF(__pyx_r);
2282
__Pyx_FinishRefcountContext();
2286
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":285
2289
* def unlink(self, char* name): # <<<<<<<<<<<<<<
2294
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
2295
static char __pyx_doc_4h5py_3h5g_7GroupID_unlink[] = "(STRING name)\n\n Remove a link to an object from this group.\n ";
2296
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
2298
PyObject *__pyx_r = NULL;
2300
__Pyx_SetupRefcountContext("unlink");
2301
assert(__pyx_arg_name); {
2302
__pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2304
goto __pyx_L4_argument_unpacking_done;
2306
__Pyx_AddTraceback("h5py.h5g.GroupID.unlink");
2308
__pyx_L4_argument_unpacking_done:;
2310
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":290
2311
* Remove a link to an object from this group.
2313
* H5Gunlink(self.id, name) # <<<<<<<<<<<<<<
2317
__pyx_t_1 = H5Gunlink(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2319
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2322
__Pyx_AddTraceback("h5py.h5g.GroupID.unlink");
2325
__Pyx_XGIVEREF(__pyx_r);
2326
__Pyx_FinishRefcountContext();
2330
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":294
2333
* def move(self, char* current_name, char* new_name, GroupID remote=None): # <<<<<<<<<<<<<<
2334
* """(STRING current_name, STRING new_name, GroupID remote=None)
2338
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2339
static char __pyx_doc_4h5py_3h5g_7GroupID_move[] = "(STRING current_name, STRING new_name, GroupID remote=None)\n\n Relink an object. current_name identifies the object.\n new_name and (optionally) another group \"remote\" determine\n where it should be moved.\n ";
2340
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2341
char *__pyx_v_current_name;
2342
char *__pyx_v_new_name;
2343
struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote = 0;
2344
hid_t __pyx_v_remote_id;
2345
PyObject *__pyx_r = NULL;
2348
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_current_name,&__pyx_kp_new_name,&__pyx_kp_remote,0};
2349
__Pyx_SetupRefcountContext("move");
2350
if (unlikely(__pyx_kwds)) {
2351
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
2352
PyObject* values[3] = {0,0,0};
2353
values[2] = (PyObject*)((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
2354
switch (PyTuple_GET_SIZE(__pyx_args)) {
2355
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
2356
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
2357
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2359
default: goto __pyx_L5_argtuple_error;
2361
switch (PyTuple_GET_SIZE(__pyx_args)) {
2363
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_current_name);
2364
if (likely(values[0])) kw_args--;
2365
else goto __pyx_L5_argtuple_error;
2367
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_new_name);
2368
if (likely(values[1])) kw_args--;
2370
__Pyx_RaiseArgtupleInvalid("move", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2374
PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_remote);
2375
if (unlikely(value)) { values[2] = value; kw_args--; }
2378
if (unlikely(kw_args > 0)) {
2379
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "move") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2381
__pyx_v_current_name = __Pyx_PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2382
__pyx_v_new_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2383
__pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[2]);
2385
__pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
2386
switch (PyTuple_GET_SIZE(__pyx_args)) {
2388
__pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)PyTuple_GET_ITEM(__pyx_args, 2));
2390
__pyx_v_new_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2391
__pyx_v_current_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2393
default: goto __pyx_L5_argtuple_error;
2396
goto __pyx_L4_argument_unpacking_done;
2397
__pyx_L5_argtuple_error:;
2398
__Pyx_RaiseArgtupleInvalid("move", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2400
__Pyx_AddTraceback("h5py.h5g.GroupID.move");
2402
__pyx_L4_argument_unpacking_done:;
2403
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_remote), __pyx_ptype_4h5py_3h5g_GroupID, 1, "remote", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2405
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":302
2407
* cdef hid_t remote_id
2408
* if remote is None: # <<<<<<<<<<<<<<
2409
* remote_id = self.id
2412
__pyx_t_1 = (((PyObject *)__pyx_v_remote) == Py_None);
2415
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":303
2416
* cdef hid_t remote_id
2417
* if remote is None:
2418
* remote_id = self.id # <<<<<<<<<<<<<<
2420
* remote_id = remote.id
2422
__pyx_v_remote_id = ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id;
2427
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":305
2428
* remote_id = self.id
2430
* remote_id = remote.id # <<<<<<<<<<<<<<
2432
* H5Gmove2(self.id, current_name, remote_id, new_name)
2434
__pyx_v_remote_id = __pyx_v_remote->__pyx_base.id;
2438
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":307
2439
* remote_id = remote.id
2441
* H5Gmove2(self.id, current_name, remote_id, new_name) # <<<<<<<<<<<<<<
2445
__pyx_t_2 = H5Gmove2(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_current_name, __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2447
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2450
__Pyx_AddTraceback("h5py.h5g.GroupID.move");
2453
__Pyx_XGIVEREF(__pyx_r);
2454
__Pyx_FinishRefcountContext();
2458
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":311
2461
* def get_num_objs(self): # <<<<<<<<<<<<<<
2462
* """() => INT number_of_objects
2466
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_num_objs(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
2467
static char __pyx_doc_4h5py_3h5g_7GroupID_get_num_objs[] = "() => INT number_of_objects\n\n Get the number of objects directly attached to a given group.\n ";
2468
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_num_objs(PyObject *__pyx_v_self, PyObject *unused) {
2469
hsize_t __pyx_v_size;
2470
PyObject *__pyx_r = NULL;
2472
PyObject *__pyx_t_2 = NULL;
2473
__Pyx_SetupRefcountContext("get_num_objs");
2475
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":317
2478
* H5Gget_num_objs(self.id, &size) # <<<<<<<<<<<<<<
2482
__pyx_t_1 = H5Gget_num_objs(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2484
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":318
2486
* H5Gget_num_objs(self.id, &size)
2487
* return size # <<<<<<<<<<<<<<
2491
__Pyx_XDECREF(__pyx_r);
2492
__pyx_t_2 = PyLong_FromLongLong(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2493
__Pyx_GOTREF(__pyx_t_2);
2494
__pyx_r = __pyx_t_2;
2498
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2501
__Pyx_XDECREF(__pyx_t_2);
2502
__Pyx_AddTraceback("h5py.h5g.GroupID.get_num_objs");
2505
__Pyx_XGIVEREF(__pyx_r);
2506
__Pyx_FinishRefcountContext();
2510
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":322
2513
* def get_objname_by_idx(self, hsize_t idx): # <<<<<<<<<<<<<<
2514
* """(INT idx) => STRING
2518
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_objname_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/
2519
static char __pyx_doc_4h5py_3h5g_7GroupID_get_objname_by_idx[] = "(INT idx) => STRING\n\n Get the name of a group member given its zero-based index.\n\n Due to a limitation of the HDF5 library, the generic exception\n H5Error is raised if the idx parameter is out-of-range.\n ";
2520
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_objname_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) {
2521
hsize_t __pyx_v_idx;
2524
PyObject *__pyx_v_pystring;
2525
PyObject *__pyx_r = NULL;
2526
PyObject *__pyx_1 = 0;
2529
PyObject *__pyx_t_3 = NULL;
2530
PyObject *__pyx_t_4 = NULL;
2532
__Pyx_SetupRefcountContext("get_objname_by_idx");
2533
assert(__pyx_arg_idx); {
2534
__pyx_v_idx = __Pyx_PyInt_AsLongLong(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2536
goto __pyx_L4_argument_unpacking_done;
2538
__Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx");
2540
__pyx_L4_argument_unpacking_done:;
2541
__pyx_v_pystring = Py_None; __Pyx_INCREF(Py_None);
2543
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":332
2546
* buf = NULL # <<<<<<<<<<<<<<
2548
* # This function does not properly raise an exception
2552
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":335
2554
* # This function does not properly raise an exception
2555
* size = H5Gget_objname_by_idx(self.id, idx, NULL, 0) # <<<<<<<<<<<<<<
2557
* raise H5Error("Invalid index")
2559
__pyx_t_1 = H5Gget_objname_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_idx, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2560
__pyx_v_size = __pyx_t_1;
2562
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":336
2563
* # This function does not properly raise an exception
2564
* size = H5Gget_objname_by_idx(self.id, idx, NULL, 0)
2565
* if size < 0: # <<<<<<<<<<<<<<
2566
* raise H5Error("Invalid index")
2569
__pyx_t_2 = (__pyx_v_size < 0);
2572
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":337
2573
* size = H5Gget_objname_by_idx(self.id, idx, NULL, 0)
2575
* raise H5Error("Invalid index") # <<<<<<<<<<<<<<
2577
* buf = <char*>emalloc(sizeof(char)*(size+1))
2579
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_94); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2580
__Pyx_GOTREF(__pyx_1);
2581
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2582
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
2583
__Pyx_INCREF(__pyx_kp_99);
2584
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_99);
2585
__Pyx_GIVEREF(__pyx_kp_99);
2586
__pyx_t_4 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2587
__Pyx_GOTREF(__pyx_t_4);
2588
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2589
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
2590
__Pyx_Raise(__pyx_t_4, 0, 0);
2591
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2592
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2597
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":339
2598
* raise H5Error("Invalid index")
2600
* buf = <char*>emalloc(sizeof(char)*(size+1)) # <<<<<<<<<<<<<<
2602
* H5Gget_objname_by_idx(self.id, idx, buf, size+1)
2604
__pyx_t_5 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_size + 1))); if (unlikely(__pyx_t_5 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2605
__pyx_v_buf = ((char *)__pyx_t_5);
2607
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":340
2609
* buf = <char*>emalloc(sizeof(char)*(size+1))
2610
* try: # <<<<<<<<<<<<<<
2611
* H5Gget_objname_by_idx(self.id, idx, buf, size+1)
2616
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":341
2617
* buf = <char*>emalloc(sizeof(char)*(size+1))
2619
* H5Gget_objname_by_idx(self.id, idx, buf, size+1) # <<<<<<<<<<<<<<
2623
__pyx_t_1 = H5Gget_objname_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_idx, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L7;}
2625
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":342
2627
* H5Gget_objname_by_idx(self.id, idx, buf, size+1)
2628
* pystring = buf # <<<<<<<<<<<<<<
2632
__pyx_t_4 = __Pyx_PyBytes_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L7;}
2633
__Pyx_GOTREF(__pyx_t_4);
2634
__Pyx_DECREF(__pyx_v_pystring);
2635
__pyx_v_pystring = __pyx_t_4;
2638
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":343
2639
* H5Gget_objname_by_idx(self.id, idx, buf, size+1)
2641
* return pystring # <<<<<<<<<<<<<<
2645
__Pyx_XDECREF(__pyx_r);
2646
__Pyx_INCREF(__pyx_v_pystring);
2647
__pyx_r = __pyx_v_pystring;
2652
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
2653
int __pyx_exc_lineno;
2654
__pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
2655
__pyx_why = 0; goto __pyx_L8;
2656
__pyx_L6: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
2657
__pyx_why = 3; goto __pyx_L8;
2660
__Pyx_XDECREF(__pyx_1); __pyx_1 = 0;
2661
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2662
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
2663
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
2664
__pyx_exc_lineno = __pyx_lineno;
2669
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":345
2672
* efree(buf) # <<<<<<<<<<<<<<
2676
__pyx_f_4h5py_5utils_efree(__pyx_v_buf);
2677
switch (__pyx_why) {
2678
case 3: goto __pyx_L0;
2680
__Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
2681
__pyx_lineno = __pyx_exc_lineno;
2683
__pyx_exc_value = 0;
2685
goto __pyx_L1_error;
2690
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2693
__Pyx_XDECREF(__pyx_1);
2694
__Pyx_XDECREF(__pyx_t_3);
2695
__Pyx_XDECREF(__pyx_t_4);
2696
__Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx");
2699
__Pyx_DECREF(__pyx_v_pystring);
2700
__Pyx_XGIVEREF(__pyx_r);
2701
__Pyx_FinishRefcountContext();
2705
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":349
2708
* def get_objtype_by_idx(self, hsize_t idx): # <<<<<<<<<<<<<<
2709
* """(INT idx) => INT object_type_code
2713
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_objtype_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/
2714
static char __pyx_doc_4h5py_3h5g_7GroupID_get_objtype_by_idx[] = "(INT idx) => INT object_type_code\n\n Get the type of an object attached to a group, given its zero-based\n index. Possible return values are:\n\n - LINK\n - GROUP\n - DATASET\n - TYPE\n\n Due to a limitation of the HDF5 library, the generic exception\n H5Error is raised if the idx parameter is out-of-range.\n ";
2715
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_objtype_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) {
2716
hsize_t __pyx_v_idx;
2717
herr_t __pyx_v_retval;
2718
PyObject *__pyx_r = NULL;
2719
PyObject *__pyx_1 = 0;
2722
PyObject *__pyx_t_3 = NULL;
2723
PyObject *__pyx_t_4 = NULL;
2724
__Pyx_SetupRefcountContext("get_objtype_by_idx");
2725
assert(__pyx_arg_idx); {
2726
__pyx_v_idx = __Pyx_PyInt_AsLongLong(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2728
goto __pyx_L4_argument_unpacking_done;
2730
__Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx");
2732
__pyx_L4_argument_unpacking_done:;
2734
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":365
2735
* # This function does not properly raise an exception
2736
* cdef herr_t retval
2737
* retval = H5Gget_objtype_by_idx(self.id, idx) # <<<<<<<<<<<<<<
2739
* raise H5Error("Invalid index")
2741
__pyx_t_1 = H5Gget_objtype_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2742
__pyx_v_retval = __pyx_t_1;
2744
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":366
2745
* cdef herr_t retval
2746
* retval = H5Gget_objtype_by_idx(self.id, idx)
2747
* if retval < 0: # <<<<<<<<<<<<<<
2748
* raise H5Error("Invalid index")
2751
__pyx_t_2 = (__pyx_v_retval < 0);
2754
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":367
2755
* retval = H5Gget_objtype_by_idx(self.id, idx)
2757
* raise H5Error("Invalid index") # <<<<<<<<<<<<<<
2761
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_94); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2762
__Pyx_GOTREF(__pyx_1);
2763
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2764
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
2765
__Pyx_INCREF(__pyx_kp_100);
2766
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_100);
2767
__Pyx_GIVEREF(__pyx_kp_100);
2768
__pyx_t_4 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2769
__Pyx_GOTREF(__pyx_t_4);
2770
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2771
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
2772
__Pyx_Raise(__pyx_t_4, 0, 0);
2773
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2774
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2779
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":368
2781
* raise H5Error("Invalid index")
2782
* return retval # <<<<<<<<<<<<<<
2786
__Pyx_XDECREF(__pyx_r);
2787
__pyx_t_4 = PyInt_FromLong(__pyx_v_retval); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2788
__Pyx_GOTREF(__pyx_t_4);
2789
__pyx_r = __pyx_t_4;
2793
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
2796
__Pyx_XDECREF(__pyx_1);
2797
__Pyx_XDECREF(__pyx_t_3);
2798
__Pyx_XDECREF(__pyx_t_4);
2799
__Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx");
2802
__Pyx_XGIVEREF(__pyx_r);
2803
__Pyx_FinishRefcountContext();
2807
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":372
2810
* def get_linkval(self, char* name): # <<<<<<<<<<<<<<
2811
* """(STRING name) => STRING link_value
2815
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_linkval(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
2816
static char __pyx_doc_4h5py_3h5g_7GroupID_get_linkval[] = "(STRING name) => STRING link_value\n\n Retrieve the value (target name) of a symbolic link.\n Limited to 2048 characters on Windows.\n ";
2817
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_linkval(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
2819
char *__pyx_v_value;
2820
H5G_stat_t __pyx_v_statbuf;
2821
PyObject *__pyx_v_linklen;
2822
PyObject *__pyx_v_pyvalue;
2823
PyObject *__pyx_r = NULL;
2826
PyObject *__pyx_t_3 = NULL;
2827
PyObject *__pyx_t_4 = NULL;
2830
Py_ssize_t __pyx_t_7;
2831
__Pyx_SetupRefcountContext("get_linkval");
2832
assert(__pyx_arg_name); {
2833
__pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2835
goto __pyx_L4_argument_unpacking_done;
2837
__Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval");
2839
__pyx_L4_argument_unpacking_done:;
2840
__pyx_v_linklen = Py_None; __Pyx_INCREF(Py_None);
2841
__pyx_v_pyvalue = Py_None; __Pyx_INCREF(Py_None);
2843
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":380
2845
* cdef H5G_stat_t statbuf
2846
* value = NULL # <<<<<<<<<<<<<<
2848
* H5Gget_objinfo(self.id, name, 0, &statbuf)
2850
__pyx_v_value = NULL;
2852
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":382
2855
* H5Gget_objinfo(self.id, name, 0, &statbuf) # <<<<<<<<<<<<<<
2857
* if statbuf.type != H5G_LINK:
2859
__pyx_t_1 = H5Gget_objinfo(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, 0, (&__pyx_v_statbuf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2861
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":384
2862
* H5Gget_objinfo(self.id, name, 0, &statbuf)
2864
* if statbuf.type != H5G_LINK: # <<<<<<<<<<<<<<
2865
* raise ValueError('"%s" is not a symbolic link.' % name)
2868
__pyx_t_2 = (__pyx_v_statbuf.type != H5G_LINK);
2871
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":385
2873
* if statbuf.type != H5G_LINK:
2874
* raise ValueError('"%s" is not a symbolic link.' % name) # <<<<<<<<<<<<<<
2876
* IF UNAME_SYSNAME == "Windows":
2878
__pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2879
__Pyx_GOTREF(__pyx_t_3);
2880
__pyx_t_4 = PyNumber_Remainder(__pyx_kp_101, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2881
__Pyx_GOTREF(__pyx_t_4);
2882
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2883
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2884
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
2885
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
2886
__Pyx_GIVEREF(__pyx_t_4);
2888
__pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2889
__Pyx_GOTREF(__pyx_t_4);
2890
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
2891
__Pyx_Raise(__pyx_t_4, 0, 0);
2892
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2893
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2898
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":390
2899
* linklen = 2049 # Windows statbuf.linklen seems broken
2901
* linklen = statbuf.linklen+1 # <<<<<<<<<<<<<<
2902
* value = <char*>emalloc(sizeof(char)*linklen)
2905
__pyx_t_4 = __Pyx_PyInt_FromSize_t((__pyx_v_statbuf.linklen + 1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2906
__Pyx_GOTREF(__pyx_t_4);
2907
__Pyx_DECREF(__pyx_v_linklen);
2908
__pyx_v_linklen = __pyx_t_4;
2911
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":391
2913
* linklen = statbuf.linklen+1
2914
* value = <char*>emalloc(sizeof(char)*linklen) # <<<<<<<<<<<<<<
2916
* H5Gget_linkval(self.id, name, linklen, value)
2918
__pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(char))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2919
__Pyx_GOTREF(__pyx_t_4);
2920
__pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_v_linklen); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2921
__Pyx_GOTREF(__pyx_t_3);
2922
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2923
__pyx_t_5 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2924
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2925
__pyx_t_6 = __pyx_f_4h5py_5utils_emalloc(__pyx_t_5); if (unlikely(__pyx_t_6 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2926
__pyx_v_value = ((char *)__pyx_t_6);
2928
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":392
2929
* linklen = statbuf.linklen+1
2930
* value = <char*>emalloc(sizeof(char)*linklen)
2931
* try: # <<<<<<<<<<<<<<
2932
* H5Gget_linkval(self.id, name, linklen, value)
2933
* value[linklen-1] = c'\0' # in case HDF5 doesn't null terminate on Windows
2937
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":393
2938
* value = <char*>emalloc(sizeof(char)*linklen)
2940
* H5Gget_linkval(self.id, name, linklen, value) # <<<<<<<<<<<<<<
2941
* value[linklen-1] = c'\0' # in case HDF5 doesn't null terminate on Windows
2944
__pyx_t_5 = __Pyx_PyInt_AsSize_t(__pyx_v_linklen); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L7;}
2945
__pyx_t_1 = H5Gget_linkval(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, __pyx_t_5, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L7;}
2947
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":394
2949
* H5Gget_linkval(self.id, name, linklen, value)
2950
* value[linklen-1] = c'\0' # in case HDF5 doesn't null terminate on Windows # <<<<<<<<<<<<<<
2954
__pyx_t_3 = PyNumber_Subtract(__pyx_v_linklen, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L7;}
2955
__Pyx_GOTREF(__pyx_t_3);
2956
__pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L7;}
2957
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2958
(__pyx_v_value[__pyx_t_7]) = '\x00';
2960
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":395
2961
* H5Gget_linkval(self.id, name, linklen, value)
2962
* value[linklen-1] = c'\0' # in case HDF5 doesn't null terminate on Windows
2963
* pyvalue = value # <<<<<<<<<<<<<<
2967
__pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L7;}
2968
__Pyx_GOTREF(__pyx_t_3);
2969
__Pyx_DECREF(__pyx_v_pyvalue);
2970
__pyx_v_pyvalue = __pyx_t_3;
2973
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":396
2974
* value[linklen-1] = c'\0' # in case HDF5 doesn't null terminate on Windows
2976
* return pyvalue # <<<<<<<<<<<<<<
2980
__Pyx_XDECREF(__pyx_r);
2981
__Pyx_INCREF(__pyx_v_pyvalue);
2982
__pyx_r = __pyx_v_pyvalue;
2987
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
2988
int __pyx_exc_lineno;
2989
__pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
2990
__pyx_why = 0; goto __pyx_L8;
2991
__pyx_L6: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
2992
__pyx_why = 3; goto __pyx_L8;
2995
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
2996
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2997
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
2998
__pyx_exc_lineno = __pyx_lineno;
3003
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":398
3006
* efree(value) # <<<<<<<<<<<<<<
3010
__pyx_f_4h5py_5utils_efree(__pyx_v_value);
3011
switch (__pyx_why) {
3012
case 3: goto __pyx_L0;
3014
__Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
3015
__pyx_lineno = __pyx_exc_lineno;
3017
__pyx_exc_value = 0;
3019
goto __pyx_L1_error;
3024
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
3027
__Pyx_XDECREF(__pyx_t_3);
3028
__Pyx_XDECREF(__pyx_t_4);
3029
__Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval");
3032
__Pyx_DECREF(__pyx_v_linklen);
3033
__Pyx_DECREF(__pyx_v_pyvalue);
3034
__Pyx_XGIVEREF(__pyx_r);
3035
__Pyx_FinishRefcountContext();
3039
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":401
3042
* def set_comment(self, char* name, char* comment): # <<<<<<<<<<<<<<
3043
* """(STRING name, STRING comment)
3047
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_set_comment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
3048
static char __pyx_doc_4h5py_3h5g_7GroupID_set_comment[] = "(STRING name, STRING comment)\n\n Set the comment on a group member.\n ";
3049
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_set_comment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3051
char *__pyx_v_comment;
3052
PyObject *__pyx_r = NULL;
3054
static PyObject **__pyx_pyargnames[] = {&__pyx_kp_name,&__pyx_kp_comment,0};
3055
__Pyx_SetupRefcountContext("set_comment");
3056
if (unlikely(__pyx_kwds)) {
3057
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
3058
PyObject* values[2] = {0,0};
3059
switch (PyTuple_GET_SIZE(__pyx_args)) {
3060
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
3061
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
3063
default: goto __pyx_L5_argtuple_error;
3065
switch (PyTuple_GET_SIZE(__pyx_args)) {
3067
values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name);
3068
if (likely(values[0])) kw_args--;
3069
else goto __pyx_L5_argtuple_error;
3071
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_comment);
3072
if (likely(values[1])) kw_args--;
3074
__Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3077
if (unlikely(kw_args > 0)) {
3078
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "set_comment") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3080
__pyx_v_name = __Pyx_PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3081
__pyx_v_comment = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_comment) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3082
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
3083
goto __pyx_L5_argtuple_error;
3085
__pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3086
__pyx_v_comment = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_comment) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3088
goto __pyx_L4_argument_unpacking_done;
3089
__pyx_L5_argtuple_error:;
3090
__Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3092
__Pyx_AddTraceback("h5py.h5g.GroupID.set_comment");
3094
__pyx_L4_argument_unpacking_done:;
3096
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":406
3097
* Set the comment on a group member.
3099
* H5Gset_comment(self.id, name, comment) # <<<<<<<<<<<<<<
3103
__pyx_t_1 = H5Gset_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, __pyx_v_comment); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3105
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
3108
__Pyx_AddTraceback("h5py.h5g.GroupID.set_comment");
3111
__Pyx_XGIVEREF(__pyx_r);
3112
__Pyx_FinishRefcountContext();
3116
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":409
3119
* def get_comment(self, char* name): # <<<<<<<<<<<<<<
3120
* """(STRING name) => STRING comment
3124
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_comment(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
3125
static char __pyx_doc_4h5py_3h5g_7GroupID_get_comment[] = "(STRING name) => STRING comment\n\n Retrieve the comment for a group member.\n ";
3126
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_comment(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
3128
int __pyx_v_cmnt_len;
3130
PyObject *__pyx_v_py_cmnt;
3131
PyObject *__pyx_r = NULL;
3134
PyObject *__pyx_t_3 = NULL;
3135
__Pyx_SetupRefcountContext("get_comment");
3136
assert(__pyx_arg_name); {
3137
__pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3139
goto __pyx_L4_argument_unpacking_done;
3141
__Pyx_AddTraceback("h5py.h5g.GroupID.get_comment");
3143
__pyx_L4_argument_unpacking_done:;
3144
__pyx_v_py_cmnt = Py_None; __Pyx_INCREF(Py_None);
3146
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":416
3149
* cmnt = NULL # <<<<<<<<<<<<<<
3151
* cmnt_len = H5Gget_comment(self.id, name, 0, NULL)
3153
__pyx_v_cmnt = NULL;
3155
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":418
3158
* cmnt_len = H5Gget_comment(self.id, name, 0, NULL) # <<<<<<<<<<<<<<
3159
* assert cmnt_len >= 0
3162
__pyx_t_1 = H5Gget_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3163
__pyx_v_cmnt_len = __pyx_t_1;
3165
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":419
3167
* cmnt_len = H5Gget_comment(self.id, name, 0, NULL)
3168
* assert cmnt_len >= 0 # <<<<<<<<<<<<<<
3170
* cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))
3172
#ifndef PYREX_WITHOUT_ASSERTIONS
3173
if (unlikely(!(__pyx_v_cmnt_len >= 0))) {
3174
PyErr_SetNone(PyExc_AssertionError);
3175
{__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3179
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":421
3180
* assert cmnt_len >= 0
3182
* cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1)) # <<<<<<<<<<<<<<
3184
* H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
3186
__pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_cmnt_len + 1))); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3187
__pyx_v_cmnt = ((char *)__pyx_t_2);
3189
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":422
3191
* cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))
3192
* try: # <<<<<<<<<<<<<<
3193
* H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
3198
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":423
3199
* cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))
3201
* H5Gget_comment(self.id, name, cmnt_len+1, cmnt) # <<<<<<<<<<<<<<
3205
__pyx_t_1 = H5Gget_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, (__pyx_v_cmnt_len + 1), __pyx_v_cmnt); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L6;}
3207
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":424
3209
* H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
3210
* py_cmnt = cmnt # <<<<<<<<<<<<<<
3214
__pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_cmnt); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L6;}
3215
__Pyx_GOTREF(__pyx_t_3);
3216
__Pyx_DECREF(__pyx_v_py_cmnt);
3217
__pyx_v_py_cmnt = __pyx_t_3;
3220
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":425
3221
* H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
3223
* return py_cmnt # <<<<<<<<<<<<<<
3227
__Pyx_XDECREF(__pyx_r);
3228
__Pyx_INCREF(__pyx_v_py_cmnt);
3229
__pyx_r = __pyx_v_py_cmnt;
3234
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
3235
int __pyx_exc_lineno;
3236
__pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
3237
__pyx_why = 0; goto __pyx_L7;
3238
__pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
3239
__pyx_why = 3; goto __pyx_L7;
3242
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
3243
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
3244
__pyx_exc_lineno = __pyx_lineno;
3249
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":427
3252
* efree(cmnt) # <<<<<<<<<<<<<<
3254
* # === Special methods =====================================================
3256
__pyx_f_4h5py_5utils_efree(__pyx_v_cmnt);
3257
switch (__pyx_why) {
3258
case 3: goto __pyx_L0;
3260
__Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
3261
__pyx_lineno = __pyx_exc_lineno;
3263
__pyx_exc_value = 0;
3265
goto __pyx_L1_error;
3270
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
3273
__Pyx_XDECREF(__pyx_t_3);
3274
__Pyx_AddTraceback("h5py.h5g.GroupID.get_comment");
3277
__Pyx_DECREF(__pyx_v_py_cmnt);
3278
__Pyx_XGIVEREF(__pyx_r);
3279
__Pyx_FinishRefcountContext();
3283
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":432
3286
* def __contains__(self, char* name): # <<<<<<<<<<<<<<
3291
static int __pyx_pf_4h5py_3h5g_7GroupID___contains__(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
3292
static char __pyx_doc_4h5py_3h5g_7GroupID___contains__[] = "(STRING name)\n\n Determine if a group member of the given name is present\n ";
3293
static int __pyx_pf_4h5py_3h5g_7GroupID___contains__(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
3295
herr_t __pyx_v_retval;
3296
__pyx_t_4h5py_3h5e_err_cookie __pyx_v_cookie;
3298
__pyx_t_4h5py_3h5e_err_cookie __pyx_t_1;
3300
PyObject *__pyx_t_3 = NULL;
3301
PyObject *__pyx_t_4 = NULL;
3303
__Pyx_SetupRefcountContext("__contains__");
3304
assert(__pyx_arg_name); {
3305
__pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3307
goto __pyx_L4_argument_unpacking_done;
3309
__Pyx_AddTraceback("h5py.h5g.GroupID.__contains__");
3311
__pyx_L4_argument_unpacking_done:;
3313
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":440
3314
* cdef err_cookie cookie
3316
* cookie = disable_errors() # <<<<<<<<<<<<<<
3318
* retval = H5Gget_objinfo(self.id, name, 1, NULL)
3320
__pyx_t_1 = __pyx_f_4h5py_3h5e_disable_errors(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3321
__pyx_v_cookie = __pyx_t_1;
3323
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":441
3325
* cookie = disable_errors()
3326
* try: # <<<<<<<<<<<<<<
3327
* retval = H5Gget_objinfo(self.id, name, 1, NULL)
3332
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":442
3333
* cookie = disable_errors()
3335
* retval = H5Gget_objinfo(self.id, name, 1, NULL) # <<<<<<<<<<<<<<
3337
* enable_errors(cookie)
3339
__pyx_t_2 = H5Gget_objinfo(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, __pyx_v_name, 1, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L6;}
3340
__pyx_v_retval = __pyx_t_2;
3344
PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
3345
int __pyx_exc_lineno;
3346
__pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
3347
__pyx_why = 0; goto __pyx_L7;
3350
__Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
3351
__pyx_exc_lineno = __pyx_lineno;
3356
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":444
3357
* retval = H5Gget_objinfo(self.id, name, 1, NULL)
3359
* enable_errors(cookie) # <<<<<<<<<<<<<<
3361
* return bool(retval >= 0)
3363
__pyx_f_4h5py_3h5e_enable_errors(__pyx_v_cookie); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
3366
if (__pyx_why == 4) {
3367
Py_XDECREF(__pyx_exc_type);
3368
Py_XDECREF(__pyx_exc_value);
3369
Py_XDECREF(__pyx_exc_tb);
3371
goto __pyx_L1_error;
3373
switch (__pyx_why) {
3375
__Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
3376
__pyx_lineno = __pyx_exc_lineno;
3378
__pyx_exc_value = 0;
3380
goto __pyx_L1_error;
3385
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":446
3386
* enable_errors(cookie)
3388
* return bool(retval >= 0) # <<<<<<<<<<<<<<
3392
__pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_retval >= 0)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3393
__Pyx_GOTREF(__pyx_t_3);
3394
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3395
__Pyx_GOTREF(((PyObject *)__pyx_t_4));
3396
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
3397
__Pyx_GIVEREF(__pyx_t_3);
3399
__pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3400
__Pyx_GOTREF(__pyx_t_3);
3401
__Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
3402
__pyx_t_5 = __Pyx_PyInt_AsInt(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3403
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3404
__pyx_r = __pyx_t_5;
3410
__Pyx_XDECREF(__pyx_t_3);
3411
__Pyx_XDECREF(__pyx_t_4);
3412
__Pyx_AddTraceback("h5py.h5g.GroupID.__contains__");
3415
__Pyx_FinishRefcountContext();
3419
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":449
3422
* def __iter__(self): # <<<<<<<<<<<<<<
3423
* """ Return an iterator over the names of group members. """
3424
* return GroupIter(self)
3427
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID___iter__(PyObject *__pyx_v_self); /*proto*/
3428
static char __pyx_doc_4h5py_3h5g_7GroupID___iter__[] = " Return an iterator over the names of group members. ";
3429
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID___iter__(PyObject *__pyx_v_self) {
3430
PyObject *__pyx_r = NULL;
3431
PyObject *__pyx_t_1 = NULL;
3432
PyObject *__pyx_t_2 = NULL;
3433
__Pyx_SetupRefcountContext("__iter__");
3435
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":451
3436
* def __iter__(self):
3437
* """ Return an iterator over the names of group members. """
3438
* return GroupIter(self) # <<<<<<<<<<<<<<
3442
__Pyx_XDECREF(__pyx_r);
3443
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3444
__Pyx_GOTREF(((PyObject *)__pyx_t_1));
3445
__Pyx_INCREF(__pyx_v_self);
3446
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self);
3447
__Pyx_GIVEREF(__pyx_v_self);
3448
__pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupIter)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3449
__Pyx_GOTREF(__pyx_t_2);
3450
__Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
3451
__pyx_r = __pyx_t_2;
3455
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
3458
__Pyx_XDECREF(__pyx_t_1);
3459
__Pyx_XDECREF(__pyx_t_2);
3460
__Pyx_AddTraceback("h5py.h5g.GroupID.__iter__");
3463
__Pyx_XGIVEREF(__pyx_r);
3464
__Pyx_FinishRefcountContext();
3468
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":454
3471
* def __len__(self): # <<<<<<<<<<<<<<
3472
* """ Number of group members """
3476
static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID___len__(PyObject *__pyx_v_self); /*proto*/
3477
static char __pyx_doc_4h5py_3h5g_7GroupID___len__[] = " Number of group members ";
3478
static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID___len__(PyObject *__pyx_v_self) {
3479
hsize_t __pyx_v_size;
3482
__Pyx_SetupRefcountContext("__len__");
3484
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":457
3485
* """ Number of group members """
3487
* H5Gget_num_objs(self.id, &size) # <<<<<<<<<<<<<<
3491
__pyx_t_1 = H5Gget_num_objs(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3493
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":458
3495
* H5Gget_num_objs(self.id, &size)
3496
* return size # <<<<<<<<<<<<<<
3500
__pyx_r = __pyx_v_size;
3506
__Pyx_AddTraceback("h5py.h5g.GroupID.__len__");
3509
__Pyx_FinishRefcountContext();
3513
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":42
3515
* cdef object __weakref__
3516
* cdef readonly hid_t id # <<<<<<<<<<<<<<
3517
* cdef readonly int _locked
3521
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID_2id___get__(PyObject *__pyx_v_self); /*proto*/
3522
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID_2id___get__(PyObject *__pyx_v_self) {
3523
PyObject *__pyx_r = NULL;
3524
PyObject *__pyx_t_1 = NULL;
3525
__Pyx_SetupRefcountContext("__get__");
3526
__Pyx_XDECREF(__pyx_r);
3527
__pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3528
__Pyx_GOTREF(__pyx_t_1);
3529
__pyx_r = __pyx_t_1;
3533
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
3536
__Pyx_XDECREF(__pyx_t_1);
3537
__Pyx_AddTraceback("h5py.h5.ObjectID.id.__get__");
3540
__Pyx_XGIVEREF(__pyx_r);
3541
__Pyx_FinishRefcountContext();
3545
static PyObject *__pyx_tp_new_4h5py_3h5g_GroupID(PyTypeObject *t, PyObject *a, PyObject *k) {
3546
PyObject *o = __pyx_ptype_4h5py_2h5_ObjectID->tp_new(t, a, k);
3551
static void __pyx_tp_dealloc_4h5py_3h5g_GroupID(PyObject *o) {
3552
__pyx_ptype_4h5py_2h5_ObjectID->tp_dealloc(o);
3555
static int __pyx_tp_traverse_4h5py_3h5g_GroupID(PyObject *o, visitproc v, void *a) {
3557
if (__pyx_ptype_4h5py_2h5_ObjectID->tp_traverse) {
3558
e = __pyx_ptype_4h5py_2h5_ObjectID->tp_traverse(o, v, a); if (e) return e;
3563
static int __pyx_tp_clear_4h5py_3h5g_GroupID(PyObject *o) {
3564
if (__pyx_ptype_4h5py_2h5_ObjectID->tp_clear) {
3565
__pyx_ptype_4h5py_2h5_ObjectID->tp_clear(o);
3570
static struct PyMethodDef __pyx_methods_4h5py_3h5g_GroupID[] = {
3571
{__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID__close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID__close)},
3572
{__Pyx_NAMESTR("link"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_link, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_link)},
3573
{__Pyx_NAMESTR("unlink"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_unlink, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_unlink)},
3574
{__Pyx_NAMESTR("move"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_move, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_move)},
3575
{__Pyx_NAMESTR("get_num_objs"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_get_num_objs, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_get_num_objs)},
3576
{__Pyx_NAMESTR("get_objname_by_idx"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_get_objname_by_idx, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_get_objname_by_idx)},
3577
{__Pyx_NAMESTR("get_objtype_by_idx"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_get_objtype_by_idx, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_get_objtype_by_idx)},
3578
{__Pyx_NAMESTR("get_linkval"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_get_linkval, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_get_linkval)},
3579
{__Pyx_NAMESTR("set_comment"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_set_comment, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_set_comment)},
3580
{__Pyx_NAMESTR("get_comment"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID_get_comment, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_get_comment)},
3581
{__Pyx_NAMESTR("__iter__"), (PyCFunction)__pyx_pf_4h5py_3h5g_7GroupID___iter__, METH_NOARGS|METH_COEXIST, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID___iter__)},
3585
static PyNumberMethods __pyx_tp_as_number_GroupID = {
3589
#if PY_MAJOR_VERSION < 3
3605
#if PY_MAJOR_VERSION < 3
3609
#if PY_MAJOR_VERSION >= 3
3615
#if PY_MAJOR_VERSION < 3
3618
#if PY_MAJOR_VERSION < 3
3621
0, /*nb_inplace_add*/
3622
0, /*nb_inplace_subtract*/
3623
0, /*nb_inplace_multiply*/
3624
#if PY_MAJOR_VERSION < 3
3625
0, /*nb_inplace_divide*/
3627
0, /*nb_inplace_remainder*/
3628
0, /*nb_inplace_power*/
3629
0, /*nb_inplace_lshift*/
3630
0, /*nb_inplace_rshift*/
3631
0, /*nb_inplace_and*/
3632
0, /*nb_inplace_xor*/
3633
0, /*nb_inplace_or*/
3634
0, /*nb_floor_divide*/
3635
0, /*nb_true_divide*/
3636
0, /*nb_inplace_floor_divide*/
3637
0, /*nb_inplace_true_divide*/
3638
#if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
3643
static PySequenceMethods __pyx_tp_as_sequence_GroupID = {
3644
__pyx_pf_4h5py_3h5g_7GroupID___len__, /*sq_length*/
3651
__pyx_pf_4h5py_3h5g_7GroupID___contains__, /*sq_contains*/
3652
0, /*sq_inplace_concat*/
3653
0, /*sq_inplace_repeat*/
3656
static PyMappingMethods __pyx_tp_as_mapping_GroupID = {
3657
__pyx_pf_4h5py_3h5g_7GroupID___len__, /*mp_length*/
3659
0, /*mp_ass_subscript*/
3662
static PyBufferProcs __pyx_tp_as_buffer_GroupID = {
3663
#if PY_MAJOR_VERSION < 3
3664
0, /*bf_getreadbuffer*/
3666
#if PY_MAJOR_VERSION < 3
3667
0, /*bf_getwritebuffer*/
3669
#if PY_MAJOR_VERSION < 3
3670
0, /*bf_getsegcount*/
3672
#if PY_MAJOR_VERSION < 3
3673
0, /*bf_getcharbuffer*/
3675
#if PY_VERSION_HEX >= 0x02060000
3678
#if PY_VERSION_HEX >= 0x02060000
3679
0, /*bf_releasebuffer*/
3683
PyTypeObject __pyx_type_4h5py_3h5g_GroupID = {
3684
PyVarObject_HEAD_INIT(0, 0)
3685
__Pyx_NAMESTR("h5py.h5g.GroupID"), /*tp_name*/
3686
sizeof(struct __pyx_obj_4h5py_3h5g_GroupID), /*tp_basicsize*/
3688
__pyx_tp_dealloc_4h5py_3h5g_GroupID, /*tp_dealloc*/
3694
&__pyx_tp_as_number_GroupID, /*tp_as_number*/
3695
&__pyx_tp_as_sequence_GroupID, /*tp_as_sequence*/
3696
&__pyx_tp_as_mapping_GroupID, /*tp_as_mapping*/
3702
&__pyx_tp_as_buffer_GroupID, /*tp_as_buffer*/
3703
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
3704
__Pyx_DOCSTR("\n Represents an HDF5 group identifier\n\n Python extensions:\n\n __contains__\n Test for group member (\"if name in grpid\")\n\n __iter__\n Get an iterator over member names\n\n __len__\n Number of members in this group; len(grpid) = N\n\n If HDF5 1.8.X is used, the attribute \"links\" contains a proxy object\n providing access to the H5L family of routines. See the docs\n for h5py.h5l.LinkProxy for more information.\n\n * Hashable: Yes, unless anonymous\n * Equality: True HDF5 identity unless anonymous\n "), /*tp_doc*/
3705
__pyx_tp_traverse_4h5py_3h5g_GroupID, /*tp_traverse*/
3706
__pyx_tp_clear_4h5py_3h5g_GroupID, /*tp_clear*/
3707
0, /*tp_richcompare*/
3708
0, /*tp_weaklistoffset*/
3709
__pyx_pf_4h5py_3h5g_7GroupID___iter__, /*tp_iter*/
3711
__pyx_methods_4h5py_3h5g_GroupID, /*tp_methods*/
3718
0, /*tp_dictoffset*/
3721
__pyx_tp_new_4h5py_3h5g_GroupID, /*tp_new*/
3727
0, /*tp_subclasses*/
3731
static PyObject *__pyx_tp_new_4h5py_3h5g_GroupStat(PyTypeObject *t, PyObject *a, PyObject *k) {
3732
PyObject *o = __pyx_ptype_4h5py_2h5_SmartStruct->tp_new(t, a, k);
3737
static void __pyx_tp_dealloc_4h5py_3h5g_GroupStat(PyObject *o) {
3738
__pyx_ptype_4h5py_2h5_SmartStruct->tp_dealloc(o);
3741
static int __pyx_tp_traverse_4h5py_3h5g_GroupStat(PyObject *o, visitproc v, void *a) {
3743
if (__pyx_ptype_4h5py_2h5_SmartStruct->tp_traverse) {
3744
e = __pyx_ptype_4h5py_2h5_SmartStruct->tp_traverse(o, v, a); if (e) return e;
3749
static int __pyx_tp_clear_4h5py_3h5g_GroupStat(PyObject *o) {
3750
if (__pyx_ptype_4h5py_2h5_SmartStruct->tp_clear) {
3751
__pyx_ptype_4h5py_2h5_SmartStruct->tp_clear(o);
3756
static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_fileno(PyObject *o, void *x) {
3757
return __pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(o);
3760
static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_objno(PyObject *o, void *x) {
3761
return __pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(o);
3764
static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_nlink(PyObject *o, void *x) {
3765
return __pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(o);
3768
static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_type(PyObject *o, void *x) {
3769
return __pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(o);
3772
static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_mtime(PyObject *o, void *x) {
3773
return __pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(o);
3776
static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_linklen(PyObject *o, void *x) {
3777
return __pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(o);
3780
static struct PyMethodDef __pyx_methods_4h5py_3h5g_GroupStat[] = {
3781
{__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pf_4h5py_3h5g_9GroupStat__hash, METH_NOARGS, __Pyx_DOCSTR(0)},
3785
static struct PyGetSetDef __pyx_getsets_4h5py_3h5g_GroupStat[] = {
3786
{(char *)"fileno", __pyx_getprop_4h5py_3h5g_9GroupStat_fileno, 0, 0, 0},
3787
{(char *)"objno", __pyx_getprop_4h5py_3h5g_9GroupStat_objno, 0, 0, 0},
3788
{(char *)"nlink", __pyx_getprop_4h5py_3h5g_9GroupStat_nlink, 0, 0, 0},
3789
{(char *)"type", __pyx_getprop_4h5py_3h5g_9GroupStat_type, 0, 0, 0},
3790
{(char *)"mtime", __pyx_getprop_4h5py_3h5g_9GroupStat_mtime, 0, 0, 0},
3791
{(char *)"linklen", __pyx_getprop_4h5py_3h5g_9GroupStat_linklen, 0, 0, 0},
3795
static PyNumberMethods __pyx_tp_as_number_GroupStat = {
3799
#if PY_MAJOR_VERSION < 3
3815
#if PY_MAJOR_VERSION < 3
3819
#if PY_MAJOR_VERSION >= 3
3825
#if PY_MAJOR_VERSION < 3
3828
#if PY_MAJOR_VERSION < 3
3831
0, /*nb_inplace_add*/
3832
0, /*nb_inplace_subtract*/
3833
0, /*nb_inplace_multiply*/
3834
#if PY_MAJOR_VERSION < 3
3835
0, /*nb_inplace_divide*/
3837
0, /*nb_inplace_remainder*/
3838
0, /*nb_inplace_power*/
3839
0, /*nb_inplace_lshift*/
3840
0, /*nb_inplace_rshift*/
3841
0, /*nb_inplace_and*/
3842
0, /*nb_inplace_xor*/
3843
0, /*nb_inplace_or*/
3844
0, /*nb_floor_divide*/
3845
0, /*nb_true_divide*/
3846
0, /*nb_inplace_floor_divide*/
3847
0, /*nb_inplace_true_divide*/
3848
#if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
3853
static PySequenceMethods __pyx_tp_as_sequence_GroupStat = {
3862
0, /*sq_inplace_concat*/
3863
0, /*sq_inplace_repeat*/
3866
static PyMappingMethods __pyx_tp_as_mapping_GroupStat = {
3869
0, /*mp_ass_subscript*/
3872
static PyBufferProcs __pyx_tp_as_buffer_GroupStat = {
3873
#if PY_MAJOR_VERSION < 3
3874
0, /*bf_getreadbuffer*/
3876
#if PY_MAJOR_VERSION < 3
3877
0, /*bf_getwritebuffer*/
3879
#if PY_MAJOR_VERSION < 3
3880
0, /*bf_getsegcount*/
3882
#if PY_MAJOR_VERSION < 3
3883
0, /*bf_getcharbuffer*/
3885
#if PY_VERSION_HEX >= 0x02060000
3888
#if PY_VERSION_HEX >= 0x02060000
3889
0, /*bf_releasebuffer*/
3893
PyTypeObject __pyx_type_4h5py_3h5g_GroupStat = {
3894
PyVarObject_HEAD_INIT(0, 0)
3895
__Pyx_NAMESTR("h5py.h5g.GroupStat"), /*tp_name*/
3896
sizeof(struct __pyx_obj_4h5py_3h5g_GroupStat), /*tp_basicsize*/
3898
__pyx_tp_dealloc_4h5py_3h5g_GroupStat, /*tp_dealloc*/
3904
&__pyx_tp_as_number_GroupStat, /*tp_as_number*/
3905
&__pyx_tp_as_sequence_GroupStat, /*tp_as_sequence*/
3906
&__pyx_tp_as_mapping_GroupStat, /*tp_as_mapping*/
3912
&__pyx_tp_as_buffer_GroupStat, /*tp_as_buffer*/
3913
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
3914
__Pyx_DOCSTR("Represents the H5G_stat_t structure containing group member info.\n\n Fields (read-only):\n\n * fileno: 2-tuple uniquely identifying the current file\n * objno: 2-tuple uniquely identifying this object\n * nlink: Number of hard links to this object\n * mtime: Modification time of this object\n * linklen: Length of the symbolic link name, or 0 if not a link.\n\n \"Uniquely identifying\" means unique among currently open files, \n not universally unique.\n\n * Hashable: Yes\n * Equality: Yes\n "), /*tp_doc*/
3915
__pyx_tp_traverse_4h5py_3h5g_GroupStat, /*tp_traverse*/
3916
__pyx_tp_clear_4h5py_3h5g_GroupStat, /*tp_clear*/
3917
0, /*tp_richcompare*/
3918
0, /*tp_weaklistoffset*/
3921
__pyx_methods_4h5py_3h5g_GroupStat, /*tp_methods*/
3923
__pyx_getsets_4h5py_3h5g_GroupStat, /*tp_getset*/
3928
0, /*tp_dictoffset*/
3931
__pyx_tp_new_4h5py_3h5g_GroupStat, /*tp_new*/
3937
0, /*tp_subclasses*/
3941
static PyObject *__pyx_tp_new_4h5py_3h5g_GroupIter(PyTypeObject *t, PyObject *a, PyObject *k) {
3942
struct __pyx_obj_4h5py_3h5g_GroupIter *p;
3943
PyObject *o = (*t->tp_alloc)(t, 0);
3945
p = ((struct __pyx_obj_4h5py_3h5g_GroupIter *)o);
3946
p->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); Py_INCREF(Py_None);
3950
static void __pyx_tp_dealloc_4h5py_3h5g_GroupIter(PyObject *o) {
3951
struct __pyx_obj_4h5py_3h5g_GroupIter *p = (struct __pyx_obj_4h5py_3h5g_GroupIter *)o;
3952
Py_XDECREF(((PyObject *)p->grp));
3953
(*Py_TYPE(o)->tp_free)(o);
3956
static int __pyx_tp_traverse_4h5py_3h5g_GroupIter(PyObject *o, visitproc v, void *a) {
3958
struct __pyx_obj_4h5py_3h5g_GroupIter *p = (struct __pyx_obj_4h5py_3h5g_GroupIter *)o;
3960
e = (*v)(((PyObject*)p->grp), a); if (e) return e;
3965
static int __pyx_tp_clear_4h5py_3h5g_GroupIter(PyObject *o) {
3966
struct __pyx_obj_4h5py_3h5g_GroupIter *p = (struct __pyx_obj_4h5py_3h5g_GroupIter *)o;
3968
tmp = ((PyObject*)p->grp);
3969
p->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); Py_INCREF(Py_None);
3974
static struct PyMethodDef __pyx_methods_4h5py_3h5g_GroupIter[] = {
3975
{__Pyx_NAMESTR("__iter__"), (PyCFunction)__pyx_pf_4h5py_3h5g_9GroupIter___iter__, METH_NOARGS|METH_COEXIST, __Pyx_DOCSTR(0)},
3976
{__Pyx_NAMESTR("__next__"), (PyCFunction)__pyx_pf_4h5py_3h5g_9GroupIter___next__, METH_NOARGS|METH_COEXIST, __Pyx_DOCSTR(0)},
3980
static PyNumberMethods __pyx_tp_as_number_GroupIter = {
3984
#if PY_MAJOR_VERSION < 3
4000
#if PY_MAJOR_VERSION < 3
4004
#if PY_MAJOR_VERSION >= 3
4010
#if PY_MAJOR_VERSION < 3
4013
#if PY_MAJOR_VERSION < 3
4016
0, /*nb_inplace_add*/
4017
0, /*nb_inplace_subtract*/
4018
0, /*nb_inplace_multiply*/
4019
#if PY_MAJOR_VERSION < 3
4020
0, /*nb_inplace_divide*/
4022
0, /*nb_inplace_remainder*/
4023
0, /*nb_inplace_power*/
4024
0, /*nb_inplace_lshift*/
4025
0, /*nb_inplace_rshift*/
4026
0, /*nb_inplace_and*/
4027
0, /*nb_inplace_xor*/
4028
0, /*nb_inplace_or*/
4029
0, /*nb_floor_divide*/
4030
0, /*nb_true_divide*/
4031
0, /*nb_inplace_floor_divide*/
4032
0, /*nb_inplace_true_divide*/
4033
#if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
4038
static PySequenceMethods __pyx_tp_as_sequence_GroupIter = {
4047
0, /*sq_inplace_concat*/
4048
0, /*sq_inplace_repeat*/
4051
static PyMappingMethods __pyx_tp_as_mapping_GroupIter = {
4054
0, /*mp_ass_subscript*/
4057
static PyBufferProcs __pyx_tp_as_buffer_GroupIter = {
4058
#if PY_MAJOR_VERSION < 3
4059
0, /*bf_getreadbuffer*/
4061
#if PY_MAJOR_VERSION < 3
4062
0, /*bf_getwritebuffer*/
4064
#if PY_MAJOR_VERSION < 3
4065
0, /*bf_getsegcount*/
4067
#if PY_MAJOR_VERSION < 3
4068
0, /*bf_getcharbuffer*/
4070
#if PY_VERSION_HEX >= 0x02060000
4073
#if PY_VERSION_HEX >= 0x02060000
4074
0, /*bf_releasebuffer*/
4078
PyTypeObject __pyx_type_4h5py_3h5g_GroupIter = {
4079
PyVarObject_HEAD_INIT(0, 0)
4080
__Pyx_NAMESTR("h5py.h5g.GroupIter"), /*tp_name*/
4081
sizeof(struct __pyx_obj_4h5py_3h5g_GroupIter), /*tp_basicsize*/
4083
__pyx_tp_dealloc_4h5py_3h5g_GroupIter, /*tp_dealloc*/
4089
&__pyx_tp_as_number_GroupIter, /*tp_as_number*/
4090
&__pyx_tp_as_sequence_GroupIter, /*tp_as_sequence*/
4091
&__pyx_tp_as_mapping_GroupIter, /*tp_as_mapping*/
4097
&__pyx_tp_as_buffer_GroupIter, /*tp_as_buffer*/
4098
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
4099
__Pyx_DOCSTR("\n Iterator over the names of group members. After this iterator is\n exhausted, it releases its reference to the group ID.\n "), /*tp_doc*/
4100
__pyx_tp_traverse_4h5py_3h5g_GroupIter, /*tp_traverse*/
4101
__pyx_tp_clear_4h5py_3h5g_GroupIter, /*tp_clear*/
4102
0, /*tp_richcompare*/
4103
0, /*tp_weaklistoffset*/
4104
__pyx_pf_4h5py_3h5g_9GroupIter___iter__, /*tp_iter*/
4105
__pyx_pf_4h5py_3h5g_9GroupIter___next__, /*tp_iternext*/
4106
__pyx_methods_4h5py_3h5g_GroupIter, /*tp_methods*/
4113
0, /*tp_dictoffset*/
4114
__pyx_pf_4h5py_3h5g_9GroupIter___init__, /*tp_init*/
4116
__pyx_tp_new_4h5py_3h5g_GroupIter, /*tp_new*/
4122
0, /*tp_subclasses*/
4126
static PyObject *__pyx_tp_new_4h5py_3h5g__GroupVisitor(PyTypeObject *t, PyObject *a, PyObject *k) {
4127
struct __pyx_obj_4h5py_3h5g__GroupVisitor *p;
4128
PyObject *o = (*t->tp_alloc)(t, 0);
4130
p = ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o);
4131
p->func = Py_None; Py_INCREF(Py_None);
4132
p->retval = Py_None; Py_INCREF(Py_None);
4136
static void __pyx_tp_dealloc_4h5py_3h5g__GroupVisitor(PyObject *o) {
4137
struct __pyx_obj_4h5py_3h5g__GroupVisitor *p = (struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o;
4138
Py_XDECREF(p->func);
4139
Py_XDECREF(p->retval);
4140
(*Py_TYPE(o)->tp_free)(o);
4143
static int __pyx_tp_traverse_4h5py_3h5g__GroupVisitor(PyObject *o, visitproc v, void *a) {
4145
struct __pyx_obj_4h5py_3h5g__GroupVisitor *p = (struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o;
4147
e = (*v)(p->func, a); if (e) return e;
4150
e = (*v)(p->retval, a); if (e) return e;
4155
static int __pyx_tp_clear_4h5py_3h5g__GroupVisitor(PyObject *o) {
4156
struct __pyx_obj_4h5py_3h5g__GroupVisitor *p = (struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o;
4158
tmp = ((PyObject*)p->func);
4159
p->func = Py_None; Py_INCREF(Py_None);
4161
tmp = ((PyObject*)p->retval);
4162
p->retval = Py_None; Py_INCREF(Py_None);
4167
static struct PyMethodDef __pyx_methods_4h5py_3h5g__GroupVisitor[] = {
4171
static PyNumberMethods __pyx_tp_as_number__GroupVisitor = {
4175
#if PY_MAJOR_VERSION < 3
4191
#if PY_MAJOR_VERSION < 3
4195
#if PY_MAJOR_VERSION >= 3
4201
#if PY_MAJOR_VERSION < 3
4204
#if PY_MAJOR_VERSION < 3
4207
0, /*nb_inplace_add*/
4208
0, /*nb_inplace_subtract*/
4209
0, /*nb_inplace_multiply*/
4210
#if PY_MAJOR_VERSION < 3
4211
0, /*nb_inplace_divide*/
4213
0, /*nb_inplace_remainder*/
4214
0, /*nb_inplace_power*/
4215
0, /*nb_inplace_lshift*/
4216
0, /*nb_inplace_rshift*/
4217
0, /*nb_inplace_and*/
4218
0, /*nb_inplace_xor*/
4219
0, /*nb_inplace_or*/
4220
0, /*nb_floor_divide*/
4221
0, /*nb_true_divide*/
4222
0, /*nb_inplace_floor_divide*/
4223
0, /*nb_inplace_true_divide*/
4224
#if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
4229
static PySequenceMethods __pyx_tp_as_sequence__GroupVisitor = {
4238
0, /*sq_inplace_concat*/
4239
0, /*sq_inplace_repeat*/
4242
static PyMappingMethods __pyx_tp_as_mapping__GroupVisitor = {
4245
0, /*mp_ass_subscript*/
4248
static PyBufferProcs __pyx_tp_as_buffer__GroupVisitor = {
4249
#if PY_MAJOR_VERSION < 3
4250
0, /*bf_getreadbuffer*/
4252
#if PY_MAJOR_VERSION < 3
4253
0, /*bf_getwritebuffer*/
4255
#if PY_MAJOR_VERSION < 3
4256
0, /*bf_getsegcount*/
4258
#if PY_MAJOR_VERSION < 3
4259
0, /*bf_getcharbuffer*/
4261
#if PY_VERSION_HEX >= 0x02060000
4264
#if PY_VERSION_HEX >= 0x02060000
4265
0, /*bf_releasebuffer*/
4269
PyTypeObject __pyx_type_4h5py_3h5g__GroupVisitor = {
4270
PyVarObject_HEAD_INIT(0, 0)
4271
__Pyx_NAMESTR("h5py.h5g._GroupVisitor"), /*tp_name*/
4272
sizeof(struct __pyx_obj_4h5py_3h5g__GroupVisitor), /*tp_basicsize*/
4274
__pyx_tp_dealloc_4h5py_3h5g__GroupVisitor, /*tp_dealloc*/
4280
&__pyx_tp_as_number__GroupVisitor, /*tp_as_number*/
4281
&__pyx_tp_as_sequence__GroupVisitor, /*tp_as_sequence*/
4282
&__pyx_tp_as_mapping__GroupVisitor, /*tp_as_mapping*/
4288
&__pyx_tp_as_buffer__GroupVisitor, /*tp_as_buffer*/
4289
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
4291
__pyx_tp_traverse_4h5py_3h5g__GroupVisitor, /*tp_traverse*/
4292
__pyx_tp_clear_4h5py_3h5g__GroupVisitor, /*tp_clear*/
4293
0, /*tp_richcompare*/
4294
0, /*tp_weaklistoffset*/
4297
__pyx_methods_4h5py_3h5g__GroupVisitor, /*tp_methods*/
4304
0, /*tp_dictoffset*/
4305
__pyx_pf_4h5py_3h5g_13_GroupVisitor___init__, /*tp_init*/
4307
__pyx_tp_new_4h5py_3h5g__GroupVisitor, /*tp_new*/
4313
0, /*tp_subclasses*/
4317
static struct PyMethodDef __pyx_methods[] = {
4318
{__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pf_4h5py_3h5g_open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_open)},
4319
{__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5g_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_create)},
4320
{__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pf_4h5py_3h5g_iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_iterate)},
4321
{__Pyx_NAMESTR("get_objinfo"), (PyCFunction)__pyx_pf_4h5py_3h5g_get_objinfo, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_get_objinfo)},
4325
static void __pyx_init_filenames(void); /*proto*/
4327
#if PY_MAJOR_VERSION >= 3
4328
static struct PyModuleDef __pyx_moduledef = {
4329
PyModuleDef_HEAD_INIT,
4330
__Pyx_NAMESTR("h5g"),
4333
__pyx_methods /* m_methods */,
4334
NULL, /* m_reload */
4335
NULL, /* m_traverse */
4341
static __Pyx_StringTabEntry __pyx_string_tab[] = {
4342
{&__pyx_kp___main__, __pyx_k___main__, sizeof(__pyx_k___main__), 1, 1, 1},
4343
{&__pyx_kp__hash, __pyx_k__hash, sizeof(__pyx_k__hash), 1, 1, 1},
4344
{&__pyx_kp___init__, __pyx_k___init__, sizeof(__pyx_k___init__), 1, 1, 1},
4345
{&__pyx_kp___iter__, __pyx_k___iter__, sizeof(__pyx_k___iter__), 1, 1, 1},
4346
{&__pyx_kp___next__, __pyx_k___next__, sizeof(__pyx_k___next__), 1, 1, 1},
4347
{&__pyx_kp__close, __pyx_k__close, sizeof(__pyx_k__close), 1, 1, 1},
4348
{&__pyx_kp_link, __pyx_k_link, sizeof(__pyx_k_link), 1, 1, 1},
4349
{&__pyx_kp_unlink, __pyx_k_unlink, sizeof(__pyx_k_unlink), 1, 1, 1},
4350
{&__pyx_kp_move, __pyx_k_move, sizeof(__pyx_k_move), 1, 1, 1},
4351
{&__pyx_kp_get_num_objs, __pyx_k_get_num_objs, sizeof(__pyx_k_get_num_objs), 1, 1, 1},
4352
{&__pyx_kp_get_objname_by_idx, __pyx_k_get_objname_by_idx, sizeof(__pyx_k_get_objname_by_idx), 1, 1, 1},
4353
{&__pyx_kp_get_objtype_by_idx, __pyx_k_get_objtype_by_idx, sizeof(__pyx_k_get_objtype_by_idx), 1, 1, 1},
4354
{&__pyx_kp_get_linkval, __pyx_k_get_linkval, sizeof(__pyx_k_get_linkval), 1, 1, 1},
4355
{&__pyx_kp_set_comment, __pyx_k_set_comment, sizeof(__pyx_k_set_comment), 1, 1, 1},
4356
{&__pyx_kp_get_comment, __pyx_k_get_comment, sizeof(__pyx_k_get_comment), 1, 1, 1},
4357
{&__pyx_kp___contains__, __pyx_k___contains__, sizeof(__pyx_k___contains__), 1, 1, 1},
4358
{&__pyx_kp___len__, __pyx_k___len__, sizeof(__pyx_k___len__), 1, 1, 1},
4359
{&__pyx_kp_grp, __pyx_k_grp, sizeof(__pyx_k_grp), 1, 1, 1},
4360
{&__pyx_kp_loc, __pyx_k_loc, sizeof(__pyx_k_loc), 1, 1, 1},
4361
{&__pyx_kp_name, __pyx_k_name, sizeof(__pyx_k_name), 1, 1, 1},
4362
{&__pyx_kp_func, __pyx_k_func, sizeof(__pyx_k_func), 1, 1, 1},
4363
{&__pyx_kp_startidx, __pyx_k_startidx, sizeof(__pyx_k_startidx), 1, 1, 1},
4364
{&__pyx_kp_obj_name, __pyx_k_obj_name, sizeof(__pyx_k_obj_name), 1, 1, 1},
4365
{&__pyx_kp_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 1, 1, 1},
4366
{&__pyx_kp_follow_link, __pyx_k_follow_link, sizeof(__pyx_k_follow_link), 1, 1, 1},
4367
{&__pyx_kp_current_name, __pyx_k_current_name, sizeof(__pyx_k_current_name), 1, 1, 1},
4368
{&__pyx_kp_new_name, __pyx_k_new_name, sizeof(__pyx_k_new_name), 1, 1, 1},
4369
{&__pyx_kp_link_type, __pyx_k_link_type, sizeof(__pyx_k_link_type), 1, 1, 1},
4370
{&__pyx_kp_remote, __pyx_k_remote, sizeof(__pyx_k_remote), 1, 1, 1},
4371
{&__pyx_kp_idx, __pyx_k_idx, sizeof(__pyx_k_idx), 1, 1, 1},
4372
{&__pyx_kp_comment, __pyx_k_comment, sizeof(__pyx_k_comment), 1, 1, 1},
4373
{&__pyx_kp___doc__, __pyx_k___doc__, sizeof(__pyx_k___doc__), 1, 1, 1},
4374
{&__pyx_kp_93, __pyx_k_93, sizeof(__pyx_k_93), 1, 1, 1},
4375
{&__pyx_kp_94, __pyx_k_94, sizeof(__pyx_k_94), 1, 1, 1},
4376
{&__pyx_kp__sync, __pyx_k__sync, sizeof(__pyx_k__sync), 1, 1, 1},
4377
{&__pyx_kp_sync, __pyx_k_sync, sizeof(__pyx_k_sync), 1, 1, 1},
4378
{&__pyx_kp_nosync, __pyx_k_nosync, sizeof(__pyx_k_nosync), 1, 1, 1},
4379
{&__pyx_kp_UNKNOWN, __pyx_k_UNKNOWN, sizeof(__pyx_k_UNKNOWN), 1, 1, 1},
4380
{&__pyx_kp_LINK, __pyx_k_LINK, sizeof(__pyx_k_LINK), 1, 1, 1},
4381
{&__pyx_kp_GROUP, __pyx_k_GROUP, sizeof(__pyx_k_GROUP), 1, 1, 1},
4382
{&__pyx_kp_DATASET, __pyx_k_DATASET, sizeof(__pyx_k_DATASET), 1, 1, 1},
4383
{&__pyx_kp_TYPE, __pyx_k_TYPE, sizeof(__pyx_k_TYPE), 1, 1, 1},
4384
{&__pyx_kp_LINK_ERROR, __pyx_k_LINK_ERROR, sizeof(__pyx_k_LINK_ERROR), 1, 1, 1},
4385
{&__pyx_kp_LINK_HARD, __pyx_k_LINK_HARD, sizeof(__pyx_k_LINK_HARD), 1, 1, 1},
4386
{&__pyx_kp_LINK_SOFT, __pyx_k_LINK_SOFT, sizeof(__pyx_k_LINK_SOFT), 1, 1, 1},
4387
{&__pyx_kp_open, __pyx_k_open, sizeof(__pyx_k_open), 1, 1, 1},
4388
{&__pyx_kp_create, __pyx_k_create, sizeof(__pyx_k_create), 1, 1, 1},
4389
{&__pyx_kp_iterate, __pyx_k_iterate, sizeof(__pyx_k_iterate), 1, 1, 1},
4390
{&__pyx_kp_get_objinfo, __pyx_k_get_objinfo, sizeof(__pyx_k_get_objinfo), 1, 1, 1},
4391
{&__pyx_kp_fileno, __pyx_k_fileno, sizeof(__pyx_k_fileno), 1, 1, 1},
4392
{&__pyx_kp_objno, __pyx_k_objno, sizeof(__pyx_k_objno), 1, 1, 1},
4393
{&__pyx_kp_nlink, __pyx_k_nlink, sizeof(__pyx_k_nlink), 1, 1, 1},
4394
{&__pyx_kp_type, __pyx_k_type, sizeof(__pyx_k_type), 1, 1, 1},
4395
{&__pyx_kp_mtime, __pyx_k_mtime, sizeof(__pyx_k_mtime), 1, 1, 1},
4396
{&__pyx_kp_linklen, __pyx_k_linklen, sizeof(__pyx_k_linklen), 1, 1, 1},
4397
{&__pyx_kp_StopIteration, __pyx_k_StopIteration, sizeof(__pyx_k_StopIteration), 1, 1, 1},
4398
{&__pyx_kp_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 1, 1, 1},
4399
{&__pyx_kp_92, __pyx_k_92, sizeof(__pyx_k_92), 0, 0, 0},
4400
{&__pyx_kp_96, __pyx_k_96, sizeof(__pyx_k_96), 0, 0, 0},
4401
{&__pyx_kp_98, __pyx_k_98, sizeof(__pyx_k_98), 0, 0, 0},
4402
{&__pyx_kp_99, __pyx_k_99, sizeof(__pyx_k_99), 0, 0, 0},
4403
{&__pyx_kp_100, __pyx_k_100, sizeof(__pyx_k_100), 0, 0, 0},
4404
{&__pyx_kp_101, __pyx_k_101, sizeof(__pyx_k_101), 0, 0, 0},
4407
static int __Pyx_InitCachedBuiltins(void) {
4408
__pyx_builtin_StopIteration = __Pyx_GetName(__pyx_b, __pyx_kp_StopIteration); if (!__pyx_builtin_StopIteration) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4409
__pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_kp_ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4415
static int __Pyx_InitGlobals(void) {
4416
__pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4417
if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4423
#if PY_MAJOR_VERSION < 3
4424
PyMODINIT_FUNC inith5g(void); /*proto*/
4425
PyMODINIT_FUNC inith5g(void)
4427
PyMODINIT_FUNC PyInit_h5g(void); /*proto*/
4428
PyMODINIT_FUNC PyInit_h5g(void)
4431
PyObject *__pyx_1 = 0;
4432
PyObject *__pyx_2 = 0;
4434
PyObject *__pyx_t_2 = NULL;
4435
PyObject *__pyx_t_3 = NULL;
4436
#ifdef CYTHON_REFNANNY
4437
void* __pyx_refchk = NULL;
4438
__Pyx_Refnanny = __Pyx_ImportRefcountAPI("refnanny");
4439
if (!__Pyx_Refnanny) {
4441
__Pyx_Refnanny = __Pyx_ImportRefcountAPI("Cython.Runtime.refnanny");
4442
if (!__Pyx_Refnanny)
4443
Py_FatalError("failed to import refnanny module");
4445
__pyx_refchk = __Pyx_Refnanny->NewContext("PyMODINIT_FUNC PyInit_h5g(void)", __LINE__, __FILE__);
4447
__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;}
4448
/*--- Library function declarations ---*/
4449
__pyx_init_filenames();
4450
/*--- Threads initialization code ---*/
4451
#if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
4452
#ifdef WITH_THREAD /* Python build with threading support? */
4453
PyEval_InitThreads();
4456
/*--- Initialize various global constants etc. ---*/
4457
if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4458
/*--- Module creation code ---*/
4459
#if PY_MAJOR_VERSION < 3
4460
__pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5g"), __pyx_methods, 0, 0, PYTHON_API_VERSION);
4462
__pyx_m = PyModule_Create(&__pyx_moduledef);
4464
if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4465
#if PY_MAJOR_VERSION < 3
4468
__pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME));
4469
if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4470
if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4471
if (__pyx_module_is_main_h5py__h5g) {
4472
if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_kp___main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
4474
/*--- Builtin init code ---*/
4475
if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4476
__pyx_skip_dispatch = 0;
4477
/*--- Global init code ---*/
4478
/*--- Function export code ---*/
4479
/*--- Type init code ---*/
4480
__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;}
4481
__pyx_type_4h5py_3h5g_GroupID.tp_base = __pyx_ptype_4h5py_2h5_ObjectID;
4482
if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4483
if (__Pyx_SetAttrString(__pyx_m, "GroupID", (PyObject *)&__pyx_type_4h5py_3h5g_GroupID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4484
if (__pyx_type_4h5py_3h5g_GroupID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5g_GroupID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5g_GroupID, __pyx_base.__weakref__);
4485
__pyx_ptype_4h5py_3h5g_GroupID = &__pyx_type_4h5py_3h5g_GroupID;
4486
__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[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4487
__pyx_type_4h5py_3h5g_GroupStat.tp_base = __pyx_ptype_4h5py_2h5_SmartStruct;
4488
if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupStat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4489
if (__Pyx_SetAttrString(__pyx_m, "GroupStat", (PyObject *)&__pyx_type_4h5py_3h5g_GroupStat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4490
if (__pyx_type_4h5py_3h5g_GroupStat.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5g_GroupStat.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5g_GroupStat, __pyx_base.__weakref__);
4491
__pyx_ptype_4h5py_3h5g_GroupStat = &__pyx_type_4h5py_3h5g_GroupStat;
4492
if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupIter) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4493
if (__Pyx_SetAttrString(__pyx_m, "GroupIter", (PyObject *)&__pyx_type_4h5py_3h5g_GroupIter) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4494
__pyx_ptype_4h5py_3h5g_GroupIter = &__pyx_type_4h5py_3h5g_GroupIter;
4495
if (PyType_Ready(&__pyx_type_4h5py_3h5g__GroupVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4496
if (__Pyx_SetAttrString(__pyx_m, "_GroupVisitor", (PyObject *)&__pyx_type_4h5py_3h5g__GroupVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4497
__pyx_ptype_4h5py_3h5g__GroupVisitor = &__pyx_type_4h5py_3h5g__GroupVisitor;
4498
/*--- Type import code ---*/
4499
__pyx_ptype_4h5py_2h5_PHIL = __Pyx_ImportType("h5py.h5", "PHIL", sizeof(struct __pyx_obj_4h5py_2h5_PHIL)); if (unlikely(!__pyx_ptype_4h5py_2h5_PHIL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4500
if (__Pyx_GetVtable(__pyx_ptype_4h5py_2h5_PHIL->tp_dict, &__pyx_vtabptr_4h5py_2h5_PHIL) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4501
__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 = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4502
__pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr)); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4503
__pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject)); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4504
__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[3]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4505
__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[3]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4506
__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[3]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4507
__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[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4508
__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[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4509
__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[3]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4510
__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[3]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4511
__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[3]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4512
__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[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4513
/*--- Function import code ---*/
4514
__pyx_2 = __Pyx_ImportModule("h5py.h5"); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4515
if (__Pyx_ImportFunction(__pyx_2, "get_phil", (void (**)(void))&__pyx_f_4h5py_2h5_get_phil, "struct __pyx_obj_4h5py_2h5_PHIL *(int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4516
if (__Pyx_ImportFunction(__pyx_2, "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;}
4517
if (__Pyx_ImportFunction(__pyx_2, "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;}
4518
if (__Pyx_ImportFunction(__pyx_2, "get_object_type", (void (**)(void))&__pyx_f_4h5py_2h5_get_object_type, "hid_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4519
if (__Pyx_ImportFunction(__pyx_2, "attr_rw", (void (**)(void))&__pyx_f_4h5py_2h5_attr_rw, "herr_t (hid_t, hid_t, void *, h5py_rw_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4520
if (__Pyx_ImportFunction(__pyx_2, "dset_rw", (void (**)(void))&__pyx_f_4h5py_2h5_dset_rw, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *, h5py_rw_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4521
Py_DECREF(__pyx_2); __pyx_2 = 0;
4522
__pyx_2 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4523
if (__Pyx_ImportFunction(__pyx_2, "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;}
4524
if (__Pyx_ImportFunction(__pyx_2, "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;}
4525
if (__Pyx_ImportFunction(__pyx_2, "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;}
4526
if (__Pyx_ImportFunction(__pyx_2, "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;}
4527
if (__Pyx_ImportFunction(__pyx_2, "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;}
4528
if (__Pyx_ImportFunction(__pyx_2, "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;}
4529
if (__Pyx_ImportFunction(__pyx_2, "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;}
4530
if (__Pyx_ImportFunction(__pyx_2, "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;}
4531
if (__Pyx_ImportFunction(__pyx_2, "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;}
4532
Py_DECREF(__pyx_2); __pyx_2 = 0;
4533
__pyx_2 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4534
if (__Pyx_ImportFunction(__pyx_2, "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;}
4535
if (__Pyx_ImportFunction(__pyx_2, "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;}
4536
Py_DECREF(__pyx_2); __pyx_2 = 0;
4537
__pyx_2 = __Pyx_ImportModule("h5py.h5e"); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4538
if (__Pyx_ImportFunction(__pyx_2, "register_thread", (void (**)(void))&__pyx_f_4h5py_3h5e_register_thread, "int (int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4539
if (__Pyx_ImportFunction(__pyx_2, "disable_errors", (void (**)(void))&__pyx_f_4h5py_3h5e_disable_errors, "__pyx_t_4h5py_3h5e_err_cookie (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4540
if (__Pyx_ImportFunction(__pyx_2, "enable_errors", (void (**)(void))&__pyx_f_4h5py_3h5e_enable_errors, "void (__pyx_t_4h5py_3h5e_err_cookie)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4541
Py_DECREF(__pyx_2); __pyx_2 = 0;
4542
/*--- Execution code ---*/
4544
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":13
4547
* """ # <<<<<<<<<<<<<<
4548
* Low-level HDF5 "H5G" group interface.
4551
if (PyObject_SetAttr(__pyx_m, __pyx_kp___doc__, __pyx_kp_92) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4553
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":28
4556
* init_hdf5() # <<<<<<<<<<<<<<
4560
__pyx_t_1 = __pyx_f_4h5py_2h5_init_hdf5(); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4562
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":31
4565
* from h5 import H5Error # <<<<<<<<<<<<<<
4566
* from _sync import sync, nosync
4569
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4570
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
4571
__Pyx_INCREF(__pyx_kp_94);
4572
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_kp_94);
4573
__Pyx_GIVEREF(__pyx_kp_94);
4574
__pyx_1 = __Pyx_Import(__pyx_kp_93, ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4575
__Pyx_GOTREF(__pyx_1);
4576
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4577
__pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_94); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4578
__Pyx_GOTREF(__pyx_2);
4579
if (PyObject_SetAttr(__pyx_m, __pyx_kp_94, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4580
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
4581
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4583
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":32
4585
* from h5 import H5Error
4586
* from _sync import sync, nosync # <<<<<<<<<<<<<<
4588
* # === Public constants and data structures ====================================
4590
__pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4591
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
4592
__Pyx_INCREF(__pyx_kp_sync);
4593
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_kp_sync);
4594
__Pyx_GIVEREF(__pyx_kp_sync);
4595
__Pyx_INCREF(__pyx_kp_nosync);
4596
PyList_SET_ITEM(__pyx_t_2, 1, __pyx_kp_nosync);
4597
__Pyx_GIVEREF(__pyx_kp_nosync);
4598
__pyx_1 = __Pyx_Import(__pyx_kp__sync, ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4599
__Pyx_GOTREF(__pyx_1);
4600
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4601
__pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4602
__Pyx_GOTREF(__pyx_2);
4603
if (PyObject_SetAttr(__pyx_m, __pyx_kp_sync, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4604
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
4605
__pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_nosync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4606
__Pyx_GOTREF(__pyx_2);
4607
if (PyObject_SetAttr(__pyx_m, __pyx_kp_nosync, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4608
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
4609
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4611
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":37
4613
* # Enumerated object types for groups "H5G_obj_t"
4614
* UNKNOWN = H5G_UNKNOWN # <<<<<<<<<<<<<<
4618
__pyx_t_2 = PyInt_FromLong(H5G_UNKNOWN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4619
__Pyx_GOTREF(__pyx_t_2);
4620
if (PyObject_SetAttr(__pyx_m, __pyx_kp_UNKNOWN, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4621
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4623
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":38
4624
* # Enumerated object types for groups "H5G_obj_t"
4625
* UNKNOWN = H5G_UNKNOWN
4626
* LINK = H5G_LINK # <<<<<<<<<<<<<<
4628
* DATASET = H5G_DATASET
4630
__pyx_t_2 = PyInt_FromLong(H5G_LINK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4631
__Pyx_GOTREF(__pyx_t_2);
4632
if (PyObject_SetAttr(__pyx_m, __pyx_kp_LINK, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4633
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4635
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":39
4636
* UNKNOWN = H5G_UNKNOWN
4638
* GROUP = H5G_GROUP # <<<<<<<<<<<<<<
4639
* DATASET = H5G_DATASET
4642
__pyx_t_2 = PyInt_FromLong(H5G_GROUP); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4643
__Pyx_GOTREF(__pyx_t_2);
4644
if (PyObject_SetAttr(__pyx_m, __pyx_kp_GROUP, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4645
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4647
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":40
4650
* DATASET = H5G_DATASET # <<<<<<<<<<<<<<
4654
__pyx_t_2 = PyInt_FromLong(H5G_DATASET); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4655
__Pyx_GOTREF(__pyx_t_2);
4656
if (PyObject_SetAttr(__pyx_m, __pyx_kp_DATASET, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4657
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4659
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":41
4661
* DATASET = H5G_DATASET
4662
* TYPE = H5G_TYPE # <<<<<<<<<<<<<<
4664
* # Enumerated link types "H5G_link_t"
4666
__pyx_t_2 = PyInt_FromLong(H5G_TYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4667
__Pyx_GOTREF(__pyx_t_2);
4668
if (PyObject_SetAttr(__pyx_m, __pyx_kp_TYPE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4669
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4671
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":44
4673
* # Enumerated link types "H5G_link_t"
4674
* LINK_ERROR = H5G_LINK_ERROR # <<<<<<<<<<<<<<
4675
* LINK_HARD = H5G_LINK_HARD
4676
* LINK_SOFT = H5G_LINK_SOFT
4678
__pyx_t_2 = PyInt_FromLong(H5G_LINK_ERROR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4679
__Pyx_GOTREF(__pyx_t_2);
4680
if (PyObject_SetAttr(__pyx_m, __pyx_kp_LINK_ERROR, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4681
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4683
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":45
4684
* # Enumerated link types "H5G_link_t"
4685
* LINK_ERROR = H5G_LINK_ERROR
4686
* LINK_HARD = H5G_LINK_HARD # <<<<<<<<<<<<<<
4687
* LINK_SOFT = H5G_LINK_SOFT
4690
__pyx_t_2 = PyInt_FromLong(H5G_LINK_HARD); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4691
__Pyx_GOTREF(__pyx_t_2);
4692
if (PyObject_SetAttr(__pyx_m, __pyx_kp_LINK_HARD, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4693
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4695
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":46
4696
* LINK_ERROR = H5G_LINK_ERROR
4697
* LINK_HARD = H5G_LINK_HARD
4698
* LINK_SOFT = H5G_LINK_SOFT # <<<<<<<<<<<<<<
4700
* cdef class GroupStat(SmartStruct):
4702
__pyx_t_2 = PyInt_FromLong(H5G_LINK_SOFT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4703
__Pyx_GOTREF(__pyx_t_2);
4704
if (PyObject_SetAttr(__pyx_m, __pyx_kp_LINK_SOFT, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4705
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4707
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":120
4708
* # === Basic group management ==================================================
4710
* @sync # <<<<<<<<<<<<<<
4711
* def open(ObjectID loc not None, char* name):
4712
* """(ObjectID loc, STRING name) => GroupID
4714
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4715
__Pyx_GOTREF(__pyx_1);
4717
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":121
4720
* def open(ObjectID loc not None, char* name): # <<<<<<<<<<<<<<
4721
* """(ObjectID loc, STRING name) => GroupID
4724
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_open); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4725
__Pyx_GOTREF(__pyx_2);
4726
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4727
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
4728
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
4729
__Pyx_GIVEREF(__pyx_2);
4731
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4732
__Pyx_GOTREF(__pyx_t_3);
4733
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4734
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4735
if (PyObject_SetAttr(__pyx_m, __pyx_kp_open, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4736
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4738
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":141
4741
* @sync # <<<<<<<<<<<<<<
4742
* def create(ObjectID loc not None, char* name):
4743
* """(ObjectID loc, STRING name) => GroupID
4745
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4746
__Pyx_GOTREF(__pyx_2);
4748
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":142
4751
* def create(ObjectID loc not None, char* name): # <<<<<<<<<<<<<<
4752
* """(ObjectID loc, STRING name) => GroupID
4755
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_create); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4756
__Pyx_GOTREF(__pyx_1);
4757
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4758
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
4759
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
4760
__Pyx_GIVEREF(__pyx_1);
4762
__pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4763
__Pyx_GOTREF(__pyx_t_2);
4764
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
4765
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
4766
if (PyObject_SetAttr(__pyx_m, __pyx_kp_create, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4767
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4769
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":168
4772
* @sync # <<<<<<<<<<<<<<
4773
* def iterate(GroupID loc not None, object func, int startidx=0, *,
4774
* char* obj_name='.'):
4776
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4777
__Pyx_GOTREF(__pyx_1);
4779
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":169
4782
* def iterate(GroupID loc not None, object func, int startidx=0, *, # <<<<<<<<<<<<<<
4783
* char* obj_name='.'):
4784
* """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)
4786
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_iterate); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4787
__Pyx_GOTREF(__pyx_2);
4788
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4789
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
4790
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
4791
__Pyx_GIVEREF(__pyx_2);
4793
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4794
__Pyx_GOTREF(__pyx_t_3);
4795
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4796
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4797
if (PyObject_SetAttr(__pyx_m, __pyx_kp_iterate, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4798
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4800
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":195
4803
* @sync # <<<<<<<<<<<<<<
4804
* def get_objinfo(ObjectID obj not None, object name='.', int follow_link=1):
4805
* """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object
4807
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4808
__Pyx_GOTREF(__pyx_2);
4810
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":196
4813
* def get_objinfo(ObjectID obj not None, object name='.', int follow_link=1): # <<<<<<<<<<<<<<
4814
* """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object
4817
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_get_objinfo); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4818
__Pyx_GOTREF(__pyx_1);
4819
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4820
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
4821
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
4822
__Pyx_GIVEREF(__pyx_1);
4824
__pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4825
__Pyx_GOTREF(__pyx_t_2);
4826
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
4827
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
4828
if (PyObject_SetAttr(__pyx_m, __pyx_kp_get_objinfo, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4829
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4831
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":247
4832
* self.links = LinkProxy(id_)
4834
* @sync # <<<<<<<<<<<<<<
4838
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4839
__Pyx_GOTREF(__pyx_1);
4841
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":248
4844
* def _close(self): # <<<<<<<<<<<<<<
4848
__pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp__close); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4849
__Pyx_GOTREF(__pyx_2);
4850
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4851
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
4852
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
4853
__Pyx_GIVEREF(__pyx_2);
4855
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4856
__Pyx_GOTREF(__pyx_t_3);
4857
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4858
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4859
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp__close, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4860
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4861
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
4863
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":259
4865
* def link(self, char* current_name, char* new_name,
4866
* int link_type=H5G_LINK_HARD, GroupID remote=None): # <<<<<<<<<<<<<<
4867
* """(STRING current_name, STRING new_name, INT link_type=LINK_HARD,
4868
* GroupID remote=None)
4870
__pyx_k_97 = H5G_LINK_HARD;
4872
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":257
4875
* @sync # <<<<<<<<<<<<<<
4876
* def link(self, char* current_name, char* new_name,
4877
* int link_type=H5G_LINK_HARD, GroupID remote=None):
4879
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4880
__Pyx_GOTREF(__pyx_2);
4882
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":258
4885
* def link(self, char* current_name, char* new_name, # <<<<<<<<<<<<<<
4886
* int link_type=H5G_LINK_HARD, GroupID remote=None):
4887
* """(STRING current_name, STRING new_name, INT link_type=LINK_HARD,
4889
__pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_link); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4890
__Pyx_GOTREF(__pyx_1);
4891
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4892
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
4893
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
4894
__Pyx_GIVEREF(__pyx_1);
4896
__pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4897
__Pyx_GOTREF(__pyx_t_2);
4898
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
4899
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
4900
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_link, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4901
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4902
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
4904
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":284
4907
* @sync # <<<<<<<<<<<<<<
4908
* def unlink(self, char* name):
4911
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4912
__Pyx_GOTREF(__pyx_1);
4914
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":285
4917
* def unlink(self, char* name): # <<<<<<<<<<<<<<
4921
__pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_unlink); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4922
__Pyx_GOTREF(__pyx_2);
4923
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4924
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
4925
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
4926
__Pyx_GIVEREF(__pyx_2);
4928
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4929
__Pyx_GOTREF(__pyx_t_3);
4930
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4931
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4932
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_unlink, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4933
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4934
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
4936
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":293
4939
* @sync # <<<<<<<<<<<<<<
4940
* def move(self, char* current_name, char* new_name, GroupID remote=None):
4941
* """(STRING current_name, STRING new_name, GroupID remote=None)
4943
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4944
__Pyx_GOTREF(__pyx_2);
4946
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":294
4949
* def move(self, char* current_name, char* new_name, GroupID remote=None): # <<<<<<<<<<<<<<
4950
* """(STRING current_name, STRING new_name, GroupID remote=None)
4953
__pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_move); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4954
__Pyx_GOTREF(__pyx_1);
4955
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4956
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
4957
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
4958
__Pyx_GIVEREF(__pyx_1);
4960
__pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4961
__Pyx_GOTREF(__pyx_t_2);
4962
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
4963
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
4964
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_move, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4965
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4966
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
4968
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":310
4971
* @sync # <<<<<<<<<<<<<<
4972
* def get_num_objs(self):
4973
* """() => INT number_of_objects
4975
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4976
__Pyx_GOTREF(__pyx_1);
4978
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":311
4981
* def get_num_objs(self): # <<<<<<<<<<<<<<
4982
* """() => INT number_of_objects
4985
__pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_get_num_objs); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4986
__Pyx_GOTREF(__pyx_2);
4987
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4988
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
4989
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
4990
__Pyx_GIVEREF(__pyx_2);
4992
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4993
__Pyx_GOTREF(__pyx_t_3);
4994
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4995
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
4996
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_get_num_objs, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4997
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4998
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5000
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":321
5003
* @sync # <<<<<<<<<<<<<<
5004
* def get_objname_by_idx(self, hsize_t idx):
5005
* """(INT idx) => STRING
5007
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5008
__Pyx_GOTREF(__pyx_2);
5010
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":322
5013
* def get_objname_by_idx(self, hsize_t idx): # <<<<<<<<<<<<<<
5014
* """(INT idx) => STRING
5017
__pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_get_objname_by_idx); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5018
__Pyx_GOTREF(__pyx_1);
5019
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5020
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
5021
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
5022
__Pyx_GIVEREF(__pyx_1);
5024
__pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5025
__Pyx_GOTREF(__pyx_t_2);
5026
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
5027
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
5028
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_get_objname_by_idx, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5029
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5030
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5032
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":348
5035
* @sync # <<<<<<<<<<<<<<
5036
* def get_objtype_by_idx(self, hsize_t idx):
5037
* """(INT idx) => INT object_type_code
5039
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5040
__Pyx_GOTREF(__pyx_1);
5042
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":349
5045
* def get_objtype_by_idx(self, hsize_t idx): # <<<<<<<<<<<<<<
5046
* """(INT idx) => INT object_type_code
5049
__pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_get_objtype_by_idx); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5050
__Pyx_GOTREF(__pyx_2);
5051
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5052
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
5053
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
5054
__Pyx_GIVEREF(__pyx_2);
5056
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5057
__Pyx_GOTREF(__pyx_t_3);
5058
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
5059
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5060
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_get_objtype_by_idx, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5061
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5062
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5064
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":371
5067
* @sync # <<<<<<<<<<<<<<
5068
* def get_linkval(self, char* name):
5069
* """(STRING name) => STRING link_value
5071
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5072
__Pyx_GOTREF(__pyx_2);
5074
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":372
5077
* def get_linkval(self, char* name): # <<<<<<<<<<<<<<
5078
* """(STRING name) => STRING link_value
5081
__pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_get_linkval); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5082
__Pyx_GOTREF(__pyx_1);
5083
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5084
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
5085
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
5086
__Pyx_GIVEREF(__pyx_1);
5088
__pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5089
__Pyx_GOTREF(__pyx_t_2);
5090
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
5091
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
5092
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_get_linkval, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5093
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5094
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5096
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":400
5099
* @sync # <<<<<<<<<<<<<<
5100
* def set_comment(self, char* name, char* comment):
5101
* """(STRING name, STRING comment)
5103
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5104
__Pyx_GOTREF(__pyx_1);
5106
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":401
5109
* def set_comment(self, char* name, char* comment): # <<<<<<<<<<<<<<
5110
* """(STRING name, STRING comment)
5113
__pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_set_comment); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5114
__Pyx_GOTREF(__pyx_2);
5115
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5116
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
5117
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
5118
__Pyx_GIVEREF(__pyx_2);
5120
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5121
__Pyx_GOTREF(__pyx_t_3);
5122
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
5123
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5124
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_set_comment, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5125
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5126
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5128
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":408
5129
* H5Gset_comment(self.id, name, comment)
5131
* @sync # <<<<<<<<<<<<<<
5132
* def get_comment(self, char* name):
5133
* """(STRING name) => STRING comment
5135
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5136
__Pyx_GOTREF(__pyx_2);
5138
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":409
5141
* def get_comment(self, char* name): # <<<<<<<<<<<<<<
5142
* """(STRING name) => STRING comment
5145
__pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp_get_comment); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5146
__Pyx_GOTREF(__pyx_1);
5147
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5148
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
5149
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
5150
__Pyx_GIVEREF(__pyx_1);
5152
__pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5153
__Pyx_GOTREF(__pyx_t_2);
5154
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
5155
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
5156
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp_get_comment, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5157
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5158
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5160
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":431
5161
* # === Special methods =====================================================
5163
* @sync # <<<<<<<<<<<<<<
5164
* def __contains__(self, char* name):
5167
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5168
__Pyx_GOTREF(__pyx_1);
5170
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":432
5173
* def __contains__(self, char* name): # <<<<<<<<<<<<<<
5177
__pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp___contains__); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5178
__Pyx_GOTREF(__pyx_2);
5179
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5180
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
5181
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
5182
__Pyx_GIVEREF(__pyx_2);
5184
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5185
__Pyx_GOTREF(__pyx_t_3);
5186
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
5187
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5188
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp___contains__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5189
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5190
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5192
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":448
5193
* return bool(retval >= 0)
5195
* @nosync # <<<<<<<<<<<<<<
5196
* def __iter__(self):
5197
* """ Return an iterator over the names of group members. """
5199
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_nosync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5200
__Pyx_GOTREF(__pyx_2);
5202
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":449
5205
* def __iter__(self): # <<<<<<<<<<<<<<
5206
* """ Return an iterator over the names of group members. """
5207
* return GroupIter(self)
5209
__pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp___iter__); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5210
__Pyx_GOTREF(__pyx_1);
5211
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5212
__Pyx_GOTREF(((PyObject *)__pyx_t_3));
5213
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
5214
__Pyx_GIVEREF(__pyx_1);
5216
__pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5217
__Pyx_GOTREF(__pyx_t_2);
5218
__Pyx_DECREF(__pyx_2); __pyx_2 = 0;
5219
__Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
5220
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp___iter__, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5221
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5222
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5224
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":453
5225
* return GroupIter(self)
5227
* @sync # <<<<<<<<<<<<<<
5228
* def __len__(self):
5229
* """ Number of group members """
5231
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5232
__Pyx_GOTREF(__pyx_1);
5234
/* "/home/tachyon/pydev/h5py/h5py/h5g.pyx":454
5237
* def __len__(self): # <<<<<<<<<<<<<<
5238
* """ Number of group members """
5241
__pyx_2 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID, __pyx_kp___len__); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5242
__Pyx_GOTREF(__pyx_2);
5243
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5244
__Pyx_GOTREF(((PyObject *)__pyx_t_2));
5245
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
5246
__Pyx_GIVEREF(__pyx_2);
5248
__pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5249
__Pyx_GOTREF(__pyx_t_3);
5250
__Pyx_DECREF(__pyx_1); __pyx_1 = 0;
5251
__Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5252
if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5g_GroupID->tp_dict, __pyx_kp___len__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5253
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5254
PyType_Modified(__pyx_ptype_4h5py_3h5g_GroupID);
5256
/* "/home/tachyon/pydev/h5py/h5py/numpy.pxd":1
5257
* #+ # <<<<<<<<<<<<<<
5259
* # This file is part of h5py, a low-level Python interface to the HDF5 library.
5263
__Pyx_XDECREF(__pyx_1);
5264
__Pyx_XDECREF(__pyx_2);
5265
__Pyx_XDECREF(__pyx_t_2);
5266
__Pyx_XDECREF(__pyx_t_3);
5267
__Pyx_AddTraceback("h5py.h5g");
5268
Py_DECREF(__pyx_m); __pyx_m = 0;
5270
__Pyx_FinishRefcountContext();
5271
#if PY_MAJOR_VERSION < 3
5278
static const char *__pyx_filenames[] = {
5285
/* Runtime support code */
5287
static void __pyx_init_filenames(void) {
5288
__pyx_f = __pyx_filenames;
5291
static void __Pyx_RaiseDoubleKeywordsError(
5292
const char* func_name,
5295
PyErr_Format(PyExc_TypeError,
5296
#if PY_MAJOR_VERSION >= 3
5297
"%s() got multiple values for keyword argument '%U'", func_name, kw_name);
5299
"%s() got multiple values for keyword argument '%s'", func_name,
5300
PyString_AS_STRING(kw_name));
5304
static void __Pyx_RaiseArgtupleInvalid(
5305
const char* func_name,
5309
Py_ssize_t num_found)
5311
Py_ssize_t num_expected;
5312
const char *number, *more_or_less;
5314
if (num_found < num_min) {
5315
num_expected = num_min;
5316
more_or_less = "at least";
5318
num_expected = num_max;
5319
more_or_less = "at most";
5322
more_or_less = "exactly";
5324
number = (num_expected == 1) ? "" : "s";
5325
PyErr_Format(PyExc_TypeError,
5326
#if PY_VERSION_HEX < 0x02050000
5327
"%s() takes %s %d positional argument%s (%d given)",
5329
"%s() takes %s %zd positional argument%s (%zd given)",
5331
func_name, more_or_less, num_expected, number, num_found);
5334
static int __Pyx_ParseOptionalKeywords(
5336
PyObject **argnames[],
5339
Py_ssize_t num_pos_args,
5340
const char* function_name)
5342
PyObject *key = 0, *value = 0;
5345
PyObject*** first_kw_arg = argnames + num_pos_args;
5347
while (PyDict_Next(kwds, &pos, &key, &value)) {
5348
name = first_kw_arg;
5349
while (*name && (**name != key)) name++;
5351
values[name-argnames] = value;
5353
#if PY_MAJOR_VERSION < 3
5354
if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) {
5356
if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) {
5358
goto invalid_keyword_type;
5360
for (name = first_kw_arg; *name; name++) {
5361
#if PY_MAJOR_VERSION >= 3
5362
if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
5363
PyUnicode_Compare(**name, key) == 0) break;
5365
if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
5366
_PyString_Eq(**name, key)) break;
5370
values[name-argnames] = value;
5372
/* unexpected keyword found */
5373
for (name=argnames; name != first_kw_arg; name++) {
5374
if (**name == key) goto arg_passed_twice;
5375
#if PY_MAJOR_VERSION >= 3
5376
if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
5377
PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice;
5379
if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
5380
_PyString_Eq(**name, key)) goto arg_passed_twice;
5384
if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
5386
goto invalid_keyword;
5394
__Pyx_RaiseDoubleKeywordsError(function_name, **name);
5396
invalid_keyword_type:
5397
PyErr_Format(PyExc_TypeError,
5398
"%s() keywords must be strings", function_name);
5401
PyErr_Format(PyExc_TypeError,
5402
#if PY_MAJOR_VERSION < 3
5403
"%s() got an unexpected keyword argument '%s'",
5404
function_name, PyString_AsString(key));
5406
"%s() got an unexpected keyword argument '%U'",
5407
function_name, key);
5413
static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
5415
PyErr_Format(PyExc_SystemError, "Missing type object");
5418
if (obj == Py_None || PyObject_TypeCheck(obj, type))
5420
PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s",
5421
Py_TYPE(obj)->tp_name, type->tp_name);
5425
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
5426
PyObject *tmp_type, *tmp_value, *tmp_tb;
5427
PyThreadState *tstate = PyThreadState_GET();
5429
#if PY_MAJOR_VERSION >= 3
5430
/* Note: this is a temporary work-around to prevent crashes in Python 3.0 */
5431
if ((tstate->exc_type != NULL) & (tstate->exc_type != Py_None)) {
5432
tmp_type = tstate->exc_type;
5433
tmp_value = tstate->exc_value;
5434
tmp_tb = tstate->exc_traceback;
5435
PyErr_NormalizeException(&type, &value, &tb);
5436
PyErr_NormalizeException(&tmp_type, &tmp_value, &tmp_tb);
5437
tstate->exc_type = 0;
5438
tstate->exc_value = 0;
5439
tstate->exc_traceback = 0;
5440
PyException_SetContext(value, tmp_value);
5441
Py_DECREF(tmp_type);
5446
tmp_type = tstate->curexc_type;
5447
tmp_value = tstate->curexc_value;
5448
tmp_tb = tstate->curexc_traceback;
5449
tstate->curexc_type = type;
5450
tstate->curexc_value = value;
5451
tstate->curexc_traceback = tb;
5452
Py_XDECREF(tmp_type);
5453
Py_XDECREF(tmp_value);
5457
static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
5458
PyThreadState *tstate = PyThreadState_GET();
5459
*type = tstate->curexc_type;
5460
*value = tstate->curexc_value;
5461
*tb = tstate->curexc_traceback;
5463
tstate->curexc_type = 0;
5464
tstate->curexc_value = 0;
5465
tstate->curexc_traceback = 0;
5469
static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
5470
const char *name, int exact)
5473
PyErr_Format(PyExc_SystemError, "Missing type object");
5476
if (none_allowed && obj == Py_None) return 1;
5478
if (Py_TYPE(obj) == type) return 1;
5481
if (PyObject_TypeCheck(obj, type)) return 1;
5483
PyErr_Format(PyExc_TypeError,
5484
"Argument '%s' has incorrect type (expected %s, got %s)",
5485
name, type->tp_name, Py_TYPE(obj)->tp_name);
5489
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
5490
PyObject *__import__ = 0;
5491
PyObject *empty_list = 0;
5492
PyObject *module = 0;
5493
PyObject *global_dict = 0;
5494
PyObject *empty_dict = 0;
5496
__import__ = __Pyx_GetAttrString(__pyx_b, "__import__");
5502
empty_list = PyList_New(0);
5507
global_dict = PyModule_GetDict(__pyx_m);
5510
empty_dict = PyDict_New();
5513
module = PyObject_CallFunctionObjArgs(__import__,
5514
name, global_dict, empty_dict, list, NULL);
5516
Py_XDECREF(empty_list);
5517
Py_XDECREF(__import__);
5518
Py_XDECREF(empty_dict);
5522
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
5524
result = PyObject_GetAttr(dict, name);
5526
PyErr_SetObject(PyExc_NameError, name);
5530
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
5534
/* First, check the traceback argument, replacing None with NULL. */
5535
if (tb == Py_None) {
5539
else if (tb != NULL && !PyTraceBack_Check(tb)) {
5540
PyErr_SetString(PyExc_TypeError,
5541
"raise: arg 3 must be a traceback or None");
5544
/* Next, replace a missing value with None */
5545
if (value == NULL) {
5549
#if PY_VERSION_HEX < 0x02050000
5550
if (!PyClass_Check(type))
5552
if (!PyType_Check(type))
5555
/* Raising an instance. The value should be a dummy. */
5556
if (value != Py_None) {
5557
PyErr_SetString(PyExc_TypeError,
5558
"instance exception may not have a separate value");
5561
/* Normalize to raise <class>, <instance> */
5564
#if PY_VERSION_HEX < 0x02050000
5565
if (PyInstance_Check(type)) {
5566
type = (PyObject*) ((PyInstanceObject*)type)->in_class;
5571
PyErr_SetString(PyExc_TypeError,
5572
"raise: exception must be an old-style class or instance");
5576
type = (PyObject*) Py_TYPE(type);
5578
if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
5579
PyErr_SetString(PyExc_TypeError,
5580
"raise: exception class must be a subclass of BaseException");
5585
__Pyx_ErrRestore(type, value, tb);
5594
static INLINE int __Pyx_StrEq(const char *s1, const char *s2) {
5595
while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
5599
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
5600
if (sizeof(unsigned char) < sizeof(long)) {
5601
long val = __Pyx_PyInt_AsLong(x);
5602
if (unlikely(val != (long)(unsigned char)val)) {
5603
if (unlikely(val == -1 && PyErr_Occurred()))
5604
return (unsigned char)-1;
5605
if (unlikely(val < 0)) {
5606
PyErr_SetString(PyExc_OverflowError,
5607
"can't convert negative value to unsigned char");
5608
return (unsigned char)-1;
5610
PyErr_SetString(PyExc_OverflowError,
5611
"value too large to convert to unsigned char");
5612
return (unsigned char)-1;
5614
return (unsigned char)val;
5616
return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
5619
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
5620
if (sizeof(unsigned short) < sizeof(long)) {
5621
long val = __Pyx_PyInt_AsLong(x);
5622
if (unlikely(val != (long)(unsigned short)val)) {
5623
if (unlikely(val == -1 && PyErr_Occurred()))
5624
return (unsigned short)-1;
5625
if (unlikely(val < 0)) {
5626
PyErr_SetString(PyExc_OverflowError,
5627
"can't convert negative value to unsigned short");
5628
return (unsigned short)-1;
5630
PyErr_SetString(PyExc_OverflowError,
5631
"value too large to convert to unsigned short");
5632
return (unsigned short)-1;
5634
return (unsigned short)val;
5636
return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
5639
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
5640
if (sizeof(unsigned int) < sizeof(long)) {
5641
long val = __Pyx_PyInt_AsLong(x);
5642
if (unlikely(val != (long)(unsigned int)val)) {
5643
if (unlikely(val == -1 && PyErr_Occurred()))
5644
return (unsigned int)-1;
5645
if (unlikely(val < 0)) {
5646
PyErr_SetString(PyExc_OverflowError,
5647
"can't convert negative value to unsigned int");
5648
return (unsigned int)-1;
5650
PyErr_SetString(PyExc_OverflowError,
5651
"value too large to convert to unsigned int");
5652
return (unsigned int)-1;
5654
return (unsigned int)val;
5656
return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
5659
static INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
5660
if (sizeof(char) < sizeof(long)) {
5661
long val = __Pyx_PyInt_AsLong(x);
5662
if (unlikely(val != (long)(char)val)) {
5663
if (unlikely(val == -1 && PyErr_Occurred()))
5665
PyErr_SetString(PyExc_OverflowError,
5666
"value too large to convert to char");
5671
return (char)__Pyx_PyInt_AsLong(x);
5674
static INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
5675
if (sizeof(short) < sizeof(long)) {
5676
long val = __Pyx_PyInt_AsLong(x);
5677
if (unlikely(val != (long)(short)val)) {
5678
if (unlikely(val == -1 && PyErr_Occurred()))
5680
PyErr_SetString(PyExc_OverflowError,
5681
"value too large to convert to short");
5686
return (short)__Pyx_PyInt_AsLong(x);
5689
static INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
5690
if (sizeof(int) < sizeof(long)) {
5691
long val = __Pyx_PyInt_AsLong(x);
5692
if (unlikely(val != (long)(int)val)) {
5693
if (unlikely(val == -1 && PyErr_Occurred()))
5695
PyErr_SetString(PyExc_OverflowError,
5696
"value too large to convert to int");
5701
return (int)__Pyx_PyInt_AsLong(x);
5704
static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
5705
if (sizeof(signed char) < sizeof(long)) {
5706
long val = __Pyx_PyInt_AsLong(x);
5707
if (unlikely(val != (long)(signed char)val)) {
5708
if (unlikely(val == -1 && PyErr_Occurred()))
5709
return (signed char)-1;
5710
PyErr_SetString(PyExc_OverflowError,
5711
"value too large to convert to signed char");
5712
return (signed char)-1;
5714
return (signed char)val;
5716
return (signed char)__Pyx_PyInt_AsSignedLong(x);
5719
static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
5720
if (sizeof(signed short) < sizeof(long)) {
5721
long val = __Pyx_PyInt_AsLong(x);
5722
if (unlikely(val != (long)(signed short)val)) {
5723
if (unlikely(val == -1 && PyErr_Occurred()))
5724
return (signed short)-1;
5725
PyErr_SetString(PyExc_OverflowError,
5726
"value too large to convert to signed short");
5727
return (signed short)-1;
5729
return (signed short)val;
5731
return (signed short)__Pyx_PyInt_AsSignedLong(x);
5734
static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
5735
if (sizeof(signed int) < sizeof(long)) {
5736
long val = __Pyx_PyInt_AsLong(x);
5737
if (unlikely(val != (long)(signed int)val)) {
5738
if (unlikely(val == -1 && PyErr_Occurred()))
5739
return (signed int)-1;
5740
PyErr_SetString(PyExc_OverflowError,
5741
"value too large to convert to signed int");
5742
return (signed int)-1;
5744
return (signed int)val;
5746
return (signed int)__Pyx_PyInt_AsSignedLong(x);
5749
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
5750
#if PY_VERSION_HEX < 0x03000000
5751
if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
5752
long val = PyInt_AS_LONG(x);
5753
if (unlikely(val < 0)) {
5754
PyErr_SetString(PyExc_OverflowError,
5755
"can't convert negative value to unsigned long");
5756
return (unsigned long)-1;
5758
return (unsigned long)val;
5761
if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
5762
if (unlikely(Py_SIZE(x) < 0)) {
5763
PyErr_SetString(PyExc_OverflowError,
5764
"can't convert negative value to unsigned long");
5765
return (unsigned long)-1;
5767
return PyLong_AsUnsignedLong(x);
5770
PyObject *tmp = __Pyx_PyNumber_Int(x);
5771
if (!tmp) return (unsigned long)-1;
5772
val = __Pyx_PyInt_AsUnsignedLong(tmp);
5778
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
5779
#if PY_VERSION_HEX < 0x03000000
5780
if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
5781
long val = PyInt_AS_LONG(x);
5782
if (unlikely(val < 0)) {
5783
PyErr_SetString(PyExc_OverflowError,
5784
"can't convert negative value to unsigned PY_LONG_LONG");
5785
return (unsigned PY_LONG_LONG)-1;
5787
return (unsigned PY_LONG_LONG)val;
5790
if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
5791
if (unlikely(Py_SIZE(x) < 0)) {
5792
PyErr_SetString(PyExc_OverflowError,
5793
"can't convert negative value to unsigned PY_LONG_LONG");
5794
return (unsigned PY_LONG_LONG)-1;
5796
return PyLong_AsUnsignedLongLong(x);
5798
unsigned PY_LONG_LONG val;
5799
PyObject *tmp = __Pyx_PyNumber_Int(x);
5800
if (!tmp) return (unsigned PY_LONG_LONG)-1;
5801
val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
5807
static INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
5808
#if PY_VERSION_HEX < 0x03000000
5809
if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
5810
long val = PyInt_AS_LONG(x);
5814
if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
5815
return PyLong_AsLong(x);
5818
PyObject *tmp = __Pyx_PyNumber_Int(x);
5819
if (!tmp) return (long)-1;
5820
val = __Pyx_PyInt_AsLong(tmp);
5826
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
5827
#if PY_VERSION_HEX < 0x03000000
5828
if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
5829
long val = PyInt_AS_LONG(x);
5830
return (PY_LONG_LONG)val;
5833
if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
5834
return PyLong_AsLongLong(x);
5837
PyObject *tmp = __Pyx_PyNumber_Int(x);
5838
if (!tmp) return (PY_LONG_LONG)-1;
5839
val = __Pyx_PyInt_AsLongLong(tmp);
5845
static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
5846
#if PY_VERSION_HEX < 0x03000000
5847
if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
5848
long val = PyInt_AS_LONG(x);
5849
return (signed long)val;
5852
if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
5853
return PyLong_AsLong(x);
5856
PyObject *tmp = __Pyx_PyNumber_Int(x);
5857
if (!tmp) return (signed long)-1;
5858
val = __Pyx_PyInt_AsSignedLong(tmp);
5864
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
5865
#if PY_VERSION_HEX < 0x03000000
5866
if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
5867
long val = PyInt_AS_LONG(x);
5868
return (signed PY_LONG_LONG)val;
5871
if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
5872
return PyLong_AsLongLong(x);
5874
signed PY_LONG_LONG val;
5875
PyObject *tmp = __Pyx_PyNumber_Int(x);
5876
if (!tmp) return (signed PY_LONG_LONG)-1;
5877
val = __Pyx_PyInt_AsSignedLongLong(tmp);
5883
#ifndef __PYX_HAVE_RT_ImportType
5884
#define __PYX_HAVE_RT_ImportType
5885
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
5888
PyObject *py_module = 0;
5889
PyObject *result = 0;
5890
PyObject *py_name = 0;
5892
py_module = __Pyx_ImportModule(module_name);
5895
#if PY_MAJOR_VERSION < 3
5896
py_name = PyString_FromString(class_name);
5898
py_name = PyUnicode_FromString(class_name);
5902
result = PyObject_GetAttr(py_module, py_name);
5905
Py_DECREF(py_module);
5909
if (!PyType_Check(result)) {
5910
PyErr_Format(PyExc_TypeError,
5911
"%s.%s is not a type object",
5912
module_name, class_name);
5915
if (((PyTypeObject *)result)->tp_basicsize != size) {
5916
PyErr_Format(PyExc_ValueError,
5917
"%s.%s does not appear to be the correct type object",
5918
module_name, class_name);
5921
return (PyTypeObject *)result;
5923
Py_XDECREF(py_module);
5929
#ifndef __PYX_HAVE_RT_ImportModule
5930
#define __PYX_HAVE_RT_ImportModule
5931
static PyObject *__Pyx_ImportModule(const char *name) {
5932
PyObject *py_name = 0;
5933
PyObject *py_module = 0;
5935
#if PY_MAJOR_VERSION < 3
5936
py_name = PyString_FromString(name);
5938
py_name = PyUnicode_FromString(name);
5942
py_module = PyImport_Import(py_name);
5946
Py_XDECREF(py_name);
5951
static int __Pyx_GetVtable(PyObject *dict, void *vtabptr) {
5955
pycobj = PyMapping_GetItemString(dict, (char *)"__pyx_vtable__");
5958
*(void **)vtabptr = PyCObject_AsVoidPtr(pycobj);
5959
if (!*(void **)vtabptr)
5971
#ifndef __PYX_HAVE_RT_ImportFunction
5972
#define __PYX_HAVE_RT_ImportFunction
5973
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
5974
#if PY_VERSION_HEX < 0x02050000
5975
char *api = (char *)"__pyx_capi__";
5977
const char *api = "__pyx_capi__";
5982
const char *s1, *s2;
5988
d = PyObject_GetAttrString(module, api);
5991
cobj = PyDict_GetItemString(d, funcname);
5993
PyErr_Format(PyExc_ImportError,
5994
"%s does not export expected C function %s",
5995
PyModule_GetName(module), funcname);
5998
desc = (const char *)PyCObject_GetDesc(cobj);
6001
s1 = desc; s2 = sig;
6002
while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
6004
PyErr_Format(PyExc_TypeError,
6005
"C function %s.%s has wrong signature (expected %s, got %s)",
6006
PyModule_GetName(module), funcname, sig, desc);
6009
tmp.p = PyCObject_AsVoidPtr(cobj);
6019
#include "compile.h"
6020
#include "frameobject.h"
6021
#include "traceback.h"
6023
static void __Pyx_AddTraceback(const char *funcname) {
6024
PyObject *py_srcfile = 0;
6025
PyObject *py_funcname = 0;
6026
PyObject *py_globals = 0;
6027
PyObject *empty_string = 0;
6028
PyCodeObject *py_code = 0;
6029
PyFrameObject *py_frame = 0;
6031
#if PY_MAJOR_VERSION < 3
6032
py_srcfile = PyString_FromString(__pyx_filename);
6034
py_srcfile = PyUnicode_FromString(__pyx_filename);
6036
if (!py_srcfile) goto bad;
6037
if (__pyx_clineno) {
6038
#if PY_MAJOR_VERSION < 3
6039
py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
6041
py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
6045
#if PY_MAJOR_VERSION < 3
6046
py_funcname = PyString_FromString(funcname);
6048
py_funcname = PyUnicode_FromString(funcname);
6051
if (!py_funcname) goto bad;
6052
py_globals = PyModule_GetDict(__pyx_m);
6053
if (!py_globals) goto bad;
6054
#if PY_MAJOR_VERSION < 3
6055
empty_string = PyString_FromStringAndSize("", 0);
6057
empty_string = PyBytes_FromStringAndSize("", 0);
6059
if (!empty_string) goto bad;
6060
py_code = PyCode_New(
6061
0, /*int argcount,*/
6062
#if PY_MAJOR_VERSION >= 3
6063
0, /*int kwonlyargcount,*/
6066
0, /*int stacksize,*/
6068
empty_string, /*PyObject *code,*/
6069
__pyx_empty_tuple, /*PyObject *consts,*/
6070
__pyx_empty_tuple, /*PyObject *names,*/
6071
__pyx_empty_tuple, /*PyObject *varnames,*/
6072
__pyx_empty_tuple, /*PyObject *freevars,*/
6073
__pyx_empty_tuple, /*PyObject *cellvars,*/
6074
py_srcfile, /*PyObject *filename,*/
6075
py_funcname, /*PyObject *name,*/
6076
__pyx_lineno, /*int firstlineno,*/
6077
empty_string /*PyObject *lnotab*/
6079
if (!py_code) goto bad;
6080
py_frame = PyFrame_New(
6081
PyThreadState_GET(), /*PyThreadState *tstate,*/
6082
py_code, /*PyCodeObject *code,*/
6083
py_globals, /*PyObject *globals,*/
6084
0 /*PyObject *locals*/
6086
if (!py_frame) goto bad;
6087
py_frame->f_lineno = __pyx_lineno;
6088
PyTraceBack_Here(py_frame);
6090
Py_XDECREF(py_srcfile);
6091
Py_XDECREF(py_funcname);
6092
Py_XDECREF(empty_string);
6093
Py_XDECREF(py_code);
6094
Py_XDECREF(py_frame);
6097
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
6099
#if PY_MAJOR_VERSION < 3
6100
if (t->is_unicode && (!t->is_identifier)) {
6101
*t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
6102
} else if (t->intern) {
6103
*t->p = PyString_InternFromString(t->s);
6105
*t->p = PyString_FromStringAndSize(t->s, t->n - 1);
6107
#else /* Python 3+ has unicode identifiers */
6108
if (t->is_identifier || (t->is_unicode && t->intern)) {
6109
*t->p = PyUnicode_InternFromString(t->s);
6110
} else if (t->is_unicode) {
6111
*t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
6113
*t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
6123
/* Type Conversion Functions */
6125
static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
6126
if (x == Py_True) return 1;
6127
else if ((x == Py_False) | (x == Py_None)) return 0;
6128
else return PyObject_IsTrue(x);
6131
static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
6133
const char *name = NULL;
6134
PyObject *res = NULL;
6135
#if PY_VERSION_HEX < 0x03000000
6136
if (PyInt_Check(x) || PyLong_Check(x))
6138
if (PyLong_Check(x))
6140
return Py_INCREF(x), x;
6141
m = Py_TYPE(x)->tp_as_number;
6142
#if PY_VERSION_HEX < 0x03000000
6143
if (m && m->nb_int) {
6145
res = PyNumber_Int(x);
6147
else if (m && m->nb_long) {
6149
res = PyNumber_Long(x);
6152
if (m && m->nb_int) {
6154
res = PyNumber_Long(x);
6158
#if PY_VERSION_HEX < 0x03000000
6159
if (!PyInt_Check(res) && !PyLong_Check(res)) {
6161
if (!PyLong_Check(res)) {
6163
PyErr_Format(PyExc_TypeError,
6164
"__%s__ returned non-%s (type %.200s)",
6165
name, name, Py_TYPE(res)->tp_name);
6170
else if (!PyErr_Occurred()) {
6171
PyErr_SetString(PyExc_TypeError,
6172
"an integer is required");
6177
static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
6179
PyObject* x = PyNumber_Index(b);
6181
ival = PyInt_AsSsize_t(x);
6186
static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
6187
#if PY_VERSION_HEX < 0x02050000
6188
if (ival <= LONG_MAX)
6189
return PyInt_FromLong((long)ival);
6191
unsigned char *bytes = (unsigned char *) &ival;
6192
int one = 1; int little = (int)*(unsigned char*)&one;
6193
return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
6196
return PyInt_FromSize_t(ival);
6200
static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
6201
unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
6202
if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
6204
} else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
6205
PyErr_SetString(PyExc_OverflowError,
6206
"value too large to convert to size_t");