~ubuntu-branches/ubuntu/natty/h5py/natty

« back to all changes in this revision

Viewing changes to api18/h5g.c

  • Committer: Bazaar Package Importer
  • Author(s): Soeren Sonnenburg
  • Date: 2011-01-12 14:48:19 UTC
  • mfrom: (3.1.4 sid)
  • Revision ID: james.westby@ubuntu.com-20110112144819-osopamdesx0nw7h2
Tags: 1.3.1-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Generated by Cython 0.12 on Sun Mar 14 21:50:22 2010 */
 
1
/* Generated by Cython 0.12.1 on Tue Dec 21 22:32:01 2010 */
2
2
 
3
3
#define PY_SSIZE_T_CLEAN
4
4
#include "Python.h"
6
6
#ifndef Py_PYTHON_H
7
7
    #error Python headers needed to compile C extensions, please install development version of Python.
8
8
#else
 
9
 
9
10
#ifndef PY_LONG_LONG
10
11
  #define PY_LONG_LONG LONG_LONG
11
12
#endif
17
18
  #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
18
19
  #define PyDict_Contains(d,o)   PySequence_Contains(d,o)
19
20
#endif
 
21
 
20
22
#if PY_VERSION_HEX < 0x02050000
21
23
  typedef int Py_ssize_t;
22
24
  #define PY_SSIZE_T_MAX INT_MAX
26
28
  #define PyInt_AsSsize_t(o)   PyInt_AsLong(o)
27
29
  #define PyNumber_Index(o)    PyNumber_Int(o)
28
30
  #define PyIndex_Check(o)     PyNumber_Check(o)
 
31
  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
29
32
#endif
 
33
 
30
34
#if PY_VERSION_HEX < 0x02060000
31
35
  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
32
36
  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
36
40
  #define PyType_Modified(t)
37
41
 
38
42
  typedef struct {
39
 
       void *buf;
40
 
       PyObject *obj;
41
 
       Py_ssize_t len;
42
 
       Py_ssize_t itemsize;
43
 
       int readonly;
44
 
       int ndim;
45
 
       char *format;
46
 
       Py_ssize_t *shape;
47
 
       Py_ssize_t *strides;
48
 
       Py_ssize_t *suboffsets;
49
 
       void *internal;
 
43
     void *buf;
 
44
     PyObject *obj;
 
45
     Py_ssize_t len;
 
46
     Py_ssize_t itemsize;
 
47
     int readonly;
 
48
     int ndim;
 
49
     char *format;
 
50
     Py_ssize_t *shape;
 
51
     Py_ssize_t *strides;
 
52
     Py_ssize_t *suboffsets;
 
53
     void *internal;
50
54
  } Py_buffer;
51
55
 
52
56
  #define PyBUF_SIMPLE 0
60
64
  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
61
65
 
62
66
#endif
 
67
 
63
68
#if PY_MAJOR_VERSION < 3
64
69
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
65
70
#else
66
71
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
67
72
#endif
 
73
 
68
74
#if PY_MAJOR_VERSION >= 3
69
75
  #define Py_TPFLAGS_CHECKTYPES 0
70
76
  #define Py_TPFLAGS_HAVE_INDEX 0
71
77
#endif
 
78
 
72
79
#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
73
80
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
74
81
#endif
 
82
 
75
83
#if PY_MAJOR_VERSION >= 3
76
84
  #define PyBaseString_Type            PyUnicode_Type
77
85
  #define PyString_Type                PyUnicode_Type
80
88
  #define PyBytes_Type                 PyString_Type
81
89
  #define PyBytes_CheckExact           PyString_CheckExact
82
90
#endif
 
91
 
83
92
#if PY_MAJOR_VERSION >= 3
84
93
  #define PyInt_Type                   PyLong_Type
85
94
  #define PyInt_Check(op)              PyLong_Check(op)
99
108
#else
100
109
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
101
110
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
 
111
 
102
112
#endif
 
113
 
103
114
#if PY_MAJOR_VERSION >= 3
104
115
  #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
105
116
#endif
 
117
 
106
118
#if !defined(WIN32) && !defined(MS_WINDOWS)
107
119
  #ifndef __stdcall
108
120
    #define __stdcall
116
128
#else
117
129
  #define _USE_MATH_DEFINES
118
130
#endif
 
131
 
119
132
#if PY_VERSION_HEX < 0x02050000
120
133
  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
121
134
  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
125
138
  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
126
139
  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
127
140
#endif
 
141
 
128
142
#if PY_VERSION_HEX < 0x02050000
129
143
  #define __Pyx_NAMESTR(n) ((char *)(n))
130
144
  #define __Pyx_DOCSTR(n)  ((char *)(n))
149
163
#include "hdf5.h"
150
164
#include "numpy/arrayobject.h"
151
165
 
152
 
#ifdef __GNUC__
153
 
#define INLINE __inline__
154
 
#elif _WIN32
155
 
#define INLINE __inline
156
 
#else
157
 
#define INLINE 
 
166
#ifndef CYTHON_INLINE
 
167
  #if defined(__GNUC__)
 
168
    #define CYTHON_INLINE __inline__
 
169
  #elif defined(_MSC_VER)
 
170
    #define CYTHON_INLINE __inline
 
171
  #else
 
172
    #define CYTHON_INLINE 
 
173
  #endif
158
174
#endif
159
175
 
160
176
typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
176
192
#define __Pyx_PyBytes_AsUString(s)        ((unsigned char*) __Pyx_PyBytes_AsString(s))
177
193
 
178
194
#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
179
 
static INLINE int __Pyx_PyObject_IsTrue(PyObject*);
180
 
static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
 
195
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
 
196
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
181
197
 
182
198
#if !defined(T_PYSSIZET)
183
199
#if PY_VERSION_HEX < 0x02050000
241
257
#endif
242
258
#endif
243
259
 
244
 
static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
245
 
static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
246
 
static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
 
260
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
 
261
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
 
262
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
247
263
 
248
264
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
249
265
 
275
291
 
276
292
/* Type declarations */
277
293
 
278
 
/* "/home/tachyon/slave/unix-release/build/h5py/utils.pxd":20
 
294
/* "/home/tachyon/h5py/h5py/utils.pxd":20
279
295
 * cdef void efree(void* ptr)
280
296
 * 
281
297
 * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
288
304
  hid_t space_id;
289
305
};
290
306
 
291
 
/* "/home/tachyon/slave/unix-release/build/h5py/utils.pxd":21
 
307
/* "/home/tachyon/h5py/h5py/utils.pxd":21
292
308
 * 
293
309
 * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
294
310
 * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
301
317
  hid_t space_id;
302
318
};
303
319
 
304
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5e.pxd":33
 
320
/* "/home/tachyon/h5py/h5py/h5e.pxd":33
305
321
 * # Safe to call more than once.
306
322
 * cpdef object register_thread()
307
323
 * cpdef object unregister_thread(HDF5ErrorHandler handler=*)             # <<<<<<<<<<<<<<
314
330
  struct __pyx_obj_4h5py_3h5e_HDF5ErrorHandler *handler;
315
331
};
316
332
 
317
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5e.pxd":249
 
333
/* "/home/tachyon/h5py/h5py/h5e.pxd":249
318
334
 *   herr_t    H5Ewalk(H5E_direction_t direction, H5E_walk_t func, void* client_data)
319
335
 * 
320
336
 * ctypedef struct err_cookie:             # <<<<<<<<<<<<<<
327
343
  void *data;
328
344
} __pyx_t_4h5py_3h5e_err_cookie;
329
345
 
330
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":89
331
 
 * 
332
 
 * 
333
 
 * cdef class GroupIter:             # <<<<<<<<<<<<<<
334
 
 * 
335
 
 *     """
336
 
 */
337
 
 
338
 
struct __pyx_obj_4h5py_3h5g_GroupIter {
339
 
  PyObject_HEAD
340
 
  unsigned long idx;
341
 
  unsigned long nobjs;
342
 
  struct __pyx_obj_4h5py_3h5g_GroupID *grp;
343
 
};
344
 
 
345
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":28
346
 
 * cpdef H5PYConfig get_config()
 
346
/* "/home/tachyon/h5py/h5py/h5.pxd":34
 
347
 *     cdef readonly int locked
347
348
 * 
348
349
 * cdef class ObjectID:             # <<<<<<<<<<<<<<
349
350
 * 
353
354
struct __pyx_obj_4h5py_2h5_ObjectID {
354
355
  PyObject_HEAD
355
356
  PyObject *__weakref__;
356
 
  hid_t id;
357
 
  int _locked;
 
357
  struct __pyx_obj_4h5py_2h5_IDProxy *_proxy;
358
358
  PyObject *_hash;
359
359
};
360
360
 
361
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pxd":18
362
 
 * from h5 cimport ObjectID
363
 
 * 
364
 
 * cdef class GroupID(ObjectID):             # <<<<<<<<<<<<<<
365
 
 * 
366
 
 *     IF H5PY_18API:
367
 
 */
368
 
 
369
 
struct __pyx_obj_4h5py_3h5g_GroupID {
370
 
  struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
371
 
  PyObject *links;
372
 
};
373
 
 
374
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":23
 
361
/* "/home/tachyon/h5py/h5py/h5p.pxd":23
375
362
 * # --- Base classes ---
376
363
 * 
377
364
 * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
383
370
  struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
384
371
};
385
372
 
386
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":33
 
373
/* "/home/tachyon/h5py/h5py/h5p.pxd":33
387
374
 *     pass
388
375
 * 
389
376
 * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
395
382
  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
396
383
};
397
384
 
398
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":62
 
385
/* "/home/tachyon/h5py/h5py/h5p.pxd":62
399
386
 * # --- Object access ---
400
387
 * 
401
388
 * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
407
394
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
408
395
};
409
396
 
410
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":39
 
397
/* "/home/tachyon/h5py/h5py/h5p.pxd":39
411
398
 *     pass
412
399
 * 
413
400
 * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
419
406
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
420
407
};
421
408
 
422
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":83
 
409
/* "/home/tachyon/h5py/h5py/h5p.pxd":55
 
410
 *     pass
 
411
 * 
 
412
 * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
 
413
 *     """ File creation property list """
 
414
 *     pass
 
415
 */
 
416
 
 
417
struct __pyx_obj_4h5py_3h5p_PropFCID {
 
418
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
 
419
};
 
420
 
 
421
/* "/home/tachyon/h5py/h5py/h5p.pxd":27
 
422
 *     pass
 
423
 * 
 
424
 * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
 
425
 *     """ Represents an HDF5 property list class.  These can be either (locked)
 
426
 *         library-defined classes or user-created classes.
 
427
 */
 
428
 
 
429
struct __pyx_obj_4h5py_3h5p_PropClassID {
 
430
  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
 
431
};
 
432
 
 
433
/* "/home/tachyon/h5py/h5py/h5e.pxd":20
 
434
 * include "defs.pxd"
 
435
 * 
 
436
 * cdef class HDF5ErrorHandler:             # <<<<<<<<<<<<<<
 
437
 * 
 
438
 *     """
 
439
 */
 
440
 
 
441
struct __pyx_obj_4h5py_3h5e_HDF5ErrorHandler {
 
442
  PyObject_HEAD
 
443
  void *__pyx_auto;
 
444
  void *data;
 
445
};
 
446
 
 
447
/* "/home/tachyon/h5py/h5py/h5p.pxd":75
 
448
 * IF H5PY_18API:
 
449
 * 
 
450
 *     cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
 
451
 *         """ Link creation property list """
 
452
 *         pass
 
453
 */
 
454
 
 
455
struct __pyx_obj_4h5py_3h5p_PropLCID {
 
456
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
 
457
};
 
458
 
 
459
/* "/home/tachyon/h5py/h5py/h5g.pxd":18
 
460
 * from h5 cimport ObjectID
 
461
 * 
 
462
 * cdef class GroupID(ObjectID):             # <<<<<<<<<<<<<<
 
463
 * 
 
464
 *     IF H5PY_18API:
 
465
 */
 
466
 
 
467
struct __pyx_obj_4h5py_3h5g_GroupID {
 
468
  struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
 
469
  PyObject *links;
 
470
};
 
471
 
 
472
/* "/home/tachyon/h5py/h5py/h5p.pxd":83
423
473
 *         cdef char* _buf
424
474
 * 
425
475
 *     cdef class PropGCID(PropCreateID):             # <<<<<<<<<<<<<<
431
481
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
432
482
};
433
483
 
434
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":66
435
 
 *     pass
436
 
 * 
437
 
 * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
438
 
 *     """ Dataset transfer property list """
439
 
 *     pass
440
 
 */
441
 
 
442
 
struct __pyx_obj_4h5py_3h5p_PropDXID {
443
 
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
444
 
};
445
 
 
446
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":51
 
484
/* "/home/tachyon/h5py/h5py/h5p.pxd":51
447
485
 * # --- Object creation ---
448
486
 * 
449
487
 * cdef class PropDCID(PropCreateID):             # <<<<<<<<<<<<<<
455
493
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
456
494
};
457
495
 
458
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":35
459
 
 *     cdef object _hash
 
496
/* "/home/tachyon/h5py/h5py/h5p.pxd":79
 
497
 *         pass
460
498
 * 
461
 
 * cdef class SmartStruct:             # <<<<<<<<<<<<<<
462
 
 *     cdef object __weakref__
463
 
 *     cdef object _title
 
499
 *     cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
 
500
 *         """ Link access property list """
 
501
 *         cdef char* _buf
464
502
 */
465
503
 
466
 
struct __pyx_obj_4h5py_2h5_SmartStruct {
467
 
  PyObject_HEAD
468
 
  PyObject *__weakref__;
469
 
  PyObject *_title;
 
504
struct __pyx_obj_4h5py_3h5p_PropLAID {
 
505
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
 
506
  char *_buf;
470
507
};
471
508
 
472
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":159
 
509
/* "/home/tachyon/h5py/h5py/h5g.pyx":159
473
510
 *         return GroupID(H5Gcreate(loc.id, name, -1))
474
511
 * 
475
512
 * cdef class _GroupVisitor:             # <<<<<<<<<<<<<<
483
520
  PyObject *retval;
484
521
};
485
522
 
486
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":55
487
 
 *     pass
488
 
 * 
489
 
 * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
490
 
 *     """ File creation property list """
491
 
 *     pass
492
 
 */
493
 
 
494
 
struct __pyx_obj_4h5py_3h5p_PropFCID {
495
 
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
496
 
};
497
 
 
498
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":15
 
523
/* "/home/tachyon/h5py/h5py/h5.pxd":15
499
524
 * include "defs.pxd"
500
525
 * 
501
526
 * cdef class H5PYConfig:             # <<<<<<<<<<<<<<
515
540
  PyObject *THREADS;
516
541
};
517
542
 
518
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":27
519
 
 *     pass
520
 
 * 
521
 
 * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
522
 
 *     """ Represents an HDF5 property list class.  These can be either (locked)
523
 
 *         library-defined classes or user-created classes.
524
 
 */
525
 
 
526
 
struct __pyx_obj_4h5py_3h5p_PropClassID {
527
 
  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
528
 
};
529
 
 
530
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5e.pxd":20
531
 
 * include "defs.pxd"
532
 
 * 
533
 
 * cdef class HDF5ErrorHandler:             # <<<<<<<<<<<<<<
534
 
 * 
535
 
 *     """
536
 
 */
537
 
 
538
 
struct __pyx_obj_4h5py_3h5e_HDF5ErrorHandler {
 
543
/* "/home/tachyon/h5py/h5py/h5.pxd":40
 
544
 *     cdef object _hash
 
545
 * 
 
546
 * cdef class SmartStruct:             # <<<<<<<<<<<<<<
 
547
 *     cdef object __weakref__
 
548
 *     cdef object _title
 
549
 */
 
550
 
 
551
struct __pyx_obj_4h5py_2h5_SmartStruct {
539
552
  PyObject_HEAD
540
 
  void *__pyx_auto;
541
 
  void *data;
542
 
};
543
 
 
544
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":46
545
 
 *     pass
546
 
 * 
547
 
 * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
548
 
 *     """ Property list for copying objects (as in h5o.copy) """
549
 
 * 
550
 
 */
551
 
 
552
 
struct __pyx_obj_4h5py_3h5p_PropCopyID {
553
 
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
554
 
};
555
 
 
556
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":79
557
 
 *         pass
558
 
 * 
559
 
 *     cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
560
 
 *         """ Link access property list """
561
 
 *         cdef char* _buf
562
 
 */
563
 
 
564
 
struct __pyx_obj_4h5py_3h5p_PropLAID {
565
 
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
566
 
  char *_buf;
567
 
};
568
 
 
569
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5p.pxd":75
570
 
 * IF H5PY_18API:
571
 
 * 
572
 
 *     cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
573
 
 *         """ Link creation property list """
574
 
 *         pass
575
 
 */
576
 
 
577
 
struct __pyx_obj_4h5py_3h5p_PropLCID {
578
 
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
579
 
};
580
 
 
581
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":47
 
553
  PyObject *__weakref__;
 
554
  PyObject *_title;
 
555
};
 
556
 
 
557
/* "/home/tachyon/h5py/h5py/h5g.pyx":47
582
558
 * LINK_SOFT  = H5G_LINK_SOFT
583
559
 * 
584
560
 * cdef class GroupStat(SmartStruct):             # <<<<<<<<<<<<<<
591
567
  H5G_stat_t infostruct;
592
568
};
593
569
 
594
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5l.pxd":17
 
570
/* "/home/tachyon/h5py/h5py/h5p.pxd":46
 
571
 *     pass
 
572
 * 
 
573
 * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
 
574
 *     """ Property list for copying objects (as in h5o.copy) """
 
575
 * 
 
576
 */
 
577
 
 
578
struct __pyx_obj_4h5py_3h5p_PropCopyID {
 
579
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
 
580
};
 
581
 
 
582
/* "/home/tachyon/h5py/h5py/h5.pxd":28
 
583
 * cpdef H5PYConfig get_config()
 
584
 * 
 
585
 * cdef class IDProxy:             # <<<<<<<<<<<<<<
 
586
 * 
 
587
 *     cdef object __weakref__
 
588
 */
 
589
 
 
590
struct __pyx_obj_4h5py_2h5_IDProxy {
 
591
  PyObject_HEAD
 
592
  PyObject *__weakref__;
 
593
  hid_t id;
 
594
  int locked;
 
595
};
 
596
 
 
597
/* "/home/tachyon/h5py/h5py/h5l.pxd":17
595
598
 * IF H5PY_18API:
596
599
 * 
597
600
 *     cdef class LinkProxy:             # <<<<<<<<<<<<<<
604
607
  hid_t id;
605
608
};
606
609
 
 
610
/* "/home/tachyon/h5py/h5py/h5g.pyx":89
 
611
 * 
 
612
 * 
 
613
 * cdef class GroupIter:             # <<<<<<<<<<<<<<
 
614
 * 
 
615
 *     """
 
616
 */
 
617
 
 
618
struct __pyx_obj_4h5py_3h5g_GroupIter {
 
619
  PyObject_HEAD
 
620
  unsigned long idx;
 
621
  unsigned long nobjs;
 
622
  struct __pyx_obj_4h5py_3h5g_GroupID *grp;
 
623
};
 
624
 
 
625
/* "/home/tachyon/h5py/h5py/h5p.pxd":66
 
626
 *     pass
 
627
 * 
 
628
 * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
 
629
 *     """ Dataset transfer property list """
 
630
 *     pass
 
631
 */
 
632
 
 
633
struct __pyx_obj_4h5py_3h5p_PropDXID {
 
634
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
 
635
};
 
636
 
607
637
#ifndef CYTHON_REFNANNY
608
638
  #define CYTHON_REFNANNY 0
609
639
#endif
658
688
 
659
689
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,     const char* function_name); /*proto*/
660
690
 
661
 
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
662
 
static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
 
691
static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 
692
static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
663
693
 
664
694
static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
665
695
    const char *name, int exact); /*proto*/
666
696
 
667
697
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
668
698
 
669
 
static INLINE PyObject *__Pyx_PyInt_to_py_time_t(time_t);
 
699
static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_time_t(time_t);
670
700
 
671
701
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
672
702
 
673
703
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
674
704
 
675
 
static INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
676
 
 
677
 
static INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
678
 
 
679
 
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
680
 
 
681
 
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
682
 
 
683
 
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
684
 
 
685
 
static INLINE char __Pyx_PyInt_AsChar(PyObject *);
686
 
 
687
 
static INLINE short __Pyx_PyInt_AsShort(PyObject *);
688
 
 
689
 
static INLINE int __Pyx_PyInt_AsInt(PyObject *);
690
 
 
691
 
static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
692
 
 
693
 
static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
694
 
 
695
 
static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
696
 
 
697
 
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
698
 
 
699
 
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
700
 
 
701
 
static INLINE long __Pyx_PyInt_AsLong(PyObject *);
702
 
 
703
 
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
704
 
 
705
 
static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
706
 
 
707
 
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
708
 
 
709
 
static INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
710
 
 
711
 
static INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *);
712
 
 
713
 
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size);  /*proto*/
 
705
static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
 
706
 
 
707
static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
 
708
 
 
709
static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
 
710
 
 
711
static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
 
712
 
 
713
static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
 
714
 
 
715
static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
 
716
 
 
717
static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
 
718
 
 
719
static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
 
720
 
 
721
static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
 
722
 
 
723
static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
 
724
 
 
725
static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
 
726
 
 
727
static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
 
728
 
 
729
static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
 
730
 
 
731
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
 
732
 
 
733
static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
 
734
 
 
735
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
 
736
 
 
737
static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
 
738
 
 
739
static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
 
740
 
 
741
static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *);
 
742
 
 
743
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict);  /*proto*/
714
744
 
715
745
static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
716
746
 
722
752
/* Module declarations from h5py.h5 */
723
753
 
724
754
static PyTypeObject *__pyx_ptype_4h5py_2h5_H5PYConfig = 0;
 
755
static PyTypeObject *__pyx_ptype_4h5py_2h5_IDProxy = 0;
725
756
static PyTypeObject *__pyx_ptype_4h5py_2h5_ObjectID = 0;
726
757
static PyTypeObject *__pyx_ptype_4h5py_2h5_SmartStruct = 0;
727
758
static struct __pyx_obj_4h5py_2h5_H5PYConfig *(*__pyx_f_4h5py_2h5_get_config)(int __pyx_skip_dispatch); /*proto*/
880
911
static PyObject *__pyx_int_1;
881
912
static int __pyx_k_3;
882
913
 
883
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":67
 
914
/* "/home/tachyon/h5py/h5py/h5g.pyx":67
884
915
 * 
885
916
 *     property fileno:
886
917
 *         def __get__(self):             # <<<<<<<<<<<<<<
896
927
  PyObject *__pyx_t_3 = NULL;
897
928
  __Pyx_RefNannySetupContext("__get__");
898
929
 
899
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":68
 
930
  /* "/home/tachyon/h5py/h5py/h5g.pyx":68
900
931
 *     property fileno:
901
932
 *         def __get__(self):
902
933
 *             return (self.infostruct.fileno[0], self.infostruct.fileno[1])             # <<<<<<<<<<<<<<
934
965
  return __pyx_r;
935
966
}
936
967
 
937
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":70
 
968
/* "/home/tachyon/h5py/h5py/h5g.pyx":70
938
969
 *             return (self.infostruct.fileno[0], self.infostruct.fileno[1])
939
970
 *     property objno:
940
971
 *         def __get__(self):             # <<<<<<<<<<<<<<
950
981
  PyObject *__pyx_t_3 = NULL;
951
982
  __Pyx_RefNannySetupContext("__get__");
952
983
 
953
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":71
 
984
  /* "/home/tachyon/h5py/h5py/h5g.pyx":71
954
985
 *     property objno:
955
986
 *         def __get__(self):
956
987
 *             return (self.infostruct.objno[0], self.infostruct.objno[1])             # <<<<<<<<<<<<<<
988
1019
  return __pyx_r;
989
1020
}
990
1021
 
991
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":73
 
1022
/* "/home/tachyon/h5py/h5py/h5g.pyx":73
992
1023
 *             return (self.infostruct.objno[0], self.infostruct.objno[1])
993
1024
 *     property nlink:
994
1025
 *         def __get__(self):             # <<<<<<<<<<<<<<
1002
1033
  PyObject *__pyx_t_1 = NULL;
1003
1034
  __Pyx_RefNannySetupContext("__get__");
1004
1035
 
1005
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":74
 
1036
  /* "/home/tachyon/h5py/h5py/h5g.pyx":74
1006
1037
 *     property nlink:
1007
1038
 *         def __get__(self):
1008
1039
 *             return self.infostruct.nlink             # <<<<<<<<<<<<<<
1028
1059
  return __pyx_r;
1029
1060
}
1030
1061
 
1031
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":76
 
1062
/* "/home/tachyon/h5py/h5py/h5g.pyx":76
1032
1063
 *             return self.infostruct.nlink
1033
1064
 *     property type:
1034
1065
 *         def __get__(self):             # <<<<<<<<<<<<<<
1042
1073
  PyObject *__pyx_t_1 = NULL;
1043
1074
  __Pyx_RefNannySetupContext("__get__");
1044
1075
 
1045
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":77
 
1076
  /* "/home/tachyon/h5py/h5py/h5g.pyx":77
1046
1077
 *     property type:
1047
1078
 *         def __get__(self):
1048
1079
 *             return self.infostruct.type             # <<<<<<<<<<<<<<
1068
1099
  return __pyx_r;
1069
1100
}
1070
1101
 
1071
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":79
 
1102
/* "/home/tachyon/h5py/h5py/h5g.pyx":79
1072
1103
 *             return self.infostruct.type
1073
1104
 *     property mtime:
1074
1105
 *         def __get__(self):             # <<<<<<<<<<<<<<
1082
1113
  PyObject *__pyx_t_1 = NULL;
1083
1114
  __Pyx_RefNannySetupContext("__get__");
1084
1115
 
1085
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":80
 
1116
  /* "/home/tachyon/h5py/h5py/h5g.pyx":80
1086
1117
 *     property mtime:
1087
1118
 *         def __get__(self):
1088
1119
 *             return self.infostruct.mtime             # <<<<<<<<<<<<<<
1108
1139
  return __pyx_r;
1109
1140
}
1110
1141
 
1111
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":82
 
1142
/* "/home/tachyon/h5py/h5py/h5g.pyx":82
1112
1143
 *             return self.infostruct.mtime
1113
1144
 *     property linklen:
1114
1145
 *         def __get__(self):             # <<<<<<<<<<<<<<
1122
1153
  PyObject *__pyx_t_1 = NULL;
1123
1154
  __Pyx_RefNannySetupContext("__get__");
1124
1155
 
1125
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":83
 
1156
  /* "/home/tachyon/h5py/h5py/h5g.pyx":83
1126
1157
 *     property linklen:
1127
1158
 *         def __get__(self):
1128
1159
 *             return self.infostruct.linklen             # <<<<<<<<<<<<<<
1148
1179
  return __pyx_r;
1149
1180
}
1150
1181
 
1151
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":85
 
1182
/* "/home/tachyon/h5py/h5py/h5g.pyx":85
1152
1183
 *             return self.infostruct.linklen
1153
1184
 * 
1154
1185
 *     def _hash(self):             # <<<<<<<<<<<<<<
1169
1200
  long __pyx_t_8;
1170
1201
  __Pyx_RefNannySetupContext("_hash");
1171
1202
 
1172
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":86
 
1203
  /* "/home/tachyon/h5py/h5py/h5g.pyx":86
1173
1204
 * 
1174
1205
 *     def _hash(self):
1175
1206
 *         return hash((self.fileno, self.objno, self.nlink, self.type, self.mtime, self.linklen))             # <<<<<<<<<<<<<<
1235
1266
  return __pyx_r;
1236
1267
}
1237
1268
 
1238
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":100
 
1269
/* "/home/tachyon/h5py/h5py/h5g.pyx":100
1239
1270
 *     cdef GroupID grp
1240
1271
 * 
1241
1272
 *     def __init__(self, GroupID grp not None):             # <<<<<<<<<<<<<<
1284
1315
  __pyx_L4_argument_unpacking_done:;
1285
1316
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_grp), __pyx_ptype_4h5py_3h5g_GroupID, 0, "grp", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1286
1317
 
1287
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":101
 
1318
  /* "/home/tachyon/h5py/h5py/h5g.pyx":101
1288
1319
 * 
1289
1320
 *     def __init__(self, GroupID grp not None):
1290
1321
 *         self.idx = 0             # <<<<<<<<<<<<<<
1293
1324
 */
1294
1325
  ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx = 0;
1295
1326
 
1296
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":102
 
1327
  /* "/home/tachyon/h5py/h5py/h5g.pyx":102
1297
1328
 *     def __init__(self, GroupID grp not None):
1298
1329
 *         self.idx = 0
1299
1330
 *         self.grp = grp             # <<<<<<<<<<<<<<
1306
1337
  __Pyx_DECREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp));
1307
1338
  ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp = __pyx_v_grp;
1308
1339
 
1309
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":103
 
1340
  /* "/home/tachyon/h5py/h5py/h5g.pyx":103
1310
1341
 *         self.idx = 0
1311
1342
 *         self.grp = grp
1312
1343
 *         self.nobjs = grp.get_num_objs()             # <<<<<<<<<<<<<<
1334
1365
  return __pyx_r;
1335
1366
}
1336
1367
 
1337
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":105
 
1368
/* "/home/tachyon/h5py/h5py/h5g.pyx":105
1338
1369
 *         self.nobjs = grp.get_num_objs()
1339
1370
 * 
1340
1371
 *     def __iter__(self):             # <<<<<<<<<<<<<<
1347
1378
  PyObject *__pyx_r = NULL;
1348
1379
  __Pyx_RefNannySetupContext("__iter__");
1349
1380
 
1350
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":106
 
1381
  /* "/home/tachyon/h5py/h5py/h5g.pyx":106
1351
1382
 * 
1352
1383
 *     def __iter__(self):
1353
1384
 *         return self             # <<<<<<<<<<<<<<
1366
1397
  return __pyx_r;
1367
1398
}
1368
1399
 
1369
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":108
 
1400
/* "/home/tachyon/h5py/h5py/h5g.pyx":108
1370
1401
 *         return self
1371
1402
 * 
1372
1403
 *     def __next__(self):             # <<<<<<<<<<<<<<
1386
1417
  __Pyx_INCREF((PyObject *)__pyx_v_self);
1387
1418
  __pyx_v_retval = Py_None; __Pyx_INCREF(Py_None);
1388
1419
 
1389
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":109
 
1420
  /* "/home/tachyon/h5py/h5py/h5g.pyx":109
1390
1421
 * 
1391
1422
 *     def __next__(self):
1392
1423
 *         if self.idx == self.nobjs:             # <<<<<<<<<<<<<<
1396
1427
  __pyx_t_1 = (((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx == ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->nobjs);
1397
1428
  if (__pyx_t_1) {
1398
1429
 
1399
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":110
 
1430
    /* "/home/tachyon/h5py/h5py/h5g.pyx":110
1400
1431
 *     def __next__(self):
1401
1432
 *         if self.idx == self.nobjs:
1402
1433
 *             self.grp = None             # <<<<<<<<<<<<<<
1409
1440
    __Pyx_DECREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp));
1410
1441
    ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
1411
1442
 
1412
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":111
 
1443
    /* "/home/tachyon/h5py/h5py/h5g.pyx":111
1413
1444
 *         if self.idx == self.nobjs:
1414
1445
 *             self.grp = None
1415
1446
 *             raise StopIteration             # <<<<<<<<<<<<<<
1422
1453
  }
1423
1454
  __pyx_L5:;
1424
1455
 
1425
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":113
 
1456
  /* "/home/tachyon/h5py/h5py/h5g.pyx":113
1426
1457
 *             raise StopIteration
1427
1458
 * 
1428
1459
 *         retval = self.grp.get_objname_by_idx(self.idx)             # <<<<<<<<<<<<<<
1446
1477
  __pyx_v_retval = __pyx_t_3;
1447
1478
  __pyx_t_3 = 0;
1448
1479
 
1449
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":114
 
1480
  /* "/home/tachyon/h5py/h5py/h5g.pyx":114
1450
1481
 * 
1451
1482
 *         retval = self.grp.get_objname_by_idx(self.idx)
1452
1483
 *         self.idx = self.idx + 1             # <<<<<<<<<<<<<<
1455
1486
 */
1456
1487
  ((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx = (((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self)->idx + 1);
1457
1488
 
1458
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":115
 
1489
  /* "/home/tachyon/h5py/h5py/h5g.pyx":115
1459
1490
 *         retval = self.grp.get_objname_by_idx(self.idx)
1460
1491
 *         self.idx = self.idx + 1
1461
1492
 *         return retval             # <<<<<<<<<<<<<<
1483
1514
  return __pyx_r;
1484
1515
}
1485
1516
 
1486
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":120
 
1517
/* "/home/tachyon/h5py/h5py/h5g.pyx":120
1487
1518
 * 
1488
1519
 * 
1489
1520
 * def open(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
1497
1528
  struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
1498
1529
  char *__pyx_v_name;
1499
1530
  PyObject *__pyx_r = NULL;
1500
 
  hid_t __pyx_t_1;
1501
 
  PyObject *__pyx_t_2 = NULL;
1502
 
  PyObject *__pyx_t_3 = NULL;
 
1531
  PyObject *__pyx_t_1 = NULL;
 
1532
  hid_t __pyx_t_2;
 
1533
  hid_t __pyx_t_3;
 
1534
  PyObject *__pyx_t_4 = NULL;
1503
1535
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0};
1504
1536
  __Pyx_RefNannySetupContext("open");
1505
1537
  __pyx_self = __pyx_self;
1544
1576
  __pyx_L4_argument_unpacking_done:;
1545
1577
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1546
1578
 
1547
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":125
 
1579
  /* "/home/tachyon/h5py/h5py/h5g.pyx":125
1548
1580
 *     Open an existing HDF5 group, attached to some other group.
1549
1581
 *     """
1550
1582
 *     return GroupID(H5Gopen(loc.id, name))             # <<<<<<<<<<<<<<
1552
1584
 * IF H5PY_18API:
1553
1585
 */
1554
1586
  __Pyx_XDECREF(__pyx_r);
1555
 
  __pyx_t_1 = H5Gopen(__pyx_v_loc->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1556
 
  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1557
 
  __Pyx_GOTREF(__pyx_t_2);
1558
 
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1559
 
  __Pyx_GOTREF(__pyx_t_3);
1560
 
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
1561
 
  __Pyx_GIVEREF(__pyx_t_2);
1562
 
  __pyx_t_2 = 0;
1563
 
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupID)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1564
 
  __Pyx_GOTREF(__pyx_t_2);
1565
 
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1566
 
  __pyx_r = __pyx_t_2;
1567
 
  __pyx_t_2 = 0;
 
1587
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_loc), __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1588
  __Pyx_GOTREF(__pyx_t_1);
 
1589
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1590
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
1591
  __pyx_t_3 = H5Gopen(__pyx_t_2, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1592
  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1593
  __Pyx_GOTREF(__pyx_t_1);
 
1594
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1595
  __Pyx_GOTREF(__pyx_t_4);
 
1596
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
 
1597
  __Pyx_GIVEREF(__pyx_t_1);
 
1598
  __pyx_t_1 = 0;
 
1599
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupID)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1600
  __Pyx_GOTREF(__pyx_t_1);
 
1601
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
1602
  __pyx_r = __pyx_t_1;
 
1603
  __pyx_t_1 = 0;
1568
1604
  goto __pyx_L0;
1569
1605
 
1570
1606
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1571
1607
  goto __pyx_L0;
1572
1608
  __pyx_L1_error:;
1573
 
  __Pyx_XDECREF(__pyx_t_2);
1574
 
  __Pyx_XDECREF(__pyx_t_3);
 
1609
  __Pyx_XDECREF(__pyx_t_1);
 
1610
  __Pyx_XDECREF(__pyx_t_4);
1575
1611
  __Pyx_AddTraceback("h5py.h5g.open");
1576
1612
  __pyx_r = NULL;
1577
1613
  __pyx_L0:;
1580
1616
  return __pyx_r;
1581
1617
}
1582
1618
 
1583
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":129
 
1619
/* "/home/tachyon/h5py/h5py/h5g.pyx":129
1584
1620
 * IF H5PY_18API:
1585
1621
 * 
1586
1622
 *     def create(ObjectID loc not None, object name, PropID lcpl=None,             # <<<<<<<<<<<<<<
1600
1636
  PyObject *__pyx_r = NULL;
1601
1637
  int __pyx_t_1;
1602
1638
  char *__pyx_t_2;
1603
 
  hid_t __pyx_t_3;
1604
 
  PyObject *__pyx_t_4 = NULL;
1605
 
  PyObject *__pyx_t_5 = NULL;
 
1639
  PyObject *__pyx_t_3 = NULL;
 
1640
  hid_t __pyx_t_4;
 
1641
  hid_t __pyx_t_5;
 
1642
  PyObject *__pyx_t_6 = NULL;
1606
1643
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__lcpl,&__pyx_n_s__gcpl,0};
1607
1644
  __Pyx_RefNannySetupContext("create");
1608
1645
  __pyx_self = __pyx_self;
1609
1646
  if (unlikely(__pyx_kwds)) {
1610
1647
 
1611
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":130
 
1648
    /* "/home/tachyon/h5py/h5py/h5g.pyx":130
1612
1649
 * 
1613
1650
 *     def create(ObjectID loc not None, object name, PropID lcpl=None,
1614
1651
 *                PropID gcpl=None):             # <<<<<<<<<<<<<<
1658
1695
    __pyx_v_gcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
1659
1696
  } else {
1660
1697
 
1661
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":129
 
1698
    /* "/home/tachyon/h5py/h5py/h5g.pyx":129
1662
1699
 * IF H5PY_18API:
1663
1700
 * 
1664
1701
 *     def create(ObjectID loc not None, object name, PropID lcpl=None,             # <<<<<<<<<<<<<<
1667
1704
 */
1668
1705
    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
1669
1706
 
1670
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":130
 
1707
    /* "/home/tachyon/h5py/h5py/h5g.pyx":130
1671
1708
 * 
1672
1709
 *     def create(ObjectID loc not None, object name, PropID lcpl=None,
1673
1710
 *                PropID gcpl=None):             # <<<<<<<<<<<<<<
1702
1739
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1703
1740
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "gcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1704
1741
 
1705
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":139
 
1742
  /* "/home/tachyon/h5py/h5py/h5g.pyx":139
1706
1743
 *         """
1707
1744
 *         cdef hid_t gid
1708
1745
 *         cdef char* cname = NULL             # <<<<<<<<<<<<<<
1711
1748
 */
1712
1749
  __pyx_v_cname = NULL;
1713
1750
 
1714
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":140
 
1751
  /* "/home/tachyon/h5py/h5py/h5g.pyx":140
1715
1752
 *         cdef hid_t gid
1716
1753
 *         cdef char* cname = NULL
1717
1754
 *         if name is not None:             # <<<<<<<<<<<<<<
1721
1758
  __pyx_t_1 = (__pyx_v_name != Py_None);
1722
1759
  if (__pyx_t_1) {
1723
1760
 
1724
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":141
 
1761
    /* "/home/tachyon/h5py/h5py/h5g.pyx":141
1725
1762
 *         cdef char* cname = NULL
1726
1763
 *         if name is not None:
1727
1764
 *             cname = name             # <<<<<<<<<<<<<<
1734
1771
  }
1735
1772
  __pyx_L6:;
1736
1773
 
1737
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":143
 
1774
  /* "/home/tachyon/h5py/h5py/h5g.pyx":143
1738
1775
 *             cname = name
1739
1776
 * 
1740
1777
 *         if cname != NULL:             # <<<<<<<<<<<<<<
1744
1781
  __pyx_t_1 = (__pyx_v_cname != NULL);
1745
1782
  if (__pyx_t_1) {
1746
1783
 
1747
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":144
 
1784
    /* "/home/tachyon/h5py/h5py/h5g.pyx":144
1748
1785
 * 
1749
1786
 *         if cname != NULL:
1750
1787
 *             gid = H5Gcreate2(loc.id, cname, pdefault(lcpl), pdefault(gcpl), H5P_DEFAULT)             # <<<<<<<<<<<<<<
1751
1788
 *         else:
1752
1789
 *             gid = H5Gcreate_anon(loc.id, pdefault(gcpl), H5P_DEFAULT)
1753
1790
 */
1754
 
    __pyx_t_3 = H5Gcreate2(__pyx_v_loc->id, __pyx_v_cname, __pyx_f_4h5py_3h5p_pdefault(__pyx_v_lcpl), __pyx_f_4h5py_3h5p_pdefault(__pyx_v_gcpl), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1755
 
    __pyx_v_gid = __pyx_t_3;
 
1791
    __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_loc), __pyx_n_s__id); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1792
    __Pyx_GOTREF(__pyx_t_3);
 
1793
    __pyx_t_4 = __Pyx_PyInt_from_py_hid_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1794
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
1795
    __pyx_t_5 = H5Gcreate2(__pyx_t_4, __pyx_v_cname, __pyx_f_4h5py_3h5p_pdefault(__pyx_v_lcpl), __pyx_f_4h5py_3h5p_pdefault(__pyx_v_gcpl), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1796
    __pyx_v_gid = __pyx_t_5;
1756
1797
    goto __pyx_L7;
1757
1798
  }
1758
1799
  /*else*/ {
1759
1800
 
1760
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":146
 
1801
    /* "/home/tachyon/h5py/h5py/h5g.pyx":146
1761
1802
 *             gid = H5Gcreate2(loc.id, cname, pdefault(lcpl), pdefault(gcpl), H5P_DEFAULT)
1762
1803
 *         else:
1763
1804
 *             gid = H5Gcreate_anon(loc.id, pdefault(gcpl), H5P_DEFAULT)             # <<<<<<<<<<<<<<
1764
1805
 * 
1765
1806
 *         return GroupID(gid)
1766
1807
 */
1767
 
    __pyx_t_3 = H5Gcreate_anon(__pyx_v_loc->id, __pyx_f_4h5py_3h5p_pdefault(__pyx_v_gcpl), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1768
 
    __pyx_v_gid = __pyx_t_3;
 
1808
    __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_loc), __pyx_n_s__id); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1809
    __Pyx_GOTREF(__pyx_t_3);
 
1810
    __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1811
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
1812
    __pyx_t_4 = H5Gcreate_anon(__pyx_t_5, __pyx_f_4h5py_3h5p_pdefault(__pyx_v_gcpl), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1813
    __pyx_v_gid = __pyx_t_4;
1769
1814
  }
1770
1815
  __pyx_L7:;
1771
1816
 
1772
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":148
 
1817
  /* "/home/tachyon/h5py/h5py/h5g.pyx":148
1773
1818
 *             gid = H5Gcreate_anon(loc.id, pdefault(gcpl), H5P_DEFAULT)
1774
1819
 * 
1775
1820
 *         return GroupID(gid)             # <<<<<<<<<<<<<<
1777
1822
 * ELSE:
1778
1823
 */
1779
1824
  __Pyx_XDECREF(__pyx_r);
1780
 
  __pyx_t_4 = __Pyx_PyInt_to_py_hid_t(__pyx_v_gid); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1781
 
  __Pyx_GOTREF(__pyx_t_4);
1782
 
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1783
 
  __Pyx_GOTREF(__pyx_t_5);
1784
 
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
1785
 
  __Pyx_GIVEREF(__pyx_t_4);
1786
 
  __pyx_t_4 = 0;
1787
 
  __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupID)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1788
 
  __Pyx_GOTREF(__pyx_t_4);
1789
 
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1790
 
  __pyx_r = __pyx_t_4;
1791
 
  __pyx_t_4 = 0;
 
1825
  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_gid); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1826
  __Pyx_GOTREF(__pyx_t_3);
 
1827
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1828
  __Pyx_GOTREF(__pyx_t_6);
 
1829
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
 
1830
  __Pyx_GIVEREF(__pyx_t_3);
 
1831
  __pyx_t_3 = 0;
 
1832
  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupID)), __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1833
  __Pyx_GOTREF(__pyx_t_3);
 
1834
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
1835
  __pyx_r = __pyx_t_3;
 
1836
  __pyx_t_3 = 0;
1792
1837
  goto __pyx_L0;
1793
1838
 
1794
1839
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1795
1840
  goto __pyx_L0;
1796
1841
  __pyx_L1_error:;
1797
 
  __Pyx_XDECREF(__pyx_t_4);
1798
 
  __Pyx_XDECREF(__pyx_t_5);
 
1842
  __Pyx_XDECREF(__pyx_t_3);
 
1843
  __Pyx_XDECREF(__pyx_t_6);
1799
1844
  __Pyx_AddTraceback("h5py.h5g.create");
1800
1845
  __pyx_r = NULL;
1801
1846
  __pyx_L0:;
1808
1853
  return __pyx_r;
1809
1854
}
1810
1855
 
1811
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":164
 
1856
/* "/home/tachyon/h5py/h5py/h5g.pyx":164
1812
1857
 *     cdef object retval
1813
1858
 * 
1814
1859
 *     def __init__(self, func):             # <<<<<<<<<<<<<<
1853
1898
  return -1;
1854
1899
  __pyx_L4_argument_unpacking_done:;
1855
1900
 
1856
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":165
 
1901
  /* "/home/tachyon/h5py/h5py/h5g.pyx":165
1857
1902
 * 
1858
1903
 *     def __init__(self, func):
1859
1904
 *         self.func = func             # <<<<<<<<<<<<<<
1866
1911
  __Pyx_DECREF(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->func);
1867
1912
  ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self)->func = __pyx_v_func;
1868
1913
 
1869
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":166
 
1914
  /* "/home/tachyon/h5py/h5py/h5g.pyx":166
1870
1915
 *     def __init__(self, func):
1871
1916
 *         self.func = func
1872
1917
 *         self.retval = None             # <<<<<<<<<<<<<<
1884
1929
  return __pyx_r;
1885
1930
}
1886
1931
 
1887
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":168
 
1932
/* "/home/tachyon/h5py/h5py/h5g.pyx":168
1888
1933
 *         self.retval = None
1889
1934
 * 
1890
1935
 * cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2:             # <<<<<<<<<<<<<<
1900
1945
  int __pyx_t_3;
1901
1946
  __Pyx_RefNannySetupContext("cb_group_iter");
1902
1947
 
1903
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":170
 
1948
  /* "/home/tachyon/h5py/h5py/h5g.pyx":170
1904
1949
 * cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2:
1905
1950
 * 
1906
1951
 *     cdef _GroupVisitor vis = <_GroupVisitor>vis_in             # <<<<<<<<<<<<<<
1910
1955
  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_vis_in)));
1911
1956
  __pyx_v_vis = ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_vis_in);
1912
1957
 
1913
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":172
 
1958
  /* "/home/tachyon/h5py/h5py/h5g.pyx":172
1914
1959
 *     cdef _GroupVisitor vis = <_GroupVisitor>vis_in
1915
1960
 * 
1916
1961
 *     vis.retval = vis.func(name)             # <<<<<<<<<<<<<<
1918
1963
 *     if vis.retval is not None:
1919
1964
 */
1920
1965
  __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1921
 
  __Pyx_GOTREF(__pyx_t_1);
 
1966
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
1922
1967
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1923
1968
  __Pyx_GOTREF(__pyx_t_2);
1924
 
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
1925
 
  __Pyx_GIVEREF(__pyx_t_1);
 
1969
  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
 
1970
  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
1926
1971
  __pyx_t_1 = 0;
1927
1972
  __pyx_t_1 = PyObject_Call(__pyx_v_vis->func, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1928
1973
  __Pyx_GOTREF(__pyx_t_1);
1933
1978
  __pyx_v_vis->retval = __pyx_t_1;
1934
1979
  __pyx_t_1 = 0;
1935
1980
 
1936
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":174
 
1981
  /* "/home/tachyon/h5py/h5py/h5g.pyx":174
1937
1982
 *     vis.retval = vis.func(name)
1938
1983
 * 
1939
1984
 *     if vis.retval is not None:             # <<<<<<<<<<<<<<
1943
1988
  __pyx_t_3 = (__pyx_v_vis->retval != Py_None);
1944
1989
  if (__pyx_t_3) {
1945
1990
 
1946
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":175
 
1991
    /* "/home/tachyon/h5py/h5py/h5g.pyx":175
1947
1992
 * 
1948
1993
 *     if vis.retval is not None:
1949
1994
 *         return 1             # <<<<<<<<<<<<<<
1956
2001
  }
1957
2002
  __pyx_L3:;
1958
2003
 
1959
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":176
 
2004
  /* "/home/tachyon/h5py/h5py/h5g.pyx":176
1960
2005
 *     if vis.retval is not None:
1961
2006
 *         return 1
1962
2007
 *     return 0             # <<<<<<<<<<<<<<
1979
2024
  return __pyx_r;
1980
2025
}
1981
2026
 
1982
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":179
 
2027
/* "/home/tachyon/h5py/h5py/h5g.pyx":179
1983
2028
 * 
1984
2029
 * 
1985
2030
 * def iterate(GroupID loc not None, object func, int startidx=0, *,             # <<<<<<<<<<<<<<
2000
2045
  int __pyx_t_1;
2001
2046
  PyObject *__pyx_t_2 = NULL;
2002
2047
  PyObject *__pyx_t_3 = NULL;
2003
 
  herr_t __pyx_t_4;
 
2048
  hid_t __pyx_t_4;
 
2049
  herr_t __pyx_t_5;
2004
2050
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__startidx,&__pyx_n_s__obj_name,0};
2005
2051
  __Pyx_RefNannySetupContext("iterate");
2006
2052
  __pyx_self = __pyx_self;
2076
2122
  __Pyx_INCREF(__pyx_v_func);
2077
2123
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_3h5g_GroupID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2078
2124
 
2079
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":195
 
2125
  /* "/home/tachyon/h5py/h5py/h5g.pyx":195
2080
2126
 *         Iterate over this subgroup instead
2081
2127
 *     """
2082
2128
 *     if startidx < 0:             # <<<<<<<<<<<<<<
2086
2132
  __pyx_t_1 = (__pyx_v_startidx < 0);
2087
2133
  if (__pyx_t_1) {
2088
2134
 
2089
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":196
 
2135
    /* "/home/tachyon/h5py/h5py/h5g.pyx":196
2090
2136
 *     """
2091
2137
 *     if startidx < 0:
2092
2138
 *         raise ValueError("Starting index must be non-negative")             # <<<<<<<<<<<<<<
2108
2154
  }
2109
2155
  __pyx_L6:;
2110
2156
 
2111
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":198
 
2157
  /* "/home/tachyon/h5py/h5py/h5g.pyx":198
2112
2158
 *         raise ValueError("Starting index must be non-negative")
2113
2159
 * 
2114
2160
 *     cdef int i = startidx             # <<<<<<<<<<<<<<
2117
2163
 */
2118
2164
  __pyx_v_i = __pyx_v_startidx;
2119
2165
 
2120
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":199
 
2166
  /* "/home/tachyon/h5py/h5py/h5g.pyx":199
2121
2167
 * 
2122
2168
 *     cdef int i = startidx
2123
2169
 *     cdef _GroupVisitor vis = _GroupVisitor(func)             # <<<<<<<<<<<<<<
2135
2181
  __pyx_v_vis = ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_t_2);
2136
2182
  __pyx_t_2 = 0;
2137
2183
 
2138
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":201
 
2184
  /* "/home/tachyon/h5py/h5py/h5g.pyx":201
2139
2185
 *     cdef _GroupVisitor vis = _GroupVisitor(func)
2140
2186
 * 
2141
2187
 *     H5Giterate(loc.id, obj_name, &i, <H5G_iterate_t>cb_group_iter, <void*>vis)             # <<<<<<<<<<<<<<
2142
2188
 * 
2143
2189
 *     return vis.retval
2144
2190
 */
2145
 
  __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 = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2191
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_loc), __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2192
  __Pyx_GOTREF(__pyx_t_2);
 
2193
  __pyx_t_4 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_4 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2194
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2195
  __pyx_t_5 = H5Giterate(__pyx_t_4, __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 = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2146
2196
 
2147
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":203
 
2197
  /* "/home/tachyon/h5py/h5py/h5g.pyx":203
2148
2198
 *     H5Giterate(loc.id, obj_name, &i, <H5G_iterate_t>cb_group_iter, <void*>vis)
2149
2199
 * 
2150
2200
 *     return vis.retval             # <<<<<<<<<<<<<<
2172
2222
  return __pyx_r;
2173
2223
}
2174
2224
 
2175
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":206
 
2225
/* "/home/tachyon/h5py/h5py/h5g.pyx":206
2176
2226
 * 
2177
2227
 * 
2178
2228
 * def get_objinfo(ObjectID obj not None, object name='.', int follow_link=1):             # <<<<<<<<<<<<<<
2191
2241
  PyObject *__pyx_r = NULL;
2192
2242
  PyObject *__pyx_t_1 = NULL;
2193
2243
  char *__pyx_t_2;
2194
 
  herr_t __pyx_t_3;
 
2244
  hid_t __pyx_t_3;
 
2245
  herr_t __pyx_t_4;
2195
2246
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__obj,&__pyx_n_s__name,&__pyx_n_s__follow_link,0};
2196
2247
  __Pyx_RefNannySetupContext("get_objinfo");
2197
2248
  __pyx_self = __pyx_self;
2253
2304
  __pyx_v_statobj = ((struct __pyx_obj_4h5py_3h5g_GroupStat *)Py_None); __Pyx_INCREF(Py_None);
2254
2305
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_2h5_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2255
2306
 
2256
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":219
 
2307
  /* "/home/tachyon/h5py/h5py/h5g.pyx":219
2257
2308
 *     """
2258
2309
 *     cdef GroupStat statobj
2259
2310
 *     statobj = GroupStat()             # <<<<<<<<<<<<<<
2266
2317
  __pyx_v_statobj = ((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_t_1);
2267
2318
  __pyx_t_1 = 0;
2268
2319
 
2269
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":221
 
2320
  /* "/home/tachyon/h5py/h5py/h5g.pyx":221
2270
2321
 *     statobj = GroupStat()
2271
2322
 *     cdef char* _name
2272
2323
 *     _name = name             # <<<<<<<<<<<<<<
2276
2327
  __pyx_t_2 = __Pyx_PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2277
2328
  __pyx_v__name = __pyx_t_2;
2278
2329
 
2279
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":223
 
2330
  /* "/home/tachyon/h5py/h5py/h5g.pyx":223
2280
2331
 *     _name = name
2281
2332
 * 
2282
2333
 *     H5Gget_objinfo(obj.id, _name, follow_link, &statobj.infostruct)             # <<<<<<<<<<<<<<
2283
2334
 * 
2284
2335
 *     return statobj
2285
2336
 */
2286
 
  __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 = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2337
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_obj), __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2338
  __Pyx_GOTREF(__pyx_t_1);
 
2339
  __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2340
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2341
  __pyx_t_4 = H5Gget_objinfo(__pyx_t_3, __pyx_v__name, __pyx_v_follow_link, (&__pyx_v_statobj->infostruct)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2287
2342
 
2288
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":225
 
2343
  /* "/home/tachyon/h5py/h5py/h5g.pyx":225
2289
2344
 *     H5Gget_objinfo(obj.id, _name, follow_link, &statobj.infostruct)
2290
2345
 * 
2291
2346
 *     return statobj             # <<<<<<<<<<<<<<
2310
2365
  return __pyx_r;
2311
2366
}
2312
2367
 
2313
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":254
 
2368
/* "/home/tachyon/h5py/h5py/h5g.pyx":254
2314
2369
 * 
2315
2370
 *     IF H5PY_18API:
2316
2371
 *         def __init__(self, hid_t id_):             # <<<<<<<<<<<<<<
2357
2412
  return -1;
2358
2413
  __pyx_L4_argument_unpacking_done:;
2359
2414
 
2360
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":255
 
2415
  /* "/home/tachyon/h5py/h5py/h5g.pyx":255
2361
2416
 *     IF H5PY_18API:
2362
2417
 *         def __init__(self, hid_t id_):
2363
2418
 *             self.links = LinkProxy(id_)             # <<<<<<<<<<<<<<
2392
2447
  return __pyx_r;
2393
2448
}
2394
2449
 
2395
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":258
 
2450
/* "/home/tachyon/h5py/h5py/h5g.pyx":258
2396
2451
 * 
2397
2452
 * 
2398
2453
 *     def _close(self):             # <<<<<<<<<<<<<<
2404
2459
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        ";
2405
2460
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID__close(PyObject *__pyx_v_self, PyObject *unused) {
2406
2461
  PyObject *__pyx_r = NULL;
2407
 
  herr_t __pyx_t_1;
 
2462
  PyObject *__pyx_t_1 = NULL;
 
2463
  hid_t __pyx_t_2;
 
2464
  herr_t __pyx_t_3;
2408
2465
  __Pyx_RefNannySetupContext("_close");
2409
2466
 
2410
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":265
 
2467
  /* "/home/tachyon/h5py/h5py/h5g.pyx":265
2411
2468
 *         when their Python wrappers are freed.
2412
2469
 *         """
2413
2470
 *         H5Gclose(self.id)             # <<<<<<<<<<<<<<
2414
2471
 * 
2415
2472
 * 
2416
2473
 */
2417
 
  __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 = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2474
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2475
  __Pyx_GOTREF(__pyx_t_1);
 
2476
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2477
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2478
  __pyx_t_3 = H5Gclose(__pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2418
2479
 
2419
2480
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2420
2481
  goto __pyx_L0;
2421
2482
  __pyx_L1_error:;
 
2483
  __Pyx_XDECREF(__pyx_t_1);
2422
2484
  __Pyx_AddTraceback("h5py.h5g.GroupID._close");
2423
2485
  __pyx_r = NULL;
2424
2486
  __pyx_L0:;
2427
2489
  return __pyx_r;
2428
2490
}
2429
2491
 
2430
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":268
 
2492
/* "/home/tachyon/h5py/h5py/h5g.pyx":268
2431
2493
 * 
2432
2494
 * 
2433
2495
 *     def link(self, char* current_name, char* new_name,             # <<<<<<<<<<<<<<
2445
2507
  hid_t __pyx_v_remote_id;
2446
2508
  PyObject *__pyx_r = NULL;
2447
2509
  int __pyx_t_1;
2448
 
  herr_t __pyx_t_2;
 
2510
  PyObject *__pyx_t_2 = NULL;
 
2511
  hid_t __pyx_t_3;
 
2512
  herr_t __pyx_t_4;
2449
2513
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__current_name,&__pyx_n_s__new_name,&__pyx_n_s__link_type,&__pyx_n_s__remote,0};
2450
2514
  __Pyx_RefNannySetupContext("link");
2451
2515
  if (unlikely(__pyx_kwds)) {
2452
2516
 
2453
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":269
 
2517
    /* "/home/tachyon/h5py/h5py/h5g.pyx":269
2454
2518
 * 
2455
2519
 *     def link(self, char* current_name, char* new_name,
2456
2520
 *              int link_type=H5G_LINK_HARD, GroupID remote=None):             # <<<<<<<<<<<<<<
2527
2591
  __Pyx_INCREF((PyObject *)__pyx_v_remote);
2528
2592
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_remote), __pyx_ptype_4h5py_3h5g_GroupID, 1, "remote", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2529
2593
 
2530
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":286
 
2594
  /* "/home/tachyon/h5py/h5py/h5g.pyx":286
2531
2595
 *         """
2532
2596
 *         cdef hid_t remote_id
2533
2597
 *         if remote is None:             # <<<<<<<<<<<<<<
2537
2601
  __pyx_t_1 = (((PyObject *)__pyx_v_remote) == Py_None);
2538
2602
  if (__pyx_t_1) {
2539
2603
 
2540
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":287
 
2604
    /* "/home/tachyon/h5py/h5py/h5g.pyx":287
2541
2605
 *         cdef hid_t remote_id
2542
2606
 *         if remote is None:
2543
2607
 *             remote_id = self.id             # <<<<<<<<<<<<<<
2544
2608
 *         else:
2545
2609
 *             remote_id = remote.id
2546
2610
 */
2547
 
    __pyx_v_remote_id = ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id;
 
2611
    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2612
    __Pyx_GOTREF(__pyx_t_2);
 
2613
    __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2614
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2615
    __pyx_v_remote_id = __pyx_t_3;
2548
2616
    goto __pyx_L6;
2549
2617
  }
2550
2618
  /*else*/ {
2551
2619
 
2552
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":289
 
2620
    /* "/home/tachyon/h5py/h5py/h5g.pyx":289
2553
2621
 *             remote_id = self.id
2554
2622
 *         else:
2555
2623
 *             remote_id = remote.id             # <<<<<<<<<<<<<<
2556
2624
 * 
2557
2625
 *         H5Glink2(self.id, current_name, <H5G_link_t>link_type, remote_id, new_name)
2558
2626
 */
2559
 
    __pyx_v_remote_id = __pyx_v_remote->__pyx_base.id;
 
2627
    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_remote), __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2628
    __Pyx_GOTREF(__pyx_t_2);
 
2629
    __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2630
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2631
    __pyx_v_remote_id = __pyx_t_3;
2560
2632
  }
2561
2633
  __pyx_L6:;
2562
2634
 
2563
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":291
 
2635
  /* "/home/tachyon/h5py/h5py/h5g.pyx":291
2564
2636
 *             remote_id = remote.id
2565
2637
 * 
2566
2638
 *         H5Glink2(self.id, current_name, <H5G_link_t>link_type, remote_id, new_name)             # <<<<<<<<<<<<<<
2567
2639
 * 
2568
2640
 * 
2569
2641
 */
2570
 
  __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 = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2642
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2643
  __Pyx_GOTREF(__pyx_t_2);
 
2644
  __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2645
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2646
  __pyx_t_4 = H5Glink2(__pyx_t_3, __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 = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2571
2647
 
2572
2648
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2573
2649
  goto __pyx_L0;
2574
2650
  __pyx_L1_error:;
 
2651
  __Pyx_XDECREF(__pyx_t_2);
2575
2652
  __Pyx_AddTraceback("h5py.h5g.GroupID.link");
2576
2653
  __pyx_r = NULL;
2577
2654
  __pyx_L0:;
2582
2659
  return __pyx_r;
2583
2660
}
2584
2661
 
2585
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":295
 
2662
/* "/home/tachyon/h5py/h5py/h5g.pyx":295
2586
2663
 * 
2587
2664
 * 
2588
2665
 *     def unlink(self, char* name):             # <<<<<<<<<<<<<<
2595
2672
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
2596
2673
  char *__pyx_v_name;
2597
2674
  PyObject *__pyx_r = NULL;
2598
 
  herr_t __pyx_t_1;
 
2675
  PyObject *__pyx_t_1 = NULL;
 
2676
  hid_t __pyx_t_2;
 
2677
  herr_t __pyx_t_3;
2599
2678
  __Pyx_RefNannySetupContext("unlink");
2600
2679
  assert(__pyx_arg_name); {
2601
2680
    __pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2606
2685
  return NULL;
2607
2686
  __pyx_L4_argument_unpacking_done:;
2608
2687
 
2609
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":300
 
2688
  /* "/home/tachyon/h5py/h5py/h5g.pyx":300
2610
2689
 *         Remove a link to an object from this group.
2611
2690
 *         """
2612
2691
 *         H5Gunlink(self.id, name)             # <<<<<<<<<<<<<<
2613
2692
 * 
2614
2693
 * 
2615
2694
 */
2616
 
  __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 = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2695
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2696
  __Pyx_GOTREF(__pyx_t_1);
 
2697
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2698
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2699
  __pyx_t_3 = H5Gunlink(__pyx_t_2, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2617
2700
 
2618
2701
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2619
2702
  goto __pyx_L0;
2620
2703
  __pyx_L1_error:;
 
2704
  __Pyx_XDECREF(__pyx_t_1);
2621
2705
  __Pyx_AddTraceback("h5py.h5g.GroupID.unlink");
2622
2706
  __pyx_r = NULL;
2623
2707
  __pyx_L0:;
2626
2710
  return __pyx_r;
2627
2711
}
2628
2712
 
2629
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":304
 
2713
/* "/home/tachyon/h5py/h5py/h5g.pyx":304
2630
2714
 * 
2631
2715
 * 
2632
2716
 *     def move(self, char* current_name, char* new_name, GroupID remote=None):             # <<<<<<<<<<<<<<
2643
2727
  hid_t __pyx_v_remote_id;
2644
2728
  PyObject *__pyx_r = NULL;
2645
2729
  int __pyx_t_1;
2646
 
  herr_t __pyx_t_2;
 
2730
  PyObject *__pyx_t_2 = NULL;
 
2731
  hid_t __pyx_t_3;
 
2732
  herr_t __pyx_t_4;
2647
2733
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__current_name,&__pyx_n_s__new_name,&__pyx_n_s__remote,0};
2648
2734
  __Pyx_RefNannySetupContext("move");
2649
2735
  if (unlikely(__pyx_kwds)) {
2703
2789
  __Pyx_INCREF((PyObject *)__pyx_v_remote);
2704
2790
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_remote), __pyx_ptype_4h5py_3h5g_GroupID, 1, "remote", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2705
2791
 
2706
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":312
 
2792
  /* "/home/tachyon/h5py/h5py/h5g.pyx":312
2707
2793
 *         """
2708
2794
 *         cdef hid_t remote_id
2709
2795
 *         if remote is None:             # <<<<<<<<<<<<<<
2713
2799
  __pyx_t_1 = (((PyObject *)__pyx_v_remote) == Py_None);
2714
2800
  if (__pyx_t_1) {
2715
2801
 
2716
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":313
 
2802
    /* "/home/tachyon/h5py/h5py/h5g.pyx":313
2717
2803
 *         cdef hid_t remote_id
2718
2804
 *         if remote is None:
2719
2805
 *             remote_id = self.id             # <<<<<<<<<<<<<<
2720
2806
 *         else:
2721
2807
 *             remote_id = remote.id
2722
2808
 */
2723
 
    __pyx_v_remote_id = ((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self)->__pyx_base.id;
 
2809
    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2810
    __Pyx_GOTREF(__pyx_t_2);
 
2811
    __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2812
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2813
    __pyx_v_remote_id = __pyx_t_3;
2724
2814
    goto __pyx_L6;
2725
2815
  }
2726
2816
  /*else*/ {
2727
2817
 
2728
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":315
 
2818
    /* "/home/tachyon/h5py/h5py/h5g.pyx":315
2729
2819
 *             remote_id = self.id
2730
2820
 *         else:
2731
2821
 *             remote_id = remote.id             # <<<<<<<<<<<<<<
2732
2822
 * 
2733
2823
 *         H5Gmove2(self.id, current_name, remote_id, new_name)
2734
2824
 */
2735
 
    __pyx_v_remote_id = __pyx_v_remote->__pyx_base.id;
 
2825
    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_remote), __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2826
    __Pyx_GOTREF(__pyx_t_2);
 
2827
    __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2828
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2829
    __pyx_v_remote_id = __pyx_t_3;
2736
2830
  }
2737
2831
  __pyx_L6:;
2738
2832
 
2739
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":317
 
2833
  /* "/home/tachyon/h5py/h5py/h5g.pyx":317
2740
2834
 *             remote_id = remote.id
2741
2835
 * 
2742
2836
 *         H5Gmove2(self.id, current_name, remote_id, new_name)             # <<<<<<<<<<<<<<
2743
2837
 * 
2744
2838
 * 
2745
2839
 */
2746
 
  __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 = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2840
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2841
  __Pyx_GOTREF(__pyx_t_2);
 
2842
  __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2843
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2844
  __pyx_t_4 = H5Gmove2(__pyx_t_3, __pyx_v_current_name, __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2747
2845
 
2748
2846
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2749
2847
  goto __pyx_L0;
2750
2848
  __pyx_L1_error:;
 
2849
  __Pyx_XDECREF(__pyx_t_2);
2751
2850
  __Pyx_AddTraceback("h5py.h5g.GroupID.move");
2752
2851
  __pyx_r = NULL;
2753
2852
  __pyx_L0:;
2758
2857
  return __pyx_r;
2759
2858
}
2760
2859
 
2761
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":321
 
2860
/* "/home/tachyon/h5py/h5py/h5g.pyx":321
2762
2861
 * 
2763
2862
 * 
2764
2863
 *     def get_num_objs(self):             # <<<<<<<<<<<<<<
2771
2870
static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_get_num_objs(PyObject *__pyx_v_self, PyObject *unused) {
2772
2871
  hsize_t __pyx_v_size;
2773
2872
  PyObject *__pyx_r = NULL;
2774
 
  herr_t __pyx_t_1;
2775
 
  PyObject *__pyx_t_2 = NULL;
 
2873
  PyObject *__pyx_t_1 = NULL;
 
2874
  hid_t __pyx_t_2;
 
2875
  herr_t __pyx_t_3;
2776
2876
  __Pyx_RefNannySetupContext("get_num_objs");
2777
2877
 
2778
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":327
 
2878
  /* "/home/tachyon/h5py/h5py/h5g.pyx":327
2779
2879
 *         """
2780
2880
 *         cdef hsize_t size
2781
2881
 *         H5Gget_num_objs(self.id, &size)             # <<<<<<<<<<<<<<
2782
2882
 *         return size
2783
2883
 * 
2784
2884
 */
2785
 
  __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 = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2885
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2886
  __Pyx_GOTREF(__pyx_t_1);
 
2887
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2888
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2889
  __pyx_t_3 = H5Gget_num_objs(__pyx_t_2, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2786
2890
 
2787
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":328
 
2891
  /* "/home/tachyon/h5py/h5py/h5g.pyx":328
2788
2892
 *         cdef hsize_t size
2789
2893
 *         H5Gget_num_objs(self.id, &size)
2790
2894
 *         return size             # <<<<<<<<<<<<<<
2792
2896
 * 
2793
2897
 */
2794
2898
  __Pyx_XDECREF(__pyx_r);
2795
 
  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2796
 
  __Pyx_GOTREF(__pyx_t_2);
2797
 
  __pyx_r = __pyx_t_2;
2798
 
  __pyx_t_2 = 0;
 
2899
  __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2900
  __Pyx_GOTREF(__pyx_t_1);
 
2901
  __pyx_r = __pyx_t_1;
 
2902
  __pyx_t_1 = 0;
2799
2903
  goto __pyx_L0;
2800
2904
 
2801
2905
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2802
2906
  goto __pyx_L0;
2803
2907
  __pyx_L1_error:;
2804
 
  __Pyx_XDECREF(__pyx_t_2);
 
2908
  __Pyx_XDECREF(__pyx_t_1);
2805
2909
  __Pyx_AddTraceback("h5py.h5g.GroupID.get_num_objs");
2806
2910
  __pyx_r = NULL;
2807
2911
  __pyx_L0:;
2810
2914
  return __pyx_r;
2811
2915
}
2812
2916
 
2813
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":332
 
2917
/* "/home/tachyon/h5py/h5py/h5g.pyx":332
2814
2918
 * 
2815
2919
 * 
2816
2920
 *     def get_objname_by_idx(self, hsize_t idx):             # <<<<<<<<<<<<<<
2826
2930
  char *__pyx_v_buf;
2827
2931
  PyObject *__pyx_v_pystring;
2828
2932
  PyObject *__pyx_r = NULL;
2829
 
  int __pyx_t_1;
2830
 
  int __pyx_t_2;
2831
 
  PyObject *__pyx_t_3 = NULL;
2832
 
  PyObject *__pyx_t_4 = NULL;
 
2933
  PyObject *__pyx_t_1 = NULL;
 
2934
  hid_t __pyx_t_2;
 
2935
  int __pyx_t_3;
 
2936
  int __pyx_t_4;
2833
2937
  PyObject *__pyx_t_5 = NULL;
2834
 
  void *__pyx_t_6;
 
2938
  PyObject *__pyx_t_6 = NULL;
 
2939
  void *__pyx_t_7;
2835
2940
  __Pyx_RefNannySetupContext("get_objname_by_idx");
2836
2941
  assert(__pyx_arg_idx); {
2837
2942
    __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2844
2949
  __Pyx_INCREF((PyObject *)__pyx_v_self);
2845
2950
  __pyx_v_pystring = Py_None; __Pyx_INCREF(Py_None);
2846
2951
 
2847
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":342
 
2952
  /* "/home/tachyon/h5py/h5py/h5g.pyx":342
2848
2953
 *         cdef int size
2849
2954
 *         cdef char* buf
2850
2955
 *         buf = NULL             # <<<<<<<<<<<<<<
2853
2958
 */
2854
2959
  __pyx_v_buf = NULL;
2855
2960
 
2856
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":345
 
2961
  /* "/home/tachyon/h5py/h5py/h5g.pyx":345
2857
2962
 * 
2858
2963
 *         # This function does not properly raise an exception
2859
2964
 *         size = H5Gget_objname_by_idx(self.id, idx, NULL, 0)             # <<<<<<<<<<<<<<
2860
2965
 *         if size < 0:
2861
2966
 *             raise H5Error("Invalid index")
2862
2967
 */
2863
 
  __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 = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2864
 
  __pyx_v_size = __pyx_t_1;
 
2968
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2969
  __Pyx_GOTREF(__pyx_t_1);
 
2970
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2971
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2972
  __pyx_t_3 = H5Gget_objname_by_idx(__pyx_t_2, __pyx_v_idx, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2973
  __pyx_v_size = __pyx_t_3;
2865
2974
 
2866
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":346
 
2975
  /* "/home/tachyon/h5py/h5py/h5g.pyx":346
2867
2976
 *         # This function does not properly raise an exception
2868
2977
 *         size = H5Gget_objname_by_idx(self.id, idx, NULL, 0)
2869
2978
 *         if size < 0:             # <<<<<<<<<<<<<<
2870
2979
 *             raise H5Error("Invalid index")
2871
2980
 * 
2872
2981
 */
2873
 
  __pyx_t_2 = (__pyx_v_size < 0);
2874
 
  if (__pyx_t_2) {
 
2982
  __pyx_t_4 = (__pyx_v_size < 0);
 
2983
  if (__pyx_t_4) {
2875
2984
 
2876
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":347
 
2985
    /* "/home/tachyon/h5py/h5py/h5g.pyx":347
2877
2986
 *         size = H5Gget_objname_by_idx(self.id, idx, NULL, 0)
2878
2987
 *         if size < 0:
2879
2988
 *             raise H5Error("Invalid index")             # <<<<<<<<<<<<<<
2880
2989
 * 
2881
2990
 *         buf = <char*>emalloc(sizeof(char)*(size+1))
2882
2991
 */
2883
 
    __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__H5Error); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2884
 
    __Pyx_GOTREF(__pyx_t_3);
2885
 
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2886
 
    __Pyx_GOTREF(__pyx_t_4);
 
2992
    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__H5Error); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2993
    __Pyx_GOTREF(__pyx_t_1);
 
2994
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2995
    __Pyx_GOTREF(__pyx_t_5);
2887
2996
    __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
2888
 
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_4));
 
2997
    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_4));
2889
2998
    __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
2890
 
    __pyx_t_5 = PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2891
 
    __Pyx_GOTREF(__pyx_t_5);
2892
 
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2893
 
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2894
 
    __Pyx_Raise(__pyx_t_5, 0, 0);
 
2999
    __pyx_t_6 = PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3000
    __Pyx_GOTREF(__pyx_t_6);
 
3001
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2895
3002
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3003
    __Pyx_Raise(__pyx_t_6, 0, 0);
 
3004
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2896
3005
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2897
3006
    goto __pyx_L5;
2898
3007
  }
2899
3008
  __pyx_L5:;
2900
3009
 
2901
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":349
 
3010
  /* "/home/tachyon/h5py/h5py/h5g.pyx":349
2902
3011
 *             raise H5Error("Invalid index")
2903
3012
 * 
2904
3013
 *         buf = <char*>emalloc(sizeof(char)*(size+1))             # <<<<<<<<<<<<<<
2905
3014
 *         try:
2906
3015
 *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)
2907
3016
 */
2908
 
  __pyx_t_6 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_size + 1))); if (unlikely(__pyx_t_6 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2909
 
  __pyx_v_buf = ((char *)__pyx_t_6);
 
3017
  __pyx_t_7 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_size + 1))); if (unlikely(__pyx_t_7 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3018
  __pyx_v_buf = ((char *)__pyx_t_7);
2910
3019
 
2911
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":350
 
3020
  /* "/home/tachyon/h5py/h5py/h5g.pyx":350
2912
3021
 * 
2913
3022
 *         buf = <char*>emalloc(sizeof(char)*(size+1))
2914
3023
 *         try:             # <<<<<<<<<<<<<<
2917
3026
 */
2918
3027
  /*try:*/ {
2919
3028
 
2920
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":351
 
3029
    /* "/home/tachyon/h5py/h5py/h5g.pyx":351
2921
3030
 *         buf = <char*>emalloc(sizeof(char)*(size+1))
2922
3031
 *         try:
2923
3032
 *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)             # <<<<<<<<<<<<<<
2924
3033
 *             pystring = buf
2925
3034
 *             return pystring
2926
3035
 */
2927
 
    __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 = 351; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3036
    __pyx_t_6 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3037
    __Pyx_GOTREF(__pyx_t_6);
 
3038
    __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_6); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3039
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
3040
    __pyx_t_3 = H5Gget_objname_by_idx(__pyx_t_2, __pyx_v_idx, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L7;}
2928
3041
 
2929
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":352
 
3042
    /* "/home/tachyon/h5py/h5py/h5g.pyx":352
2930
3043
 *         try:
2931
3044
 *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)
2932
3045
 *             pystring = buf             # <<<<<<<<<<<<<<
2933
3046
 *             return pystring
2934
3047
 *         finally:
2935
3048
 */
2936
 
    __pyx_t_5 = __Pyx_PyBytes_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L7;}
2937
 
    __Pyx_GOTREF(__pyx_t_5);
 
3049
    __pyx_t_6 = __Pyx_PyBytes_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3050
    __Pyx_GOTREF(((PyObject *)__pyx_t_6));
2938
3051
    __Pyx_DECREF(__pyx_v_pystring);
2939
 
    __pyx_v_pystring = __pyx_t_5;
2940
 
    __pyx_t_5 = 0;
 
3052
    __pyx_v_pystring = ((PyObject *)__pyx_t_6);
 
3053
    __pyx_t_6 = 0;
2941
3054
 
2942
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":353
 
3055
    /* "/home/tachyon/h5py/h5py/h5g.pyx":353
2943
3056
 *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)
2944
3057
 *             pystring = buf
2945
3058
 *             return pystring             # <<<<<<<<<<<<<<
2961
3074
    __pyx_why = 3; goto __pyx_L8;
2962
3075
    __pyx_L7: {
2963
3076
      __pyx_why = 4;
2964
 
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2965
 
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
 
3077
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
2966
3078
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3079
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
2967
3080
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
2968
3081
      __pyx_exc_lineno = __pyx_lineno;
2969
3082
      goto __pyx_L8;
2970
3083
    }
2971
3084
    __pyx_L8:;
2972
3085
 
2973
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":355
 
3086
    /* "/home/tachyon/h5py/h5py/h5g.pyx":355
2974
3087
 *             return pystring
2975
3088
 *         finally:
2976
3089
 *             efree(buf)             # <<<<<<<<<<<<<<
2994
3107
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2995
3108
  goto __pyx_L0;
2996
3109
  __pyx_L1_error:;
2997
 
  __Pyx_XDECREF(__pyx_t_3);
2998
 
  __Pyx_XDECREF(__pyx_t_4);
 
3110
  __Pyx_XDECREF(__pyx_t_1);
2999
3111
  __Pyx_XDECREF(__pyx_t_5);
 
3112
  __Pyx_XDECREF(__pyx_t_6);
3000
3113
  __Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx");
3001
3114
  __pyx_r = NULL;
3002
3115
  __pyx_L0:;
3007
3120
  return __pyx_r;
3008
3121
}
3009
3122
 
3010
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":359
 
3123
/* "/home/tachyon/h5py/h5py/h5g.pyx":359
3011
3124
 * 
3012
3125
 * 
3013
3126
 *     def get_objtype_by_idx(self, hsize_t idx):             # <<<<<<<<<<<<<<
3021
3134
  hsize_t __pyx_v_idx;
3022
3135
  int __pyx_v_retval;
3023
3136
  PyObject *__pyx_r = NULL;
3024
 
  int __pyx_t_1;
3025
 
  int __pyx_t_2;
3026
 
  PyObject *__pyx_t_3 = NULL;
3027
 
  PyObject *__pyx_t_4 = NULL;
 
3137
  PyObject *__pyx_t_1 = NULL;
 
3138
  hid_t __pyx_t_2;
 
3139
  int __pyx_t_3;
 
3140
  int __pyx_t_4;
3028
3141
  PyObject *__pyx_t_5 = NULL;
 
3142
  PyObject *__pyx_t_6 = NULL;
3029
3143
  __Pyx_RefNannySetupContext("get_objtype_by_idx");
3030
3144
  assert(__pyx_arg_idx); {
3031
3145
    __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3037
3151
  __pyx_L4_argument_unpacking_done:;
3038
3152
  __Pyx_INCREF((PyObject *)__pyx_v_self);
3039
3153
 
3040
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":375
 
3154
  /* "/home/tachyon/h5py/h5py/h5g.pyx":375
3041
3155
 *         # This function does not properly raise an exception
3042
3156
 *         cdef int retval
3043
3157
 *         retval = H5Gget_objtype_by_idx(self.id, idx)             # <<<<<<<<<<<<<<
3044
3158
 *         if retval < 0:
3045
3159
 *             raise H5Error("Invalid index")
3046
3160
 */
3047
 
  __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 = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3048
 
  __pyx_v_retval = __pyx_t_1;
 
3161
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3162
  __Pyx_GOTREF(__pyx_t_1);
 
3163
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3164
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3165
  __pyx_t_3 = H5Gget_objtype_by_idx(__pyx_t_2, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3166
  __pyx_v_retval = __pyx_t_3;
3049
3167
 
3050
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":376
 
3168
  /* "/home/tachyon/h5py/h5py/h5g.pyx":376
3051
3169
 *         cdef int retval
3052
3170
 *         retval = H5Gget_objtype_by_idx(self.id, idx)
3053
3171
 *         if retval < 0:             # <<<<<<<<<<<<<<
3054
3172
 *             raise H5Error("Invalid index")
3055
3173
 *         return retval
3056
3174
 */
3057
 
  __pyx_t_2 = (__pyx_v_retval < 0);
3058
 
  if (__pyx_t_2) {
 
3175
  __pyx_t_4 = (__pyx_v_retval < 0);
 
3176
  if (__pyx_t_4) {
3059
3177
 
3060
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":377
 
3178
    /* "/home/tachyon/h5py/h5py/h5g.pyx":377
3061
3179
 *         retval = H5Gget_objtype_by_idx(self.id, idx)
3062
3180
 *         if retval < 0:
3063
3181
 *             raise H5Error("Invalid index")             # <<<<<<<<<<<<<<
3064
3182
 *         return retval
3065
3183
 * 
3066
3184
 */
3067
 
    __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__H5Error); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3068
 
    __Pyx_GOTREF(__pyx_t_3);
3069
 
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3070
 
    __Pyx_GOTREF(__pyx_t_4);
 
3185
    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__H5Error); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3186
    __Pyx_GOTREF(__pyx_t_1);
 
3187
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3188
    __Pyx_GOTREF(__pyx_t_5);
3071
3189
    __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
3072
 
    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_4));
 
3190
    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_4));
3073
3191
    __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
3074
 
    __pyx_t_5 = PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3075
 
    __Pyx_GOTREF(__pyx_t_5);
3076
 
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3077
 
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3078
 
    __Pyx_Raise(__pyx_t_5, 0, 0);
 
3192
    __pyx_t_6 = PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3193
    __Pyx_GOTREF(__pyx_t_6);
 
3194
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3079
3195
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3196
    __Pyx_Raise(__pyx_t_6, 0, 0);
 
3197
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3080
3198
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3081
3199
    goto __pyx_L5;
3082
3200
  }
3083
3201
  __pyx_L5:;
3084
3202
 
3085
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":378
 
3203
  /* "/home/tachyon/h5py/h5py/h5g.pyx":378
3086
3204
 *         if retval < 0:
3087
3205
 *             raise H5Error("Invalid index")
3088
3206
 *         return retval             # <<<<<<<<<<<<<<
3090
3208
 * 
3091
3209
 */
3092
3210
  __Pyx_XDECREF(__pyx_r);
3093
 
  __pyx_t_5 = PyInt_FromLong(__pyx_v_retval); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3094
 
  __Pyx_GOTREF(__pyx_t_5);
3095
 
  __pyx_r = __pyx_t_5;
3096
 
  __pyx_t_5 = 0;
 
3211
  __pyx_t_6 = PyInt_FromLong(__pyx_v_retval); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3212
  __Pyx_GOTREF(__pyx_t_6);
 
3213
  __pyx_r = __pyx_t_6;
 
3214
  __pyx_t_6 = 0;
3097
3215
  goto __pyx_L0;
3098
3216
 
3099
3217
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3100
3218
  goto __pyx_L0;
3101
3219
  __pyx_L1_error:;
3102
 
  __Pyx_XDECREF(__pyx_t_3);
3103
 
  __Pyx_XDECREF(__pyx_t_4);
 
3220
  __Pyx_XDECREF(__pyx_t_1);
3104
3221
  __Pyx_XDECREF(__pyx_t_5);
 
3222
  __Pyx_XDECREF(__pyx_t_6);
3105
3223
  __Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx");
3106
3224
  __pyx_r = NULL;
3107
3225
  __pyx_L0:;
3111
3229
  return __pyx_r;
3112
3230
}
3113
3231
 
3114
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":382
 
3232
/* "/home/tachyon/h5py/h5py/h5g.pyx":382
3115
3233
 * 
3116
3234
 * 
3117
3235
 *     def get_linkval(self, char* name):             # <<<<<<<<<<<<<<
3128
3246
  PyObject *__pyx_v_linklen;
3129
3247
  PyObject *__pyx_v_pyvalue;
3130
3248
  PyObject *__pyx_r = NULL;
3131
 
  herr_t __pyx_t_1;
3132
 
  int __pyx_t_2;
3133
 
  PyObject *__pyx_t_3 = NULL;
3134
 
  PyObject *__pyx_t_4 = NULL;
3135
 
  size_t __pyx_t_5;
3136
 
  void *__pyx_t_6;
3137
 
  Py_ssize_t __pyx_t_7;
 
3249
  PyObject *__pyx_t_1 = NULL;
 
3250
  hid_t __pyx_t_2;
 
3251
  herr_t __pyx_t_3;
 
3252
  int __pyx_t_4;
 
3253
  PyObject *__pyx_t_5 = NULL;
 
3254
  size_t __pyx_t_6;
 
3255
  void *__pyx_t_7;
 
3256
  Py_ssize_t __pyx_t_8;
3138
3257
  __Pyx_RefNannySetupContext("get_linkval");
3139
3258
  assert(__pyx_arg_name); {
3140
3259
    __pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3148
3267
  __pyx_v_linklen = Py_None; __Pyx_INCREF(Py_None);
3149
3268
  __pyx_v_pyvalue = Py_None; __Pyx_INCREF(Py_None);
3150
3269
 
3151
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":390
 
3270
  /* "/home/tachyon/h5py/h5py/h5g.pyx":390
3152
3271
 *         cdef char* value
3153
3272
 *         cdef H5G_stat_t statbuf
3154
3273
 *         value = NULL             # <<<<<<<<<<<<<<
3157
3276
 */
3158
3277
  __pyx_v_value = NULL;
3159
3278
 
3160
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":392
 
3279
  /* "/home/tachyon/h5py/h5py/h5g.pyx":392
3161
3280
 *         value = NULL
3162
3281
 * 
3163
3282
 *         H5Gget_objinfo(self.id, name, 0, &statbuf)             # <<<<<<<<<<<<<<
3164
3283
 * 
3165
3284
 *         if statbuf.type != H5G_LINK:
3166
3285
 */
3167
 
  __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 = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3286
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3287
  __Pyx_GOTREF(__pyx_t_1);
 
3288
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3289
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3290
  __pyx_t_3 = H5Gget_objinfo(__pyx_t_2, __pyx_v_name, 0, (&__pyx_v_statbuf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3168
3291
 
3169
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":394
 
3292
  /* "/home/tachyon/h5py/h5py/h5g.pyx":394
3170
3293
 *         H5Gget_objinfo(self.id, name, 0, &statbuf)
3171
3294
 * 
3172
3295
 *         if statbuf.type != H5G_LINK:             # <<<<<<<<<<<<<<
3173
3296
 *             raise ValueError('"%s" is not a symbolic link.' % name)
3174
3297
 * 
3175
3298
 */
3176
 
  __pyx_t_2 = (__pyx_v_statbuf.type != H5G_LINK);
3177
 
  if (__pyx_t_2) {
 
3299
  __pyx_t_4 = (__pyx_v_statbuf.type != H5G_LINK);
 
3300
  if (__pyx_t_4) {
3178
3301
 
3179
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":395
 
3302
    /* "/home/tachyon/h5py/h5py/h5g.pyx":395
3180
3303
 * 
3181
3304
 *         if statbuf.type != H5G_LINK:
3182
3305
 *             raise ValueError('"%s" is not a symbolic link.' % name)             # <<<<<<<<<<<<<<
3183
3306
 * 
3184
3307
 *         IF UNAME_SYSNAME == "Windows":
3185
3308
 */
3186
 
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3187
 
    __Pyx_GOTREF(__pyx_t_3);
3188
 
    __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3189
 
    __Pyx_GOTREF(__pyx_t_4);
3190
 
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3191
 
    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3192
 
    __Pyx_GOTREF(__pyx_t_3);
3193
 
    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
3194
 
    __Pyx_GIVEREF(__pyx_t_4);
3195
 
    __pyx_t_4 = 0;
3196
 
    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3197
 
    __Pyx_GOTREF(__pyx_t_4);
3198
 
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3199
 
    __Pyx_Raise(__pyx_t_4, 0, 0);
3200
 
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
3309
    __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3310
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
3311
    __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3312
    __Pyx_GOTREF(__pyx_t_5);
 
3313
    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
3314
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3315
    __Pyx_GOTREF(__pyx_t_1);
 
3316
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5);
 
3317
    __Pyx_GIVEREF(__pyx_t_5);
 
3318
    __pyx_t_5 = 0;
 
3319
    __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3320
    __Pyx_GOTREF(__pyx_t_5);
 
3321
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3322
    __Pyx_Raise(__pyx_t_5, 0, 0);
 
3323
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3201
3324
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3202
3325
    goto __pyx_L5;
3203
3326
  }
3204
3327
  __pyx_L5:;
3205
3328
 
3206
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":400
 
3329
  /* "/home/tachyon/h5py/h5py/h5g.pyx":400
3207
3330
 *             linklen = 2049  # Windows statbuf.linklen seems broken
3208
3331
 *         ELSE:
3209
3332
 *             linklen = statbuf.linklen+1             # <<<<<<<<<<<<<<
3210
3333
 *         value = <char*>emalloc(sizeof(char)*linklen)
3211
3334
 *         try:
3212
3335
 */
3213
 
  __pyx_t_4 = __Pyx_PyInt_FromSize_t((__pyx_v_statbuf.linklen + 1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3214
 
  __Pyx_GOTREF(__pyx_t_4);
 
3336
  __pyx_t_5 = __Pyx_PyInt_FromSize_t((__pyx_v_statbuf.linklen + 1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3337
  __Pyx_GOTREF(__pyx_t_5);
3215
3338
  __Pyx_DECREF(__pyx_v_linklen);
3216
 
  __pyx_v_linklen = __pyx_t_4;
3217
 
  __pyx_t_4 = 0;
 
3339
  __pyx_v_linklen = __pyx_t_5;
 
3340
  __pyx_t_5 = 0;
3218
3341
 
3219
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":401
 
3342
  /* "/home/tachyon/h5py/h5py/h5g.pyx":401
3220
3343
 *         ELSE:
3221
3344
 *             linklen = statbuf.linklen+1
3222
3345
 *         value = <char*>emalloc(sizeof(char)*linklen)             # <<<<<<<<<<<<<<
3223
3346
 *         try:
3224
3347
 *             H5Gget_linkval(self.id, name, linklen, value)
3225
3348
 */
3226
 
  __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(char))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3227
 
  __Pyx_GOTREF(__pyx_t_4);
3228
 
  __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_v_linklen); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3229
 
  __Pyx_GOTREF(__pyx_t_3);
3230
 
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3231
 
  __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 = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3232
 
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3233
 
  __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 = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3234
 
  __pyx_v_value = ((char *)__pyx_t_6);
 
3349
  __pyx_t_5 = __Pyx_PyInt_FromSize_t((sizeof(char))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3350
  __Pyx_GOTREF(__pyx_t_5);
 
3351
  __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_v_linklen); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3352
  __Pyx_GOTREF(__pyx_t_1);
 
3353
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3354
  __pyx_t_6 = __Pyx_PyInt_AsSize_t(__pyx_t_1); if (unlikely((__pyx_t_6 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3355
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3356
  __pyx_t_7 = __pyx_f_4h5py_5utils_emalloc(__pyx_t_6); if (unlikely(__pyx_t_7 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3357
  __pyx_v_value = ((char *)__pyx_t_7);
3235
3358
 
3236
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":402
 
3359
  /* "/home/tachyon/h5py/h5py/h5g.pyx":402
3237
3360
 *             linklen = statbuf.linklen+1
3238
3361
 *         value = <char*>emalloc(sizeof(char)*linklen)
3239
3362
 *         try:             # <<<<<<<<<<<<<<
3242
3365
 */
3243
3366
  /*try:*/ {
3244
3367
 
3245
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":403
 
3368
    /* "/home/tachyon/h5py/h5py/h5g.pyx":403
3246
3369
 *         value = <char*>emalloc(sizeof(char)*linklen)
3247
3370
 *         try:
3248
3371
 *             H5Gget_linkval(self.id, name, linklen, value)             # <<<<<<<<<<<<<<
3249
3372
 *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows
3250
3373
 *             pyvalue = value
3251
3374
 */
3252
 
    __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 = 403; __pyx_clineno = __LINE__; goto __pyx_L7;}
3253
 
    __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 = 403; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3375
    __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3376
    __Pyx_GOTREF(__pyx_t_1);
 
3377
    __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3378
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3379
    __pyx_t_6 = __Pyx_PyInt_AsSize_t(__pyx_v_linklen); if (unlikely((__pyx_t_6 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3380
    __pyx_t_3 = H5Gget_linkval(__pyx_t_2, __pyx_v_name, __pyx_t_6, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L7;}
3254
3381
 
3255
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":404
 
3382
    /* "/home/tachyon/h5py/h5py/h5g.pyx":404
3256
3383
 *         try:
3257
3384
 *             H5Gget_linkval(self.id, name, linklen, value)
3258
3385
 *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows             # <<<<<<<<<<<<<<
3259
3386
 *             pyvalue = value
3260
3387
 *             return pyvalue
3261
3388
 */
3262
 
    __pyx_t_3 = PyNumber_Subtract(__pyx_v_linklen, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L7;}
3263
 
    __Pyx_GOTREF(__pyx_t_3);
3264
 
    __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 = 404; __pyx_clineno = __LINE__; goto __pyx_L7;}
3265
 
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3266
 
    (__pyx_v_value[__pyx_t_7]) = '\x00';
 
3389
    __pyx_t_1 = PyNumber_Subtract(__pyx_v_linklen, __pyx_int_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3390
    __Pyx_GOTREF(__pyx_t_1);
 
3391
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3392
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3393
    (__pyx_v_value[__pyx_t_8]) = '\x00';
3267
3394
 
3268
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":405
 
3395
    /* "/home/tachyon/h5py/h5py/h5g.pyx":405
3269
3396
 *             H5Gget_linkval(self.id, name, linklen, value)
3270
3397
 *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows
3271
3398
 *             pyvalue = value             # <<<<<<<<<<<<<<
3272
3399
 *             return pyvalue
3273
3400
 *         finally:
3274
3401
 */
3275
 
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_value); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L7;}
3276
 
    __Pyx_GOTREF(__pyx_t_3);
 
3402
    __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_value); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3403
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3277
3404
    __Pyx_DECREF(__pyx_v_pyvalue);
3278
 
    __pyx_v_pyvalue = __pyx_t_3;
3279
 
    __pyx_t_3 = 0;
 
3405
    __pyx_v_pyvalue = ((PyObject *)__pyx_t_1);
 
3406
    __pyx_t_1 = 0;
3280
3407
 
3281
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":406
 
3408
    /* "/home/tachyon/h5py/h5py/h5g.pyx":406
3282
3409
 *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows
3283
3410
 *             pyvalue = value
3284
3411
 *             return pyvalue             # <<<<<<<<<<<<<<
3300
3427
    __pyx_why = 3; goto __pyx_L8;
3301
3428
    __pyx_L7: {
3302
3429
      __pyx_why = 4;
3303
 
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
3304
 
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3430
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3431
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
3305
3432
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
3306
3433
      __pyx_exc_lineno = __pyx_lineno;
3307
3434
      goto __pyx_L8;
3308
3435
    }
3309
3436
    __pyx_L8:;
3310
3437
 
3311
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":408
 
3438
    /* "/home/tachyon/h5py/h5py/h5g.pyx":408
3312
3439
 *             return pyvalue
3313
3440
 *         finally:
3314
3441
 *             efree(value)             # <<<<<<<<<<<<<<
3332
3459
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3333
3460
  goto __pyx_L0;
3334
3461
  __pyx_L1_error:;
3335
 
  __Pyx_XDECREF(__pyx_t_3);
3336
 
  __Pyx_XDECREF(__pyx_t_4);
 
3462
  __Pyx_XDECREF(__pyx_t_1);
 
3463
  __Pyx_XDECREF(__pyx_t_5);
3337
3464
  __Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval");
3338
3465
  __pyx_r = NULL;
3339
3466
  __pyx_L0:;
3345
3472
  return __pyx_r;
3346
3473
}
3347
3474
 
3348
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":411
 
3475
/* "/home/tachyon/h5py/h5py/h5g.pyx":411
3349
3476
 * 
3350
3477
 * 
3351
3478
 *     def set_comment(self, char* name, char* comment):             # <<<<<<<<<<<<<<
3359
3486
  char *__pyx_v_name;
3360
3487
  char *__pyx_v_comment;
3361
3488
  PyObject *__pyx_r = NULL;
3362
 
  herr_t __pyx_t_1;
 
3489
  PyObject *__pyx_t_1 = NULL;
 
3490
  hid_t __pyx_t_2;
 
3491
  herr_t __pyx_t_3;
3363
3492
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__comment,0};
3364
3493
  __Pyx_RefNannySetupContext("set_comment");
3365
3494
  if (unlikely(__pyx_kwds)) {
3402
3531
  return NULL;
3403
3532
  __pyx_L4_argument_unpacking_done:;
3404
3533
 
3405
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":416
 
3534
  /* "/home/tachyon/h5py/h5py/h5g.pyx":416
3406
3535
 *         Set the comment on a group member.
3407
3536
 *         """
3408
3537
 *         H5Gset_comment(self.id, name, comment)             # <<<<<<<<<<<<<<
3409
3538
 * 
3410
3539
 * 
3411
3540
 */
3412
 
  __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 = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3541
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3542
  __Pyx_GOTREF(__pyx_t_1);
 
3543
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3544
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3545
  __pyx_t_3 = H5Gset_comment(__pyx_t_2, __pyx_v_name, __pyx_v_comment); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3413
3546
 
3414
3547
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3415
3548
  goto __pyx_L0;
3416
3549
  __pyx_L1_error:;
 
3550
  __Pyx_XDECREF(__pyx_t_1);
3417
3551
  __Pyx_AddTraceback("h5py.h5g.GroupID.set_comment");
3418
3552
  __pyx_r = NULL;
3419
3553
  __pyx_L0:;
3422
3556
  return __pyx_r;
3423
3557
}
3424
3558
 
3425
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":419
 
3559
/* "/home/tachyon/h5py/h5py/h5g.pyx":419
3426
3560
 * 
3427
3561
 * 
3428
3562
 *     def get_comment(self, char* name):             # <<<<<<<<<<<<<<
3438
3572
  char *__pyx_v_cmnt;
3439
3573
  PyObject *__pyx_v_py_cmnt;
3440
3574
  PyObject *__pyx_r = NULL;
3441
 
  int __pyx_t_1;
3442
 
  void *__pyx_t_2;
3443
 
  PyObject *__pyx_t_3 = NULL;
 
3575
  PyObject *__pyx_t_1 = NULL;
 
3576
  hid_t __pyx_t_2;
 
3577
  int __pyx_t_3;
 
3578
  void *__pyx_t_4;
3444
3579
  __Pyx_RefNannySetupContext("get_comment");
3445
3580
  assert(__pyx_arg_name); {
3446
3581
    __pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3453
3588
  __Pyx_INCREF((PyObject *)__pyx_v_self);
3454
3589
  __pyx_v_py_cmnt = Py_None; __Pyx_INCREF(Py_None);
3455
3590
 
3456
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":426
 
3591
  /* "/home/tachyon/h5py/h5py/h5g.pyx":426
3457
3592
 *         cdef int cmnt_len
3458
3593
 *         cdef char* cmnt
3459
3594
 *         cmnt = NULL             # <<<<<<<<<<<<<<
3462
3597
 */
3463
3598
  __pyx_v_cmnt = NULL;
3464
3599
 
3465
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":428
 
3600
  /* "/home/tachyon/h5py/h5py/h5g.pyx":428
3466
3601
 *         cmnt = NULL
3467
3602
 * 
3468
3603
 *         cmnt_len = H5Gget_comment(self.id, name, 0, NULL)             # <<<<<<<<<<<<<<
3469
3604
 *         assert cmnt_len >= 0
3470
3605
 * 
3471
3606
 */
3472
 
  __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 = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3473
 
  __pyx_v_cmnt_len = __pyx_t_1;
 
3607
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3608
  __Pyx_GOTREF(__pyx_t_1);
 
3609
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3610
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3611
  __pyx_t_3 = H5Gget_comment(__pyx_t_2, __pyx_v_name, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3612
  __pyx_v_cmnt_len = __pyx_t_3;
3474
3613
 
3475
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":429
 
3614
  /* "/home/tachyon/h5py/h5py/h5g.pyx":429
3476
3615
 * 
3477
3616
 *         cmnt_len = H5Gget_comment(self.id, name, 0, NULL)
3478
3617
 *         assert cmnt_len >= 0             # <<<<<<<<<<<<<<
3486
3625
  }
3487
3626
  #endif
3488
3627
 
3489
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":431
 
3628
  /* "/home/tachyon/h5py/h5py/h5g.pyx":431
3490
3629
 *         assert cmnt_len >= 0
3491
3630
 * 
3492
3631
 *         cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))             # <<<<<<<<<<<<<<
3493
3632
 *         try:
3494
3633
 *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
3495
3634
 */
3496
 
  __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 = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3497
 
  __pyx_v_cmnt = ((char *)__pyx_t_2);
 
3635
  __pyx_t_4 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_cmnt_len + 1))); if (unlikely(__pyx_t_4 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3636
  __pyx_v_cmnt = ((char *)__pyx_t_4);
3498
3637
 
3499
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":432
 
3638
  /* "/home/tachyon/h5py/h5py/h5g.pyx":432
3500
3639
 * 
3501
3640
 *         cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))
3502
3641
 *         try:             # <<<<<<<<<<<<<<
3505
3644
 */
3506
3645
  /*try:*/ {
3507
3646
 
3508
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":433
 
3647
    /* "/home/tachyon/h5py/h5py/h5g.pyx":433
3509
3648
 *         cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))
3510
3649
 *         try:
3511
3650
 *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)             # <<<<<<<<<<<<<<
3512
3651
 *             py_cmnt = cmnt
3513
3652
 *             return py_cmnt
3514
3653
 */
3515
 
    __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 = 433; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
3654
    __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
3655
    __Pyx_GOTREF(__pyx_t_1);
 
3656
    __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
3657
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3658
    __pyx_t_3 = H5Gget_comment(__pyx_t_2, __pyx_v_name, (__pyx_v_cmnt_len + 1), __pyx_v_cmnt); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L6;}
3516
3659
 
3517
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":434
 
3660
    /* "/home/tachyon/h5py/h5py/h5g.pyx":434
3518
3661
 *         try:
3519
3662
 *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
3520
3663
 *             py_cmnt = cmnt             # <<<<<<<<<<<<<<
3521
3664
 *             return py_cmnt
3522
3665
 *         finally:
3523
3666
 */
3524
 
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_cmnt); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L6;}
3525
 
    __Pyx_GOTREF(__pyx_t_3);
 
3667
    __pyx_t_1 = __Pyx_PyBytes_FromString(__pyx_v_cmnt); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
3668
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
3526
3669
    __Pyx_DECREF(__pyx_v_py_cmnt);
3527
 
    __pyx_v_py_cmnt = __pyx_t_3;
3528
 
    __pyx_t_3 = 0;
 
3670
    __pyx_v_py_cmnt = ((PyObject *)__pyx_t_1);
 
3671
    __pyx_t_1 = 0;
3529
3672
 
3530
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":435
 
3673
    /* "/home/tachyon/h5py/h5py/h5g.pyx":435
3531
3674
 *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
3532
3675
 *             py_cmnt = cmnt
3533
3676
 *             return py_cmnt             # <<<<<<<<<<<<<<
3549
3692
    __pyx_why = 3; goto __pyx_L7;
3550
3693
    __pyx_L6: {
3551
3694
      __pyx_why = 4;
3552
 
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3695
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
3553
3696
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
3554
3697
      __pyx_exc_lineno = __pyx_lineno;
3555
3698
      goto __pyx_L7;
3556
3699
    }
3557
3700
    __pyx_L7:;
3558
3701
 
3559
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":437
 
3702
    /* "/home/tachyon/h5py/h5py/h5g.pyx":437
3560
3703
 *             return py_cmnt
3561
3704
 *         finally:
3562
3705
 *             efree(cmnt)             # <<<<<<<<<<<<<<
3580
3723
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3581
3724
  goto __pyx_L0;
3582
3725
  __pyx_L1_error:;
3583
 
  __Pyx_XDECREF(__pyx_t_3);
 
3726
  __Pyx_XDECREF(__pyx_t_1);
3584
3727
  __Pyx_AddTraceback("h5py.h5g.GroupID.get_comment");
3585
3728
  __pyx_r = NULL;
3586
3729
  __pyx_L0:;
3591
3734
  return __pyx_r;
3592
3735
}
3593
3736
 
3594
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":442
 
3737
/* "/home/tachyon/h5py/h5py/h5g.pyx":442
3595
3738
 * 
3596
3739
 * 
3597
3740
 *     def __contains__(self, char* name):             # <<<<<<<<<<<<<<
3607
3750
  __pyx_t_4h5py_3h5e_err_cookie __pyx_v_cookie;
3608
3751
  int __pyx_r;
3609
3752
  __pyx_t_4h5py_3h5e_err_cookie __pyx_t_1;
3610
 
  herr_t __pyx_t_2;
3611
 
  PyObject *__pyx_t_3 = NULL;
3612
 
  PyObject *__pyx_t_4 = NULL;
3613
 
  int __pyx_t_5;
 
3753
  PyObject *__pyx_t_2 = NULL;
 
3754
  hid_t __pyx_t_3;
 
3755
  herr_t __pyx_t_4;
 
3756
  PyObject *__pyx_t_5 = NULL;
 
3757
  int __pyx_t_6;
3614
3758
  __Pyx_RefNannySetupContext("__contains__");
3615
3759
  assert(__pyx_arg_name); {
3616
3760
    __pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3622
3766
  __pyx_L4_argument_unpacking_done:;
3623
3767
  __Pyx_INCREF((PyObject *)__pyx_v_self);
3624
3768
 
3625
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":450
 
3769
  /* "/home/tachyon/h5py/h5py/h5g.pyx":450
3626
3770
 *         cdef err_cookie cookie
3627
3771
 * 
3628
3772
 *         cookie = disable_errors()             # <<<<<<<<<<<<<<
3632
3776
  __pyx_t_1 = __pyx_f_4h5py_3h5e_disable_errors(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3633
3777
  __pyx_v_cookie = __pyx_t_1;
3634
3778
 
3635
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":451
 
3779
  /* "/home/tachyon/h5py/h5py/h5g.pyx":451
3636
3780
 * 
3637
3781
 *         cookie = disable_errors()
3638
3782
 *         try:             # <<<<<<<<<<<<<<
3641
3785
 */
3642
3786
  /*try:*/ {
3643
3787
 
3644
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":452
 
3788
    /* "/home/tachyon/h5py/h5py/h5g.pyx":452
3645
3789
 *         cookie = disable_errors()
3646
3790
 *         try:
3647
3791
 *             retval = H5Gget_objinfo(self.id, name, 1, NULL)             # <<<<<<<<<<<<<<
3648
3792
 *         finally:
3649
3793
 *             enable_errors(cookie)
3650
3794
 */
3651
 
    __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 = 452; __pyx_clineno = __LINE__; goto __pyx_L6;}
3652
 
    __pyx_v_retval = __pyx_t_2;
 
3795
    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
3796
    __Pyx_GOTREF(__pyx_t_2);
 
3797
    __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
3798
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3799
    __pyx_t_4 = H5Gget_objinfo(__pyx_t_3, __pyx_v_name, 1, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
3800
    __pyx_v_retval = __pyx_t_4;
3653
3801
  }
3654
3802
  /*finally:*/ {
3655
3803
    int __pyx_why;
3659
3807
    __pyx_why = 0; goto __pyx_L7;
3660
3808
    __pyx_L6: {
3661
3809
      __pyx_why = 4;
 
3810
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
3662
3811
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
3663
3812
      __pyx_exc_lineno = __pyx_lineno;
3664
3813
      goto __pyx_L7;
3665
3814
    }
3666
3815
    __pyx_L7:;
3667
3816
 
3668
 
    /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":454
 
3817
    /* "/home/tachyon/h5py/h5py/h5g.pyx":454
3669
3818
 *             retval = H5Gget_objinfo(self.id, name, 1, NULL)
3670
3819
 *         finally:
3671
3820
 *             enable_errors(cookie)             # <<<<<<<<<<<<<<
3694
3843
    }
3695
3844
  }
3696
3845
 
3697
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":456
 
3846
  /* "/home/tachyon/h5py/h5py/h5g.pyx":456
3698
3847
 *             enable_errors(cookie)
3699
3848
 * 
3700
3849
 *         return bool(retval >= 0)             # <<<<<<<<<<<<<<
3701
3850
 * 
3702
3851
 * 
3703
3852
 */
3704
 
  __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_v_retval >= 0)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3705
 
  __Pyx_GOTREF(__pyx_t_3);
3706
 
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3707
 
  __Pyx_GOTREF(__pyx_t_4);
3708
 
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
3709
 
  __Pyx_GIVEREF(__pyx_t_3);
3710
 
  __pyx_t_3 = 0;
3711
 
  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3712
 
  __Pyx_GOTREF(__pyx_t_3);
3713
 
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3714
 
  __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 = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3715
 
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3716
 
  __pyx_r = __pyx_t_5;
 
3853
  __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_v_retval >= 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3854
  __Pyx_GOTREF(__pyx_t_2);
 
3855
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3856
  __Pyx_GOTREF(__pyx_t_5);
 
3857
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
 
3858
  __Pyx_GIVEREF(__pyx_t_2);
 
3859
  __pyx_t_2 = 0;
 
3860
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3861
  __Pyx_GOTREF(__pyx_t_2);
 
3862
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3863
  __pyx_t_6 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3864
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3865
  __pyx_r = __pyx_t_6;
3717
3866
  goto __pyx_L0;
3718
3867
 
3719
3868
  __pyx_r = 0;
3720
3869
  goto __pyx_L0;
3721
3870
  __pyx_L1_error:;
3722
 
  __Pyx_XDECREF(__pyx_t_3);
3723
 
  __Pyx_XDECREF(__pyx_t_4);
 
3871
  __Pyx_XDECREF(__pyx_t_2);
 
3872
  __Pyx_XDECREF(__pyx_t_5);
3724
3873
  __Pyx_AddTraceback("h5py.h5g.GroupID.__contains__");
3725
3874
  __pyx_r = -1;
3726
3875
  __pyx_L0:;
3729
3878
  return __pyx_r;
3730
3879
}
3731
3880
 
3732
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":459
 
3881
/* "/home/tachyon/h5py/h5py/h5g.pyx":459
3733
3882
 * 
3734
3883
 * 
3735
3884
 *     def __iter__(self):             # <<<<<<<<<<<<<<
3745
3894
  PyObject *__pyx_t_2 = NULL;
3746
3895
  __Pyx_RefNannySetupContext("__iter__");
3747
3896
 
3748
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":461
 
3897
  /* "/home/tachyon/h5py/h5py/h5g.pyx":461
3749
3898
 *     def __iter__(self):
3750
3899
 *         """ Return an iterator over the names of group members. """
3751
3900
 *         return GroupIter(self)             # <<<<<<<<<<<<<<
3778
3927
  return __pyx_r;
3779
3928
}
3780
3929
 
3781
 
/* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":464
 
3930
/* "/home/tachyon/h5py/h5py/h5g.pyx":464
3782
3931
 * 
3783
3932
 * 
3784
3933
 *     def __len__(self):             # <<<<<<<<<<<<<<
3791
3940
static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID___len__(PyObject *__pyx_v_self) {
3792
3941
  hsize_t __pyx_v_size;
3793
3942
  Py_ssize_t __pyx_r;
3794
 
  herr_t __pyx_t_1;
 
3943
  PyObject *__pyx_t_1 = NULL;
 
3944
  hid_t __pyx_t_2;
 
3945
  herr_t __pyx_t_3;
3795
3946
  __Pyx_RefNannySetupContext("__len__");
3796
3947
 
3797
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":467
 
3948
  /* "/home/tachyon/h5py/h5py/h5g.pyx":467
3798
3949
 *         """ Number of group members """
3799
3950
 *         cdef hsize_t size
3800
3951
 *         H5Gget_num_objs(self.id, &size)             # <<<<<<<<<<<<<<
3801
3952
 *         return size
3802
3953
 * 
3803
3954
 */
3804
 
  __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 = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3955
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3956
  __Pyx_GOTREF(__pyx_t_1);
 
3957
  __pyx_t_2 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3958
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3959
  __pyx_t_3 = H5Gget_num_objs(__pyx_t_2, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3805
3960
 
3806
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":468
 
3961
  /* "/home/tachyon/h5py/h5py/h5g.pyx":468
3807
3962
 *         cdef hsize_t size
3808
3963
 *         H5Gget_num_objs(self.id, &size)
3809
3964
 *         return size             # <<<<<<<<<<<<<<
3816
3971
  __pyx_r = 0;
3817
3972
  goto __pyx_L0;
3818
3973
  __pyx_L1_error:;
 
3974
  __Pyx_XDECREF(__pyx_t_1);
3819
3975
  __Pyx_AddTraceback("h5py.h5g.GroupID.__len__");
3820
3976
  __pyx_r = -1;
3821
3977
  __pyx_L0:;
4783
4939
  /*--- Global init code ---*/
4784
4940
  /*--- Function export code ---*/
4785
4941
  /*--- Type init code ---*/
4786
 
  __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;}
 
4942
  __pyx_ptype_4h5py_2h5_ObjectID = __Pyx_ImportType("h5py.h5", "ObjectID", sizeof(struct __pyx_obj_4h5py_2h5_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_2h5_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4787
4943
  __pyx_type_4h5py_3h5g_GroupID.tp_base = __pyx_ptype_4h5py_2h5_ObjectID;
4788
4944
  if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4789
4945
  if (__Pyx_SetAttrString(__pyx_m, "GroupID", (PyObject *)&__pyx_type_4h5py_3h5g_GroupID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4790
4946
  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__);
4791
4947
  __pyx_ptype_4h5py_3h5g_GroupID = &__pyx_type_4h5py_3h5g_GroupID;
4792
 
  __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;}
 
4948
  __pyx_ptype_4h5py_2h5_SmartStruct = __Pyx_ImportType("h5py.h5", "SmartStruct", sizeof(struct __pyx_obj_4h5py_2h5_SmartStruct), 1); if (unlikely(!__pyx_ptype_4h5py_2h5_SmartStruct)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4793
4949
  __pyx_type_4h5py_3h5g_GroupStat.tp_base = __pyx_ptype_4h5py_2h5_SmartStruct;
4794
4950
  if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupStat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4795
4951
  if (__Pyx_SetAttrString(__pyx_m, "GroupStat", (PyObject *)&__pyx_type_4h5py_3h5g_GroupStat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4802
4958
  if (__Pyx_SetAttrString(__pyx_m, "_GroupVisitor", (PyObject *)&__pyx_type_4h5py_3h5g__GroupVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4803
4959
  __pyx_ptype_4h5py_3h5g__GroupVisitor = &__pyx_type_4h5py_3h5g__GroupVisitor;
4804
4960
  /*--- Type import code ---*/
4805
 
  __pyx_ptype_4h5py_2h5_H5PYConfig = __Pyx_ImportType("h5py.h5", "H5PYConfig", sizeof(struct __pyx_obj_4h5py_2h5_H5PYConfig)); if (unlikely(!__pyx_ptype_4h5py_2h5_H5PYConfig)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4806
 
  __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;}
4807
 
  __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;}
4808
 
  __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;}
4809
 
  __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;}
4810
 
  __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;}
4811
 
  __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;}
4812
 
  __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;}
4813
 
  __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;}
4814
 
  __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;}
4815
 
  __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;}
4816
 
  __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;}
4817
 
  __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4818
 
  __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4819
 
  __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4820
 
  __pyx_ptype_4h5py_3h5e_HDF5ErrorHandler = __Pyx_ImportType("h5py.h5e", "HDF5ErrorHandler", sizeof(struct __pyx_obj_4h5py_3h5e_HDF5ErrorHandler)); if (unlikely(!__pyx_ptype_4h5py_3h5e_HDF5ErrorHandler)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4821
 
  __pyx_ptype_4h5py_3h5l_LinkProxy = __Pyx_ImportType("h5py.h5l", "LinkProxy", sizeof(struct __pyx_obj_4h5py_3h5l_LinkProxy)); if (unlikely(!__pyx_ptype_4h5py_3h5l_LinkProxy)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4961
  __pyx_ptype_4h5py_2h5_H5PYConfig = __Pyx_ImportType("h5py.h5", "H5PYConfig", sizeof(struct __pyx_obj_4h5py_2h5_H5PYConfig), 1); if (unlikely(!__pyx_ptype_4h5py_2h5_H5PYConfig)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4962
  __pyx_ptype_4h5py_2h5_IDProxy = __Pyx_ImportType("h5py.h5", "IDProxy", sizeof(struct __pyx_obj_4h5py_2h5_IDProxy), 1); if (unlikely(!__pyx_ptype_4h5py_2h5_IDProxy)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4963
  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4964
  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4965
  __pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4966
  __pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4967
  __pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4968
  __pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4969
  __pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4970
  __pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4971
  __pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4972
  __pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4973
  __pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4974
  __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4975
  __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4976
  __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4977
  __pyx_ptype_4h5py_3h5e_HDF5ErrorHandler = __Pyx_ImportType("h5py.h5e", "HDF5ErrorHandler", sizeof(struct __pyx_obj_4h5py_3h5e_HDF5ErrorHandler), 1); if (unlikely(!__pyx_ptype_4h5py_3h5e_HDF5ErrorHandler)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4978
  __pyx_ptype_4h5py_3h5l_LinkProxy = __Pyx_ImportType("h5py.h5l", "LinkProxy", sizeof(struct __pyx_obj_4h5py_3h5l_LinkProxy), 1); if (unlikely(!__pyx_ptype_4h5py_3h5l_LinkProxy)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4822
4979
  /*--- Function import code ---*/
4823
4980
  __pyx_t_1 = __Pyx_ImportModule("h5py.h5"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4824
4981
  if (__Pyx_ImportFunction(__pyx_t_1, "get_config", (void (**)(void))&__pyx_f_4h5py_2h5_get_config, "struct __pyx_obj_4h5py_2h5_H5PYConfig *(int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4847
5004
  Py_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4848
5005
  /*--- Execution code ---*/
4849
5006
 
4850
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":28
 
5007
  /* "/home/tachyon/h5py/h5py/h5g.pyx":28
4851
5008
 * 
4852
5009
 * # Initialization
4853
5010
 * init_hdf5()             # <<<<<<<<<<<<<<
4856
5013
 */
4857
5014
  __pyx_t_5 = __pyx_f_4h5py_2h5_init_hdf5(); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4858
5015
 
4859
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":31
 
5016
  /* "/home/tachyon/h5py/h5py/h5g.pyx":31
4860
5017
 * 
4861
5018
 * # Runtime imports
4862
5019
 * from h5 import H5Error             # <<<<<<<<<<<<<<
4877
5034
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4878
5035
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4879
5036
 
4880
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":36
 
5037
  /* "/home/tachyon/h5py/h5py/h5g.pyx":36
4881
5038
 * 
4882
5039
 * # Enumerated object types for groups "H5G_obj_t"
4883
5040
 * UNKNOWN  = H5G_UNKNOWN             # <<<<<<<<<<<<<<
4889
5046
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNKNOWN, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4890
5047
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4891
5048
 
4892
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":37
 
5049
  /* "/home/tachyon/h5py/h5py/h5g.pyx":37
4893
5050
 * # Enumerated object types for groups "H5G_obj_t"
4894
5051
 * UNKNOWN  = H5G_UNKNOWN
4895
5052
 * LINK     = H5G_LINK             # <<<<<<<<<<<<<<
4901
5058
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4902
5059
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4903
5060
 
4904
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":38
 
5061
  /* "/home/tachyon/h5py/h5py/h5g.pyx":38
4905
5062
 * UNKNOWN  = H5G_UNKNOWN
4906
5063
 * LINK     = H5G_LINK
4907
5064
 * GROUP    = H5G_GROUP             # <<<<<<<<<<<<<<
4913
5070
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GROUP, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4914
5071
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4915
5072
 
4916
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":39
 
5073
  /* "/home/tachyon/h5py/h5py/h5g.pyx":39
4917
5074
 * LINK     = H5G_LINK
4918
5075
 * GROUP    = H5G_GROUP
4919
5076
 * DATASET  = H5G_DATASET             # <<<<<<<<<<<<<<
4925
5082
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATASET, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4926
5083
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4927
5084
 
4928
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":40
 
5085
  /* "/home/tachyon/h5py/h5py/h5g.pyx":40
4929
5086
 * GROUP    = H5G_GROUP
4930
5087
 * DATASET  = H5G_DATASET
4931
5088
 * TYPE = H5G_TYPE             # <<<<<<<<<<<<<<
4937
5094
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TYPE, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4938
5095
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4939
5096
 
4940
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":43
 
5097
  /* "/home/tachyon/h5py/h5py/h5g.pyx":43
4941
5098
 * 
4942
5099
 * # Enumerated link types "H5G_link_t"
4943
5100
 * LINK_ERROR = H5G_LINK_ERROR             # <<<<<<<<<<<<<<
4949
5106
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK_ERROR, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4950
5107
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4951
5108
 
4952
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":44
 
5109
  /* "/home/tachyon/h5py/h5py/h5g.pyx":44
4953
5110
 * # Enumerated link types "H5G_link_t"
4954
5111
 * LINK_ERROR = H5G_LINK_ERROR
4955
5112
 * LINK_HARD  = H5G_LINK_HARD             # <<<<<<<<<<<<<<
4961
5118
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK_HARD, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4962
5119
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4963
5120
 
4964
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":45
 
5121
  /* "/home/tachyon/h5py/h5py/h5g.pyx":45
4965
5122
 * LINK_ERROR = H5G_LINK_ERROR
4966
5123
 * LINK_HARD  = H5G_LINK_HARD
4967
5124
 * LINK_SOFT  = H5G_LINK_SOFT             # <<<<<<<<<<<<<<
4973
5130
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK_SOFT, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4974
5131
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4975
5132
 
4976
 
  /* "/home/tachyon/slave/unix-release/build/h5py/h5g.pyx":269
 
5133
  /* "/home/tachyon/h5py/h5py/h5g.pyx":269
4977
5134
 * 
4978
5135
 *     def link(self, char* current_name, char* new_name,
4979
5136
 *              int link_type=H5G_LINK_HARD, GroupID remote=None):             # <<<<<<<<<<<<<<
4982
5139
 */
4983
5140
  __pyx_k_3 = H5G_LINK_HARD;
4984
5141
 
4985
 
  /* "/home/tachyon/slave/unix-release/build/h5py/numpy.pxd":1
 
5142
  /* "/home/tachyon/h5py/h5py/numpy.pxd":1
4986
5143
 * #+             # <<<<<<<<<<<<<<
4987
5144
 * #
4988
5145
 * # This file is part of h5py, a low-level Python interface to the HDF5 library.
5147
5304
    return -1;
5148
5305
}
5149
5306
 
5150
 
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
 
5307
static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
5151
5308
    PyObject *tmp_type, *tmp_value, *tmp_tb;
5152
5309
    PyThreadState *tstate = PyThreadState_GET();
5153
5310
 
5162
5319
    Py_XDECREF(tmp_tb);
5163
5320
}
5164
5321
 
5165
 
static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
 
5322
static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
5166
5323
    PyThreadState *tstate = PyThreadState_GET();
5167
5324
    *type = tstate->curexc_type;
5168
5325
    *value = tstate->curexc_value;
5227
5384
    return module;
5228
5385
}
5229
5386
 
5230
 
static INLINE PyObject *__Pyx_PyInt_to_py_time_t(time_t val) {
 
5387
static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_time_t(time_t val) {
5231
5388
    const time_t neg_one = (time_t)-1, const_zero = 0;
5232
5389
    const int is_unsigned = neg_one > const_zero;
5233
5390
    if (sizeof(time_t) <  sizeof(long)) {
5363
5520
}
5364
5521
#endif
5365
5522
 
5366
 
static INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
 
5523
static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
 
5524
    const hid_t neg_one = (hid_t)-1, const_zero = 0;
 
5525
    const int is_unsigned = neg_one > const_zero;
 
5526
    if (sizeof(hid_t) == sizeof(char)) {
 
5527
        if (is_unsigned)
 
5528
            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
 
5529
        else
 
5530
            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
 
5531
    } else if (sizeof(hid_t) == sizeof(short)) {
 
5532
        if (is_unsigned)
 
5533
            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
 
5534
        else
 
5535
            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
 
5536
    } else if (sizeof(hid_t) == sizeof(int)) {
 
5537
        if (is_unsigned)
 
5538
            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
 
5539
        else
 
5540
            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
 
5541
    } else if (sizeof(hid_t) == sizeof(long)) {
 
5542
        if (is_unsigned)
 
5543
            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
 
5544
        else
 
5545
            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
 
5546
    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
 
5547
        if (is_unsigned)
 
5548
            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
 
5549
        else
 
5550
            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
 
5551
#if 0
 
5552
    } else if (sizeof(hid_t) > sizeof(short) &&
 
5553
               sizeof(hid_t) < sizeof(int)) { /*  __int32 ILP64 ? */
 
5554
        if (is_unsigned)
 
5555
            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
 
5556
        else
 
5557
            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
 
5558
#endif
 
5559
    }
 
5560
    PyErr_SetString(PyExc_TypeError, "hid_t");
 
5561
    return (hid_t)-1;
 
5562
}
 
5563
 
 
5564
static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
5367
5565
    const hid_t neg_one = (hid_t)-1, const_zero = 0;
5368
5566
    const int is_unsigned = neg_one > const_zero;
5369
5567
    if (sizeof(hid_t) <  sizeof(long)) {
5381
5579
    }
5382
5580
}
5383
5581
 
5384
 
static INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
 
5582
static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
5385
5583
    const hsize_t neg_one = (hsize_t)-1, const_zero = 0;
5386
5584
    const int is_unsigned = neg_one > const_zero;
5387
5585
    if (sizeof(hsize_t) <  sizeof(long)) {
5399
5597
    }
5400
5598
}
5401
5599
 
5402
 
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
 
5600
static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
5403
5601
    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
5404
5602
    const int is_unsigned = neg_one > const_zero;
5405
5603
    if (sizeof(unsigned char) < sizeof(long)) {
5418
5616
    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
5419
5617
}
5420
5618
 
5421
 
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
 
5619
static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
5422
5620
    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
5423
5621
    const int is_unsigned = neg_one > const_zero;
5424
5622
    if (sizeof(unsigned short) < sizeof(long)) {
5437
5635
    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
5438
5636
}
5439
5637
 
5440
 
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
 
5638
static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
5441
5639
    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
5442
5640
    const int is_unsigned = neg_one > const_zero;
5443
5641
    if (sizeof(unsigned int) < sizeof(long)) {
5456
5654
    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
5457
5655
}
5458
5656
 
5459
 
static INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
 
5657
static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
5460
5658
    const char neg_one = (char)-1, const_zero = 0;
5461
5659
    const int is_unsigned = neg_one > const_zero;
5462
5660
    if (sizeof(char) < sizeof(long)) {
5475
5673
    return (char)__Pyx_PyInt_AsLong(x);
5476
5674
}
5477
5675
 
5478
 
static INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
 
5676
static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
5479
5677
    const short neg_one = (short)-1, const_zero = 0;
5480
5678
    const int is_unsigned = neg_one > const_zero;
5481
5679
    if (sizeof(short) < sizeof(long)) {
5494
5692
    return (short)__Pyx_PyInt_AsLong(x);
5495
5693
}
5496
5694
 
5497
 
static INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
 
5695
static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
5498
5696
    const int neg_one = (int)-1, const_zero = 0;
5499
5697
    const int is_unsigned = neg_one > const_zero;
5500
5698
    if (sizeof(int) < sizeof(long)) {
5513
5711
    return (int)__Pyx_PyInt_AsLong(x);
5514
5712
}
5515
5713
 
5516
 
static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
 
5714
static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
5517
5715
    const signed char neg_one = (signed char)-1, const_zero = 0;
5518
5716
    const int is_unsigned = neg_one > const_zero;
5519
5717
    if (sizeof(signed char) < sizeof(long)) {
5532
5730
    return (signed char)__Pyx_PyInt_AsSignedLong(x);
5533
5731
}
5534
5732
 
5535
 
static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
 
5733
static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
5536
5734
    const signed short neg_one = (signed short)-1, const_zero = 0;
5537
5735
    const int is_unsigned = neg_one > const_zero;
5538
5736
    if (sizeof(signed short) < sizeof(long)) {
5551
5749
    return (signed short)__Pyx_PyInt_AsSignedLong(x);
5552
5750
}
5553
5751
 
5554
 
static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
 
5752
static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
5555
5753
    const signed int neg_one = (signed int)-1, const_zero = 0;
5556
5754
    const int is_unsigned = neg_one > const_zero;
5557
5755
    if (sizeof(signed int) < sizeof(long)) {
5570
5768
    return (signed int)__Pyx_PyInt_AsSignedLong(x);
5571
5769
}
5572
5770
 
5573
 
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
 
5771
static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
5574
5772
    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
5575
5773
    const int is_unsigned = neg_one > const_zero;
5576
5774
#if PY_VERSION_HEX < 0x03000000
5605
5803
    }
5606
5804
}
5607
5805
 
5608
 
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
 
5806
static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
5609
5807
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
5610
5808
    const int is_unsigned = neg_one > const_zero;
5611
5809
#if PY_VERSION_HEX < 0x03000000
5640
5838
    }
5641
5839
}
5642
5840
 
5643
 
static INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
 
5841
static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
5644
5842
    const long neg_one = (long)-1, const_zero = 0;
5645
5843
    const int is_unsigned = neg_one > const_zero;
5646
5844
#if PY_VERSION_HEX < 0x03000000
5675
5873
    }
5676
5874
}
5677
5875
 
5678
 
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
 
5876
static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
5679
5877
    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
5680
5878
    const int is_unsigned = neg_one > const_zero;
5681
5879
#if PY_VERSION_HEX < 0x03000000
5710
5908
    }
5711
5909
}
5712
5910
 
5713
 
static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
 
5911
static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
5714
5912
    const signed long neg_one = (signed long)-1, const_zero = 0;
5715
5913
    const int is_unsigned = neg_one > const_zero;
5716
5914
#if PY_VERSION_HEX < 0x03000000
5745
5943
    }
5746
5944
}
5747
5945
 
5748
 
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
 
5946
static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
5749
5947
    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
5750
5948
    const int is_unsigned = neg_one > const_zero;
5751
5949
#if PY_VERSION_HEX < 0x03000000
5780
5978
    }
5781
5979
}
5782
5980
 
5783
 
static INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
5784
 
    const hid_t neg_one = (hid_t)-1, const_zero = 0;
5785
 
    const int is_unsigned = neg_one > const_zero;
5786
 
    if (sizeof(hid_t) == sizeof(char)) {
5787
 
        if (is_unsigned)
5788
 
            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
5789
 
        else
5790
 
            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
5791
 
    } else if (sizeof(hid_t) == sizeof(short)) {
5792
 
        if (is_unsigned)
5793
 
            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
5794
 
        else
5795
 
            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
5796
 
    } else if (sizeof(hid_t) == sizeof(int)) {
5797
 
        if (is_unsigned)
5798
 
            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
5799
 
        else
5800
 
            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
5801
 
    } else if (sizeof(hid_t) == sizeof(long)) {
5802
 
        if (is_unsigned)
5803
 
            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
5804
 
        else
5805
 
            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
5806
 
    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
5807
 
        if (is_unsigned)
5808
 
            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
5809
 
        else
5810
 
            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
5811
 
#if 0
5812
 
    } else if (sizeof(hid_t) > sizeof(short) &&
5813
 
               sizeof(hid_t) < sizeof(int)) { /*  __int32 ILP64 ? */
5814
 
        if (is_unsigned)
5815
 
            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
5816
 
        else
5817
 
            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
5818
 
#endif
5819
 
    }
5820
 
    PyErr_SetString(PyExc_TypeError, "hid_t");
5821
 
    return (hid_t)-1;
5822
 
}
5823
 
 
5824
 
static INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) {
 
5981
static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) {
5825
5982
    const hsize_t neg_one = (hsize_t)-1, const_zero = 0;
5826
5983
    const int is_unsigned = neg_one > const_zero;
5827
5984
    if (sizeof(hsize_t) == sizeof(char)) {
5865
6022
#ifndef __PYX_HAVE_RT_ImportType
5866
6023
#define __PYX_HAVE_RT_ImportType
5867
6024
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
5868
 
    long size)
 
6025
    long size, int strict)
5869
6026
{
5870
6027
    PyObject *py_module = 0;
5871
6028
    PyObject *result = 0;
5872
6029
    PyObject *py_name = 0;
 
6030
    char warning[200];
5873
6031
 
5874
6032
    py_module = __Pyx_ImportModule(module_name);
5875
6033
    if (!py_module)
5894
6052
            module_name, class_name);
5895
6053
        goto bad;
5896
6054
    }
5897
 
    if (((PyTypeObject *)result)->tp_basicsize != size) {
 
6055
    if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) {
 
6056
        PyOS_snprintf(warning, sizeof(warning), 
 
6057
            "%s.%s size changed, may indicate binary incompatibility",
 
6058
            module_name, class_name);
 
6059
        PyErr_WarnEx(NULL, warning, 0);
 
6060
    }
 
6061
    else if (((PyTypeObject *)result)->tp_basicsize != size) {
5898
6062
        PyErr_Format(PyExc_ValueError, 
5899
 
            "%s.%s does not appear to be the correct type object",
 
6063
            "%s.%s has the wrong size, try recompiling",
5900
6064
            module_name, class_name);
5901
6065
        goto bad;
5902
6066
    }
6088
6252
 
6089
6253
/* Type Conversion Functions */
6090
6254
 
6091
 
static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
 
6255
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
6092
6256
   if (x == Py_True) return 1;
6093
6257
   else if ((x == Py_False) | (x == Py_None)) return 0;
6094
6258
   else return PyObject_IsTrue(x);
6095
6259
}
6096
6260
 
6097
 
static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
 
6261
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
6098
6262
  PyNumberMethods *m;
6099
6263
  const char *name = NULL;
6100
6264
  PyObject *res = NULL;
6140
6304
  return res;
6141
6305
}
6142
6306
 
6143
 
static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
 
6307
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
6144
6308
  Py_ssize_t ival;
6145
6309
  PyObject* x = PyNumber_Index(b);
6146
6310
  if (!x) return -1;
6149
6313
  return ival;
6150
6314
}
6151
6315
 
6152
 
static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
 
6316
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
6153
6317
#if PY_VERSION_HEX < 0x02050000
6154
6318
   if (ival <= LONG_MAX)
6155
6319
       return PyInt_FromLong((long)ival);
6163
6327
#endif
6164
6328
}
6165
6329
 
6166
 
static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
 
6330
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
6167
6331
   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
6168
6332
   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
6169
6333
       return (size_t)-1;