~ubuntu-branches/ubuntu/precise/h5py/precise

« back to all changes in this revision

Viewing changes to h5py/h5.c

  • Committer: Bazaar Package Importer
  • Author(s): Soeren Sonnenburg
  • Date: 2010-03-23 15:38:34 UTC
  • mfrom: (3.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20100323153834-ysfm9nsr8gdnkid3
Tags: 1.3.0-1
* New upstream version.
  - Remove quilt patches.
  - Bump standards version to 3.8.4 (no changes required).
  - Switch to dpkg-source 3.0 (quilt) format.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Generated by Cython 0.11.2 on Mon Aug 31 11:02:58 2009 */
 
1
/* Generated by Cython 0.12 on Sun Mar 14 21:49:57 2010 */
2
2
 
3
3
#define PY_SSIZE_T_CLEAN
4
4
#include "Python.h"
5
5
#include "structmember.h"
6
6
#ifndef Py_PYTHON_H
7
7
    #error Python headers needed to compile C extensions, please install development version of Python.
8
 
#endif
 
8
#else
9
9
#ifndef PY_LONG_LONG
10
10
  #define PY_LONG_LONG LONG_LONG
11
11
#endif
15
15
#if PY_VERSION_HEX < 0x02040000
16
16
  #define METH_COEXIST 0
17
17
  #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
 
18
  #define PyDict_Contains(d,o)   PySequence_Contains(d,o)
18
19
#endif
19
20
#if PY_VERSION_HEX < 0x02050000
20
21
  typedef int Py_ssize_t;
73
74
#endif
74
75
#if PY_MAJOR_VERSION >= 3
75
76
  #define PyBaseString_Type            PyUnicode_Type
76
 
  #define PyString_Type                PyBytes_Type
77
 
  #define PyString_CheckExact          PyBytes_CheckExact
 
77
  #define PyString_Type                PyUnicode_Type
 
78
  #define PyString_CheckExact          PyUnicode_CheckExact
 
79
#else
 
80
  #define PyBytes_Type                 PyString_Type
 
81
  #define PyBytes_CheckExact           PyString_CheckExact
 
82
#endif
 
83
#if PY_MAJOR_VERSION >= 3
78
84
  #define PyInt_Type                   PyLong_Type
79
85
  #define PyInt_Check(op)              PyLong_Check(op)
80
86
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
89
95
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
90
96
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
91
97
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
 
98
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
92
99
#else
93
100
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
94
 
  #define PyBytes_Type                 PyString_Type
 
101
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
95
102
#endif
96
103
#if PY_MAJOR_VERSION >= 3
97
104
  #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
140
147
#include "compat.h"
141
148
#include "lzf_filter.h"
142
149
#include "hdf5.h"
143
 
#include "typeconv.h"
144
 
#include "typeproxy.h"
145
 
#define __PYX_USE_C99_COMPLEX defined(_Complex_I)
146
 
 
147
150
 
148
151
#ifdef __GNUC__
149
152
#define INLINE __inline__
153
156
#define INLINE 
154
157
#endif
155
158
 
156
 
typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/
157
 
 
158
 
 
159
 
 
160
 
static int __pyx_skip_dispatch = 0;
 
159
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*/
161
160
 
162
161
 
163
162
/* Type Conversion Predeclarations */
172
171
#define __Pyx_PyBytes_AsString            PyBytes_AsString
173
172
#endif
174
173
 
 
174
#define __Pyx_PyBytes_FromUString(s)      __Pyx_PyBytes_FromString((char*)s)
 
175
#define __Pyx_PyBytes_AsUString(s)        ((unsigned char*) __Pyx_PyBytes_AsString(s))
 
176
 
175
177
#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
176
178
static INLINE int __Pyx_PyObject_IsTrue(PyObject*);
177
179
static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
191
193
#endif
192
194
#endif
193
195
 
 
196
 
 
197
#if !defined(T_ULONGLONG)
 
198
#define __Pyx_T_UNSIGNED_INT(x) \
 
199
        ((sizeof(x) == sizeof(unsigned char))  ? T_UBYTE : \
 
200
        ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \
 
201
        ((sizeof(x) == sizeof(unsigned int))   ? T_UINT : \
 
202
        ((sizeof(x) == sizeof(unsigned long))  ? T_ULONG : -1))))
 
203
#else
 
204
#define __Pyx_T_UNSIGNED_INT(x) \
 
205
        ((sizeof(x) == sizeof(unsigned char))  ? T_UBYTE : \
 
206
        ((sizeof(x) == sizeof(unsigned short)) ? T_USHORT : \
 
207
        ((sizeof(x) == sizeof(unsigned int))   ? T_UINT : \
 
208
        ((sizeof(x) == sizeof(unsigned long))  ? T_ULONG : \
 
209
        ((sizeof(x) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1)))))
 
210
#endif
 
211
#if !defined(T_LONGLONG)
 
212
#define __Pyx_T_SIGNED_INT(x) \
 
213
        ((sizeof(x) == sizeof(char))  ? T_BYTE : \
 
214
        ((sizeof(x) == sizeof(short)) ? T_SHORT : \
 
215
        ((sizeof(x) == sizeof(int))   ? T_INT : \
 
216
        ((sizeof(x) == sizeof(long))  ? T_LONG : -1))))
 
217
#else
 
218
#define __Pyx_T_SIGNED_INT(x) \
 
219
        ((sizeof(x) == sizeof(char))  ? T_BYTE : \
 
220
        ((sizeof(x) == sizeof(short)) ? T_SHORT : \
 
221
        ((sizeof(x) == sizeof(int))   ? T_INT : \
 
222
        ((sizeof(x) == sizeof(long))  ? T_LONG : \
 
223
        ((sizeof(x) == sizeof(PY_LONG_LONG))   ? T_LONGLONG : -1)))))
 
224
#endif
 
225
 
 
226
#define __Pyx_T_FLOATING(x) \
 
227
        ((sizeof(x) == sizeof(float)) ? T_FLOAT : \
 
228
        ((sizeof(x) == sizeof(double)) ? T_DOUBLE : -1))
 
229
 
194
230
#if !defined(T_SIZET)
195
231
#if !defined(T_ULONGLONG)
196
232
#define T_SIZET \
228
264
static PyObject *__pyx_m;
229
265
static PyObject *__pyx_b;
230
266
static PyObject *__pyx_empty_tuple;
 
267
static PyObject *__pyx_empty_bytes;
231
268
static int __pyx_lineno;
232
269
static int __pyx_clineno = 0;
233
270
static const char * __pyx_cfilenm= __FILE__;
235
272
static const char **__pyx_f;
236
273
 
237
274
 
238
 
#ifdef CYTHON_REFNANNY
 
275
/* Type declarations */
 
276
 
 
277
/* "/home/tachyon/slave/unix-release/build/h5py/h5e.pxd":33
 
278
 * # Safe to call more than once.
 
279
 * cpdef object register_thread()
 
280
 * cpdef object unregister_thread(HDF5ErrorHandler handler=*)             # <<<<<<<<<<<<<<
 
281
 * 
 
282
 * cdef extern from "hdf5.h":
 
283
 */
 
284
 
 
285
struct __pyx_opt_args_4h5py_3h5e_unregister_thread {
 
286
  int __pyx_n;
 
287
  struct __pyx_obj_4h5py_3h5e_HDF5ErrorHandler *handler;
 
288
};
 
289
 
 
290
/* "/home/tachyon/slave/unix-release/build/h5py/h5e.pxd":249
 
291
 *   herr_t    H5Ewalk(H5E_direction_t direction, H5E_walk_t func, void* client_data)
 
292
 * 
 
293
 * ctypedef struct err_cookie:             # <<<<<<<<<<<<<<
 
294
 *     H5E_auto_t func
 
295
 *     void* data
 
296
 */
 
297
 
239
298
typedef struct {
240
 
  void (*INCREF)(void*, PyObject*, int);
241
 
  void (*DECREF)(void*, PyObject*, int);
242
 
  void (*GOTREF)(void*, PyObject*, int);
243
 
  void (*GIVEREF)(void*, PyObject*, int);
244
 
  void* (*NewContext)(const char*, int, const char*);
245
 
  void (*FinishContext)(void**);
246
 
} __Pyx_RefnannyAPIStruct;
247
 
static __Pyx_RefnannyAPIStruct *__Pyx_Refnanny = NULL;
248
 
#define __Pyx_ImportRefcountAPI(name)   (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI")
249
 
#define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__)
250
 
#define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__)
251
 
#define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__)
252
 
#define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__)
253
 
#define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r)
254
 
#define __Pyx_SetupRefcountContext(name)   void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__)
255
 
#define __Pyx_FinishRefcountContext()   __Pyx_Refnanny->FinishContext(&__pyx_refchk)
 
299
  H5E_auto_t func;
 
300
  void *data;
 
301
} __pyx_t_4h5py_3h5e_err_cookie;
 
302
 
 
303
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":15
 
304
 * include "defs.pxd"
 
305
 * 
 
306
 * cdef class H5PYConfig:             # <<<<<<<<<<<<<<
 
307
 * 
 
308
 *     cdef object _r_name
 
309
 */
 
310
 
 
311
struct __pyx_obj_4h5py_2h5_H5PYConfig {
 
312
  PyObject_HEAD
 
313
  PyObject *_r_name;
 
314
  PyObject *_i_name;
 
315
  PyObject *_f_name;
 
316
  PyObject *_t_name;
 
317
  PyObject *API_16;
 
318
  PyObject *API_18;
 
319
  PyObject *DEBUG;
 
320
  PyObject *THREADS;
 
321
};
 
322
 
 
323
/* "/home/tachyon/slave/unix-release/build/h5py/h5e.pxd":20
 
324
 * include "defs.pxd"
 
325
 * 
 
326
 * cdef class HDF5ErrorHandler:             # <<<<<<<<<<<<<<
 
327
 * 
 
328
 *     """
 
329
 */
 
330
 
 
331
struct __pyx_obj_4h5py_3h5e_HDF5ErrorHandler {
 
332
  PyObject_HEAD
 
333
  void *__pyx_auto;
 
334
  void *data;
 
335
};
 
336
 
 
337
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":35
 
338
 *     cdef object _hash
 
339
 * 
 
340
 * cdef class SmartStruct:             # <<<<<<<<<<<<<<
 
341
 *     cdef object __weakref__
 
342
 *     cdef object _title
 
343
 */
 
344
 
 
345
struct __pyx_obj_4h5py_2h5_SmartStruct {
 
346
  PyObject_HEAD
 
347
  PyObject *__weakref__;
 
348
  PyObject *_title;
 
349
};
 
350
 
 
351
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pxd":28
 
352
 * cpdef H5PYConfig get_config()
 
353
 * 
 
354
 * cdef class ObjectID:             # <<<<<<<<<<<<<<
 
355
 * 
 
356
 *     cdef object __weakref__
 
357
 */
 
358
 
 
359
struct __pyx_obj_4h5py_2h5_ObjectID {
 
360
  PyObject_HEAD
 
361
  PyObject *__weakref__;
 
362
  hid_t id;
 
363
  int _locked;
 
364
  PyObject *_hash;
 
365
};
 
366
 
 
367
#ifndef CYTHON_REFNANNY
 
368
  #define CYTHON_REFNANNY 0
 
369
#endif
 
370
 
 
371
#if CYTHON_REFNANNY
 
372
  typedef struct {
 
373
    void (*INCREF)(void*, PyObject*, int);
 
374
    void (*DECREF)(void*, PyObject*, int);
 
375
    void (*GOTREF)(void*, PyObject*, int);
 
376
    void (*GIVEREF)(void*, PyObject*, int);
 
377
    void* (*SetupContext)(const char*, int, const char*);
 
378
    void (*FinishContext)(void**);
 
379
  } __Pyx_RefNannyAPIStruct;
 
380
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
 
381
  static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) {
 
382
    PyObject *m = NULL, *p = NULL;
 
383
    void *r = NULL;
 
384
    m = PyImport_ImportModule((char *)modname);
 
385
    if (!m) goto end;
 
386
    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
 
387
    if (!p) goto end;
 
388
    r = PyLong_AsVoidPtr(p);
 
389
  end:
 
390
    Py_XDECREF(p);
 
391
    Py_XDECREF(m);
 
392
    return (__Pyx_RefNannyAPIStruct *)r;
 
393
  }
 
394
  #define __Pyx_RefNannySetupContext(name)           void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
 
395
  #define __Pyx_RefNannyFinishContext()           __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
 
396
  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
 
397
  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
 
398
  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
 
399
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
 
400
  #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0)
256
401
#else
257
 
#define __Pyx_INCREF(r) Py_INCREF(r)
258
 
#define __Pyx_DECREF(r) Py_DECREF(r)
259
 
#define __Pyx_GOTREF(r)
260
 
#define __Pyx_GIVEREF(r)
261
 
#define __Pyx_XDECREF(r) Py_XDECREF(r)
262
 
#define __Pyx_SetupRefcountContext(name)
263
 
#define __Pyx_FinishRefcountContext()
 
402
  #define __Pyx_RefNannySetupContext(name)
 
403
  #define __Pyx_RefNannyFinishContext()
 
404
  #define __Pyx_INCREF(r) Py_INCREF(r)
 
405
  #define __Pyx_DECREF(r) Py_DECREF(r)
 
406
  #define __Pyx_GOTREF(r)
 
407
  #define __Pyx_GIVEREF(r)
 
408
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
264
409
#endif /* CYTHON_REFNANNY */
265
 
#define __Pyx_XGIVEREF(r) if((r) == NULL) ; else __Pyx_GIVEREF(r)
266
 
#define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r)
 
410
#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0)
 
411
#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0)
 
412
 
 
413
static INLINE PyObject* __Pyx_Type(PyObject* o) {
 
414
    PyObject* type = (PyObject*) Py_TYPE(o);
 
415
    Py_INCREF(type);
 
416
    return type;
 
417
}
267
418
 
268
419
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
269
420
 
352
503
 
353
504
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,     const char* function_name); /*proto*/
354
505
 
 
506
static INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
 
507
 
355
508
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
356
509
static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
357
510
 
358
 
static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
359
 
 
360
511
static INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
361
512
static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
362
513
 
366
517
 
367
518
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
368
519
 
369
 
static INLINE int __Pyx_StrEq(const char *, const char *); /*proto*/
 
520
static INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
370
521
 
371
522
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
372
523
 
398
549
 
399
550
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
400
551
 
 
552
static INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
 
553
 
401
554
static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*proto*/
402
555
 
403
 
static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
 
556
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size);  /*proto*/
404
557
 
405
558
static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
406
559
 
409
562
static void __Pyx_AddTraceback(const char *funcname); /*proto*/
410
563
 
411
564
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
412
 
 
413
 
/* Type declarations */
414
 
 
415
 
/* "/home/tachyon/pydev/h5py/h5py/h5e.pxd":225
416
 
 *   herr_t    H5Ewalk(H5E_direction_t direction, H5E_walk_t func, void* client_data)
417
 
 * 
418
 
 * ctypedef struct err_cookie:             # <<<<<<<<<<<<<<
419
 
 *     H5E_auto_t func
420
 
 *     void* data
421
 
 */
422
 
 
423
 
typedef struct {
424
 
  H5E_auto_t func;
425
 
  void *data;
426
 
} __pyx_t_4h5py_3h5e_err_cookie;
427
 
 
428
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":21
429
 
 *     cpdef bint __enter__(self) except -1
430
 
 *     cpdef bint __exit__(self, a, b, c) except -1
431
 
 *     cpdef bint acquire(self, int blocking=*) except -1             # <<<<<<<<<<<<<<
432
 
 *     cpdef bint release(self) except -1
433
 
 * 
434
 
 */
435
 
 
436
 
struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire {
437
 
  int __pyx_n;
438
 
  int blocking;
439
 
};
440
 
 
441
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":26
442
 
 * cpdef PHIL get_phil()
443
 
 * 
444
 
 * cdef class H5PYConfig:             # <<<<<<<<<<<<<<
445
 
 * 
446
 
 *     cdef object _r_name
447
 
 */
448
 
 
449
 
struct __pyx_obj_4h5py_2h5_H5PYConfig {
450
 
  PyObject_HEAD
451
 
  PyObject *_r_name;
452
 
  PyObject *_i_name;
453
 
  PyObject *_f_name;
454
 
  PyObject *_t_name;
455
 
  PyObject *API_16;
456
 
  PyObject *API_18;
457
 
  PyObject *DEBUG;
458
 
  PyObject *THREADS;
459
 
};
460
 
 
461
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":15
462
 
 * include "defs.pxd"
463
 
 * 
464
 
 * cdef class PHIL:             # <<<<<<<<<<<<<<
465
 
 * 
466
 
 *     cdef object lock
467
 
 */
468
 
 
469
 
struct __pyx_obj_4h5py_2h5_PHIL {
470
 
  PyObject_HEAD
471
 
  struct __pyx_vtabstruct_4h5py_2h5_PHIL *__pyx_vtab;
472
 
  PyObject *lock;
473
 
};
474
 
 
475
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":39
476
 
 * cpdef H5PYConfig get_config()
477
 
 * 
478
 
 * cdef class ObjectID:             # <<<<<<<<<<<<<<
479
 
 * 
480
 
 *     cdef object __weakref__
481
 
 */
482
 
 
483
 
struct __pyx_obj_4h5py_2h5_ObjectID {
484
 
  PyObject_HEAD
485
 
  PyObject *__weakref__;
486
 
  hid_t id;
487
 
  int _locked;
488
 
  PyObject *_hash;
489
 
};
490
 
 
491
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":46
492
 
 *     cdef object _hash
493
 
 * 
494
 
 * cdef class SmartStruct:             # <<<<<<<<<<<<<<
495
 
 *     cdef object __weakref__
496
 
 *     cdef object _title
497
 
 */
498
 
 
499
 
struct __pyx_obj_4h5py_2h5_SmartStruct {
500
 
  PyObject_HEAD
501
 
  PyObject *__weakref__;
502
 
  PyObject *_title;
503
 
};
504
 
 
505
 
 
506
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":177
507
 
 *         pass
508
 
 * 
509
 
 * cdef class PHIL:             # <<<<<<<<<<<<<<
510
 
 * 
511
 
 *     """
512
 
 */
513
 
 
514
 
struct __pyx_vtabstruct_4h5py_2h5_PHIL {
515
 
  int (*__enter__)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch);
516
 
  int (*__exit__)(struct __pyx_obj_4h5py_2h5_PHIL *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
517
 
  int (*acquire)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire *__pyx_optional_args);
518
 
  int (*release)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch);
519
 
};
520
 
static struct __pyx_vtabstruct_4h5py_2h5_PHIL *__pyx_vtabptr_4h5py_2h5_PHIL;
521
565
/* Module declarations from h5py.h5e */
522
566
 
523
 
static int (*__pyx_f_4h5py_3h5e_register_thread)(int __pyx_skip_dispatch); /*proto*/
 
567
static PyTypeObject *__pyx_ptype_4h5py_3h5e_HDF5ErrorHandler = 0;
 
568
static PyObject *(*__pyx_f_4h5py_3h5e_register_thread)(int __pyx_skip_dispatch); /*proto*/
 
569
static PyObject *(*__pyx_f_4h5py_3h5e_unregister_thread)(int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5e_unregister_thread *__pyx_optional_args); /*proto*/
524
570
static __pyx_t_4h5py_3h5e_err_cookie (*__pyx_f_4h5py_3h5e_disable_errors)(void); /*proto*/
525
571
static void (*__pyx_f_4h5py_3h5e_enable_errors)(__pyx_t_4h5py_3h5e_err_cookie); /*proto*/
526
572
/* Module declarations from h5py.h5 */
527
573
 
528
 
static PyTypeObject *__pyx_ptype_4h5py_2h5_PHIL = 0;
529
574
static PyTypeObject *__pyx_ptype_4h5py_2h5_H5PYConfig = 0;
530
575
static PyTypeObject *__pyx_ptype_4h5py_2h5_ObjectID = 0;
531
576
static PyTypeObject *__pyx_ptype_4h5py_2h5_SmartStruct = 0;
532
577
static struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_4h5py_2h5_cfg = 0;
533
 
static struct __pyx_obj_4h5py_2h5_PHIL *__pyx_v_4h5py_2h5_phil = 0;
534
 
static struct __pyx_obj_4h5py_2h5_PHIL *__pyx_f_4h5py_2h5_get_phil(int __pyx_skip_dispatch); /*proto*/
535
578
static struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_f_4h5py_2h5_get_config(int __pyx_skip_dispatch); /*proto*/
536
579
static int __pyx_f_4h5py_2h5_init_hdf5(void); /*proto*/
537
 
static hid_t __pyx_f_4h5py_2h5_get_object_type(void); /*proto*/
538
 
static herr_t __pyx_f_4h5py_2h5_attr_rw(hid_t, hid_t, void *, h5py_rw_t); /*proto*/
539
 
static herr_t __pyx_f_4h5py_2h5_dset_rw(hid_t, hid_t, hid_t, hid_t, hid_t, void *, h5py_rw_t); /*proto*/
540
580
#define __Pyx_MODULE_NAME "h5py.h5"
541
581
int __pyx_module_is_main_h5py__h5 = 0;
542
582
 
543
583
/* Implementation of h5py.h5 */
544
 
static char __pyx_k_1[] = " Settable 2-tuple controlling how complex numbers are saved.\n\n        Format is (real_name, imag_name), defaulting to ('r','i').\n        ";
545
 
static char __pyx_k_2[] = " Settable 2-tuple controlling HDF5 ENUM names for boolean types.\n\n        Format is (false_name, real_name), defaulting to ('FALSE', 'TRUE').\n        ";
546
 
static char __pyx_k_3[] = " Indicates whether or not this identifier points to an HDF5 object.\n        ";
547
 
static char __pyx_k_4[] = "\n    Common support and versioning module for the h5py HDF5 interface.\n\n    This is an internal module which is designed to set up the library and\n    enables HDF5 exception handling.  It also enables debug logging, if the\n    library has been compiled with a nonzero debugging level.\n\n    All exception classes and error handling functions are also in this module.\n";
548
 
static char __pyx_k_7[] = "1.2.1";
549
 
static char __pyx_k_8[] = "-";
550
 
static char __pyx_k_9[] = ".";
551
 
static char __pyx_k_10[] = "1.2.1";
552
 
static PyObject *__pyx_int_0;
553
 
static PyObject *__pyx_int_1;
554
 
static char __pyx_k___main__[] = "__main__";
555
 
static PyObject *__pyx_kp___main__;
556
 
static char __pyx_k__hash[] = "_hash";
557
 
static PyObject *__pyx_kp__hash;
558
 
static char __pyx_k___hash__[] = "__hash__";
559
 
static PyObject *__pyx_kp___hash__;
560
 
static char __pyx_k___richcmp__[] = "__richcmp__";
561
 
static PyObject *__pyx_kp___richcmp__;
562
 
static char __pyx_k___str__[] = "__str__";
563
 
static PyObject *__pyx_kp___str__;
564
 
static char __pyx_k___init__[] = "__init__";
565
 
static PyObject *__pyx_kp___init__;
566
 
static char __pyx_k___repr__[] = "__repr__";
567
 
static PyObject *__pyx_kp___repr__;
568
 
static char __pyx_k_get_config[] = "get_config";
569
 
static PyObject *__pyx_kp_get_config;
570
 
static char __pyx_k___enter__[] = "__enter__";
571
 
static PyObject *__pyx_kp___enter__;
572
 
static char __pyx_k___exit__[] = "__exit__";
573
 
static PyObject *__pyx_kp___exit__;
574
 
static char __pyx_k_acquire[] = "acquire";
575
 
static PyObject *__pyx_kp_acquire;
576
 
static char __pyx_k_release[] = "release";
577
 
static PyObject *__pyx_kp_release;
578
 
static char __pyx_k_get_phil[] = "get_phil";
579
 
static PyObject *__pyx_kp_get_phil;
580
 
static char __pyx_k___nonzero__[] = "__nonzero__";
581
 
static PyObject *__pyx_kp___nonzero__;
582
 
static char __pyx_k___cinit__[] = "__cinit__";
583
 
static PyObject *__pyx_kp___cinit__;
584
 
static char __pyx_k___dealloc__[] = "__dealloc__";
585
 
static PyObject *__pyx_kp___dealloc__;
586
 
static char __pyx_k___copy__[] = "__copy__";
587
 
static PyObject *__pyx_kp___copy__;
588
 
static char __pyx_k_self[] = "self";
589
 
static PyObject *__pyx_kp_self;
590
 
static char __pyx_k_other[] = "other";
591
 
static PyObject *__pyx_kp_other;
592
 
static char __pyx_k_how[] = "how";
593
 
static PyObject *__pyx_kp_how;
594
 
static char __pyx_k_val[] = "val";
595
 
static PyObject *__pyx_kp_val;
596
 
static char __pyx_k_lev[] = "lev";
597
 
static PyObject *__pyx_kp_lev;
598
 
static char __pyx_k_a[] = "a";
599
 
static PyObject *__pyx_kp_a;
600
 
static char __pyx_k_b[] = "b";
601
 
static PyObject *__pyx_kp_b;
602
 
static char __pyx_k_c[] = "c";
603
 
static PyObject *__pyx_kp_c;
604
 
static char __pyx_k_blocking[] = "blocking";
605
 
static PyObject *__pyx_kp_blocking;
606
 
static char __pyx_k_id_[] = "id_";
607
 
static PyObject *__pyx_kp_id_;
608
 
static char __pyx_k___doc__[] = "__doc__";
609
 
static PyObject *__pyx_kp___doc__;
610
 
static char __pyx_k_atexit[] = "atexit";
611
 
static PyObject *__pyx_kp_atexit;
612
 
static char __pyx_k_threading[] = "threading";
613
 
static PyObject *__pyx_kp_threading;
614
 
static char __pyx_k__sync[] = "_sync";
615
 
static PyObject *__pyx_kp__sync;
616
 
static char __pyx_k_sync[] = "sync";
617
 
static PyObject *__pyx_kp_sync;
618
 
static char __pyx_k_nosync[] = "nosync";
619
 
static PyObject *__pyx_kp_nosync;
620
 
static char __pyx_k_get_libversion[] = "get_libversion";
621
 
static PyObject *__pyx_kp_get_libversion;
622
 
static char __pyx_k__close[] = "_close";
623
 
static PyObject *__pyx_kp__close;
624
 
static char __pyx_k__open[] = "_open";
625
 
static PyObject *__pyx_kp__open;
626
 
static char __pyx_k_5[] = "hdf5_inited";
627
 
static PyObject *__pyx_kp_5;
628
 
static char __pyx_k_6[] = "_hdf5_version_tuple";
629
 
static PyObject *__pyx_kp_6;
630
 
static char __pyx_k__api_version_tuple[] = "_api_version_tuple";
631
 
static PyObject *__pyx_kp__api_version_tuple;
632
 
static char __pyx_k__version_tuple[] = "_version_tuple";
633
 
static PyObject *__pyx_kp__version_tuple;
634
 
static char __pyx_k_x[] = "x";
635
 
static PyObject *__pyx_kp_x;
636
 
static char __pyx_k_split[] = "split";
637
 
static PyObject *__pyx_kp_split;
638
 
static char __pyx_k__version_string[] = "_version_string";
639
 
static PyObject *__pyx_kp__version_string;
640
 
static char __pyx_k_11[] = "h5e";
641
 
static PyObject *__pyx_kp_11;
642
 
static char __pyx_k_12[] = "H5Error";
643
 
static PyObject *__pyx_kp_12;
644
 
static char __pyx_k_TypeError[] = "TypeError";
645
 
static PyObject *__pyx_kp_TypeError;
646
 
static char __pyx_k___class__[] = "__class__";
647
 
static PyObject *__pyx_kp___class__;
648
 
static char __pyx_k___name__[] = "__name__";
649
 
static PyObject *__pyx_kp___name__;
650
 
static char __pyx_k_NotImplemented[] = "NotImplemented";
651
 
static PyObject *__pyx_kp_NotImplemented;
652
 
static char __pyx_k_startswith[] = "startswith";
653
 
static PyObject *__pyx_kp_startswith;
654
 
static char __pyx_k_14[] = "_";
655
 
static PyObject *__pyx_kp_14;
656
 
static char __pyx_k_join[] = "join";
657
 
static PyObject *__pyx_kp_join;
658
 
static char __pyx_k_sorted[] = "sorted";
659
 
static PyObject *__pyx_kp_sorted;
660
 
static char __pyx_k_22[] = "r";
661
 
static PyObject *__pyx_kp_22;
662
 
static char __pyx_k_23[] = "i";
663
 
static PyObject *__pyx_kp_23;
664
 
static char __pyx_k_24[] = "FALSE";
665
 
static PyObject *__pyx_kp_24;
666
 
static char __pyx_k_25[] = "TRUE";
667
 
static PyObject *__pyx_kp_25;
668
 
static char __pyx_k_Exception[] = "Exception";
669
 
static PyObject *__pyx_kp_Exception;
670
 
static char __pyx_k_complex_names[] = "complex_names";
671
 
static PyObject *__pyx_kp_complex_names;
672
 
static char __pyx_k_RLock[] = "RLock";
673
 
static PyObject *__pyx_kp_RLock;
674
 
static char __pyx_k__valid[] = "_valid";
675
 
static PyObject *__pyx_kp__valid;
676
 
static char __pyx_k_id[] = "id";
677
 
static PyObject *__pyx_kp_id;
678
 
static char __pyx_k_32[] = "X";
679
 
static PyObject *__pyx_kp_32;
680
 
static char __pyx_k_RuntimeError[] = "RuntimeError";
681
 
static PyObject *__pyx_kp_RuntimeError;
682
 
static char __pyx_k_register[] = "register";
683
 
static PyObject *__pyx_kp_register;
684
 
static char __pyx_k__exithack[] = "_exithack";
685
 
static PyObject *__pyx_kp__exithack;
686
 
static PyObject *__pyx_kp_4;
687
 
static PyObject *__pyx_kp_7;
688
 
static PyObject *__pyx_kp_8;
689
 
static PyObject *__pyx_kp_9;
690
 
static PyObject *__pyx_kp_10;
691
584
static PyObject *__pyx_builtin_TypeError;
692
585
static PyObject *__pyx_builtin_NotImplemented;
 
586
static PyObject *__pyx_builtin_getattr;
693
587
static PyObject *__pyx_builtin_sorted;
694
588
static PyObject *__pyx_builtin_Exception;
695
589
static PyObject *__pyx_builtin_RuntimeError;
696
 
static PyObject *__pyx_kp_13;
697
 
static char __pyx_k_13[] = "%s instances are unhashable";
698
 
static PyObject *__pyx_kp_16;
699
 
static PyObject *__pyx_kp_15;
700
 
static PyObject *__pyx_kp_17;
701
 
static PyObject *__pyx_kp_18;
702
 
static PyObject *__pyx_kp_19;
703
 
static PyObject *__pyx_kp_20;
704
 
static PyObject *__pyx_kp_21;
705
 
static char __pyx_k_15[] = "\n";
706
 
static char __pyx_k_16[] = "\n";
707
 
static char __pyx_k_17[] = "\n";
708
 
static char __pyx_k_18[] = "    ";
709
 
static char __pyx_k_19[] = "=== %s ===\n";
710
 
static char __pyx_k_20[] = "\n";
711
 
static char __pyx_k_21[] = "%s: %s";
712
 
static PyObject *__pyx_kp_26;
713
 
static char __pyx_k_26[] = "complex_names must be a 2-tuple of strings (real, img)";
714
 
static PyObject *__pyx_kp_27;
715
 
static char __pyx_k_27[] = "bool_names must be a 2-tuple of strings (false, true)";
716
 
static PyObject *__pyx_kp_28;
717
 
static PyObject *__pyx_kp_29;
718
 
static char __pyx_k_28[] = "Summary of h5py config\n======================\nHDF5: %s\n1.6 API: %s\n1.8 API: %s\nDiagnostic mode: %s\nComplex names: %s";
719
 
static char __pyx_k_29[] = "%d.%d.%d";
720
 
static PyObject *__pyx_kp_31;
721
 
static char __pyx_k_30[] = ".";
722
 
static char __pyx_k_31[] = "Objects of class %s cannot be hashed";
723
 
static PyObject *__pyx_kp_35;
724
 
static char __pyx_k_33[] = "L";
725
 
static char __pyx_k_34[] = "U";
726
 
static char __pyx_k_35[] = "<%s [%s] (%s) %d>";
727
 
static PyObject *__pyx_kp_36;
728
 
static PyObject *__pyx_kp_37;
729
 
static char __pyx_k_36[] = "Failed to initialize the HDF5 library.";
730
 
static char __pyx_k_37[] = "Failed to register LZF filter";
 
590
static char __pyx_k_1[] = "%s instances are unhashable";
 
591
static char __pyx_k_2[] = "\n";
 
592
static char __pyx_k_3[] = "    ";
 
593
static char __pyx_k_4[] = "=== %s ===\n";
 
594
static char __pyx_k_5[] = "%s: %s";
 
595
static char __pyx_k_6[] = "complex_names must be a 2-tuple of strings (real, img)";
 
596
static char __pyx_k_7[] = "bool_names must be a 2-tuple of strings (false, true)";
 
597
static char __pyx_k_8[] = "Summary of h5py config\n======================\nHDF5: %s\n1.6 API: %s\n1.8 API: %s\nDiagnostic mode: %s\nComplex names: %s";
 
598
static char __pyx_k_9[] = "%d.%d.%d";
 
599
static char __pyx_k_10[] = ".";
 
600
static char __pyx_k_11[] = "Objects of class %s cannot be hashed";
 
601
static char __pyx_k_12[] = "<%s [%s] (%s) %d>";
 
602
static char __pyx_k_13[] = "unregister_converters";
 
603
static char __pyx_k_14[] = "Failed to initialize the HDF5 library.";
 
604
static char __pyx_k_15[] = "Failed to register LZF filter";
 
605
static char __pyx_k_16[] = " Settable 2-tuple controlling how complex numbers are saved.\n\n        Format is (real_name, imag_name), defaulting to ('r','i').\n        ";
 
606
static char __pyx_k_17[] = " Settable 2-tuple controlling HDF5 ENUM names for boolean types.\n\n        Format is (false_name, real_name), defaulting to ('FALSE', 'TRUE').\n        ";
 
607
static char __pyx_k_18[] = " Indicates whether or not this identifier points to an HDF5 object.\n        ";
 
608
static char __pyx_k_19[] = "\n    Common support and versioning module for the h5py HDF5 interface.\n\n    This is an internal module which is designed to set up the library and\n    enables HDF5 exception handling.\n\n    Exception classes are now located in the module h5py.h5e.\n";
 
609
static char __pyx_k_20[] = "1.3.0";
 
610
static char __pyx_k_21[] = "-";
 
611
static char __pyx_k__L[] = "L";
 
612
static char __pyx_k__U[] = "U";
 
613
static char __pyx_k__X[] = "X";
 
614
static char __pyx_k___[] = "_";
 
615
static char __pyx_k__i[] = "i";
 
616
static char __pyx_k__r[] = "r";
 
617
static char __pyx_k__x[] = "x";
 
618
static char __pyx_k__id[] = "id";
 
619
static char __pyx_k__h5e[] = "h5e";
 
620
static char __pyx_k__id_[] = "id_";
 
621
static char __pyx_k__TRUE[] = "TRUE";
 
622
static char __pyx_k__join[] = "join";
 
623
static char __pyx_k__DEBUG[] = "DEBUG";
 
624
static char __pyx_k__FALSE[] = "FALSE";
 
625
static char __pyx_k___conv[] = "_conv";
 
626
static char __pyx_k___hash[] = "_hash";
 
627
static char __pyx_k__objno[] = "objno";
 
628
static char __pyx_k__split[] = "split";
 
629
static char __pyx_k__API_16[] = "API_16";
 
630
static char __pyx_k__API_18[] = "API_18";
 
631
static char __pyx_k___title[] = "_title";
 
632
static char __pyx_k___valid[] = "_valid";
 
633
static char __pyx_k__atexit[] = "atexit";
 
634
static char __pyx_k__fileno[] = "fileno";
 
635
static char __pyx_k__sorted[] = "sorted";
 
636
static char __pyx_k__H5Error[] = "H5Error";
 
637
static char __pyx_k___f_name[] = "_f_name";
 
638
static char __pyx_k___i_name[] = "_i_name";
 
639
static char __pyx_k___locked[] = "_locked";
 
640
static char __pyx_k___r_name[] = "_r_name";
 
641
static char __pyx_k___t_name[] = "_t_name";
 
642
static char __pyx_k__getattr[] = "getattr";
 
643
static char __pyx_k____main__[] = "__main__";
 
644
static char __pyx_k____name__[] = "__name__";
 
645
static char __pyx_k__register[] = "register";
 
646
static char __pyx_k__Exception[] = "Exception";
 
647
static char __pyx_k__TypeError[] = "TypeError";
 
648
static char __pyx_k____class__[] = "__class__";
 
649
static char __pyx_k___exithack[] = "_exithack";
 
650
static char __pyx_k__threading[] = "threading";
 
651
static char __pyx_k__startswith[] = "startswith";
 
652
static char __pyx_k__hdf5_inited[] = "hdf5_inited";
 
653
static char __pyx_k__RuntimeError[] = "RuntimeError";
 
654
static char __pyx_k__complex_names[] = "complex_names";
 
655
static char __pyx_k__NotImplemented[] = "NotImplemented";
 
656
static char __pyx_k___version_tuple[] = "_version_tuple";
 
657
static char __pyx_k__get_libversion[] = "get_libversion";
 
658
static char __pyx_k___version_string[] = "_version_string";
 
659
static char __pyx_k___api_version_tuple[] = "_api_version_tuple";
 
660
static char __pyx_k___hdf5_version_tuple[] = "_hdf5_version_tuple";
 
661
static char __pyx_k__register_converters[] = "register_converters";
 
662
static PyObject *__pyx_kp_s_1;
 
663
static PyObject *__pyx_kp_s_10;
 
664
static PyObject *__pyx_kp_s_11;
 
665
static PyObject *__pyx_kp_s_12;
 
666
static PyObject *__pyx_n_s_13;
 
667
static PyObject *__pyx_kp_s_14;
 
668
static PyObject *__pyx_kp_s_15;
 
669
static PyObject *__pyx_kp_s_2;
 
670
static PyObject *__pyx_kp_b_20;
 
671
static PyObject *__pyx_kp_s_21;
 
672
static PyObject *__pyx_kp_s_3;
 
673
static PyObject *__pyx_kp_s_4;
 
674
static PyObject *__pyx_kp_s_5;
 
675
static PyObject *__pyx_kp_s_6;
 
676
static PyObject *__pyx_kp_s_7;
 
677
static PyObject *__pyx_kp_s_8;
 
678
static PyObject *__pyx_kp_s_9;
 
679
static PyObject *__pyx_n_s__API_16;
 
680
static PyObject *__pyx_n_s__API_18;
 
681
static PyObject *__pyx_n_s__DEBUG;
 
682
static PyObject *__pyx_n_s__Exception;
 
683
static PyObject *__pyx_n_s__FALSE;
 
684
static PyObject *__pyx_n_s__H5Error;
 
685
static PyObject *__pyx_n_s__L;
 
686
static PyObject *__pyx_n_s__NotImplemented;
 
687
static PyObject *__pyx_n_s__RuntimeError;
 
688
static PyObject *__pyx_n_s__TRUE;
 
689
static PyObject *__pyx_n_s__TypeError;
 
690
static PyObject *__pyx_n_s__U;
 
691
static PyObject *__pyx_n_s__X;
 
692
static PyObject *__pyx_n_s___;
 
693
static PyObject *__pyx_n_s____class__;
 
694
static PyObject *__pyx_n_s____main__;
 
695
static PyObject *__pyx_n_s____name__;
 
696
static PyObject *__pyx_n_s___api_version_tuple;
 
697
static PyObject *__pyx_n_s___conv;
 
698
static PyObject *__pyx_n_s___exithack;
 
699
static PyObject *__pyx_n_s___f_name;
 
700
static PyObject *__pyx_n_s___hash;
 
701
static PyObject *__pyx_n_s___hdf5_version_tuple;
 
702
static PyObject *__pyx_n_s___i_name;
 
703
static PyObject *__pyx_n_s___locked;
 
704
static PyObject *__pyx_n_s___r_name;
 
705
static PyObject *__pyx_n_s___t_name;
 
706
static PyObject *__pyx_n_s___title;
 
707
static PyObject *__pyx_n_s___valid;
 
708
static PyObject *__pyx_n_s___version_string;
 
709
static PyObject *__pyx_n_s___version_tuple;
 
710
static PyObject *__pyx_n_s__atexit;
 
711
static PyObject *__pyx_n_s__complex_names;
 
712
static PyObject *__pyx_n_s__fileno;
 
713
static PyObject *__pyx_n_s__get_libversion;
 
714
static PyObject *__pyx_n_s__getattr;
 
715
static PyObject *__pyx_n_s__h5e;
 
716
static PyObject *__pyx_n_s__hdf5_inited;
 
717
static PyObject *__pyx_n_s__i;
 
718
static PyObject *__pyx_n_s__id;
 
719
static PyObject *__pyx_n_s__id_;
 
720
static PyObject *__pyx_n_s__join;
 
721
static PyObject *__pyx_n_s__objno;
 
722
static PyObject *__pyx_n_s__r;
 
723
static PyObject *__pyx_n_s__register;
 
724
static PyObject *__pyx_n_s__register_converters;
 
725
static PyObject *__pyx_n_s__sorted;
 
726
static PyObject *__pyx_n_s__split;
 
727
static PyObject *__pyx_n_s__startswith;
 
728
static PyObject *__pyx_n_s__threading;
 
729
static PyObject *__pyx_n_s__x;
 
730
static PyObject *__pyx_int_0;
 
731
static PyObject *__pyx_int_1;
 
732
static PyObject *__pyx_int_6;
731
733
 
732
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":43
 
734
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":44
733
735
 *     """ Provides basic mechanics for structs """
734
736
 * 
735
737
 *     def _hash(self):             # <<<<<<<<<<<<<<
742
744
  PyObject *__pyx_r = NULL;
743
745
  PyObject *__pyx_t_1 = NULL;
744
746
  PyObject *__pyx_t_2 = NULL;
745
 
  __Pyx_SetupRefcountContext("_hash");
 
747
  __Pyx_RefNannySetupContext("_hash");
746
748
 
747
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":44
 
749
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":45
748
750
 * 
749
751
 *     def _hash(self):
750
752
 *         raise TypeError("%s instances are unhashable" % self.__class__.__name__)             # <<<<<<<<<<<<<<
751
753
 * 
752
754
 *     def __hash__(self):
753
755
 */
754
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_kp___class__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
756
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s____class__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
755
757
  __Pyx_GOTREF(__pyx_t_1);
756
 
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_kp___name__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
758
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____name__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
757
759
  __Pyx_GOTREF(__pyx_t_2);
758
760
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
759
 
  __pyx_t_1 = PyNumber_Remainder(__pyx_kp_13, __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
761
  __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
760
762
  __Pyx_GOTREF(__pyx_t_1);
761
763
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
762
 
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
763
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
764
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
765
  __Pyx_GOTREF(__pyx_t_2);
764
766
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
765
767
  __Pyx_GIVEREF(__pyx_t_1);
766
768
  __pyx_t_1 = 0;
767
 
  __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
769
  __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
768
770
  __Pyx_GOTREF(__pyx_t_1);
769
 
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
771
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
770
772
  __Pyx_Raise(__pyx_t_1, 0, 0);
771
773
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
772
 
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
774
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
773
775
 
774
776
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
775
777
  goto __pyx_L0;
780
782
  __pyx_r = NULL;
781
783
  __pyx_L0:;
782
784
  __Pyx_XGIVEREF(__pyx_r);
783
 
  __Pyx_FinishRefcountContext();
 
785
  __Pyx_RefNannyFinishContext();
784
786
  return __pyx_r;
785
787
}
786
788
 
787
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":46
 
789
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":47
788
790
 *         raise TypeError("%s instances are unhashable" % self.__class__.__name__)
789
791
 * 
790
792
 *     def __hash__(self):             # <<<<<<<<<<<<<<
798
800
  PyObject *__pyx_t_1 = NULL;
799
801
  PyObject *__pyx_t_2 = NULL;
800
802
  long __pyx_t_3;
801
 
  __Pyx_SetupRefcountContext("__hash__");
 
803
  __Pyx_RefNannySetupContext("__hash__");
802
804
 
803
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":48
 
805
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":49
804
806
 *     def __hash__(self):
805
807
 *         # This is forwarded so that I don't have to reimplement __richcmp__ everywhere
806
808
 *         return self._hash()             # <<<<<<<<<<<<<<
807
809
 * 
808
810
 *     def __richcmp__(self, object other, int how):
809
811
 */
810
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_kp__hash); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
812
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s___hash); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
811
813
  __Pyx_GOTREF(__pyx_t_1);
812
 
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
814
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
813
815
  __Pyx_GOTREF(__pyx_t_2);
814
816
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
815
 
  __pyx_t_3 = __Pyx_PyInt_AsLong(__pyx_t_2); if (unlikely((__pyx_t_3 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
817
  __pyx_t_3 = __Pyx_PyInt_AsLong(__pyx_t_2); if (unlikely((__pyx_t_3 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
816
818
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
817
819
  __pyx_r = __pyx_t_3;
818
820
  goto __pyx_L0;
825
827
  __Pyx_AddTraceback("h5py.h5.SmartStruct.__hash__");
826
828
  __pyx_r = -1;
827
829
  __pyx_L0:;
828
 
  __Pyx_FinishRefcountContext();
 
830
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
 
831
  __Pyx_RefNannyFinishContext();
829
832
  return __pyx_r;
830
833
}
831
834
 
832
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":50
 
835
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":51
833
836
 *         return self._hash()
834
837
 * 
835
838
 *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
842
845
static PyObject *__pyx_pf_4h5py_2h5_11SmartStruct___richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
843
846
  int __pyx_v_truthval;
844
847
  PyObject *__pyx_r = NULL;
845
 
  int __pyx_1;
846
848
  int __pyx_t_1;
847
 
  PyObject *__pyx_t_2 = NULL;
848
 
  PyObject *__pyx_t_3 = NULL;
849
 
  long __pyx_t_4;
 
849
  int __pyx_t_2;
 
850
  int __pyx_t_3;
 
851
  PyObject *__pyx_t_4 = NULL;
850
852
  long __pyx_t_5;
851
 
  PyObject *__pyx_t_6 = NULL;
852
 
  __Pyx_SetupRefcountContext("__richcmp__");
 
853
  long __pyx_t_6;
 
854
  int __pyx_t_7;
 
855
  PyObject *__pyx_t_8 = NULL;
 
856
  PyObject *__pyx_t_9 = NULL;
 
857
  __Pyx_RefNannySetupContext("__richcmp__");
 
858
  __Pyx_INCREF(__pyx_v_self);
 
859
  __Pyx_INCREF(__pyx_v_other);
853
860
 
854
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":52
 
861
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":53
855
862
 *     def __richcmp__(self, object other, int how):
856
863
 *         """Equality based on hash.  If unhashable, NotImplemented."""
857
864
 *         cdef bint truthval = 0             # <<<<<<<<<<<<<<
860
867
 */
861
868
  __pyx_v_truthval = 0;
862
869
 
863
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":54
 
870
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":55
864
871
 *         cdef bint truthval = 0
865
872
 * 
866
873
 *         if how != 2 and how != 3:             # <<<<<<<<<<<<<<
867
874
 *             return NotImplemented
868
875
 * 
869
876
 */
870
 
  if ((__pyx_v_how != 2)) {
871
 
    __pyx_t_1 = (__pyx_v_how != 3);
 
877
  __pyx_t_1 = (__pyx_v_how != 2);
 
878
  if (__pyx_t_1) {
 
879
    __pyx_t_2 = (__pyx_v_how != 3);
 
880
    __pyx_t_3 = __pyx_t_2;
872
881
  } else {
873
 
    __pyx_t_1 = (__pyx_v_how != 2);
 
882
    __pyx_t_3 = __pyx_t_1;
874
883
  }
875
 
  if (__pyx_t_1) {
 
884
  if (__pyx_t_3) {
876
885
 
877
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":55
 
886
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":56
878
887
 * 
879
888
 *         if how != 2 and how != 3:
880
889
 *             return NotImplemented             # <<<<<<<<<<<<<<
889
898
  }
890
899
  __pyx_L5:;
891
900
 
892
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":57
 
901
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":58
893
902
 *             return NotImplemented
894
903
 * 
895
904
 *         if isinstance(other, type(self)):             # <<<<<<<<<<<<<<
896
905
 *             try:
897
906
 *                 truthval = hash(self) == hash(other)
898
907
 */
899
 
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
900
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
901
 
  __Pyx_INCREF(__pyx_v_self);
902
 
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self);
903
 
  __Pyx_GIVEREF(__pyx_v_self);
904
 
  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyType_Type)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
905
 
  __Pyx_GOTREF(__pyx_t_3);
906
 
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
907
 
  __pyx_t_1 = PyObject_IsInstance(__pyx_v_other, __pyx_t_3); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
908
 
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
909
 
  if (__pyx_t_1) {
 
908
  __pyx_t_4 = ((PyObject *)__Pyx_Type(__pyx_v_self)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
909
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
 
910
  __pyx_t_4 = ((PyObject *)__Pyx_Type(__pyx_v_self)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
911
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
 
912
  __pyx_t_3 = PyObject_TypeCheck(__pyx_v_other, ((PyTypeObject *)__pyx_t_4)); 
 
913
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
 
914
  if (__pyx_t_3) {
910
915
 
911
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":58
 
916
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":59
912
917
 * 
913
918
 *         if isinstance(other, type(self)):
914
919
 *             try:             # <<<<<<<<<<<<<<
923
928
      __Pyx_XGOTREF(__pyx_save_exc_tb);
924
929
      /*try:*/ {
925
930
 
926
 
        /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":59
 
931
        /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":60
927
932
 *         if isinstance(other, type(self)):
928
933
 *             try:
929
934
 *                 truthval = hash(self) == hash(other)             # <<<<<<<<<<<<<<
930
935
 *             except TypeError:
931
936
 *                 return NotImplemented
932
937
 */
933
 
        __pyx_t_4 = PyObject_Hash(__pyx_v_self); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
934
 
        __pyx_t_5 = PyObject_Hash(__pyx_v_other); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
935
 
        __pyx_v_truthval = (__pyx_t_4 == __pyx_t_5);
 
938
        __pyx_t_5 = PyObject_Hash(__pyx_v_self); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
 
939
        __pyx_t_6 = PyObject_Hash(__pyx_v_other); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
 
940
        __pyx_v_truthval = (__pyx_t_5 == __pyx_t_6);
936
941
      }
937
942
      __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0;
938
943
      __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0;
939
944
      __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0;
940
945
      goto __pyx_L14_try_end;
941
946
      __pyx_L7_error:;
942
 
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
943
 
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
 
947
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
944
948
 
945
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":60
 
949
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":61
946
950
 *             try:
947
951
 *                 truthval = hash(self) == hash(other)
948
952
 *             except TypeError:             # <<<<<<<<<<<<<<
949
953
 *                 return NotImplemented
950
954
 * 
951
955
 */
952
 
      __pyx_1 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
953
 
      if (__pyx_1) {
954
 
        __Pyx_AddTraceback("h5py.h5.__richcmp__");
955
 
        if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
956
 
        __Pyx_GOTREF(__pyx_t_3);
957
 
        __Pyx_GOTREF(__pyx_t_2);
958
 
        __Pyx_GOTREF(__pyx_t_6);
 
956
      __pyx_t_7 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
 
957
      if (__pyx_t_7) {
 
958
        __Pyx_AddTraceback("h5py.h5.SmartStruct.__richcmp__");
 
959
        if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_8, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
960
        __Pyx_GOTREF(__pyx_t_4);
 
961
        __Pyx_GOTREF(__pyx_t_8);
 
962
        __Pyx_GOTREF(__pyx_t_9);
959
963
 
960
 
        /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":61
 
964
        /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":62
961
965
 *                 truthval = hash(self) == hash(other)
962
966
 *             except TypeError:
963
967
 *                 return NotImplemented             # <<<<<<<<<<<<<<
967
971
        __Pyx_XDECREF(__pyx_r);
968
972
        __Pyx_INCREF(__pyx_builtin_NotImplemented);
969
973
        __pyx_r = __pyx_builtin_NotImplemented;
970
 
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
971
 
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
972
 
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
974
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
975
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 
976
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
973
977
        goto __pyx_L10_except_return;
974
 
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
975
 
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
976
 
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
978
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
979
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 
980
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
977
981
        goto __pyx_L8_exception_handled;
978
982
      }
979
983
      __pyx_L9_except_error:;
980
 
      __Pyx_XDECREF(__pyx_save_exc_type);
981
 
      __Pyx_XDECREF(__pyx_save_exc_value);
982
 
      __Pyx_XDECREF(__pyx_save_exc_tb);
 
984
      __Pyx_XGIVEREF(__pyx_save_exc_type);
 
985
      __Pyx_XGIVEREF(__pyx_save_exc_value);
 
986
      __Pyx_XGIVEREF(__pyx_save_exc_tb);
 
987
      __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
983
988
      goto __pyx_L1_error;
984
989
      __pyx_L10_except_return:;
985
990
      __Pyx_XGIVEREF(__pyx_save_exc_type);
998
1003
  }
999
1004
  __pyx_L6:;
1000
1005
 
1001
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":63
 
1006
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":64
1002
1007
 *                 return NotImplemented
1003
1008
 * 
1004
1009
 *         if how == 2:             # <<<<<<<<<<<<<<
1005
1010
 *             return truthval
1006
1011
 *         return not truthval
1007
1012
 */
1008
 
  __pyx_t_1 = (__pyx_v_how == 2);
1009
 
  if (__pyx_t_1) {
 
1013
  __pyx_t_3 = (__pyx_v_how == 2);
 
1014
  if (__pyx_t_3) {
1010
1015
 
1011
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":64
 
1016
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":65
1012
1017
 * 
1013
1018
 *         if how == 2:
1014
1019
 *             return truthval             # <<<<<<<<<<<<<<
1016
1021
 * 
1017
1022
 */
1018
1023
    __Pyx_XDECREF(__pyx_r);
1019
 
    __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_truthval); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1020
 
    __Pyx_GOTREF(__pyx_t_6);
1021
 
    __pyx_r = __pyx_t_6;
1022
 
    __pyx_t_6 = 0;
 
1024
    __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_v_truthval); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1025
    __Pyx_GOTREF(__pyx_t_9);
 
1026
    __pyx_r = __pyx_t_9;
 
1027
    __pyx_t_9 = 0;
1023
1028
    goto __pyx_L0;
1024
1029
    goto __pyx_L17;
1025
1030
  }
1026
1031
  __pyx_L17:;
1027
1032
 
1028
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":65
 
1033
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":66
1029
1034
 *         if how == 2:
1030
1035
 *             return truthval
1031
1036
 *         return not truthval             # <<<<<<<<<<<<<<
1033
1038
 *     def __str__(self):
1034
1039
 */
1035
1040
  __Pyx_XDECREF(__pyx_r);
1036
 
  __pyx_t_6 = __Pyx_PyBool_FromLong((!__pyx_v_truthval)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1037
 
  __Pyx_GOTREF(__pyx_t_6);
1038
 
  __pyx_r = __pyx_t_6;
1039
 
  __pyx_t_6 = 0;
 
1041
  __pyx_t_9 = __Pyx_PyBool_FromLong((!__pyx_v_truthval)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1042
  __Pyx_GOTREF(__pyx_t_9);
 
1043
  __pyx_r = __pyx_t_9;
 
1044
  __pyx_t_9 = 0;
1040
1045
  goto __pyx_L0;
1041
1046
 
1042
1047
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1043
1048
  goto __pyx_L0;
1044
1049
  __pyx_L1_error:;
1045
 
  __Pyx_XDECREF(__pyx_t_2);
1046
 
  __Pyx_XDECREF(__pyx_t_3);
1047
 
  __Pyx_XDECREF(__pyx_t_6);
 
1050
  __Pyx_XDECREF(__pyx_t_4);
 
1051
  __Pyx_XDECREF(__pyx_t_8);
 
1052
  __Pyx_XDECREF(__pyx_t_9);
1048
1053
  __Pyx_AddTraceback("h5py.h5.SmartStruct.__richcmp__");
1049
1054
  __pyx_r = NULL;
1050
1055
  __pyx_L0:;
 
1056
  __Pyx_DECREF(__pyx_v_self);
 
1057
  __Pyx_DECREF(__pyx_v_other);
1051
1058
  __Pyx_XGIVEREF(__pyx_r);
1052
 
  __Pyx_FinishRefcountContext();
 
1059
  __Pyx_RefNannyFinishContext();
1053
1060
  return __pyx_r;
1054
1061
}
1055
1062
 
1056
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":67
 
1063
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":68
1057
1064
 *         return not truthval
1058
1065
 * 
1059
1066
 *     def __str__(self):             # <<<<<<<<<<<<<<
1070
1077
  PyObject *__pyx_v_y;
1071
1078
  PyObject *__pyx_v_name;
1072
1079
  PyObject *__pyx_r = NULL;
1073
 
  PyObject *__pyx_1 = 0;
1074
1080
  PyObject *__pyx_t_1 = NULL;
1075
1081
  Py_ssize_t __pyx_t_2;
1076
1082
  PyObject *__pyx_t_3 = NULL;
1082
1088
  int __pyx_t_9;
1083
1089
  Py_ssize_t __pyx_t_10;
1084
1090
  PyObject *__pyx_t_11 = NULL;
1085
 
  __Pyx_SetupRefcountContext("__str__");
 
1091
  __Pyx_RefNannySetupContext("__str__");
 
1092
  __Pyx_INCREF((PyObject *)__pyx_v_self);
1086
1093
  __pyx_v_mems = Py_None; __Pyx_INCREF(Py_None);
1087
1094
  __pyx_v_x = Py_None; __Pyx_INCREF(Py_None);
1088
1095
  __pyx_v_hdr = Py_None; __Pyx_INCREF(Py_None);
1089
1096
  __pyx_v_y = Py_None; __Pyx_INCREF(Py_None);
1090
1097
  __pyx_v_name = Py_None; __Pyx_INCREF(Py_None);
1091
1098
 
1092
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":69
 
1099
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":70
1093
1100
 *     def __str__(self):
1094
1101
 *         """Format "name: value" pairs recursively for public attributes"""
1095
1102
 *         mems = dict([(x, str(getattr(self, x))) for x in dir(self) if not x.startswith('_')])             # <<<<<<<<<<<<<<
1096
1103
 *         for x in mems:
1097
1104
 *             if isinstance(getattr(self,x), SmartStruct):
1098
1105
 */
1099
 
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1106
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1100
1107
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
1101
 
  __pyx_t_3 = PyObject_Dir(__pyx_v_self); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1108
  __pyx_t_3 = PyObject_Dir(__pyx_v_self); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1102
1109
  __Pyx_GOTREF(__pyx_t_3);
1103
1110
  if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) {
1104
1111
    __pyx_t_2 = 0; __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4);
1105
1112
  } else {
1106
 
    __pyx_t_2 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1113
    __pyx_t_2 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1107
1114
    __Pyx_GOTREF(__pyx_t_4);
1108
1115
  }
1109
1116
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1117
1124
    } else {
1118
1125
      __pyx_t_3 = PyIter_Next(__pyx_t_4);
1119
1126
      if (!__pyx_t_3) {
1120
 
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1127
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1121
1128
        break;
1122
1129
      }
1123
1130
      __Pyx_GOTREF(__pyx_t_3);
1125
1132
    __Pyx_DECREF(__pyx_v_x);
1126
1133
    __pyx_v_x = __pyx_t_3;
1127
1134
    __pyx_t_3 = 0;
1128
 
    __pyx_t_3 = PyObject_GetAttr(__pyx_v_x, __pyx_kp_startswith); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1135
    __pyx_t_3 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__startswith); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1129
1136
    __Pyx_GOTREF(__pyx_t_3);
1130
 
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1131
 
    __Pyx_GOTREF(((PyObject *)__pyx_t_5));
1132
 
    __Pyx_INCREF(__pyx_kp_14);
1133
 
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_14);
1134
 
    __Pyx_GIVEREF(__pyx_kp_14);
1135
 
    __pyx_t_6 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1137
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1138
    __Pyx_GOTREF(__pyx_t_5);
 
1139
    __Pyx_INCREF(((PyObject *)__pyx_n_s___));
 
1140
    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_n_s___));
 
1141
    __Pyx_GIVEREF(((PyObject *)__pyx_n_s___));
 
1142
    __pyx_t_6 = PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1136
1143
    __Pyx_GOTREF(__pyx_t_6);
1137
1144
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1138
 
    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
1139
 
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1145
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
1146
    __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1140
1147
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1141
1148
    __pyx_t_8 = (!__pyx_t_7);
1142
1149
    if (__pyx_t_8) {
1143
 
      __pyx_t_6 = PyObject_GetAttr(__pyx_v_self, __pyx_v_x); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1150
      __pyx_t_6 = PyObject_GetAttr(__pyx_v_self, __pyx_v_x); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1144
1151
      __Pyx_GOTREF(__pyx_t_6);
1145
 
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1146
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_5));
 
1152
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1153
      __Pyx_GOTREF(__pyx_t_5);
1147
1154
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6);
1148
1155
      __Pyx_GIVEREF(__pyx_t_6);
1149
1156
      __pyx_t_6 = 0;
1150
 
      __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1157
      __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1151
1158
      __Pyx_GOTREF(__pyx_t_6);
1152
 
      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
1153
 
      __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1154
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_5));
1155
 
      __Pyx_INCREF(__pyx_v_x);
1156
 
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_x);
1157
 
      __Pyx_GIVEREF(__pyx_v_x);
1158
 
      PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_6);
1159
 
      __Pyx_GIVEREF(__pyx_t_6);
1160
 
      __pyx_t_6 = 0;
1161
 
      __pyx_t_9 = PyList_Append(__pyx_t_1, (PyObject*)__pyx_t_5); if (unlikely(__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1162
 
      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
 
1159
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
1160
      __pyx_t_9 = PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_v_x, (PyObject*)__pyx_t_6); if (unlikely(__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1161
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1163
1162
      goto __pyx_L7;
1164
1163
    }
1165
1164
    __pyx_L7:;
1166
1165
  }
1167
1166
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1168
 
  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1169
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
1170
1167
  __Pyx_INCREF(((PyObject *)__pyx_t_1));
1171
 
  PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_1));
1172
 
  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
 
1168
  __Pyx_DECREF(__pyx_v_mems);
 
1169
  __pyx_v_mems = ((PyObject *)__pyx_t_1);
1173
1170
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
1174
 
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyDict_Type)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1175
 
  __Pyx_GOTREF(__pyx_t_1);
1176
 
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
1177
 
  __Pyx_DECREF(__pyx_v_mems);
1178
 
  __pyx_v_mems = __pyx_t_1;
1179
 
  __pyx_t_1 = 0;
1180
1171
 
1181
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":70
 
1172
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":71
1182
1173
 *         """Format "name: value" pairs recursively for public attributes"""
1183
1174
 *         mems = dict([(x, str(getattr(self, x))) for x in dir(self) if not x.startswith('_')])
1184
1175
 *         for x in mems:             # <<<<<<<<<<<<<<
1188
1179
  if (PyList_CheckExact(__pyx_v_mems) || PyTuple_CheckExact(__pyx_v_mems)) {
1189
1180
    __pyx_t_2 = 0; __pyx_t_1 = __pyx_v_mems; __Pyx_INCREF(__pyx_t_1);
1190
1181
  } else {
1191
 
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_mems); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1182
    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_mems); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1192
1183
    __Pyx_GOTREF(__pyx_t_1);
1193
1184
  }
1194
1185
  for (;;) {
1201
1192
    } else {
1202
1193
      __pyx_t_4 = PyIter_Next(__pyx_t_1);
1203
1194
      if (!__pyx_t_4) {
1204
 
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1195
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1205
1196
        break;
1206
1197
      }
1207
1198
      __Pyx_GOTREF(__pyx_t_4);
1210
1201
    __pyx_v_x = __pyx_t_4;
1211
1202
    __pyx_t_4 = 0;
1212
1203
 
1213
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":71
 
1204
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":72
1214
1205
 *         mems = dict([(x, str(getattr(self, x))) for x in dir(self) if not x.startswith('_')])
1215
1206
 *         for x in mems:
1216
1207
 *             if isinstance(getattr(self,x), SmartStruct):             # <<<<<<<<<<<<<<
1217
1208
 *                 mems[x] = "\n"+"\n".join(["    "+y for y in mems[x].split("\n")[1:]])
1218
1209
 *         hdr = "=== %s ===\n" % self.__class__.__name__ if self._title is None else self._title
1219
1210
 */
1220
 
    __pyx_t_4 = PyObject_GetAttr(__pyx_v_self, __pyx_v_x); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1211
    __pyx_t_4 = PyObject_GetAttr(__pyx_v_self, __pyx_v_x); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1221
1212
    __Pyx_GOTREF(__pyx_t_4);
1222
1213
    __pyx_t_8 = PyObject_TypeCheck(__pyx_t_4, ((PyTypeObject *)((PyObject*)__pyx_ptype_4h5py_2h5_SmartStruct))); 
1223
1214
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1224
1215
    if (__pyx_t_8) {
1225
1216
 
1226
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":72
 
1217
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":73
1227
1218
 *         for x in mems:
1228
1219
 *             if isinstance(getattr(self,x), SmartStruct):
1229
1220
 *                 mems[x] = "\n"+"\n".join(["    "+y for y in mems[x].split("\n")[1:]])             # <<<<<<<<<<<<<<
1230
1221
 *         hdr = "=== %s ===\n" % self.__class__.__name__ if self._title is None else self._title
1231
1222
 *         return hdr+"\n".join(["%s: %s" % (name, mems[name]) for name in sorted(mems)])
1232
1223
 */
1233
 
      __pyx_t_4 = PyObject_GetAttr(__pyx_kp_16, __pyx_kp_join); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1224
      __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_2), __pyx_n_s__join); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1234
1225
      __Pyx_GOTREF(__pyx_t_4);
1235
 
      __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1236
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_5));
1237
 
      __pyx_1 = PyObject_GetItem(__pyx_v_mems, __pyx_v_x); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1238
 
      __Pyx_GOTREF(__pyx_1);
1239
 
      __pyx_t_6 = PyObject_GetAttr(__pyx_1, __pyx_kp_split); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1240
 
      __Pyx_GOTREF(__pyx_t_6);
1241
 
      __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
1242
 
      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1243
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_3));
1244
 
      __Pyx_INCREF(__pyx_kp_17);
1245
 
      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_kp_17);
1246
 
      __Pyx_GIVEREF(__pyx_kp_17);
1247
 
      __pyx_t_11 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1226
      __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1227
      __Pyx_GOTREF(((PyObject *)__pyx_t_6));
 
1228
      __pyx_t_5 = PyObject_GetItem(__pyx_v_mems, __pyx_v_x); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1229
      __Pyx_GOTREF(__pyx_t_5);
 
1230
      __pyx_t_3 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__split); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1231
      __Pyx_GOTREF(__pyx_t_3);
 
1232
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
1233
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1234
      __Pyx_GOTREF(__pyx_t_5);
 
1235
      __Pyx_INCREF(((PyObject *)__pyx_kp_s_2));
 
1236
      PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_2));
 
1237
      __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2));
 
1238
      __pyx_t_11 = PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1248
1239
      __Pyx_GOTREF(__pyx_t_11);
1249
 
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1250
 
      __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
1251
 
      __pyx_1 = PySequence_GetSlice(__pyx_t_11, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1252
 
      __Pyx_GOTREF(__pyx_1);
 
1240
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
1241
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
1242
      __pyx_t_5 = PySequence_GetSlice(__pyx_t_11, 1, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1243
      __Pyx_GOTREF(__pyx_t_5);
1253
1244
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
1254
 
      if (PyList_CheckExact(__pyx_1) || PyTuple_CheckExact(__pyx_1)) {
1255
 
        __pyx_t_10 = 0; __pyx_t_11 = __pyx_1; __Pyx_INCREF(__pyx_t_11);
 
1245
      if (PyList_CheckExact(__pyx_t_5) || PyTuple_CheckExact(__pyx_t_5)) {
 
1246
        __pyx_t_10 = 0; __pyx_t_11 = __pyx_t_5; __Pyx_INCREF(__pyx_t_11);
1256
1247
      } else {
1257
 
        __pyx_t_10 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1248
        __pyx_t_10 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1258
1249
        __Pyx_GOTREF(__pyx_t_11);
1259
1250
      }
1260
 
      __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
1251
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1261
1252
      for (;;) {
1262
1253
        if (likely(PyList_CheckExact(__pyx_t_11))) {
1263
1254
          if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_11)) break;
1264
 
          __pyx_t_3 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++;
 
1255
          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++;
1265
1256
        } else if (likely(PyTuple_CheckExact(__pyx_t_11))) {
1266
1257
          if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_11)) break;
1267
 
          __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++;
 
1258
          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++;
1268
1259
        } else {
1269
 
          __pyx_t_3 = PyIter_Next(__pyx_t_11);
1270
 
          if (!__pyx_t_3) {
1271
 
            if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1260
          __pyx_t_5 = PyIter_Next(__pyx_t_11);
 
1261
          if (!__pyx_t_5) {
 
1262
            if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1272
1263
            break;
1273
1264
          }
1274
 
          __Pyx_GOTREF(__pyx_t_3);
 
1265
          __Pyx_GOTREF(__pyx_t_5);
1275
1266
        }
1276
1267
        __Pyx_DECREF(__pyx_v_y);
1277
 
        __pyx_v_y = __pyx_t_3;
1278
 
        __pyx_t_3 = 0;
1279
 
        __pyx_t_3 = PyNumber_Add(__pyx_kp_18, __pyx_v_y); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1280
 
        __Pyx_GOTREF(__pyx_t_3);
1281
 
        __pyx_t_9 = PyList_Append(__pyx_t_5, (PyObject*)__pyx_t_3); if (unlikely(__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1282
 
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
1268
        __pyx_v_y = __pyx_t_5;
 
1269
        __pyx_t_5 = 0;
 
1270
        __pyx_t_5 = PyNumber_Add(((PyObject *)__pyx_kp_s_3), __pyx_v_y); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1271
        __Pyx_GOTREF(__pyx_t_5);
 
1272
        __pyx_t_9 = PyList_Append(__pyx_t_6, (PyObject*)__pyx_t_5); if (unlikely(__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1273
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1283
1274
      }
1284
1275
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
1285
 
      __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1286
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_11));
1287
 
      __Pyx_INCREF(((PyObject *)__pyx_t_5));
1288
 
      PyTuple_SET_ITEM(__pyx_t_11, 0, ((PyObject *)__pyx_t_5));
1289
 
      __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
1290
 
      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
1291
 
      __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_11), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1292
 
      __Pyx_GOTREF(__pyx_t_5);
 
1276
      __pyx_t_11 = PyTuple_New(1); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1277
      __Pyx_GOTREF(__pyx_t_11);
 
1278
      __Pyx_INCREF(((PyObject *)__pyx_t_6));
 
1279
      PyTuple_SET_ITEM(__pyx_t_11, 0, ((PyObject *)__pyx_t_6));
 
1280
      __Pyx_GIVEREF(((PyObject *)__pyx_t_6));
 
1281
      __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
 
1282
      __pyx_t_6 = PyObject_Call(__pyx_t_4, __pyx_t_11, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1283
      __Pyx_GOTREF(__pyx_t_6);
1293
1284
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1294
 
      __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
1295
 
      __pyx_t_11 = PyNumber_Add(__pyx_kp_15, __pyx_t_5); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1285
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
 
1286
      __pyx_t_11 = PyNumber_Add(((PyObject *)__pyx_kp_s_2), __pyx_t_6); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1296
1287
      __Pyx_GOTREF(__pyx_t_11);
1297
 
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1298
 
      if (PyObject_SetItem(__pyx_v_mems, __pyx_v_x, __pyx_t_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1288
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
1289
      if (PyObject_SetItem(__pyx_v_mems, __pyx_v_x, __pyx_t_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1299
1290
      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
1300
1291
      goto __pyx_L10;
1301
1292
    }
1303
1294
  }
1304
1295
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1305
1296
 
1306
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":73
 
1297
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":74
1307
1298
 *             if isinstance(getattr(self,x), SmartStruct):
1308
1299
 *                 mems[x] = "\n"+"\n".join(["    "+y for y in mems[x].split("\n")[1:]])
1309
1300
 *         hdr = "=== %s ===\n" % self.__class__.__name__ if self._title is None else self._title             # <<<<<<<<<<<<<<
1312
1303
 */
1313
1304
  __pyx_t_8 = (((struct __pyx_obj_4h5py_2h5_SmartStruct *)__pyx_v_self)->_title == Py_None);
1314
1305
  if (__pyx_t_8) {
1315
 
    __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_kp___class__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1316
 
    __Pyx_GOTREF(__pyx_t_1);
1317
 
    __pyx_t_11 = PyObject_GetAttr(__pyx_t_1, __pyx_kp___name__); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1306
    __pyx_t_11 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s____class__); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1318
1307
    __Pyx_GOTREF(__pyx_t_11);
1319
 
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1320
 
    __pyx_t_1 = PyNumber_Remainder(__pyx_kp_19, __pyx_t_11); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1321
 
    __Pyx_GOTREF(__pyx_t_1);
 
1308
    __pyx_t_6 = PyObject_GetAttr(__pyx_t_11, __pyx_n_s____name__); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1309
    __Pyx_GOTREF(__pyx_t_6);
1322
1310
    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
1323
 
    __pyx_1 = __pyx_t_1;
1324
 
    __pyx_t_1 = 0;
 
1311
    __pyx_t_11 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), __pyx_t_6); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1312
    __Pyx_GOTREF(__pyx_t_11);
 
1313
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
1314
    __pyx_t_1 = __pyx_t_11;
 
1315
    __pyx_t_11 = 0;
1325
1316
  } else {
1326
1317
    __Pyx_INCREF(((struct __pyx_obj_4h5py_2h5_SmartStruct *)__pyx_v_self)->_title);
1327
 
    __pyx_1 = ((struct __pyx_obj_4h5py_2h5_SmartStruct *)__pyx_v_self)->_title;
 
1318
    __pyx_t_1 = ((struct __pyx_obj_4h5py_2h5_SmartStruct *)__pyx_v_self)->_title;
1328
1319
  }
1329
1320
  __Pyx_DECREF(__pyx_v_hdr);
1330
 
  __pyx_v_hdr = __pyx_1;
1331
 
  __pyx_1 = 0;
 
1321
  __pyx_v_hdr = __pyx_t_1;
 
1322
  __pyx_t_1 = 0;
1332
1323
 
1333
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":74
 
1324
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":75
1334
1325
 *                 mems[x] = "\n"+"\n".join(["    "+y for y in mems[x].split("\n")[1:]])
1335
1326
 *         hdr = "=== %s ===\n" % self.__class__.__name__ if self._title is None else self._title
1336
1327
 *         return hdr+"\n".join(["%s: %s" % (name, mems[name]) for name in sorted(mems)])             # <<<<<<<<<<<<<<
1338
1329
 * cdef class H5PYConfig:
1339
1330
 */
1340
1331
  __Pyx_XDECREF(__pyx_r);
1341
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_kp_20, __pyx_kp_join); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1332
  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_kp_s_2), __pyx_n_s__join); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1342
1333
  __Pyx_GOTREF(__pyx_t_1);
1343
 
  __pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1334
  __pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1344
1335
  __Pyx_GOTREF(((PyObject *)__pyx_t_11));
1345
 
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1346
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
 
1336
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1337
  __Pyx_GOTREF(__pyx_t_6);
1347
1338
  __Pyx_INCREF(__pyx_v_mems);
1348
 
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_mems);
 
1339
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_mems);
1349
1340
  __Pyx_GIVEREF(__pyx_v_mems);
1350
 
  __pyx_t_4 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1341
  __pyx_t_4 = PyObject_Call(__pyx_builtin_sorted, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1351
1342
  __Pyx_GOTREF(__pyx_t_4);
1352
 
  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
 
1343
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1353
1344
  if (PyList_CheckExact(__pyx_t_4) || PyTuple_CheckExact(__pyx_t_4)) {
1354
 
    __pyx_t_2 = 0; __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5);
 
1345
    __pyx_t_2 = 0; __pyx_t_6 = __pyx_t_4; __Pyx_INCREF(__pyx_t_6);
1355
1346
  } else {
1356
 
    __pyx_t_2 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1357
 
    __Pyx_GOTREF(__pyx_t_5);
 
1347
    __pyx_t_2 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1348
    __Pyx_GOTREF(__pyx_t_6);
1358
1349
  }
1359
1350
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1360
1351
  for (;;) {
1361
 
    if (likely(PyList_CheckExact(__pyx_t_5))) {
1362
 
      if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_5)) break;
1363
 
      __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++;
1364
 
    } else if (likely(PyTuple_CheckExact(__pyx_t_5))) {
1365
 
      if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
1366
 
      __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++;
 
1352
    if (likely(PyList_CheckExact(__pyx_t_6))) {
 
1353
      if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_6)) break;
 
1354
      __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++;
 
1355
    } else if (likely(PyTuple_CheckExact(__pyx_t_6))) {
 
1356
      if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
 
1357
      __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++;
1367
1358
    } else {
1368
 
      __pyx_t_4 = PyIter_Next(__pyx_t_5);
 
1359
      __pyx_t_4 = PyIter_Next(__pyx_t_6);
1369
1360
      if (!__pyx_t_4) {
1370
 
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1361
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1371
1362
        break;
1372
1363
      }
1373
1364
      __Pyx_GOTREF(__pyx_t_4);
1375
1366
    __Pyx_DECREF(__pyx_v_name);
1376
1367
    __pyx_v_name = __pyx_t_4;
1377
1368
    __pyx_t_4 = 0;
1378
 
    __pyx_1 = PyObject_GetItem(__pyx_v_mems, __pyx_v_name); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1379
 
    __Pyx_GOTREF(__pyx_1);
1380
 
    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1381
 
    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
 
1369
    __pyx_t_4 = PyObject_GetItem(__pyx_v_mems, __pyx_v_name); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1370
    __Pyx_GOTREF(__pyx_t_4);
 
1371
    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1372
    __Pyx_GOTREF(__pyx_t_5);
1382
1373
    __Pyx_INCREF(__pyx_v_name);
1383
 
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_name);
 
1374
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_name);
1384
1375
    __Pyx_GIVEREF(__pyx_v_name);
1385
 
    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_1);
1386
 
    __Pyx_GIVEREF(__pyx_1);
1387
 
    __pyx_1 = 0;
1388
 
    __pyx_t_3 = PyNumber_Remainder(__pyx_kp_21, ((PyObject *)__pyx_t_4)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1389
 
    __Pyx_GOTREF(__pyx_t_3);
1390
 
    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
1391
 
    __pyx_t_9 = PyList_Append(__pyx_t_11, (PyObject*)__pyx_t_3); if (unlikely(__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1392
 
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
1376
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_4);
 
1377
    __Pyx_GIVEREF(__pyx_t_4);
 
1378
    __pyx_t_4 = 0;
 
1379
    __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1380
    __Pyx_GOTREF(__pyx_t_4);
 
1381
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
1382
    __pyx_t_9 = PyList_Append(__pyx_t_11, (PyObject*)__pyx_t_4); if (unlikely(__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1383
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1393
1384
  }
1394
 
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1395
 
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1396
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
 
1385
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
1386
  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1387
  __Pyx_GOTREF(__pyx_t_6);
1397
1388
  __Pyx_INCREF(((PyObject *)__pyx_t_11));
1398
 
  PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_11));
 
1389
  PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_11));
1399
1390
  __Pyx_GIVEREF(((PyObject *)__pyx_t_11));
1400
1391
  __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
1401
 
  __pyx_t_11 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1392
  __pyx_t_11 = PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1402
1393
  __Pyx_GOTREF(__pyx_t_11);
1403
1394
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1404
 
  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
1405
 
  __pyx_t_5 = PyNumber_Add(__pyx_v_hdr, __pyx_t_11); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1406
 
  __Pyx_GOTREF(__pyx_t_5);
 
1395
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
1396
  __pyx_t_6 = PyNumber_Add(__pyx_v_hdr, __pyx_t_11); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1397
  __Pyx_GOTREF(__pyx_t_6);
1407
1398
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
1408
 
  __pyx_r = __pyx_t_5;
1409
 
  __pyx_t_5 = 0;
 
1399
  __pyx_r = __pyx_t_6;
 
1400
  __pyx_t_6 = 0;
1410
1401
  goto __pyx_L0;
1411
1402
 
1412
1403
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
1413
1404
  goto __pyx_L0;
1414
1405
  __pyx_L1_error:;
1415
 
  __Pyx_XDECREF(__pyx_1);
1416
1406
  __Pyx_XDECREF(__pyx_t_1);
1417
1407
  __Pyx_XDECREF(__pyx_t_3);
1418
1408
  __Pyx_XDECREF(__pyx_t_4);
1427
1417
  __Pyx_DECREF(__pyx_v_hdr);
1428
1418
  __Pyx_DECREF(__pyx_v_y);
1429
1419
  __Pyx_DECREF(__pyx_v_name);
 
1420
  __Pyx_DECREF((PyObject *)__pyx_v_self);
1430
1421
  __Pyx_XGIVEREF(__pyx_r);
1431
 
  __Pyx_FinishRefcountContext();
 
1422
  __Pyx_RefNannyFinishContext();
1432
1423
  return __pyx_r;
1433
1424
}
1434
1425
 
1435
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":82
 
1426
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":98
1436
1427
 *     """
1437
1428
 * 
1438
1429
 *     def __init__(self):             # <<<<<<<<<<<<<<
1439
 
 *         self.API_16 = H5PY_16API
1440
 
 *         self.API_18 = H5PY_18API
 
1430
 *         self.API_16 = bool(H5PY_16API)
 
1431
 *         self.API_18 = bool(H5PY_18API)
1441
1432
 */
1442
1433
 
1443
1434
static int __pyx_pf_4h5py_2h5_10H5PYConfig___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
1444
1435
static int __pyx_pf_4h5py_2h5_10H5PYConfig___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
1445
1436
  int __pyx_r;
1446
 
  __Pyx_SetupRefcountContext("__init__");
 
1437
  PyObject *__pyx_t_1 = NULL;
 
1438
  PyObject *__pyx_t_2 = NULL;
 
1439
  __Pyx_RefNannySetupContext("__init__");
1447
1440
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
1448
1441
    __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
1449
1442
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
1450
1443
 
1451
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":83
 
1444
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":99
1452
1445
 * 
1453
1446
 *     def __init__(self):
1454
 
 *         self.API_16 = H5PY_16API             # <<<<<<<<<<<<<<
1455
 
 *         self.API_18 = H5PY_18API
1456
 
 *         self.DEBUG = H5PY_DEBUG
 
1447
 *         self.API_16 = bool(H5PY_16API)             # <<<<<<<<<<<<<<
 
1448
 *         self.API_18 = bool(H5PY_18API)
 
1449
 *         self._r_name = 'r'
1457
1450
 */
 
1451
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1452
  __Pyx_GOTREF(__pyx_t_1);
1458
1453
  __Pyx_INCREF(__pyx_int_1);
 
1454
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_1);
1459
1455
  __Pyx_GIVEREF(__pyx_int_1);
 
1456
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1457
  __Pyx_GOTREF(__pyx_t_2);
 
1458
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
1459
  __Pyx_GIVEREF(__pyx_t_2);
1460
1460
  __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_16);
1461
1461
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_16);
1462
 
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_16 = __pyx_int_1;
 
1462
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_16 = __pyx_t_2;
 
1463
  __pyx_t_2 = 0;
1463
1464
 
1464
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":84
 
1465
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":100
1465
1466
 *     def __init__(self):
1466
 
 *         self.API_16 = H5PY_16API
1467
 
 *         self.API_18 = H5PY_18API             # <<<<<<<<<<<<<<
1468
 
 *         self.DEBUG = H5PY_DEBUG
 
1467
 *         self.API_16 = bool(H5PY_16API)
 
1468
 *         self.API_18 = bool(H5PY_18API)             # <<<<<<<<<<<<<<
1469
1469
 *         self._r_name = 'r'
 
1470
 *         self._i_name = 'i'
1470
1471
 */
 
1472
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1473
  __Pyx_GOTREF(__pyx_t_2);
1471
1474
  __Pyx_INCREF(__pyx_int_0);
 
1475
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0);
1472
1476
  __Pyx_GIVEREF(__pyx_int_0);
 
1477
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1478
  __Pyx_GOTREF(__pyx_t_1);
 
1479
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
1480
  __Pyx_GIVEREF(__pyx_t_1);
1473
1481
  __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_18);
1474
1482
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_18);
1475
 
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_18 = __pyx_int_0;
1476
 
 
1477
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":85
1478
 
 *         self.API_16 = H5PY_16API
1479
 
 *         self.API_18 = H5PY_18API
1480
 
 *         self.DEBUG = H5PY_DEBUG             # <<<<<<<<<<<<<<
1481
 
 *         self._r_name = 'r'
1482
 
 *         self._i_name = 'i'
1483
 
 */
1484
 
  __Pyx_INCREF(__pyx_int_0);
1485
 
  __Pyx_GIVEREF(__pyx_int_0);
1486
 
  __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->DEBUG);
1487
 
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->DEBUG);
1488
 
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->DEBUG = __pyx_int_0;
1489
 
 
1490
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":86
1491
 
 *         self.API_18 = H5PY_18API
1492
 
 *         self.DEBUG = H5PY_DEBUG
 
1483
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_18 = __pyx_t_1;
 
1484
  __pyx_t_1 = 0;
 
1485
 
 
1486
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":101
 
1487
 *         self.API_16 = bool(H5PY_16API)
 
1488
 *         self.API_18 = bool(H5PY_18API)
1493
1489
 *         self._r_name = 'r'             # <<<<<<<<<<<<<<
1494
1490
 *         self._i_name = 'i'
1495
1491
 *         self._f_name = 'FALSE'
1496
1492
 */
1497
 
  __Pyx_INCREF(__pyx_kp_22);
1498
 
  __Pyx_GIVEREF(__pyx_kp_22);
 
1493
  __Pyx_INCREF(((PyObject *)__pyx_n_s__r));
 
1494
  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__r));
1499
1495
  __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name);
1500
1496
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name);
1501
 
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name = __pyx_kp_22;
 
1497
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name = ((PyObject *)__pyx_n_s__r);
1502
1498
 
1503
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":87
1504
 
 *         self.DEBUG = H5PY_DEBUG
 
1499
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":102
 
1500
 *         self.API_18 = bool(H5PY_18API)
1505
1501
 *         self._r_name = 'r'
1506
1502
 *         self._i_name = 'i'             # <<<<<<<<<<<<<<
1507
1503
 *         self._f_name = 'FALSE'
1508
1504
 *         self._t_name = 'TRUE'
1509
1505
 */
1510
 
  __Pyx_INCREF(__pyx_kp_23);
1511
 
  __Pyx_GIVEREF(__pyx_kp_23);
 
1506
  __Pyx_INCREF(((PyObject *)__pyx_n_s__i));
 
1507
  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__i));
1512
1508
  __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_i_name);
1513
1509
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_i_name);
1514
 
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_i_name = __pyx_kp_23;
 
1510
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_i_name = ((PyObject *)__pyx_n_s__i);
1515
1511
 
1516
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":88
 
1512
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":103
1517
1513
 *         self._r_name = 'r'
1518
1514
 *         self._i_name = 'i'
1519
1515
 *         self._f_name = 'FALSE'             # <<<<<<<<<<<<<<
1520
1516
 *         self._t_name = 'TRUE'
1521
1517
 * 
1522
1518
 */
1523
 
  __Pyx_INCREF(__pyx_kp_24);
1524
 
  __Pyx_GIVEREF(__pyx_kp_24);
 
1519
  __Pyx_INCREF(((PyObject *)__pyx_n_s__FALSE));
 
1520
  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__FALSE));
1525
1521
  __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name);
1526
1522
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name);
1527
 
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name = __pyx_kp_24;
 
1523
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name = ((PyObject *)__pyx_n_s__FALSE);
1528
1524
 
1529
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":89
 
1525
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":104
1530
1526
 *         self._i_name = 'i'
1531
1527
 *         self._f_name = 'FALSE'
1532
1528
 *         self._t_name = 'TRUE'             # <<<<<<<<<<<<<<
1533
1529
 * 
1534
1530
 *     property complex_names:
1535
1531
 */
1536
 
  __Pyx_INCREF(__pyx_kp_25);
1537
 
  __Pyx_GIVEREF(__pyx_kp_25);
 
1532
  __Pyx_INCREF(((PyObject *)__pyx_n_s__TRUE));
 
1533
  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__TRUE));
1538
1534
  __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_t_name);
1539
1535
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_t_name);
1540
 
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_t_name = __pyx_kp_25;
 
1536
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_t_name = ((PyObject *)__pyx_n_s__TRUE);
1541
1537
 
1542
1538
  __pyx_r = 0;
1543
 
  __Pyx_FinishRefcountContext();
 
1539
  goto __pyx_L0;
 
1540
  __pyx_L1_error:;
 
1541
  __Pyx_XDECREF(__pyx_t_1);
 
1542
  __Pyx_XDECREF(__pyx_t_2);
 
1543
  __Pyx_AddTraceback("h5py.h5.H5PYConfig.__init__");
 
1544
  __pyx_r = -1;
 
1545
  __pyx_L0:;
 
1546
  __Pyx_RefNannyFinishContext();
1544
1547
  return __pyx_r;
1545
1548
}
1546
1549
 
1547
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":97
 
1550
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":112
1548
1551
 *         """
1549
1552
 * 
1550
1553
 *         def __get__(self):             # <<<<<<<<<<<<<<
1556
1559
static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names___get__(PyObject *__pyx_v_self) {
1557
1560
  PyObject *__pyx_r = NULL;
1558
1561
  PyObject *__pyx_t_1 = NULL;
1559
 
  __Pyx_SetupRefcountContext("__get__");
 
1562
  __Pyx_RefNannySetupContext("__get__");
1560
1563
 
1561
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":98
 
1564
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":113
1562
1565
 * 
1563
1566
 *         def __get__(self):
1564
1567
 *             return (self._r_name, self._i_name)             # <<<<<<<<<<<<<<
1566
1569
 *         def __set__(self, val):
1567
1570
 */
1568
1571
  __Pyx_XDECREF(__pyx_r);
1569
 
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1570
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
1572
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1573
  __Pyx_GOTREF(__pyx_t_1);
1571
1574
  __Pyx_INCREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name);
1572
1575
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name);
1573
1576
  __Pyx_GIVEREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name);
1574
1577
  __Pyx_INCREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_i_name);
1575
1578
  PyTuple_SET_ITEM(__pyx_t_1, 1, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_i_name);
1576
1579
  __Pyx_GIVEREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_i_name);
1577
 
  __pyx_r = ((PyObject *)__pyx_t_1);
 
1580
  __pyx_r = __pyx_t_1;
1578
1581
  __pyx_t_1 = 0;
1579
1582
  goto __pyx_L0;
1580
1583
 
1586
1589
  __pyx_r = NULL;
1587
1590
  __pyx_L0:;
1588
1591
  __Pyx_XGIVEREF(__pyx_r);
1589
 
  __Pyx_FinishRefcountContext();
 
1592
  __Pyx_RefNannyFinishContext();
1590
1593
  return __pyx_r;
1591
1594
}
1592
1595
 
1593
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":100
 
1596
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":115
1594
1597
 *             return (self._r_name, self._i_name)
1595
1598
 * 
1596
1599
 *         def __set__(self, val):             # <<<<<<<<<<<<<<
1603
1606
  PyObject *__pyx_v_r;
1604
1607
  PyObject *__pyx_v_i;
1605
1608
  int __pyx_r;
1606
 
  PyObject *__pyx_1 = 0;
1607
 
  int __pyx_2;
1608
1609
  PyObject *__pyx_t_1 = NULL;
1609
1610
  PyObject *__pyx_t_2 = NULL;
1610
 
  PyObject *__pyx_t_3 = NULL;
 
1611
  int __pyx_t_3;
1611
1612
  PyObject *__pyx_t_4 = NULL;
1612
1613
  PyObject *__pyx_t_5 = NULL;
1613
 
  __Pyx_SetupRefcountContext("__set__");
 
1614
  PyObject *__pyx_t_6 = NULL;
 
1615
  __Pyx_RefNannySetupContext("__set__");
 
1616
  __Pyx_INCREF((PyObject *)__pyx_v_self);
 
1617
  __Pyx_INCREF(__pyx_v_val);
1614
1618
  __pyx_v_r = Py_None; __Pyx_INCREF(Py_None);
1615
1619
  __pyx_v_i = Py_None; __Pyx_INCREF(Py_None);
1616
1620
 
1617
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":101
 
1621
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":116
1618
1622
 * 
1619
1623
 *         def __set__(self, val):
1620
1624
 *             try:             # <<<<<<<<<<<<<<
1629
1633
    __Pyx_XGOTREF(__pyx_save_exc_tb);
1630
1634
    /*try:*/ {
1631
1635
 
1632
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":102
 
1636
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":117
1633
1637
 *         def __set__(self, val):
1634
1638
 *             try:
1635
1639
 *                 r = str(val[0])             # <<<<<<<<<<<<<<
1636
1640
 *                 i = str(val[1])
1637
1641
 *             except Exception:
1638
1642
 */
1639
 
      __pyx_1 = __Pyx_GetItemInt(__pyx_v_val, 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1640
 
      __Pyx_GOTREF(__pyx_1);
1641
 
      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1642
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
1643
 
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_1);
1644
 
      __Pyx_GIVEREF(__pyx_1);
1645
 
      __pyx_1 = 0;
1646
 
      __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1643
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_val, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1644
      __Pyx_GOTREF(__pyx_t_1);
 
1645
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1647
1646
      __Pyx_GOTREF(__pyx_t_2);
1648
 
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
1647
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
 
1648
      __Pyx_GIVEREF(__pyx_t_1);
 
1649
      __pyx_t_1 = 0;
 
1650
      __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1651
      __Pyx_GOTREF(__pyx_t_1);
 
1652
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1649
1653
      __Pyx_DECREF(__pyx_v_r);
1650
 
      __pyx_v_r = __pyx_t_2;
1651
 
      __pyx_t_2 = 0;
 
1654
      __pyx_v_r = __pyx_t_1;
 
1655
      __pyx_t_1 = 0;
1652
1656
 
1653
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":103
 
1657
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":118
1654
1658
 *             try:
1655
1659
 *                 r = str(val[0])
1656
1660
 *                 i = str(val[1])             # <<<<<<<<<<<<<<
1657
1661
 *             except Exception:
1658
1662
 *                 raise TypeError("complex_names must be a 2-tuple of strings (real, img)")
1659
1663
 */
1660
 
      __pyx_1 = __Pyx_GetItemInt(__pyx_v_val, 1, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1661
 
      __Pyx_GOTREF(__pyx_1);
1662
 
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1663
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1664
 
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_1);
1665
 
      __Pyx_GIVEREF(__pyx_1);
1666
 
      __pyx_1 = 0;
1667
 
      __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1668
 
      __Pyx_GOTREF(__pyx_t_1);
1669
 
      __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
1664
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_val, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1665
      __Pyx_GOTREF(__pyx_t_1);
 
1666
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1667
      __Pyx_GOTREF(__pyx_t_2);
 
1668
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
 
1669
      __Pyx_GIVEREF(__pyx_t_1);
 
1670
      __pyx_t_1 = 0;
 
1671
      __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1672
      __Pyx_GOTREF(__pyx_t_1);
 
1673
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1670
1674
      __Pyx_DECREF(__pyx_v_i);
1671
1675
      __pyx_v_i = __pyx_t_1;
1672
1676
      __pyx_t_1 = 0;
1676
1680
    __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0;
1677
1681
    goto __pyx_L12_try_end;
1678
1682
    __pyx_L5_error:;
1679
 
    __Pyx_XDECREF(__pyx_1); __pyx_1 = 0;
1680
1683
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
1681
1684
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
1682
1685
 
1683
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":104
 
1686
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":119
1684
1687
 *                 r = str(val[0])
1685
1688
 *                 i = str(val[1])
1686
1689
 *             except Exception:             # <<<<<<<<<<<<<<
1687
1690
 *                 raise TypeError("complex_names must be a 2-tuple of strings (real, img)")
1688
1691
 *             self._r_name = r
1689
1692
 */
1690
 
    __pyx_2 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
1691
 
    if (__pyx_2) {
1692
 
      __Pyx_AddTraceback("h5py.h5.__set__");
1693
 
      if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
 
1693
    __pyx_t_3 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
 
1694
    if (__pyx_t_3) {
 
1695
      __Pyx_AddTraceback("h5py.h5.H5PYConfig.complex_names.__set__");
 
1696
      if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
1694
1697
      __Pyx_GOTREF(__pyx_t_1);
1695
1698
      __Pyx_GOTREF(__pyx_t_2);
1696
 
      __Pyx_GOTREF(__pyx_t_3);
 
1699
      __Pyx_GOTREF(__pyx_t_4);
1697
1700
 
1698
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":105
 
1701
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":120
1699
1702
 *                 i = str(val[1])
1700
1703
 *             except Exception:
1701
1704
 *                 raise TypeError("complex_names must be a 2-tuple of strings (real, img)")             # <<<<<<<<<<<<<<
1702
1705
 *             self._r_name = r
1703
1706
 *             self._i_name = i
1704
1707
 */
1705
 
      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
1706
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_4));
1707
 
      __Pyx_INCREF(__pyx_kp_26);
1708
 
      PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_26);
1709
 
      __Pyx_GIVEREF(__pyx_kp_26);
1710
 
      __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
 
1708
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
1711
1709
      __Pyx_GOTREF(__pyx_t_5);
1712
 
      __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
1713
 
      __Pyx_Raise(__pyx_t_5, 0, 0);
 
1710
      __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
 
1711
      PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_6));
 
1712
      __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6));
 
1713
      __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
 
1714
      __Pyx_GOTREF(__pyx_t_6);
1714
1715
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1715
 
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
 
1716
      __Pyx_Raise(__pyx_t_6, 0, 0);
 
1717
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
1718
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
1716
1719
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1717
1720
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1718
 
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
1721
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1719
1722
      goto __pyx_L6_exception_handled;
1720
1723
    }
1721
1724
    __pyx_L7_except_error:;
1722
 
    __Pyx_XDECREF(__pyx_save_exc_type);
1723
 
    __Pyx_XDECREF(__pyx_save_exc_value);
1724
 
    __Pyx_XDECREF(__pyx_save_exc_tb);
 
1725
    __Pyx_XGIVEREF(__pyx_save_exc_type);
 
1726
    __Pyx_XGIVEREF(__pyx_save_exc_value);
 
1727
    __Pyx_XGIVEREF(__pyx_save_exc_tb);
 
1728
    __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
1725
1729
    goto __pyx_L1_error;
1726
1730
    __pyx_L6_exception_handled:;
1727
1731
    __Pyx_XGIVEREF(__pyx_save_exc_type);
1731
1735
    __pyx_L12_try_end:;
1732
1736
  }
1733
1737
 
1734
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":106
 
1738
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":121
1735
1739
 *             except Exception:
1736
1740
 *                 raise TypeError("complex_names must be a 2-tuple of strings (real, img)")
1737
1741
 *             self._r_name = r             # <<<<<<<<<<<<<<
1744
1748
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name);
1745
1749
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_r_name = __pyx_v_r;
1746
1750
 
1747
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":107
 
1751
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":122
1748
1752
 *                 raise TypeError("complex_names must be a 2-tuple of strings (real, img)")
1749
1753
 *             self._r_name = r
1750
1754
 *             self._i_name = i             # <<<<<<<<<<<<<<
1760
1764
  __pyx_r = 0;
1761
1765
  goto __pyx_L0;
1762
1766
  __pyx_L1_error:;
1763
 
  __Pyx_XDECREF(__pyx_1);
1764
1767
  __Pyx_XDECREF(__pyx_t_1);
1765
1768
  __Pyx_XDECREF(__pyx_t_2);
1766
 
  __Pyx_XDECREF(__pyx_t_3);
1767
1769
  __Pyx_XDECREF(__pyx_t_4);
1768
1770
  __Pyx_XDECREF(__pyx_t_5);
 
1771
  __Pyx_XDECREF(__pyx_t_6);
1769
1772
  __Pyx_AddTraceback("h5py.h5.H5PYConfig.complex_names.__set__");
1770
1773
  __pyx_r = -1;
1771
1774
  __pyx_L0:;
1772
1775
  __Pyx_DECREF(__pyx_v_r);
1773
1776
  __Pyx_DECREF(__pyx_v_i);
1774
 
  __Pyx_FinishRefcountContext();
 
1777
  __Pyx_DECREF((PyObject *)__pyx_v_self);
 
1778
  __Pyx_DECREF(__pyx_v_val);
 
1779
  __Pyx_RefNannyFinishContext();
1775
1780
  return __pyx_r;
1776
1781
}
1777
1782
 
1778
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":114
 
1783
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":129
1779
1784
 *         Format is (false_name, real_name), defaulting to ('FALSE', 'TRUE').
1780
1785
 *         """
1781
1786
 *         def __get__(self):             # <<<<<<<<<<<<<<
1787
1792
static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_10bool_names___get__(PyObject *__pyx_v_self) {
1788
1793
  PyObject *__pyx_r = NULL;
1789
1794
  PyObject *__pyx_t_1 = NULL;
1790
 
  __Pyx_SetupRefcountContext("__get__");
 
1795
  __Pyx_RefNannySetupContext("__get__");
1791
1796
 
1792
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":115
 
1797
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":130
1793
1798
 *         """
1794
1799
 *         def __get__(self):
1795
1800
 *             return (self._f_name, self._t_name)             # <<<<<<<<<<<<<<
1797
1802
 *         def __set__(self, val):
1798
1803
 */
1799
1804
  __Pyx_XDECREF(__pyx_r);
1800
 
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
1801
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
1805
  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1806
  __Pyx_GOTREF(__pyx_t_1);
1802
1807
  __Pyx_INCREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name);
1803
1808
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name);
1804
1809
  __Pyx_GIVEREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name);
1805
1810
  __Pyx_INCREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_t_name);
1806
1811
  PyTuple_SET_ITEM(__pyx_t_1, 1, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_t_name);
1807
1812
  __Pyx_GIVEREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_t_name);
1808
 
  __pyx_r = ((PyObject *)__pyx_t_1);
 
1813
  __pyx_r = __pyx_t_1;
1809
1814
  __pyx_t_1 = 0;
1810
1815
  goto __pyx_L0;
1811
1816
 
1817
1822
  __pyx_r = NULL;
1818
1823
  __pyx_L0:;
1819
1824
  __Pyx_XGIVEREF(__pyx_r);
1820
 
  __Pyx_FinishRefcountContext();
 
1825
  __Pyx_RefNannyFinishContext();
1821
1826
  return __pyx_r;
1822
1827
}
1823
1828
 
1824
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":117
 
1829
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":132
1825
1830
 *             return (self._f_name, self._t_name)
1826
1831
 * 
1827
1832
 *         def __set__(self, val):             # <<<<<<<<<<<<<<
1834
1839
  PyObject *__pyx_v_f;
1835
1840
  PyObject *__pyx_v_t;
1836
1841
  int __pyx_r;
1837
 
  PyObject *__pyx_1 = 0;
1838
 
  int __pyx_2;
1839
1842
  PyObject *__pyx_t_1 = NULL;
1840
1843
  PyObject *__pyx_t_2 = NULL;
1841
 
  PyObject *__pyx_t_3 = NULL;
 
1844
  int __pyx_t_3;
1842
1845
  PyObject *__pyx_t_4 = NULL;
1843
1846
  PyObject *__pyx_t_5 = NULL;
1844
 
  __Pyx_SetupRefcountContext("__set__");
 
1847
  PyObject *__pyx_t_6 = NULL;
 
1848
  __Pyx_RefNannySetupContext("__set__");
 
1849
  __Pyx_INCREF((PyObject *)__pyx_v_self);
 
1850
  __Pyx_INCREF(__pyx_v_val);
1845
1851
  __pyx_v_f = Py_None; __Pyx_INCREF(Py_None);
1846
1852
  __pyx_v_t = Py_None; __Pyx_INCREF(Py_None);
1847
1853
 
1848
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":118
 
1854
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":133
1849
1855
 * 
1850
1856
 *         def __set__(self, val):
1851
1857
 *             try:             # <<<<<<<<<<<<<<
1860
1866
    __Pyx_XGOTREF(__pyx_save_exc_tb);
1861
1867
    /*try:*/ {
1862
1868
 
1863
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":119
 
1869
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":134
1864
1870
 *         def __set__(self, val):
1865
1871
 *             try:
1866
1872
 *                 f = str(val[0])             # <<<<<<<<<<<<<<
1867
1873
 *                 t = str(val[1])
1868
1874
 *             except Exception:
1869
1875
 */
1870
 
      __pyx_1 = __Pyx_GetItemInt(__pyx_v_val, 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1871
 
      __Pyx_GOTREF(__pyx_1);
1872
 
      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1873
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
1874
 
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_1);
1875
 
      __Pyx_GIVEREF(__pyx_1);
1876
 
      __pyx_1 = 0;
1877
 
      __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1876
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_val, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1877
      __Pyx_GOTREF(__pyx_t_1);
 
1878
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1878
1879
      __Pyx_GOTREF(__pyx_t_2);
1879
 
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
1880
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
 
1881
      __Pyx_GIVEREF(__pyx_t_1);
 
1882
      __pyx_t_1 = 0;
 
1883
      __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1884
      __Pyx_GOTREF(__pyx_t_1);
 
1885
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1880
1886
      __Pyx_DECREF(__pyx_v_f);
1881
 
      __pyx_v_f = __pyx_t_2;
1882
 
      __pyx_t_2 = 0;
 
1887
      __pyx_v_f = __pyx_t_1;
 
1888
      __pyx_t_1 = 0;
1883
1889
 
1884
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":120
 
1890
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":135
1885
1891
 *             try:
1886
1892
 *                 f = str(val[0])
1887
1893
 *                 t = str(val[1])             # <<<<<<<<<<<<<<
1888
1894
 *             except Exception:
1889
1895
 *                 raise TypeError("bool_names must be a 2-tuple of strings (false, true)")
1890
1896
 */
1891
 
      __pyx_1 = __Pyx_GetItemInt(__pyx_v_val, 1, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1892
 
      __Pyx_GOTREF(__pyx_1);
1893
 
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1894
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_2));
1895
 
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_1);
1896
 
      __Pyx_GIVEREF(__pyx_1);
1897
 
      __pyx_1 = 0;
1898
 
      __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
1899
 
      __Pyx_GOTREF(__pyx_t_1);
1900
 
      __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
1897
      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_val, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1898
      __Pyx_GOTREF(__pyx_t_1);
 
1899
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1900
      __Pyx_GOTREF(__pyx_t_2);
 
1901
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
 
1902
      __Pyx_GIVEREF(__pyx_t_1);
 
1903
      __pyx_t_1 = 0;
 
1904
      __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
 
1905
      __Pyx_GOTREF(__pyx_t_1);
 
1906
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1901
1907
      __Pyx_DECREF(__pyx_v_t);
1902
1908
      __pyx_v_t = __pyx_t_1;
1903
1909
      __pyx_t_1 = 0;
1907
1913
    __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0;
1908
1914
    goto __pyx_L12_try_end;
1909
1915
    __pyx_L5_error:;
1910
 
    __Pyx_XDECREF(__pyx_1); __pyx_1 = 0;
1911
1916
    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
1912
1917
    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
1913
1918
 
1914
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":121
 
1919
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":136
1915
1920
 *                 f = str(val[0])
1916
1921
 *                 t = str(val[1])
1917
1922
 *             except Exception:             # <<<<<<<<<<<<<<
1918
1923
 *                 raise TypeError("bool_names must be a 2-tuple of strings (false, true)")
1919
1924
 *             self._f_name = f
1920
1925
 */
1921
 
    __pyx_2 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
1922
 
    if (__pyx_2) {
1923
 
      __Pyx_AddTraceback("h5py.h5.__set__");
1924
 
      if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
 
1926
    __pyx_t_3 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
 
1927
    if (__pyx_t_3) {
 
1928
      __Pyx_AddTraceback("h5py.h5.H5PYConfig.bool_names.__set__");
 
1929
      if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
1925
1930
      __Pyx_GOTREF(__pyx_t_1);
1926
1931
      __Pyx_GOTREF(__pyx_t_2);
1927
 
      __Pyx_GOTREF(__pyx_t_3);
 
1932
      __Pyx_GOTREF(__pyx_t_4);
1928
1933
 
1929
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":122
 
1934
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":137
1930
1935
 *                 t = str(val[1])
1931
1936
 *             except Exception:
1932
1937
 *                 raise TypeError("bool_names must be a 2-tuple of strings (false, true)")             # <<<<<<<<<<<<<<
1933
1938
 *             self._f_name = f
1934
1939
 *             self._t_name = t
1935
1940
 */
1936
 
      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
1937
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_4));
1938
 
      __Pyx_INCREF(__pyx_kp_27);
1939
 
      PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_27);
1940
 
      __Pyx_GIVEREF(__pyx_kp_27);
1941
 
      __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
 
1941
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
1942
1942
      __Pyx_GOTREF(__pyx_t_5);
1943
 
      __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
1944
 
      __Pyx_Raise(__pyx_t_5, 0, 0);
 
1943
      __Pyx_INCREF(((PyObject *)__pyx_kp_s_7));
 
1944
      PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_7));
 
1945
      __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_7));
 
1946
      __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
 
1947
      __Pyx_GOTREF(__pyx_t_6);
1945
1948
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1946
 
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
 
1949
      __Pyx_Raise(__pyx_t_6, 0, 0);
 
1950
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
1951
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
1947
1952
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1948
1953
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1949
 
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
1954
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1950
1955
      goto __pyx_L6_exception_handled;
1951
1956
    }
1952
1957
    __pyx_L7_except_error:;
1953
 
    __Pyx_XDECREF(__pyx_save_exc_type);
1954
 
    __Pyx_XDECREF(__pyx_save_exc_value);
1955
 
    __Pyx_XDECREF(__pyx_save_exc_tb);
 
1958
    __Pyx_XGIVEREF(__pyx_save_exc_type);
 
1959
    __Pyx_XGIVEREF(__pyx_save_exc_value);
 
1960
    __Pyx_XGIVEREF(__pyx_save_exc_tb);
 
1961
    __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
1956
1962
    goto __pyx_L1_error;
1957
1963
    __pyx_L6_exception_handled:;
1958
1964
    __Pyx_XGIVEREF(__pyx_save_exc_type);
1962
1968
    __pyx_L12_try_end:;
1963
1969
  }
1964
1970
 
1965
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":123
 
1971
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":138
1966
1972
 *             except Exception:
1967
1973
 *                 raise TypeError("bool_names must be a 2-tuple of strings (false, true)")
1968
1974
 *             self._f_name = f             # <<<<<<<<<<<<<<
1975
1981
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name);
1976
1982
  ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->_f_name = __pyx_v_f;
1977
1983
 
1978
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":124
 
1984
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":139
1979
1985
 *                 raise TypeError("bool_names must be a 2-tuple of strings (false, true)")
1980
1986
 *             self._f_name = f
1981
1987
 *             self._t_name = t             # <<<<<<<<<<<<<<
1991
1997
  __pyx_r = 0;
1992
1998
  goto __pyx_L0;
1993
1999
  __pyx_L1_error:;
1994
 
  __Pyx_XDECREF(__pyx_1);
1995
2000
  __Pyx_XDECREF(__pyx_t_1);
1996
2001
  __Pyx_XDECREF(__pyx_t_2);
1997
 
  __Pyx_XDECREF(__pyx_t_3);
1998
2002
  __Pyx_XDECREF(__pyx_t_4);
1999
2003
  __Pyx_XDECREF(__pyx_t_5);
 
2004
  __Pyx_XDECREF(__pyx_t_6);
2000
2005
  __Pyx_AddTraceback("h5py.h5.H5PYConfig.bool_names.__set__");
2001
2006
  __pyx_r = -1;
2002
2007
  __pyx_L0:;
2003
2008
  __Pyx_DECREF(__pyx_v_f);
2004
2009
  __Pyx_DECREF(__pyx_v_t);
2005
 
  __Pyx_FinishRefcountContext();
 
2010
  __Pyx_DECREF((PyObject *)__pyx_v_self);
 
2011
  __Pyx_DECREF(__pyx_v_val);
 
2012
  __Pyx_RefNannyFinishContext();
2006
2013
  return __pyx_r;
2007
2014
}
2008
2015
 
2009
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":126
 
2016
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":141
2010
2017
 *             self._t_name = t
2011
2018
 * 
2012
2019
 *     def __repr__(self):             # <<<<<<<<<<<<<<
2018
2025
static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig___repr__(PyObject *__pyx_v_self) {
2019
2026
  PyObject *__pyx_v_rstr;
2020
2027
  PyObject *__pyx_r = NULL;
2021
 
  PyObject *__pyx_1 = 0;
2022
 
  PyObject *__pyx_2 = 0;
2023
2028
  PyObject *__pyx_t_1 = NULL;
2024
2029
  PyObject *__pyx_t_2 = NULL;
2025
2030
  PyObject *__pyx_t_3 = NULL;
2026
2031
  PyObject *__pyx_t_4 = NULL;
2027
2032
  PyObject *__pyx_t_5 = NULL;
2028
2033
  PyObject *__pyx_t_6 = NULL;
2029
 
  __Pyx_SetupRefcountContext("__repr__");
 
2034
  __Pyx_RefNannySetupContext("__repr__");
2030
2035
  __pyx_v_rstr = Py_None; __Pyx_INCREF(Py_None);
2031
2036
 
2032
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":128
 
2037
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":143
2033
2038
 *     def __repr__(self):
2034
2039
 *         rstr =  \
2035
2040
 * """\             # <<<<<<<<<<<<<<
2036
2041
 * Summary of h5py config
2037
2042
 * ======================
2038
2043
 */
2039
 
  __Pyx_INCREF(__pyx_kp_28);
 
2044
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_8));
2040
2045
  __Pyx_DECREF(__pyx_v_rstr);
2041
 
  __pyx_v_rstr = __pyx_kp_28;
 
2046
  __pyx_v_rstr = ((PyObject *)__pyx_kp_s_8);
2042
2047
 
2043
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":137
 
2048
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":152
2044
2049
 * Complex names: %s"""
2045
2050
 * 
2046
2051
 *         rstr %= ("%d.%d.%d" % get_libversion(), bool(self.API_16),             # <<<<<<<<<<<<<<
2047
2052
 *                 bool(self.API_18), bool(self.DEBUG),
2048
2053
 *                 self.complex_names)
2049
2054
 */
2050
 
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_get_libversion); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2051
 
  __Pyx_GOTREF(__pyx_2);
2052
 
  __pyx_t_1 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2055
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__get_libversion); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2053
2056
  __Pyx_GOTREF(__pyx_t_1);
2054
 
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
2055
 
  __pyx_t_2 = PyNumber_Remainder(__pyx_kp_29, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2057
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2056
2058
  __Pyx_GOTREF(__pyx_t_2);
2057
2059
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2058
 
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2059
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
2060
  __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_9), __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2061
  __Pyx_GOTREF(__pyx_t_1);
 
2062
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2063
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2064
  __Pyx_GOTREF(__pyx_t_2);
2060
2065
  __Pyx_INCREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_16);
2061
 
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_16);
 
2066
  PyTuple_SET_ITEM(__pyx_t_2, 0, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_16);
2062
2067
  __Pyx_GIVEREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_16);
2063
 
  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2068
  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2064
2069
  __Pyx_GOTREF(__pyx_t_3);
2065
 
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
2070
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2066
2071
 
2067
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":138
 
2072
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":153
2068
2073
 * 
2069
2074
 *         rstr %= ("%d.%d.%d" % get_libversion(), bool(self.API_16),
2070
2075
 *                 bool(self.API_18), bool(self.DEBUG),             # <<<<<<<<<<<<<<
2071
2076
 *                 self.complex_names)
2072
2077
 *         return rstr
2073
2078
 */
2074
 
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2075
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
2079
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2080
  __Pyx_GOTREF(__pyx_t_2);
2076
2081
  __Pyx_INCREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_18);
2077
 
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_18);
 
2082
  PyTuple_SET_ITEM(__pyx_t_2, 0, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_18);
2078
2083
  __Pyx_GIVEREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->API_18);
2079
 
  __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2084
  __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2080
2085
  __Pyx_GOTREF(__pyx_t_4);
2081
 
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
2082
 
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2083
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
2086
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2087
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2088
  __Pyx_GOTREF(__pyx_t_2);
2084
2089
  __Pyx_INCREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->DEBUG);
2085
 
  PyTuple_SET_ITEM(__pyx_t_1, 0, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->DEBUG);
 
2090
  PyTuple_SET_ITEM(__pyx_t_2, 0, ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->DEBUG);
2086
2091
  __Pyx_GIVEREF(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self)->DEBUG);
2087
 
  __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2092
  __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)&PyBool_Type)), __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2088
2093
  __Pyx_GOTREF(__pyx_t_5);
2089
 
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
2094
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2090
2095
 
2091
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":139
 
2096
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":154
2092
2097
 *         rstr %= ("%d.%d.%d" % get_libversion(), bool(self.API_16),
2093
2098
 *                 bool(self.API_18), bool(self.DEBUG),
2094
2099
 *                 self.complex_names)             # <<<<<<<<<<<<<<
2095
2100
 *         return rstr
2096
2101
 * 
2097
2102
 */
2098
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_complex_names); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2099
 
  __Pyx_GOTREF(__pyx_t_1);
2100
 
  __pyx_t_6 = PyTuple_New(5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2101
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_6));
2102
 
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
2103
 
  __Pyx_GIVEREF(__pyx_t_2);
 
2103
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__complex_names); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2104
  __Pyx_GOTREF(__pyx_t_2);
 
2105
  __pyx_t_6 = PyTuple_New(5); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2106
  __Pyx_GOTREF(__pyx_t_6);
 
2107
  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
 
2108
  __Pyx_GIVEREF(__pyx_t_1);
2104
2109
  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
2105
2110
  __Pyx_GIVEREF(__pyx_t_3);
2106
2111
  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
2107
2112
  __Pyx_GIVEREF(__pyx_t_4);
2108
2113
  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
2109
2114
  __Pyx_GIVEREF(__pyx_t_5);
2110
 
  PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_t_1);
2111
 
  __Pyx_GIVEREF(__pyx_t_1);
2112
 
  __pyx_t_2 = 0;
 
2115
  PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_t_2);
 
2116
  __Pyx_GIVEREF(__pyx_t_2);
 
2117
  __pyx_t_1 = 0;
2113
2118
  __pyx_t_3 = 0;
2114
2119
  __pyx_t_4 = 0;
2115
2120
  __pyx_t_5 = 0;
2116
 
  __pyx_t_1 = 0;
2117
 
  __pyx_1 = PyNumber_InPlaceRemainder(__pyx_v_rstr, ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2118
 
  __Pyx_GOTREF(__pyx_1);
 
2121
  __pyx_t_2 = 0;
 
2122
  __pyx_t_2 = PyNumber_InPlaceRemainder(__pyx_v_rstr, __pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2123
  __Pyx_GOTREF(__pyx_t_2);
2119
2124
 
2120
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":137
 
2125
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":152
2121
2126
 * Complex names: %s"""
2122
2127
 * 
2123
2128
 *         rstr %= ("%d.%d.%d" % get_libversion(), bool(self.API_16),             # <<<<<<<<<<<<<<
2124
2129
 *                 bool(self.API_18), bool(self.DEBUG),
2125
2130
 *                 self.complex_names)
2126
2131
 */
2127
 
  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
 
2132
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
2128
2133
  __Pyx_DECREF(__pyx_v_rstr);
2129
 
  __pyx_v_rstr = __pyx_1;
2130
 
  __pyx_1 = 0;
 
2134
  __pyx_v_rstr = __pyx_t_2;
 
2135
  __pyx_t_2 = 0;
2131
2136
 
2132
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":140
 
2137
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":155
2133
2138
 *                 bool(self.API_18), bool(self.DEBUG),
2134
2139
 *                 self.complex_names)
2135
2140
 *         return rstr             # <<<<<<<<<<<<<<
2144
2149
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2145
2150
  goto __pyx_L0;
2146
2151
  __pyx_L1_error:;
2147
 
  __Pyx_XDECREF(__pyx_1);
2148
 
  __Pyx_XDECREF(__pyx_2);
2149
2152
  __Pyx_XDECREF(__pyx_t_1);
2150
2153
  __Pyx_XDECREF(__pyx_t_2);
2151
2154
  __Pyx_XDECREF(__pyx_t_3);
2157
2160
  __pyx_L0:;
2158
2161
  __Pyx_DECREF(__pyx_v_rstr);
2159
2162
  __Pyx_XGIVEREF(__pyx_r);
2160
 
  __Pyx_FinishRefcountContext();
 
2163
  __Pyx_RefNannyFinishContext();
2161
2164
  return __pyx_r;
2162
2165
}
2163
2166
 
2164
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":144
 
2167
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":159
2165
2168
 * cdef H5PYConfig cfg = H5PYConfig()
2166
2169
 * 
2167
2170
 * cpdef H5PYConfig get_config():             # <<<<<<<<<<<<<<
2172
2175
static PyObject *__pyx_pf_4h5py_2h5_get_config(PyObject *__pyx_self, PyObject *unused); /*proto*/
2173
2176
static  struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_f_4h5py_2h5_get_config(int __pyx_skip_dispatch) {
2174
2177
  struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_r = NULL;
2175
 
  __Pyx_SetupRefcountContext("get_config");
 
2178
  __Pyx_RefNannySetupContext("get_config");
2176
2179
 
2177
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":149
2178
 
 *     Get a reference to the global library configuration object
 
2180
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":164
 
2181
 *     Get a reference to the global library configuration object.
2179
2182
 *     """
2180
2183
 *     return cfg             # <<<<<<<<<<<<<<
2181
2184
 * 
2182
 
 * # === Bootstrap diagnostics and threading, before decorator is defined ===
 
2185
 * # === Public C API for object identifiers =====================================
2183
2186
 */
2184
2187
  __Pyx_XDECREF(((PyObject *)__pyx_r));
2185
2188
  __Pyx_INCREF(((PyObject *)__pyx_v_4h5py_2h5_cfg));
2189
2192
  __pyx_r = ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)Py_None); __Pyx_INCREF(Py_None);
2190
2193
  __pyx_L0:;
2191
2194
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
2192
 
  __Pyx_FinishRefcountContext();
 
2195
  __Pyx_RefNannyFinishContext();
2193
2196
  return __pyx_r;
2194
2197
}
2195
2198
 
2196
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":144
 
2199
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":159
2197
2200
 * cdef H5PYConfig cfg = H5PYConfig()
2198
2201
 * 
2199
2202
 * cpdef H5PYConfig get_config():             # <<<<<<<<<<<<<<
2202
2205
 */
2203
2206
 
2204
2207
static PyObject *__pyx_pf_4h5py_2h5_get_config(PyObject *__pyx_self, PyObject *unused); /*proto*/
2205
 
static char __pyx_doc_4h5py_2h5_get_config[] = "() => H5PYConfig\n\n    Get a reference to the global library configuration object\n    ";
 
2208
static char __pyx_doc_4h5py_2h5_get_config[] = "() => H5PYConfig\n\n    Get a reference to the global library configuration object.\n    ";
2206
2209
static PyObject *__pyx_pf_4h5py_2h5_get_config(PyObject *__pyx_self, PyObject *unused) {
2207
2210
  PyObject *__pyx_r = NULL;
2208
2211
  PyObject *__pyx_t_1 = NULL;
2209
 
  __Pyx_SetupRefcountContext("get_config");
 
2212
  __Pyx_RefNannySetupContext("get_config");
2210
2213
  __pyx_self = __pyx_self;
2211
2214
  __Pyx_XDECREF(__pyx_r);
2212
 
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_2h5_get_config(0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2215
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_2h5_get_config(0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2213
2216
  __Pyx_GOTREF(__pyx_t_1);
2214
2217
  __pyx_r = __pyx_t_1;
2215
2218
  __pyx_t_1 = 0;
2223
2226
  __pyx_r = NULL;
2224
2227
  __pyx_L0:;
2225
2228
  __Pyx_XGIVEREF(__pyx_r);
2226
 
  __Pyx_FinishRefcountContext();
2227
 
  return __pyx_r;
2228
 
}
2229
 
 
2230
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":164
2231
 
 * 
2232
 
 * 
2233
 
 * def loglevel(lev):             # <<<<<<<<<<<<<<
2234
 
 *     """ (INT lev)
2235
 
 * 
2236
 
 */
2237
 
 
2238
 
static PyObject *__pyx_pf_4h5py_2h5_loglevel(PyObject *__pyx_self, PyObject *__pyx_v_lev); /*proto*/
2239
 
static char __pyx_doc_4h5py_2h5_loglevel[] = " (INT lev)\n        \n        Shortcut to set the logging level on all library streams.\n        Does nothing if not built in debug mode.\n    ";
2240
 
static PyObject *__pyx_pf_4h5py_2h5_loglevel(PyObject *__pyx_self, PyObject *__pyx_v_lev) {
2241
 
  PyObject *__pyx_r = NULL;
2242
 
  __Pyx_SetupRefcountContext("loglevel");
2243
 
  __pyx_self = __pyx_self;
2244
 
 
2245
 
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2246
 
  __Pyx_XGIVEREF(__pyx_r);
2247
 
  __Pyx_FinishRefcountContext();
2248
 
  return __pyx_r;
2249
 
}
2250
 
 
2251
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":190
2252
 
 *     """
2253
 
 * 
2254
 
 *     def __init__(self):             # <<<<<<<<<<<<<<
2255
 
 *         self.lock = threading.RLock()
2256
 
 *     cpdef bint __enter__(self) except -1:
2257
 
 */
2258
 
 
2259
 
static int __pyx_pf_4h5py_2h5_4PHIL___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2260
 
static int __pyx_pf_4h5py_2h5_4PHIL___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2261
 
  int __pyx_r;
2262
 
  PyObject *__pyx_1 = 0;
2263
 
  PyObject *__pyx_t_1 = NULL;
2264
 
  PyObject *__pyx_t_2 = NULL;
2265
 
  __Pyx_SetupRefcountContext("__init__");
2266
 
  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
2267
 
    __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
2268
 
  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
2269
 
 
2270
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":191
2271
 
 * 
2272
 
 *     def __init__(self):
2273
 
 *         self.lock = threading.RLock()             # <<<<<<<<<<<<<<
2274
 
 *     cpdef bint __enter__(self) except -1:
2275
 
 *         self.lock.acquire()
2276
 
 */
2277
 
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_threading); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2278
 
  __Pyx_GOTREF(__pyx_1);
2279
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_RLock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2280
 
  __Pyx_GOTREF(__pyx_t_1);
2281
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2282
 
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2283
 
  __Pyx_GOTREF(__pyx_t_2);
2284
 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2285
 
  __Pyx_GIVEREF(__pyx_t_2);
2286
 
  __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self)->lock);
2287
 
  __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self)->lock);
2288
 
  ((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self)->lock = __pyx_t_2;
2289
 
  __pyx_t_2 = 0;
2290
 
 
2291
 
  __pyx_r = 0;
2292
 
  goto __pyx_L0;
2293
 
  __pyx_L1_error:;
2294
 
  __Pyx_XDECREF(__pyx_1);
2295
 
  __Pyx_XDECREF(__pyx_t_1);
2296
 
  __Pyx_XDECREF(__pyx_t_2);
2297
 
  __Pyx_AddTraceback("h5py.h5.PHIL.__init__");
2298
 
  __pyx_r = -1;
2299
 
  __pyx_L0:;
2300
 
  __Pyx_FinishRefcountContext();
2301
 
  return __pyx_r;
2302
 
}
2303
 
 
2304
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":192
2305
 
 *     def __init__(self):
2306
 
 *         self.lock = threading.RLock()
2307
 
 *     cpdef bint __enter__(self) except -1:             # <<<<<<<<<<<<<<
2308
 
 *         self.lock.acquire()
2309
 
 *         return 0
2310
 
 */
2311
 
 
2312
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL___enter__(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
2313
 
static  int __pyx_f_4h5py_2h5_4PHIL___enter__(struct __pyx_obj_4h5py_2h5_PHIL *__pyx_v_self, int __pyx_skip_dispatch) {
2314
 
  int __pyx_r;
2315
 
  PyObject *__pyx_1 = 0;
2316
 
  PyObject *__pyx_t_1 = NULL;
2317
 
  int __pyx_t_2;
2318
 
  PyObject *__pyx_t_3 = NULL;
2319
 
  __Pyx_SetupRefcountContext("__enter__");
2320
 
  /* Check if called by wrapper */
2321
 
  if (unlikely(__pyx_skip_dispatch)) ;
2322
 
  /* Check if overriden in Python */
2323
 
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
2324
 
    __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp___enter__); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2325
 
    __Pyx_GOTREF(__pyx_1);
2326
 
    if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4h5py_2h5_4PHIL___enter__)) {
2327
 
      __pyx_t_1 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2328
 
      __Pyx_GOTREF(__pyx_t_1);
2329
 
      __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2330
 
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2331
 
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2332
 
      __pyx_r = __pyx_t_2;
2333
 
      goto __pyx_L0;
2334
 
    }
2335
 
    __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2336
 
  }
2337
 
 
2338
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":193
2339
 
 *         self.lock = threading.RLock()
2340
 
 *     cpdef bint __enter__(self) except -1:
2341
 
 *         self.lock.acquire()             # <<<<<<<<<<<<<<
2342
 
 *         return 0
2343
 
 *     cpdef bint __exit__(self,a,b,c) except -1:
2344
 
 */
2345
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self->lock, __pyx_kp_acquire); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2346
 
  __Pyx_GOTREF(__pyx_t_1);
2347
 
  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2348
 
  __Pyx_GOTREF(__pyx_t_3);
2349
 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2350
 
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2351
 
 
2352
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":194
2353
 
 *     cpdef bint __enter__(self) except -1:
2354
 
 *         self.lock.acquire()
2355
 
 *         return 0             # <<<<<<<<<<<<<<
2356
 
 *     cpdef bint __exit__(self,a,b,c) except -1:
2357
 
 *         self.lock.release()
2358
 
 */
2359
 
  __pyx_r = 0;
2360
 
  goto __pyx_L0;
2361
 
 
2362
 
  __pyx_r = 0;
2363
 
  goto __pyx_L0;
2364
 
  __pyx_L1_error:;
2365
 
  __Pyx_XDECREF(__pyx_1);
2366
 
  __Pyx_XDECREF(__pyx_t_1);
2367
 
  __Pyx_XDECREF(__pyx_t_3);
2368
 
  __Pyx_AddTraceback("h5py.h5.PHIL.__enter__");
2369
 
  __pyx_r = -1;
2370
 
  __pyx_L0:;
2371
 
  __Pyx_FinishRefcountContext();
2372
 
  return __pyx_r;
2373
 
}
2374
 
 
2375
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":192
2376
 
 *     def __init__(self):
2377
 
 *         self.lock = threading.RLock()
2378
 
 *     cpdef bint __enter__(self) except -1:             # <<<<<<<<<<<<<<
2379
 
 *         self.lock.acquire()
2380
 
 *         return 0
2381
 
 */
2382
 
 
2383
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL___enter__(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
2384
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL___enter__(PyObject *__pyx_v_self, PyObject *unused) {
2385
 
  PyObject *__pyx_r = NULL;
2386
 
  int __pyx_t_1;
2387
 
  PyObject *__pyx_t_2 = NULL;
2388
 
  __Pyx_SetupRefcountContext("__enter__");
2389
 
  __Pyx_XDECREF(__pyx_r);
2390
 
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self)->__pyx_vtab)->__enter__(((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self), 1); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2391
 
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2392
 
  __Pyx_GOTREF(__pyx_t_2);
2393
 
  __pyx_r = __pyx_t_2;
2394
 
  __pyx_t_2 = 0;
2395
 
  goto __pyx_L0;
2396
 
 
2397
 
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2398
 
  goto __pyx_L0;
2399
 
  __pyx_L1_error:;
2400
 
  __Pyx_XDECREF(__pyx_t_2);
2401
 
  __Pyx_AddTraceback("h5py.h5.PHIL.__enter__");
2402
 
  __pyx_r = NULL;
2403
 
  __pyx_L0:;
2404
 
  __Pyx_XGIVEREF(__pyx_r);
2405
 
  __Pyx_FinishRefcountContext();
2406
 
  return __pyx_r;
2407
 
}
2408
 
 
2409
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":195
2410
 
 *         self.lock.acquire()
2411
 
 *         return 0
2412
 
 *     cpdef bint __exit__(self,a,b,c) except -1:             # <<<<<<<<<<<<<<
2413
 
 *         self.lock.release()
2414
 
 *         return 0
2415
 
 */
2416
 
 
2417
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL___exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2418
 
static  int __pyx_f_4h5py_2h5_4PHIL___exit__(struct __pyx_obj_4h5py_2h5_PHIL *__pyx_v_self, PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, int __pyx_skip_dispatch) {
2419
 
  int __pyx_r;
2420
 
  PyObject *__pyx_1 = 0;
2421
 
  PyObject *__pyx_t_1 = NULL;
2422
 
  PyObject *__pyx_t_2 = NULL;
2423
 
  int __pyx_t_3;
2424
 
  __Pyx_SetupRefcountContext("__exit__");
2425
 
  /* Check if called by wrapper */
2426
 
  if (unlikely(__pyx_skip_dispatch)) ;
2427
 
  /* Check if overriden in Python */
2428
 
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
2429
 
    __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp___exit__); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2430
 
    __Pyx_GOTREF(__pyx_1);
2431
 
    if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4h5py_2h5_4PHIL___exit__)) {
2432
 
      __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2433
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
2434
 
      __Pyx_INCREF(__pyx_v_a);
2435
 
      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_a);
2436
 
      __Pyx_GIVEREF(__pyx_v_a);
2437
 
      __Pyx_INCREF(__pyx_v_b);
2438
 
      PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_b);
2439
 
      __Pyx_GIVEREF(__pyx_v_b);
2440
 
      __Pyx_INCREF(__pyx_v_c);
2441
 
      PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_c);
2442
 
      __Pyx_GIVEREF(__pyx_v_c);
2443
 
      __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2444
 
      __Pyx_GOTREF(__pyx_t_2);
2445
 
      __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2446
 
      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
2447
 
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2448
 
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2449
 
      __pyx_r = __pyx_t_3;
2450
 
      goto __pyx_L0;
2451
 
    }
2452
 
    __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2453
 
  }
2454
 
 
2455
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":196
2456
 
 *         return 0
2457
 
 *     cpdef bint __exit__(self,a,b,c) except -1:
2458
 
 *         self.lock.release()             # <<<<<<<<<<<<<<
2459
 
 *         return 0
2460
 
 *     cpdef bint acquire(self, int blocking=1) except -1:
2461
 
 */
2462
 
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_self->lock, __pyx_kp_release); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2463
 
  __Pyx_GOTREF(__pyx_t_2);
2464
 
  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2465
 
  __Pyx_GOTREF(__pyx_t_1);
2466
 
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2467
 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2468
 
 
2469
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":197
2470
 
 *     cpdef bint __exit__(self,a,b,c) except -1:
2471
 
 *         self.lock.release()
2472
 
 *         return 0             # <<<<<<<<<<<<<<
2473
 
 *     cpdef bint acquire(self, int blocking=1) except -1:
2474
 
 *         register_thread()
2475
 
 */
2476
 
  __pyx_r = 0;
2477
 
  goto __pyx_L0;
2478
 
 
2479
 
  __pyx_r = 0;
2480
 
  goto __pyx_L0;
2481
 
  __pyx_L1_error:;
2482
 
  __Pyx_XDECREF(__pyx_1);
2483
 
  __Pyx_XDECREF(__pyx_t_1);
2484
 
  __Pyx_XDECREF(__pyx_t_2);
2485
 
  __Pyx_AddTraceback("h5py.h5.PHIL.__exit__");
2486
 
  __pyx_r = -1;
2487
 
  __pyx_L0:;
2488
 
  __Pyx_FinishRefcountContext();
2489
 
  return __pyx_r;
2490
 
}
2491
 
 
2492
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":195
2493
 
 *         self.lock.acquire()
2494
 
 *         return 0
2495
 
 *     cpdef bint __exit__(self,a,b,c) except -1:             # <<<<<<<<<<<<<<
2496
 
 *         self.lock.release()
2497
 
 *         return 0
2498
 
 */
2499
 
 
2500
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL___exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2501
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL___exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2502
 
  PyObject *__pyx_v_a = 0;
2503
 
  PyObject *__pyx_v_b = 0;
2504
 
  PyObject *__pyx_v_c = 0;
2505
 
  PyObject *__pyx_r = NULL;
2506
 
  int __pyx_t_1;
2507
 
  PyObject *__pyx_t_2 = NULL;
2508
 
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_a,&__pyx_kp_b,&__pyx_kp_c,0};
2509
 
  __Pyx_SetupRefcountContext("__exit__");
2510
 
  if (unlikely(__pyx_kwds)) {
2511
 
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
2512
 
    PyObject* values[3] = {0,0,0};
2513
 
    switch (PyTuple_GET_SIZE(__pyx_args)) {
2514
 
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
2515
 
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
2516
 
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2517
 
      case  0: break;
2518
 
      default: goto __pyx_L5_argtuple_error;
2519
 
    }
2520
 
    switch (PyTuple_GET_SIZE(__pyx_args)) {
2521
 
      case  0:
2522
 
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_a);
2523
 
      if (likely(values[0])) kw_args--;
2524
 
      else goto __pyx_L5_argtuple_error;
2525
 
      case  1:
2526
 
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_b);
2527
 
      if (likely(values[1])) kw_args--;
2528
 
      else {
2529
 
        __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2530
 
      }
2531
 
      case  2:
2532
 
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_c);
2533
 
      if (likely(values[2])) kw_args--;
2534
 
      else {
2535
 
        __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2536
 
      }
2537
 
    }
2538
 
    if (unlikely(kw_args > 0)) {
2539
 
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__exit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2540
 
    }
2541
 
    __pyx_v_a = values[0];
2542
 
    __pyx_v_b = values[1];
2543
 
    __pyx_v_c = values[2];
2544
 
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
2545
 
    goto __pyx_L5_argtuple_error;
2546
 
  } else {
2547
 
    __pyx_v_a = PyTuple_GET_ITEM(__pyx_args, 0);
2548
 
    __pyx_v_b = PyTuple_GET_ITEM(__pyx_args, 1);
2549
 
    __pyx_v_c = PyTuple_GET_ITEM(__pyx_args, 2);
2550
 
  }
2551
 
  goto __pyx_L4_argument_unpacking_done;
2552
 
  __pyx_L5_argtuple_error:;
2553
 
  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2554
 
  __pyx_L3_error:;
2555
 
  __Pyx_AddTraceback("h5py.h5.PHIL.__exit__");
2556
 
  return NULL;
2557
 
  __pyx_L4_argument_unpacking_done:;
2558
 
  __Pyx_XDECREF(__pyx_r);
2559
 
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self)->__pyx_vtab)->__exit__(((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self), __pyx_v_a, __pyx_v_b, __pyx_v_c, 1); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2560
 
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2561
 
  __Pyx_GOTREF(__pyx_t_2);
2562
 
  __pyx_r = __pyx_t_2;
2563
 
  __pyx_t_2 = 0;
2564
 
  goto __pyx_L0;
2565
 
 
2566
 
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2567
 
  goto __pyx_L0;
2568
 
  __pyx_L1_error:;
2569
 
  __Pyx_XDECREF(__pyx_t_2);
2570
 
  __Pyx_AddTraceback("h5py.h5.PHIL.__exit__");
2571
 
  __pyx_r = NULL;
2572
 
  __pyx_L0:;
2573
 
  __Pyx_XGIVEREF(__pyx_r);
2574
 
  __Pyx_FinishRefcountContext();
2575
 
  return __pyx_r;
2576
 
}
2577
 
 
2578
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":198
2579
 
 *         self.lock.release()
2580
 
 *         return 0
2581
 
 *     cpdef bint acquire(self, int blocking=1) except -1:             # <<<<<<<<<<<<<<
2582
 
 *         register_thread()
2583
 
 *         cdef bint rval = self.lock.acquire(blocking)
2584
 
 */
2585
 
 
2586
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL_acquire(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2587
 
static  int __pyx_f_4h5py_2h5_4PHIL_acquire(struct __pyx_obj_4h5py_2h5_PHIL *__pyx_v_self, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire *__pyx_optional_args) {
2588
 
  int __pyx_v_blocking = 1;
2589
 
  int __pyx_v_rval;
2590
 
  int __pyx_r;
2591
 
  PyObject *__pyx_1 = 0;
2592
 
  PyObject *__pyx_t_1 = NULL;
2593
 
  PyObject *__pyx_t_2 = NULL;
2594
 
  int __pyx_t_3;
2595
 
  int __pyx_t_4;
2596
 
  PyObject *__pyx_t_5 = NULL;
2597
 
  __Pyx_SetupRefcountContext("acquire");
2598
 
  if (__pyx_optional_args) {
2599
 
    if (__pyx_optional_args->__pyx_n > 0) {
2600
 
      __pyx_v_blocking = __pyx_optional_args->blocking;
2601
 
    }
2602
 
  }
2603
 
  /* Check if called by wrapper */
2604
 
  if (unlikely(__pyx_skip_dispatch)) ;
2605
 
  /* Check if overriden in Python */
2606
 
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
2607
 
    __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_acquire); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2608
 
    __Pyx_GOTREF(__pyx_1);
2609
 
    if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4h5py_2h5_4PHIL_acquire)) {
2610
 
      __pyx_t_1 = PyInt_FromLong(__pyx_v_blocking); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2611
 
      __Pyx_GOTREF(__pyx_t_1);
2612
 
      __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2613
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_2));
2614
 
      PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
2615
 
      __Pyx_GIVEREF(__pyx_t_1);
2616
 
      __pyx_t_1 = 0;
2617
 
      __pyx_t_1 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2618
 
      __Pyx_GOTREF(__pyx_t_1);
2619
 
      __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2620
 
      __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
2621
 
      __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2622
 
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2623
 
      __pyx_r = __pyx_t_3;
2624
 
      goto __pyx_L0;
2625
 
    }
2626
 
    __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2627
 
  }
2628
 
 
2629
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":199
2630
 
 *         return 0
2631
 
 *     cpdef bint acquire(self, int blocking=1) except -1:
2632
 
 *         register_thread()             # <<<<<<<<<<<<<<
2633
 
 *         cdef bint rval = self.lock.acquire(blocking)
2634
 
 *         return rval
2635
 
 */
2636
 
  __pyx_t_4 = __pyx_f_4h5py_3h5e_register_thread(0); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2637
 
 
2638
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":200
2639
 
 *     cpdef bint acquire(self, int blocking=1) except -1:
2640
 
 *         register_thread()
2641
 
 *         cdef bint rval = self.lock.acquire(blocking)             # <<<<<<<<<<<<<<
2642
 
 *         return rval
2643
 
 *     cpdef bint release(self) except -1:
2644
 
 */
2645
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self->lock, __pyx_kp_acquire); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2646
 
  __Pyx_GOTREF(__pyx_t_1);
2647
 
  __pyx_t_2 = PyInt_FromLong(__pyx_v_blocking); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2648
 
  __Pyx_GOTREF(__pyx_t_2);
2649
 
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2650
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
2651
 
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
2652
 
  __Pyx_GIVEREF(__pyx_t_2);
2653
 
  __pyx_t_2 = 0;
2654
 
  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2655
 
  __Pyx_GOTREF(__pyx_t_2);
2656
 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2657
 
  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
2658
 
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2659
 
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2660
 
  __pyx_v_rval = __pyx_t_3;
2661
 
 
2662
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":201
2663
 
 *         register_thread()
2664
 
 *         cdef bint rval = self.lock.acquire(blocking)
2665
 
 *         return rval             # <<<<<<<<<<<<<<
2666
 
 *     cpdef bint release(self) except -1:
2667
 
 *         self.lock.release()
2668
 
 */
2669
 
  __pyx_r = __pyx_v_rval;
2670
 
  goto __pyx_L0;
2671
 
 
2672
 
  __pyx_r = 0;
2673
 
  goto __pyx_L0;
2674
 
  __pyx_L1_error:;
2675
 
  __Pyx_XDECREF(__pyx_1);
2676
 
  __Pyx_XDECREF(__pyx_t_1);
2677
 
  __Pyx_XDECREF(__pyx_t_2);
2678
 
  __Pyx_XDECREF(__pyx_t_5);
2679
 
  __Pyx_AddTraceback("h5py.h5.PHIL.acquire");
2680
 
  __pyx_r = -1;
2681
 
  __pyx_L0:;
2682
 
  __Pyx_FinishRefcountContext();
2683
 
  return __pyx_r;
2684
 
}
2685
 
 
2686
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":198
2687
 
 *         self.lock.release()
2688
 
 *         return 0
2689
 
 *     cpdef bint acquire(self, int blocking=1) except -1:             # <<<<<<<<<<<<<<
2690
 
 *         register_thread()
2691
 
 *         cdef bint rval = self.lock.acquire(blocking)
2692
 
 */
2693
 
 
2694
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL_acquire(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
2695
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL_acquire(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
2696
 
  int __pyx_v_blocking;
2697
 
  PyObject *__pyx_r = NULL;
2698
 
  struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire __pyx_1;
2699
 
  int __pyx_t_1;
2700
 
  PyObject *__pyx_t_2 = NULL;
2701
 
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_blocking,0};
2702
 
  __Pyx_SetupRefcountContext("acquire");
2703
 
  if (unlikely(__pyx_kwds)) {
2704
 
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
2705
 
    PyObject* values[1] = {0};
2706
 
    switch (PyTuple_GET_SIZE(__pyx_args)) {
2707
 
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
2708
 
      case  0: break;
2709
 
      default: goto __pyx_L5_argtuple_error;
2710
 
    }
2711
 
    switch (PyTuple_GET_SIZE(__pyx_args)) {
2712
 
      case  0:
2713
 
      if (kw_args > 1) {
2714
 
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_blocking);
2715
 
        if (unlikely(value)) { values[0] = value; kw_args--; }
2716
 
      }
2717
 
    }
2718
 
    if (unlikely(kw_args > 0)) {
2719
 
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "acquire") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2720
 
    }
2721
 
    if (values[0]) {
2722
 
      __pyx_v_blocking = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_blocking == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2723
 
    } else {
2724
 
      __pyx_v_blocking = 1;
2725
 
    }
2726
 
  } else {
2727
 
    __pyx_v_blocking = 1;
2728
 
    switch (PyTuple_GET_SIZE(__pyx_args)) {
2729
 
      case  1: __pyx_v_blocking = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_blocking == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2730
 
      case  0: break;
2731
 
      default: goto __pyx_L5_argtuple_error;
2732
 
    }
2733
 
  }
2734
 
  goto __pyx_L4_argument_unpacking_done;
2735
 
  __pyx_L5_argtuple_error:;
2736
 
  __Pyx_RaiseArgtupleInvalid("acquire", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
2737
 
  __pyx_L3_error:;
2738
 
  __Pyx_AddTraceback("h5py.h5.PHIL.acquire");
2739
 
  return NULL;
2740
 
  __pyx_L4_argument_unpacking_done:;
2741
 
  __Pyx_XDECREF(__pyx_r);
2742
 
  __pyx_1.__pyx_n = 1;
2743
 
  __pyx_1.blocking = __pyx_v_blocking;
2744
 
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self)->__pyx_vtab)->acquire(((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self), 1, &__pyx_1); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2745
 
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2746
 
  __Pyx_GOTREF(__pyx_t_2);
2747
 
  __pyx_r = __pyx_t_2;
2748
 
  __pyx_t_2 = 0;
2749
 
  goto __pyx_L0;
2750
 
 
2751
 
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2752
 
  goto __pyx_L0;
2753
 
  __pyx_L1_error:;
2754
 
  __Pyx_XDECREF(__pyx_t_2);
2755
 
  __Pyx_AddTraceback("h5py.h5.PHIL.acquire");
2756
 
  __pyx_r = NULL;
2757
 
  __pyx_L0:;
2758
 
  __Pyx_XGIVEREF(__pyx_r);
2759
 
  __Pyx_FinishRefcountContext();
2760
 
  return __pyx_r;
2761
 
}
2762
 
 
2763
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":202
2764
 
 *         cdef bint rval = self.lock.acquire(blocking)
2765
 
 *         return rval
2766
 
 *     cpdef bint release(self) except -1:             # <<<<<<<<<<<<<<
2767
 
 *         self.lock.release()
2768
 
 *         return 0
2769
 
 */
2770
 
 
2771
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL_release(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
2772
 
static  int __pyx_f_4h5py_2h5_4PHIL_release(struct __pyx_obj_4h5py_2h5_PHIL *__pyx_v_self, int __pyx_skip_dispatch) {
2773
 
  int __pyx_r;
2774
 
  PyObject *__pyx_1 = 0;
2775
 
  PyObject *__pyx_t_1 = NULL;
2776
 
  int __pyx_t_2;
2777
 
  PyObject *__pyx_t_3 = NULL;
2778
 
  __Pyx_SetupRefcountContext("release");
2779
 
  /* Check if called by wrapper */
2780
 
  if (unlikely(__pyx_skip_dispatch)) ;
2781
 
  /* Check if overriden in Python */
2782
 
  else if (unlikely(Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0)) {
2783
 
    __pyx_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_kp_release); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2784
 
    __Pyx_GOTREF(__pyx_1);
2785
 
    if (!PyCFunction_Check(__pyx_1) || (PyCFunction_GET_FUNCTION(__pyx_1) != (void *)&__pyx_pf_4h5py_2h5_4PHIL_release)) {
2786
 
      __pyx_t_1 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2787
 
      __Pyx_GOTREF(__pyx_t_1);
2788
 
      __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2789
 
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2790
 
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2791
 
      __pyx_r = __pyx_t_2;
2792
 
      goto __pyx_L0;
2793
 
    }
2794
 
    __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
2795
 
  }
2796
 
 
2797
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":203
2798
 
 *         return rval
2799
 
 *     cpdef bint release(self) except -1:
2800
 
 *         self.lock.release()             # <<<<<<<<<<<<<<
2801
 
 *         return 0
2802
 
 * 
2803
 
 */
2804
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self->lock, __pyx_kp_release); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2805
 
  __Pyx_GOTREF(__pyx_t_1);
2806
 
  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2807
 
  __Pyx_GOTREF(__pyx_t_3);
2808
 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2809
 
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2810
 
 
2811
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":204
2812
 
 *     cpdef bint release(self) except -1:
2813
 
 *         self.lock.release()
2814
 
 *         return 0             # <<<<<<<<<<<<<<
2815
 
 * 
2816
 
 * cdef PHIL phil = PHIL()
2817
 
 */
2818
 
  __pyx_r = 0;
2819
 
  goto __pyx_L0;
2820
 
 
2821
 
  __pyx_r = 0;
2822
 
  goto __pyx_L0;
2823
 
  __pyx_L1_error:;
2824
 
  __Pyx_XDECREF(__pyx_1);
2825
 
  __Pyx_XDECREF(__pyx_t_1);
2826
 
  __Pyx_XDECREF(__pyx_t_3);
2827
 
  __Pyx_AddTraceback("h5py.h5.PHIL.release");
2828
 
  __pyx_r = -1;
2829
 
  __pyx_L0:;
2830
 
  __Pyx_FinishRefcountContext();
2831
 
  return __pyx_r;
2832
 
}
2833
 
 
2834
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":202
2835
 
 *         cdef bint rval = self.lock.acquire(blocking)
2836
 
 *         return rval
2837
 
 *     cpdef bint release(self) except -1:             # <<<<<<<<<<<<<<
2838
 
 *         self.lock.release()
2839
 
 *         return 0
2840
 
 */
2841
 
 
2842
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL_release(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
2843
 
static PyObject *__pyx_pf_4h5py_2h5_4PHIL_release(PyObject *__pyx_v_self, PyObject *unused) {
2844
 
  PyObject *__pyx_r = NULL;
2845
 
  int __pyx_t_1;
2846
 
  PyObject *__pyx_t_2 = NULL;
2847
 
  __Pyx_SetupRefcountContext("release");
2848
 
  __Pyx_XDECREF(__pyx_r);
2849
 
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self)->__pyx_vtab)->release(((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_v_self), 1); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2850
 
  __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2851
 
  __Pyx_GOTREF(__pyx_t_2);
2852
 
  __pyx_r = __pyx_t_2;
2853
 
  __pyx_t_2 = 0;
2854
 
  goto __pyx_L0;
2855
 
 
2856
 
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2857
 
  goto __pyx_L0;
2858
 
  __pyx_L1_error:;
2859
 
  __Pyx_XDECREF(__pyx_t_2);
2860
 
  __Pyx_AddTraceback("h5py.h5.PHIL.release");
2861
 
  __pyx_r = NULL;
2862
 
  __pyx_L0:;
2863
 
  __Pyx_XGIVEREF(__pyx_r);
2864
 
  __Pyx_FinishRefcountContext();
2865
 
  return __pyx_r;
2866
 
}
2867
 
 
2868
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":208
2869
 
 * cdef PHIL phil = PHIL()
2870
 
 * 
2871
 
 * cpdef PHIL get_phil():             # <<<<<<<<<<<<<<
2872
 
 *     """() => PHIL
2873
 
 * 
2874
 
 */
2875
 
 
2876
 
static PyObject *__pyx_pf_4h5py_2h5_get_phil(PyObject *__pyx_self, PyObject *unused); /*proto*/
2877
 
static  struct __pyx_obj_4h5py_2h5_PHIL *__pyx_f_4h5py_2h5_get_phil(int __pyx_skip_dispatch) {
2878
 
  struct __pyx_obj_4h5py_2h5_PHIL *__pyx_r = NULL;
2879
 
  __Pyx_SetupRefcountContext("get_phil");
2880
 
 
2881
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":214
2882
 
 *     """
2883
 
 *     global phil
2884
 
 *     return phil             # <<<<<<<<<<<<<<
2885
 
 * 
2886
 
 * # Everything required for the decorator is now defined
2887
 
 */
2888
 
  __Pyx_XDECREF(((PyObject *)__pyx_r));
2889
 
  __Pyx_INCREF(((PyObject *)__pyx_v_4h5py_2h5_phil));
2890
 
  __pyx_r = __pyx_v_4h5py_2h5_phil;
2891
 
  goto __pyx_L0;
2892
 
 
2893
 
  __pyx_r = ((struct __pyx_obj_4h5py_2h5_PHIL *)Py_None); __Pyx_INCREF(Py_None);
2894
 
  __pyx_L0:;
2895
 
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
2896
 
  __Pyx_FinishRefcountContext();
2897
 
  return __pyx_r;
2898
 
}
2899
 
 
2900
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":208
2901
 
 * cdef PHIL phil = PHIL()
2902
 
 * 
2903
 
 * cpdef PHIL get_phil():             # <<<<<<<<<<<<<<
2904
 
 *     """() => PHIL
2905
 
 * 
2906
 
 */
2907
 
 
2908
 
static PyObject *__pyx_pf_4h5py_2h5_get_phil(PyObject *__pyx_self, PyObject *unused); /*proto*/
2909
 
static char __pyx_doc_4h5py_2h5_get_phil[] = "() => PHIL\n\n    Obtain a reference to the PHIL.\n    ";
2910
 
static PyObject *__pyx_pf_4h5py_2h5_get_phil(PyObject *__pyx_self, PyObject *unused) {
2911
 
  PyObject *__pyx_r = NULL;
2912
 
  PyObject *__pyx_t_1 = NULL;
2913
 
  __Pyx_SetupRefcountContext("get_phil");
2914
 
  __pyx_self = __pyx_self;
2915
 
  __Pyx_XDECREF(__pyx_r);
2916
 
  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_2h5_get_phil(0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2917
 
  __Pyx_GOTREF(__pyx_t_1);
2918
 
  __pyx_r = __pyx_t_1;
2919
 
  __pyx_t_1 = 0;
2920
 
  goto __pyx_L0;
2921
 
 
2922
 
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
2923
 
  goto __pyx_L0;
2924
 
  __pyx_L1_error:;
2925
 
  __Pyx_XDECREF(__pyx_t_1);
2926
 
  __Pyx_AddTraceback("h5py.h5.get_phil");
2927
 
  __pyx_r = NULL;
2928
 
  __pyx_L0:;
2929
 
  __Pyx_XGIVEREF(__pyx_r);
2930
 
  __Pyx_FinishRefcountContext();
2931
 
  return __pyx_r;
2932
 
}
2933
 
 
2934
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":246
 
2229
  __Pyx_RefNannyFinishContext();
 
2230
  return __pyx_r;
 
2231
}
 
2232
 
 
2233
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":192
2935
2234
 *         """ Indicates whether or not this identifier points to an HDF5 object.
2936
2235
 *         """
2937
2236
 *         def __get__(self):             # <<<<<<<<<<<<<<
2938
 
 *             phil.acquire()
2939
 
 *             try:
 
2237
 *             return H5Iget_type(self.id) != H5I_BADID
 
2238
 * 
2940
2239
 */
2941
2240
 
2942
2241
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID_6_valid___get__(PyObject *__pyx_v_self); /*proto*/
2943
2242
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID_6_valid___get__(PyObject *__pyx_v_self) {
2944
2243
  PyObject *__pyx_r = NULL;
2945
 
  int __pyx_t_1;
2946
 
  H5I_type_t __pyx_t_2;
2947
 
  PyObject *__pyx_t_3 = NULL;
2948
 
  __Pyx_SetupRefcountContext("__get__");
 
2244
  H5I_type_t __pyx_t_1;
 
2245
  PyObject *__pyx_t_2 = NULL;
 
2246
  __Pyx_RefNannySetupContext("__get__");
2949
2247
 
2950
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":247
 
2248
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":193
2951
2249
 *         """
2952
2250
 *         def __get__(self):
2953
 
 *             phil.acquire()             # <<<<<<<<<<<<<<
2954
 
 *             try:
2955
 
 *                 return H5Iget_type(self.id) != H5I_BADID
2956
 
 */
2957
 
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)__pyx_v_4h5py_2h5_phil->__pyx_vtab)->acquire(__pyx_v_4h5py_2h5_phil, 0, NULL); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
2958
 
 
2959
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":248
2960
 
 *         def __get__(self):
2961
 
 *             phil.acquire()
2962
 
 *             try:             # <<<<<<<<<<<<<<
2963
 
 *                 return H5Iget_type(self.id) != H5I_BADID
2964
 
 *             finally:
2965
 
 */
2966
 
  /*try:*/ {
2967
 
 
2968
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":249
2969
 
 *             phil.acquire()
2970
 
 *             try:
2971
 
 *                 return H5Iget_type(self.id) != H5I_BADID             # <<<<<<<<<<<<<<
2972
 
 *             finally:
2973
 
 *                 phil.release()
2974
 
 */
2975
 
    __Pyx_XDECREF(__pyx_r);
2976
 
    __pyx_t_2 = H5Iget_type(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L6;}
2977
 
    __pyx_t_3 = __Pyx_PyBool_FromLong((__pyx_t_2 != H5I_BADID)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L6;}
2978
 
    __Pyx_GOTREF(__pyx_t_3);
2979
 
    __pyx_r = __pyx_t_3;
2980
 
    __pyx_t_3 = 0;
2981
 
    goto __pyx_L5;
2982
 
  }
2983
 
  /*finally:*/ {
2984
 
    int __pyx_why;
2985
 
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
2986
 
    int __pyx_exc_lineno;
2987
 
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
2988
 
    __pyx_why = 0; goto __pyx_L7;
2989
 
    __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
2990
 
    __pyx_why = 3; goto __pyx_L7;
2991
 
    __pyx_L6: {
2992
 
      __pyx_why = 4;
2993
 
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
2994
 
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
2995
 
      __pyx_exc_lineno = __pyx_lineno;
2996
 
      goto __pyx_L7;
2997
 
    }
2998
 
    __pyx_L7:;
2999
 
 
3000
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":251
3001
 
 *                 return H5Iget_type(self.id) != H5I_BADID
3002
 
 *             finally:
3003
 
 *                 phil.release()             # <<<<<<<<<<<<<<
3004
 
 * 
3005
 
 *     def __nonzero__(self):
3006
 
 */
3007
 
    __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)__pyx_v_4h5py_2h5_phil->__pyx_vtab)->release(__pyx_v_4h5py_2h5_phil, 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
3008
 
    goto __pyx_L9;
3009
 
    __pyx_L8_error:;
3010
 
    if (__pyx_why == 4) {
3011
 
      Py_XDECREF(__pyx_exc_type);
3012
 
      Py_XDECREF(__pyx_exc_value);
3013
 
      Py_XDECREF(__pyx_exc_tb);
3014
 
    }
3015
 
    goto __pyx_L1_error;
3016
 
    __pyx_L9:;
3017
 
    switch (__pyx_why) {
3018
 
      case 3: goto __pyx_L0;
3019
 
      case 4: {
3020
 
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
3021
 
        __pyx_lineno = __pyx_exc_lineno;
3022
 
        __pyx_exc_type = 0;
3023
 
        __pyx_exc_value = 0;
3024
 
        __pyx_exc_tb = 0;
3025
 
        goto __pyx_L1_error;
3026
 
      }
3027
 
    }
3028
 
  }
 
2251
 *             return H5Iget_type(self.id) != H5I_BADID             # <<<<<<<<<<<<<<
 
2252
 * 
 
2253
 * 
 
2254
 */
 
2255
  __Pyx_XDECREF(__pyx_r);
 
2256
  __pyx_t_1 = H5Iget_type(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2257
  __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_t_1 != H5I_BADID)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2258
  __Pyx_GOTREF(__pyx_t_2);
 
2259
  __pyx_r = __pyx_t_2;
 
2260
  __pyx_t_2 = 0;
 
2261
  goto __pyx_L0;
3029
2262
 
3030
2263
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3031
2264
  goto __pyx_L0;
3032
2265
  __pyx_L1_error:;
3033
 
  __Pyx_XDECREF(__pyx_t_3);
 
2266
  __Pyx_XDECREF(__pyx_t_2);
3034
2267
  __Pyx_AddTraceback("h5py.h5.ObjectID._valid.__get__");
3035
2268
  __pyx_r = NULL;
3036
2269
  __pyx_L0:;
3037
2270
  __Pyx_XGIVEREF(__pyx_r);
3038
 
  __Pyx_FinishRefcountContext();
 
2271
  __Pyx_RefNannyFinishContext();
3039
2272
  return __pyx_r;
3040
2273
}
3041
2274
 
3042
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":253
3043
 
 *                 phil.release()
 
2275
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":196
 
2276
 * 
3044
2277
 * 
3045
2278
 *     def __nonzero__(self):             # <<<<<<<<<<<<<<
3046
2279
 *         """ Truth value for object identifiers (like _valid) """
3053
2286
  int __pyx_r;
3054
2287
  PyObject *__pyx_t_1 = NULL;
3055
2288
  int __pyx_t_2;
3056
 
  __Pyx_SetupRefcountContext("__nonzero__");
 
2289
  __Pyx_RefNannySetupContext("__nonzero__");
3057
2290
 
3058
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":255
 
2291
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":198
3059
2292
 *     def __nonzero__(self):
3060
2293
 *         """ Truth value for object identifiers (like _valid) """
3061
2294
 *         return self._valid             # <<<<<<<<<<<<<<
3062
2295
 * 
3063
2296
 *     def __cinit__(self, hid_t id_):
3064
2297
 */
3065
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_kp__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2298
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s___valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3066
2299
  __Pyx_GOTREF(__pyx_t_1);
3067
 
  __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2300
  __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3068
2301
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3069
2302
  __pyx_r = __pyx_t_2;
3070
2303
  goto __pyx_L0;
3076
2309
  __Pyx_AddTraceback("h5py.h5.ObjectID.__nonzero__");
3077
2310
  __pyx_r = -1;
3078
2311
  __pyx_L0:;
3079
 
  __Pyx_FinishRefcountContext();
 
2312
  __Pyx_RefNannyFinishContext();
3080
2313
  return __pyx_r;
3081
2314
}
3082
2315
 
3083
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":257
 
2316
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":200
3084
2317
 *         return self._valid
3085
2318
 * 
3086
2319
 *     def __cinit__(self, hid_t id_):             # <<<<<<<<<<<<<<
3093
2326
static int __pyx_pf_4h5py_2h5_8ObjectID___cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
3094
2327
  hid_t __pyx_v_id_;
3095
2328
  int __pyx_r;
3096
 
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_id_,0};
3097
 
  __Pyx_SetupRefcountContext("__cinit__");
 
2329
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__id_,0};
 
2330
  __Pyx_RefNannySetupContext("__cinit__");
3098
2331
  if (unlikely(__pyx_kwds)) {
3099
2332
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
3100
2333
    PyObject* values[1] = {0};
3105
2338
    }
3106
2339
    switch (PyTuple_GET_SIZE(__pyx_args)) {
3107
2340
      case  0:
3108
 
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_id_);
 
2341
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id_);
3109
2342
      if (likely(values[0])) kw_args--;
3110
2343
      else goto __pyx_L5_argtuple_error;
3111
2344
    }
3112
2345
    if (unlikely(kw_args > 0)) {
3113
 
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__cinit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
2346
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "__cinit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3114
2347
    }
3115
 
    __pyx_v_id_ = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_id_ == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
2348
    __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(values[0]); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3116
2349
  } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
3117
2350
    goto __pyx_L5_argtuple_error;
3118
2351
  } else {
3119
 
    __pyx_v_id_ = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_id_ == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
2352
    __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3120
2353
  }
3121
2354
  goto __pyx_L4_argument_unpacking_done;
3122
2355
  __pyx_L5_argtuple_error:;
3123
 
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
2356
  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
3124
2357
  __pyx_L3_error:;
3125
2358
  __Pyx_AddTraceback("h5py.h5.ObjectID.__cinit__");
3126
2359
  return -1;
3127
2360
  __pyx_L4_argument_unpacking_done:;
3128
2361
 
3129
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":259
 
2362
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":202
3130
2363
 *     def __cinit__(self, hid_t id_):
3131
2364
 *         """ Object init; simply records the given ID. """
3132
2365
 *         self._locked = 0             # <<<<<<<<<<<<<<
3135
2368
 */
3136
2369
  ((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked = 0;
3137
2370
 
3138
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":260
 
2371
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":203
3139
2372
 *         """ Object init; simply records the given ID. """
3140
2373
 *         self._locked = 0
3141
2374
 *         self.id = id_             # <<<<<<<<<<<<<<
3142
2375
 * 
3143
 
 *     IF H5PY_DEBUG:
 
2376
 *     def __dealloc__(self):
3144
2377
 */
3145
2378
  ((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id = __pyx_v_id_;
3146
2379
 
3147
2380
  __pyx_r = 0;
3148
 
  __Pyx_FinishRefcountContext();
 
2381
  __Pyx_RefNannyFinishContext();
3149
2382
  return __pyx_r;
3150
2383
}
3151
2384
 
3152
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":266
3153
 
 *             log_ident.debug("+ %s" % str(self))
 
2385
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":205
 
2386
 *         self.id = id_
3154
2387
 * 
3155
2388
 *     def __dealloc__(self):             # <<<<<<<<<<<<<<
3156
2389
 *         """ Automatically decrefs the ID, if it's valid. """
3160
2393
static void __pyx_pf_4h5py_2h5_8ObjectID___dealloc__(PyObject *__pyx_v_self); /*proto*/
3161
2394
static char __pyx_doc_4h5py_2h5_8ObjectID___dealloc__[] = " Automatically decrefs the ID, if it's valid. ";
3162
2395
static void __pyx_pf_4h5py_2h5_8ObjectID___dealloc__(PyObject *__pyx_v_self) {
3163
 
  H5I_type_t __pyx_t_1;
3164
 
  int __pyx_t_2;
 
2396
  int __pyx_t_1;
 
2397
  H5I_type_t __pyx_t_2;
3165
2398
  int __pyx_t_3;
3166
 
  __Pyx_SetupRefcountContext("__dealloc__");
 
2399
  int __pyx_t_4;
 
2400
  int __pyx_t_5;
 
2401
  __Pyx_RefNannySetupContext("__dealloc__");
 
2402
  __Pyx_INCREF((PyObject *)__pyx_v_self);
3167
2403
 
3168
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":275
3169
 
 *         IF H5PY_DEBUG:
3170
 
 *             log_ident.debug("- %d" % self.id)
 
2404
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":208
 
2405
 *         """ Automatically decrefs the ID, if it's valid. """
 
2406
 * 
3171
2407
 *         if (not self._locked) and H5Iget_type(self.id) != H5I_BADID:             # <<<<<<<<<<<<<<
3172
2408
 *             H5Idec_ref(self.id)
3173
2409
 * 
3174
2410
 */
3175
 
  if ((!((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked)) {
3176
 
    __pyx_t_1 = H5Iget_type(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3177
 
    __pyx_t_2 = (__pyx_t_1 != H5I_BADID);
 
2411
  __pyx_t_1 = (!((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked);
 
2412
  if (__pyx_t_1) {
 
2413
    __pyx_t_2 = H5Iget_type(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2414
    __pyx_t_3 = (__pyx_t_2 != H5I_BADID);
 
2415
    __pyx_t_4 = __pyx_t_3;
3178
2416
  } else {
3179
 
    __pyx_t_2 = (!((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked);
 
2417
    __pyx_t_4 = __pyx_t_1;
3180
2418
  }
3181
 
  if (__pyx_t_2) {
 
2419
  if (__pyx_t_4) {
3182
2420
 
3183
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":276
3184
 
 *             log_ident.debug("- %d" % self.id)
 
2421
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":209
 
2422
 * 
3185
2423
 *         if (not self._locked) and H5Iget_type(self.id) != H5I_BADID:
3186
2424
 *             H5Idec_ref(self.id)             # <<<<<<<<<<<<<<
3187
2425
 * 
3188
2426
 * 
3189
2427
 */
3190
 
    __pyx_t_3 = H5Idec_ref(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2428
    __pyx_t_5 = H5Idec_ref(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3191
2429
    goto __pyx_L5;
3192
2430
  }
3193
2431
  __pyx_L5:;
3196
2434
  __pyx_L1_error:;
3197
2435
  __Pyx_AddTraceback("h5py.h5.ObjectID.__dealloc__");
3198
2436
  __pyx_L0:;
3199
 
  __Pyx_FinishRefcountContext();
 
2437
  __Pyx_DECREF((PyObject *)__pyx_v_self);
 
2438
  __Pyx_RefNannyFinishContext();
3200
2439
}
3201
2440
 
3202
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":279
 
2441
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":212
3203
2442
 * 
3204
2443
 * 
3205
2444
 *     def __copy__(self):             # <<<<<<<<<<<<<<
3212
2451
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID___copy__(PyObject *__pyx_v_self, PyObject *unused) {
3213
2452
  struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_copy;
3214
2453
  PyObject *__pyx_r = NULL;
3215
 
  int __pyx_t_1;
 
2454
  PyObject *__pyx_t_1 = NULL;
3216
2455
  PyObject *__pyx_t_2 = NULL;
3217
2456
  PyObject *__pyx_t_3 = NULL;
3218
 
  PyObject *__pyx_t_4 = NULL;
 
2457
  int __pyx_t_4;
3219
2458
  int __pyx_t_5;
3220
2459
  int __pyx_t_6;
3221
2460
  int __pyx_t_7;
3222
 
  __Pyx_SetupRefcountContext("__copy__");
 
2461
  __Pyx_RefNannySetupContext("__copy__");
 
2462
  __Pyx_INCREF((PyObject *)__pyx_v_self);
3223
2463
  __pyx_v_copy = ((struct __pyx_obj_4h5py_2h5_ObjectID *)Py_None); __Pyx_INCREF(Py_None);
3224
2464
 
3225
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":286
 
2465
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":219
3226
2466
 *         """
3227
2467
 *         cdef ObjectID copy
3228
 
 *         phil.acquire()             # <<<<<<<<<<<<<<
3229
 
 *         try:
3230
 
 *             copy = type(self)(self.id)
 
2468
 *         copy = type(self)(self.id)             # <<<<<<<<<<<<<<
 
2469
 *         if self._valid and not self._locked:
 
2470
 *             H5Iinc_ref(self.id)
3231
2471
 */
3232
 
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)__pyx_v_4h5py_2h5_phil->__pyx_vtab)->acquire(__pyx_v_4h5py_2h5_phil, 0, NULL); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2472
  __pyx_t_1 = ((PyObject *)__Pyx_Type(__pyx_v_self)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2473
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
2474
  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2475
  __Pyx_GOTREF(__pyx_t_2);
 
2476
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2477
  __Pyx_GOTREF(__pyx_t_3);
 
2478
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
 
2479
  __Pyx_GIVEREF(__pyx_t_2);
 
2480
  __pyx_t_2 = 0;
 
2481
  __pyx_t_2 = PyObject_Call(((PyObject *)__pyx_t_1), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2482
  __Pyx_GOTREF(__pyx_t_2);
 
2483
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
2484
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
2485
  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_2h5_ObjectID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2486
  __Pyx_DECREF(((PyObject *)__pyx_v_copy));
 
2487
  __pyx_v_copy = ((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_t_2);
 
2488
  __pyx_t_2 = 0;
3233
2489
 
3234
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":287
 
2490
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":220
3235
2491
 *         cdef ObjectID copy
3236
 
 *         phil.acquire()
3237
 
 *         try:             # <<<<<<<<<<<<<<
3238
 
 *             copy = type(self)(self.id)
3239
 
 *             if self._valid and not self._locked:
3240
 
 */
3241
 
  /*try:*/ {
3242
 
 
3243
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":288
3244
 
 *         phil.acquire()
3245
 
 *         try:
3246
 
 *             copy = type(self)(self.id)             # <<<<<<<<<<<<<<
3247
 
 *             if self._valid and not self._locked:
3248
 
 *                 H5Iinc_ref(self.id)
3249
 
 */
3250
 
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L6;}
3251
 
    __Pyx_GOTREF(((PyObject *)__pyx_t_2));
3252
 
    __Pyx_INCREF(__pyx_v_self);
3253
 
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self);
3254
 
    __Pyx_GIVEREF(__pyx_v_self);
3255
 
    __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyType_Type)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L6;}
3256
 
    __Pyx_GOTREF(__pyx_t_3);
3257
 
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
3258
 
    __pyx_t_2 = PyInt_FromLong(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L6;}
3259
 
    __Pyx_GOTREF(__pyx_t_2);
3260
 
    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L6;}
3261
 
    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
3262
 
    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
3263
 
    __Pyx_GIVEREF(__pyx_t_2);
3264
 
    __pyx_t_2 = 0;
3265
 
    __pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L6;}
3266
 
    __Pyx_GOTREF(__pyx_t_2);
3267
 
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3268
 
    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
3269
 
    if (!(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_2h5_ObjectID))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L6;}
3270
 
    __Pyx_DECREF(((PyObject *)__pyx_v_copy));
3271
 
    __pyx_v_copy = ((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_t_2);
3272
 
    __pyx_t_2 = 0;
3273
 
 
3274
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":289
3275
 
 *         try:
3276
 
 *             copy = type(self)(self.id)
3277
 
 *             if self._valid and not self._locked:             # <<<<<<<<<<<<<<
3278
 
 *                 H5Iinc_ref(self.id)
3279
 
 *             copy._locked = self._locked
3280
 
 */
3281
 
    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_kp__valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L6;}
3282
 
    __Pyx_GOTREF(__pyx_t_2);
3283
 
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L6;}
3284
 
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3285
 
    if (__pyx_t_1) {
3286
 
      __pyx_t_5 = (!((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked);
3287
 
      __pyx_t_6 = __pyx_t_5;
3288
 
    } else {
3289
 
      __pyx_t_6 = __pyx_t_1;
3290
 
    }
3291
 
    if (__pyx_t_6) {
3292
 
 
3293
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":290
3294
 
 *             copy = type(self)(self.id)
3295
 
 *             if self._valid and not self._locked:
3296
 
 *                 H5Iinc_ref(self.id)             # <<<<<<<<<<<<<<
3297
 
 *             copy._locked = self._locked
3298
 
 *             IF H5PY_DEBUG:
3299
 
 */
3300
 
      __pyx_t_7 = H5Iinc_ref(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L6;}
3301
 
      goto __pyx_L8;
3302
 
    }
3303
 
    __pyx_L8:;
3304
 
 
3305
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":291
3306
 
 *             if self._valid and not self._locked:
3307
 
 *                 H5Iinc_ref(self.id)
3308
 
 *             copy._locked = self._locked             # <<<<<<<<<<<<<<
3309
 
 *             IF H5PY_DEBUG:
3310
 
 *                 log_ident.debug("c %s" % str(self))
3311
 
 */
3312
 
    __pyx_v_copy->_locked = ((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked;
3313
 
 
3314
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":294
3315
 
 *             IF H5PY_DEBUG:
3316
 
 *                 log_ident.debug("c %s" % str(self))
3317
 
 *             return copy             # <<<<<<<<<<<<<<
3318
 
 *         finally:
3319
 
 *             phil.release()
3320
 
 */
3321
 
    __Pyx_XDECREF(__pyx_r);
3322
 
    __Pyx_INCREF(((PyObject *)__pyx_v_copy));
3323
 
    __pyx_r = ((PyObject *)__pyx_v_copy);
 
2492
 *         copy = type(self)(self.id)
 
2493
 *         if self._valid and not self._locked:             # <<<<<<<<<<<<<<
 
2494
 *             H5Iinc_ref(self.id)
 
2495
 *         copy._locked = self._locked
 
2496
 */
 
2497
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s___valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2498
  __Pyx_GOTREF(__pyx_t_2);
 
2499
  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2500
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
2501
  if (__pyx_t_4) {
 
2502
    __pyx_t_5 = (!((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked);
 
2503
    __pyx_t_6 = __pyx_t_5;
 
2504
  } else {
 
2505
    __pyx_t_6 = __pyx_t_4;
 
2506
  }
 
2507
  if (__pyx_t_6) {
 
2508
 
 
2509
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":221
 
2510
 *         copy = type(self)(self.id)
 
2511
 *         if self._valid and not self._locked:
 
2512
 *             H5Iinc_ref(self.id)             # <<<<<<<<<<<<<<
 
2513
 *         copy._locked = self._locked
 
2514
 *         return copy
 
2515
 */
 
2516
    __pyx_t_7 = H5Iinc_ref(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3324
2517
    goto __pyx_L5;
3325
2518
  }
3326
 
  /*finally:*/ {
3327
 
    int __pyx_why;
3328
 
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
3329
 
    int __pyx_exc_lineno;
3330
 
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
3331
 
    __pyx_why = 0; goto __pyx_L7;
3332
 
    __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
3333
 
    __pyx_why = 3; goto __pyx_L7;
3334
 
    __pyx_L6: {
3335
 
      __pyx_why = 4;
3336
 
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
3337
 
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
3338
 
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
3339
 
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
3340
 
      __pyx_exc_lineno = __pyx_lineno;
3341
 
      goto __pyx_L7;
3342
 
    }
3343
 
    __pyx_L7:;
3344
 
 
3345
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":296
3346
 
 *             return copy
3347
 
 *         finally:
3348
 
 *             phil.release()             # <<<<<<<<<<<<<<
 
2519
  __pyx_L5:;
 
2520
 
 
2521
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":222
 
2522
 *         if self._valid and not self._locked:
 
2523
 *             H5Iinc_ref(self.id)
 
2524
 *         copy._locked = self._locked             # <<<<<<<<<<<<<<
 
2525
 *         return copy
 
2526
 * 
 
2527
 */
 
2528
  __pyx_v_copy->_locked = ((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked;
 
2529
 
 
2530
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":223
 
2531
 *             H5Iinc_ref(self.id)
 
2532
 *         copy._locked = self._locked
 
2533
 *         return copy             # <<<<<<<<<<<<<<
3349
2534
 * 
3350
2535
 *     def __richcmp__(self, object other, int how):
3351
2536
 */
3352
 
    __pyx_t_6 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)__pyx_v_4h5py_2h5_phil->__pyx_vtab)->release(__pyx_v_4h5py_2h5_phil, 0); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
3353
 
    goto __pyx_L10;
3354
 
    __pyx_L9_error:;
3355
 
    if (__pyx_why == 4) {
3356
 
      Py_XDECREF(__pyx_exc_type);
3357
 
      Py_XDECREF(__pyx_exc_value);
3358
 
      Py_XDECREF(__pyx_exc_tb);
3359
 
    }
3360
 
    goto __pyx_L1_error;
3361
 
    __pyx_L10:;
3362
 
    switch (__pyx_why) {
3363
 
      case 3: goto __pyx_L0;
3364
 
      case 4: {
3365
 
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
3366
 
        __pyx_lineno = __pyx_exc_lineno;
3367
 
        __pyx_exc_type = 0;
3368
 
        __pyx_exc_value = 0;
3369
 
        __pyx_exc_tb = 0;
3370
 
        goto __pyx_L1_error;
3371
 
      }
3372
 
    }
3373
 
  }
 
2537
  __Pyx_XDECREF(__pyx_r);
 
2538
  __Pyx_INCREF(((PyObject *)__pyx_v_copy));
 
2539
  __pyx_r = ((PyObject *)__pyx_v_copy);
 
2540
  goto __pyx_L0;
3374
2541
 
3375
2542
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3376
2543
  goto __pyx_L0;
3377
2544
  __pyx_L1_error:;
 
2545
  __Pyx_XDECREF(__pyx_t_1);
3378
2546
  __Pyx_XDECREF(__pyx_t_2);
3379
2547
  __Pyx_XDECREF(__pyx_t_3);
3380
 
  __Pyx_XDECREF(__pyx_t_4);
3381
2548
  __Pyx_AddTraceback("h5py.h5.ObjectID.__copy__");
3382
2549
  __pyx_r = NULL;
3383
2550
  __pyx_L0:;
3384
2551
  __Pyx_DECREF((PyObject *)__pyx_v_copy);
 
2552
  __Pyx_DECREF((PyObject *)__pyx_v_self);
3385
2553
  __Pyx_XGIVEREF(__pyx_r);
3386
 
  __Pyx_FinishRefcountContext();
 
2554
  __Pyx_RefNannyFinishContext();
3387
2555
  return __pyx_r;
3388
2556
}
3389
2557
 
3390
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":298
3391
 
 *             phil.release()
 
2558
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":225
 
2559
 *         return copy
3392
2560
 * 
3393
2561
 *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
3394
2562
 *         """ Basic comparison for HDF5 objects.  Implements only equality:
3400
2568
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID___richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
3401
2569
  int __pyx_v_truthval;
3402
2570
  PyObject *__pyx_r = NULL;
3403
 
  int __pyx_1;
3404
2571
  int __pyx_t_1;
3405
 
  PyObject *__pyx_t_2 = NULL;
3406
 
  PyObject *__pyx_t_3 = NULL;
3407
 
  long __pyx_t_4;
 
2572
  int __pyx_t_2;
 
2573
  int __pyx_t_3;
 
2574
  PyObject *__pyx_t_4 = NULL;
3408
2575
  long __pyx_t_5;
3409
 
  PyObject *__pyx_t_6 = NULL;
3410
 
  PyObject *__pyx_t_7 = NULL;
 
2576
  long __pyx_t_6;
 
2577
  int __pyx_t_7;
3411
2578
  PyObject *__pyx_t_8 = NULL;
3412
2579
  PyObject *__pyx_t_9 = NULL;
3413
 
  __Pyx_SetupRefcountContext("__richcmp__");
 
2580
  PyObject *__pyx_t_10 = NULL;
 
2581
  PyObject *__pyx_t_11 = NULL;
 
2582
  PyObject *__pyx_t_12 = NULL;
 
2583
  __Pyx_RefNannySetupContext("__richcmp__");
 
2584
  __Pyx_INCREF(__pyx_v_self);
 
2585
  __Pyx_INCREF(__pyx_v_other);
3414
2586
 
3415
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":305
 
2587
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":232
3416
2588
 *             3. If unhashable, compare identifiers
3417
2589
 *         """
3418
2590
 *         cdef bint truthval = 0             # <<<<<<<<<<<<<<
3421
2593
 */
3422
2594
  __pyx_v_truthval = 0;
3423
2595
 
3424
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":307
 
2596
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":234
3425
2597
 *         cdef bint truthval = 0
3426
2598
 * 
3427
2599
 *         if how != 2 and how != 3:             # <<<<<<<<<<<<<<
3428
2600
 *             return NotImplemented
3429
2601
 * 
3430
2602
 */
3431
 
  if ((__pyx_v_how != 2)) {
3432
 
    __pyx_t_1 = (__pyx_v_how != 3);
 
2603
  __pyx_t_1 = (__pyx_v_how != 2);
 
2604
  if (__pyx_t_1) {
 
2605
    __pyx_t_2 = (__pyx_v_how != 3);
 
2606
    __pyx_t_3 = __pyx_t_2;
3433
2607
  } else {
3434
 
    __pyx_t_1 = (__pyx_v_how != 2);
 
2608
    __pyx_t_3 = __pyx_t_1;
3435
2609
  }
3436
 
  if (__pyx_t_1) {
 
2610
  if (__pyx_t_3) {
3437
2611
 
3438
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":308
 
2612
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":235
3439
2613
 * 
3440
2614
 *         if how != 2 and how != 3:
3441
2615
 *             return NotImplemented             # <<<<<<<<<<<<<<
3450
2624
  }
3451
2625
  __pyx_L5:;
3452
2626
 
3453
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":310
 
2627
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":237
3454
2628
 *             return NotImplemented
3455
2629
 * 
3456
2630
 *         if isinstance(other, type(self)):             # <<<<<<<<<<<<<<
3457
2631
 *             try:
3458
2632
 *                 truthval = hash(self) == hash(other)
3459
2633
 */
3460
 
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3461
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
3462
 
  __Pyx_INCREF(__pyx_v_self);
3463
 
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self);
3464
 
  __Pyx_GIVEREF(__pyx_v_self);
3465
 
  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)&PyType_Type)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3466
 
  __Pyx_GOTREF(__pyx_t_3);
3467
 
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
3468
 
  __pyx_t_1 = PyObject_IsInstance(__pyx_v_other, __pyx_t_3); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3469
 
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3470
 
  if (__pyx_t_1) {
 
2634
  __pyx_t_4 = ((PyObject *)__Pyx_Type(__pyx_v_self)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2635
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
 
2636
  __pyx_t_4 = ((PyObject *)__Pyx_Type(__pyx_v_self)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2637
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
 
2638
  __pyx_t_3 = PyObject_TypeCheck(__pyx_v_other, ((PyTypeObject *)__pyx_t_4)); 
 
2639
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
 
2640
  if (__pyx_t_3) {
3471
2641
 
3472
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":311
 
2642
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":238
3473
2643
 * 
3474
2644
 *         if isinstance(other, type(self)):
3475
2645
 *             try:             # <<<<<<<<<<<<<<
3484
2654
      __Pyx_XGOTREF(__pyx_save_exc_tb);
3485
2655
      /*try:*/ {
3486
2656
 
3487
 
        /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":312
 
2657
        /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":239
3488
2658
 *         if isinstance(other, type(self)):
3489
2659
 *             try:
3490
2660
 *                 truthval = hash(self) == hash(other)             # <<<<<<<<<<<<<<
3491
2661
 *             except TypeError:
3492
2662
 *                 truthval = self.id == other.id
3493
2663
 */
3494
 
        __pyx_t_4 = PyObject_Hash(__pyx_v_self); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
3495
 
        __pyx_t_5 = PyObject_Hash(__pyx_v_other); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
3496
 
        __pyx_v_truthval = (__pyx_t_4 == __pyx_t_5);
 
2664
        __pyx_t_5 = PyObject_Hash(__pyx_v_self); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
 
2665
        __pyx_t_6 = PyObject_Hash(__pyx_v_other); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
 
2666
        __pyx_v_truthval = (__pyx_t_5 == __pyx_t_6);
3497
2667
      }
3498
2668
      __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0;
3499
2669
      __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0;
3500
2670
      __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0;
3501
2671
      goto __pyx_L14_try_end;
3502
2672
      __pyx_L7_error:;
3503
 
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
3504
 
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
 
2673
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
3505
2674
 
3506
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":313
 
2675
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":240
3507
2676
 *             try:
3508
2677
 *                 truthval = hash(self) == hash(other)
3509
2678
 *             except TypeError:             # <<<<<<<<<<<<<<
3510
2679
 *                 truthval = self.id == other.id
3511
2680
 * 
3512
2681
 */
3513
 
      __pyx_1 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
3514
 
      if (__pyx_1) {
3515
 
        __Pyx_AddTraceback("h5py.h5.__richcmp__");
3516
 
        if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
3517
 
        __Pyx_GOTREF(__pyx_t_3);
3518
 
        __Pyx_GOTREF(__pyx_t_2);
3519
 
        __Pyx_GOTREF(__pyx_t_6);
 
2682
      __pyx_t_7 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
 
2683
      if (__pyx_t_7) {
 
2684
        __Pyx_AddTraceback("h5py.h5.ObjectID.__richcmp__");
 
2685
        if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_8, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2686
        __Pyx_GOTREF(__pyx_t_4);
 
2687
        __Pyx_GOTREF(__pyx_t_8);
 
2688
        __Pyx_GOTREF(__pyx_t_9);
3520
2689
 
3521
 
        /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":314
 
2690
        /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":241
3522
2691
 *                 truthval = hash(self) == hash(other)
3523
2692
 *             except TypeError:
3524
2693
 *                 truthval = self.id == other.id             # <<<<<<<<<<<<<<
3525
2694
 * 
3526
2695
 *         if how == 2:
3527
2696
 */
3528
 
        __pyx_t_7 = PyObject_GetAttr(__pyx_v_self, __pyx_kp_id); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
3529
 
        __Pyx_GOTREF(__pyx_t_7);
3530
 
        __pyx_t_8 = PyObject_GetAttr(__pyx_v_other, __pyx_kp_id); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
3531
 
        __Pyx_GOTREF(__pyx_t_8);
3532
 
        __pyx_t_9 = PyObject_RichCompare(__pyx_t_7, __pyx_t_8, Py_EQ); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
3533
 
        __Pyx_GOTREF(__pyx_t_9);
3534
 
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 
2697
        __pyx_t_10 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2698
        __Pyx_GOTREF(__pyx_t_10);
 
2699
        __pyx_t_11 = PyObject_GetAttr(__pyx_v_other, __pyx_n_s__id); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2700
        __Pyx_GOTREF(__pyx_t_11);
 
2701
        __pyx_t_12 = PyObject_RichCompare(__pyx_t_10, __pyx_t_11, Py_EQ); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2702
        __Pyx_GOTREF(__pyx_t_12);
 
2703
        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
 
2704
        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
 
2705
        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely((__pyx_t_3 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2706
        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
 
2707
        __pyx_v_truthval = __pyx_t_3;
 
2708
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3535
2709
        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3536
 
        __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely((__pyx_t_1 == (int)-1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
3537
2710
        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
3538
 
        __pyx_v_truthval = __pyx_t_1;
3539
 
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3540
 
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3541
 
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3542
2711
        goto __pyx_L8_exception_handled;
3543
2712
      }
3544
2713
      __pyx_L9_except_error:;
3545
 
      __Pyx_XDECREF(__pyx_save_exc_type);
3546
 
      __Pyx_XDECREF(__pyx_save_exc_value);
3547
 
      __Pyx_XDECREF(__pyx_save_exc_tb);
 
2714
      __Pyx_XGIVEREF(__pyx_save_exc_type);
 
2715
      __Pyx_XGIVEREF(__pyx_save_exc_value);
 
2716
      __Pyx_XGIVEREF(__pyx_save_exc_tb);
 
2717
      __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
3548
2718
      goto __pyx_L1_error;
3549
2719
      __pyx_L8_exception_handled:;
3550
2720
      __Pyx_XGIVEREF(__pyx_save_exc_type);
3557
2727
  }
3558
2728
  __pyx_L6:;
3559
2729
 
3560
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":316
 
2730
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":243
3561
2731
 *                 truthval = self.id == other.id
3562
2732
 * 
3563
2733
 *         if how == 2:             # <<<<<<<<<<<<<<
3564
2734
 *             return truthval
3565
2735
 *         return not truthval
3566
2736
 */
3567
 
  __pyx_t_1 = (__pyx_v_how == 2);
3568
 
  if (__pyx_t_1) {
 
2737
  __pyx_t_3 = (__pyx_v_how == 2);
 
2738
  if (__pyx_t_3) {
3569
2739
 
3570
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":317
 
2740
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":244
3571
2741
 * 
3572
2742
 *         if how == 2:
3573
2743
 *             return truthval             # <<<<<<<<<<<<<<
3575
2745
 * 
3576
2746
 */
3577
2747
    __Pyx_XDECREF(__pyx_r);
3578
 
    __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_truthval); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3579
 
    __Pyx_GOTREF(__pyx_t_6);
3580
 
    __pyx_r = __pyx_t_6;
3581
 
    __pyx_t_6 = 0;
 
2748
    __pyx_t_9 = __Pyx_PyBool_FromLong(__pyx_v_truthval); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2749
    __Pyx_GOTREF(__pyx_t_9);
 
2750
    __pyx_r = __pyx_t_9;
 
2751
    __pyx_t_9 = 0;
3582
2752
    goto __pyx_L0;
3583
2753
    goto __pyx_L17;
3584
2754
  }
3585
2755
  __pyx_L17:;
3586
2756
 
3587
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":318
 
2757
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":245
3588
2758
 *         if how == 2:
3589
2759
 *             return truthval
3590
2760
 *         return not truthval             # <<<<<<<<<<<<<<
3592
2762
 *     def __hash__(self):
3593
2763
 */
3594
2764
  __Pyx_XDECREF(__pyx_r);
3595
 
  __pyx_t_6 = __Pyx_PyBool_FromLong((!__pyx_v_truthval)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3596
 
  __Pyx_GOTREF(__pyx_t_6);
3597
 
  __pyx_r = __pyx_t_6;
3598
 
  __pyx_t_6 = 0;
 
2765
  __pyx_t_9 = __Pyx_PyBool_FromLong((!__pyx_v_truthval)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2766
  __Pyx_GOTREF(__pyx_t_9);
 
2767
  __pyx_r = __pyx_t_9;
 
2768
  __pyx_t_9 = 0;
3599
2769
  goto __pyx_L0;
3600
2770
 
3601
2771
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
3602
2772
  goto __pyx_L0;
3603
2773
  __pyx_L1_error:;
3604
 
  __Pyx_XDECREF(__pyx_t_2);
3605
 
  __Pyx_XDECREF(__pyx_t_3);
3606
 
  __Pyx_XDECREF(__pyx_t_6);
3607
 
  __Pyx_XDECREF(__pyx_t_7);
 
2774
  __Pyx_XDECREF(__pyx_t_4);
3608
2775
  __Pyx_XDECREF(__pyx_t_8);
3609
2776
  __Pyx_XDECREF(__pyx_t_9);
 
2777
  __Pyx_XDECREF(__pyx_t_10);
 
2778
  __Pyx_XDECREF(__pyx_t_11);
 
2779
  __Pyx_XDECREF(__pyx_t_12);
3610
2780
  __Pyx_AddTraceback("h5py.h5.ObjectID.__richcmp__");
3611
2781
  __pyx_r = NULL;
3612
2782
  __pyx_L0:;
 
2783
  __Pyx_DECREF(__pyx_v_self);
 
2784
  __Pyx_DECREF(__pyx_v_other);
3613
2785
  __Pyx_XGIVEREF(__pyx_r);
3614
 
  __Pyx_FinishRefcountContext();
 
2786
  __Pyx_RefNannyFinishContext();
3615
2787
  return __pyx_r;
3616
2788
}
3617
2789
 
3618
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":320
 
2790
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":247
3619
2791
 *         return not truthval
3620
2792
 * 
3621
2793
 *     def __hash__(self):             # <<<<<<<<<<<<<<
3628
2800
static long __pyx_pf_4h5py_2h5_8ObjectID___hash__(PyObject *__pyx_v_self) {
3629
2801
  H5G_stat_t __pyx_v_stat;
3630
2802
  long __pyx_r;
3631
 
  int __pyx_1;
3632
2803
  int __pyx_t_1;
3633
2804
  herr_t __pyx_t_2;
3634
2805
  PyObject *__pyx_t_3 = NULL;
3637
2808
  PyObject *__pyx_t_6 = NULL;
3638
2809
  PyObject *__pyx_t_7 = NULL;
3639
2810
  long __pyx_t_8;
3640
 
  __Pyx_SetupRefcountContext("__hash__");
 
2811
  int __pyx_t_9;
 
2812
  __Pyx_RefNannySetupContext("__hash__");
 
2813
  __Pyx_INCREF((PyObject *)__pyx_v_self);
3641
2814
 
3642
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":326
 
2815
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":253
3643
2816
 *         cdef H5G_stat_t stat
3644
2817
 * 
3645
2818
 *         if self._hash is None:             # <<<<<<<<<<<<<<
3646
 
 *             phil.acquire()
3647
2819
 *             try:
 
2820
 *                 H5Gget_objinfo(self.id, '.', 0, &stat)
3648
2821
 */
3649
2822
  __pyx_t_1 = (((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash == Py_None);
3650
2823
  if (__pyx_t_1) {
3651
2824
 
3652
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":327
 
2825
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":254
3653
2826
 * 
3654
2827
 *         if self._hash is None:
3655
 
 *             phil.acquire()             # <<<<<<<<<<<<<<
3656
 
 *             try:
3657
 
 *                 H5Gget_objinfo(self.id, '.', 0, &stat)
3658
 
 */
3659
 
    __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)__pyx_v_4h5py_2h5_phil->__pyx_vtab)->acquire(__pyx_v_4h5py_2h5_phil, 0, NULL); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3660
 
 
3661
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":328
3662
 
 *         if self._hash is None:
3663
 
 *             phil.acquire()
3664
2828
 *             try:             # <<<<<<<<<<<<<<
3665
2829
 *                 H5Gget_objinfo(self.id, '.', 0, &stat)
3666
2830
 *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
3667
2831
 */
3668
 
    /*try:*/ {
3669
 
      {
3670
 
        PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb;
3671
 
        __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb);
3672
 
        __Pyx_XGOTREF(__pyx_save_exc_type);
3673
 
        __Pyx_XGOTREF(__pyx_save_exc_value);
3674
 
        __Pyx_XGOTREF(__pyx_save_exc_tb);
3675
 
        /*try:*/ {
 
2832
    {
 
2833
      PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb;
 
2834
      __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb);
 
2835
      __Pyx_XGOTREF(__pyx_save_exc_type);
 
2836
      __Pyx_XGOTREF(__pyx_save_exc_value);
 
2837
      __Pyx_XGOTREF(__pyx_save_exc_tb);
 
2838
      /*try:*/ {
3676
2839
 
3677
 
          /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":329
3678
 
 *             phil.acquire()
 
2840
        /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":255
 
2841
 *         if self._hash is None:
3679
2842
 *             try:
3680
2843
 *                 H5Gget_objinfo(self.id, '.', 0, &stat)             # <<<<<<<<<<<<<<
3681
2844
 *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
3682
2845
 *             except Exception:
3683
2846
 */
3684
 
          __pyx_t_2 = H5Gget_objinfo(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id, __pyx_k_30, 0, (&__pyx_v_stat)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
 
2847
        __pyx_t_2 = H5Gget_objinfo(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id, __pyx_k_10, 0, (&__pyx_v_stat)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
3685
2848
 
3686
 
          /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":330
 
2849
        /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":256
3687
2850
 *             try:
3688
2851
 *                 H5Gget_objinfo(self.id, '.', 0, &stat)
3689
2852
 *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))             # <<<<<<<<<<<<<<
3690
2853
 *             except Exception:
3691
2854
 *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
3692
2855
 */
3693
 
          __pyx_t_3 = PyLong_FromUnsignedLong((__pyx_v_stat.fileno[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
3694
 
          __Pyx_GOTREF(__pyx_t_3);
3695
 
          __pyx_t_4 = PyLong_FromUnsignedLong((__pyx_v_stat.fileno[1])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
3696
 
          __Pyx_GOTREF(__pyx_t_4);
3697
 
          __pyx_t_5 = PyLong_FromUnsignedLong((__pyx_v_stat.objno[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
3698
 
          __Pyx_GOTREF(__pyx_t_5);
3699
 
          __pyx_t_6 = PyLong_FromUnsignedLong((__pyx_v_stat.objno[1])); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
3700
 
          __Pyx_GOTREF(__pyx_t_6);
3701
 
          __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
3702
 
          __Pyx_GOTREF(((PyObject *)__pyx_t_7));
3703
 
          PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3);
3704
 
          __Pyx_GIVEREF(__pyx_t_3);
3705
 
          PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4);
3706
 
          __Pyx_GIVEREF(__pyx_t_4);
3707
 
          PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_5);
3708
 
          __Pyx_GIVEREF(__pyx_t_5);
3709
 
          PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_6);
3710
 
          __Pyx_GIVEREF(__pyx_t_6);
3711
 
          __pyx_t_3 = 0;
3712
 
          __pyx_t_4 = 0;
3713
 
          __pyx_t_5 = 0;
3714
 
          __pyx_t_6 = 0;
3715
 
          __pyx_t_8 = PyObject_Hash(((PyObject *)__pyx_t_7)); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
3716
 
          __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
3717
 
          __pyx_t_7 = PyInt_FromLong(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
3718
 
          __Pyx_GOTREF(__pyx_t_7);
3719
 
          __Pyx_GIVEREF(__pyx_t_7);
3720
 
          __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash);
3721
 
          __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash);
3722
 
          ((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash = __pyx_t_7;
3723
 
          __pyx_t_7 = 0;
3724
 
        }
3725
 
        __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0;
3726
 
        __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0;
3727
 
        __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0;
3728
 
        goto __pyx_L16_try_end;
3729
 
        __pyx_L9_error:;
3730
 
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
3731
 
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
3732
 
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
3733
 
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
3734
 
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
 
2856
        __pyx_t_3 = PyLong_FromUnsignedLong((__pyx_v_stat.fileno[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
 
2857
        __Pyx_GOTREF(__pyx_t_3);
 
2858
        __pyx_t_4 = PyLong_FromUnsignedLong((__pyx_v_stat.fileno[1])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
 
2859
        __Pyx_GOTREF(__pyx_t_4);
 
2860
        __pyx_t_5 = PyLong_FromUnsignedLong((__pyx_v_stat.objno[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
 
2861
        __Pyx_GOTREF(__pyx_t_5);
 
2862
        __pyx_t_6 = PyLong_FromUnsignedLong((__pyx_v_stat.objno[1])); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
 
2863
        __Pyx_GOTREF(__pyx_t_6);
 
2864
        __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
 
2865
        __Pyx_GOTREF(__pyx_t_7);
 
2866
        PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3);
 
2867
        __Pyx_GIVEREF(__pyx_t_3);
 
2868
        PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4);
 
2869
        __Pyx_GIVEREF(__pyx_t_4);
 
2870
        PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_5);
 
2871
        __Pyx_GIVEREF(__pyx_t_5);
 
2872
        PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_6);
 
2873
        __Pyx_GIVEREF(__pyx_t_6);
 
2874
        __pyx_t_3 = 0;
 
2875
        __pyx_t_4 = 0;
 
2876
        __pyx_t_5 = 0;
 
2877
        __pyx_t_6 = 0;
 
2878
        __pyx_t_8 = PyObject_Hash(__pyx_t_7); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
 
2879
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 
2880
        __pyx_t_7 = PyInt_FromLong(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
 
2881
        __Pyx_GOTREF(__pyx_t_7);
 
2882
        __Pyx_GIVEREF(__pyx_t_7);
 
2883
        __Pyx_GOTREF(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash);
 
2884
        __Pyx_DECREF(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash);
 
2885
        ((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash = __pyx_t_7;
 
2886
        __pyx_t_7 = 0;
 
2887
      }
 
2888
      __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0;
 
2889
      __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0;
 
2890
      __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0;
 
2891
      goto __pyx_L13_try_end;
 
2892
      __pyx_L6_error:;
 
2893
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
 
2894
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
 
2895
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
 
2896
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
 
2897
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
3735
2898
 
3736
 
        /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":331
 
2899
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":257
3737
2900
 *                 H5Gget_objinfo(self.id, '.', 0, &stat)
3738
2901
 *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
3739
2902
 *             except Exception:             # <<<<<<<<<<<<<<
3740
2903
 *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
3741
 
 *             finally:
 
2904
 * 
3742
2905
 */
3743
 
        __pyx_1 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
3744
 
        if (__pyx_1) {
3745
 
          __Pyx_AddTraceback("h5py.h5.__hash__");
3746
 
          if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
3747
 
          __Pyx_GOTREF(__pyx_t_7);
3748
 
          __Pyx_GOTREF(__pyx_t_6);
3749
 
          __Pyx_GOTREF(__pyx_t_5);
 
2906
      __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
 
2907
      if (__pyx_t_9) {
 
2908
        __Pyx_AddTraceback("h5py.h5.ObjectID.__hash__");
 
2909
        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;}
 
2910
        __Pyx_GOTREF(__pyx_t_7);
 
2911
        __Pyx_GOTREF(__pyx_t_6);
 
2912
        __Pyx_GOTREF(__pyx_t_5);
3750
2913
 
3751
 
          /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":332
 
2914
        /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":258
3752
2915
 *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
3753
2916
 *             except Exception:
3754
2917
 *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)             # <<<<<<<<<<<<<<
3755
 
 *             finally:
3756
 
 *                 phil.release()
3757
 
 */
3758
 
          __pyx_t_4 = PyObject_GetAttr(__pyx_v_self, __pyx_kp___class__); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
3759
 
          __Pyx_GOTREF(__pyx_t_4);
3760
 
          __pyx_t_3 = PyObject_GetAttr(__pyx_t_4, __pyx_kp___name__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
3761
 
          __Pyx_GOTREF(__pyx_t_3);
3762
 
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3763
 
          __pyx_t_4 = PyNumber_Remainder(__pyx_kp_31, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
3764
 
          __Pyx_GOTREF(__pyx_t_4);
3765
 
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3766
 
          __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
3767
 
          __Pyx_GOTREF(((PyObject *)__pyx_t_3));
3768
 
          PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
3769
 
          __Pyx_GIVEREF(__pyx_t_4);
3770
 
          __pyx_t_4 = 0;
3771
 
          __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
3772
 
          __Pyx_GOTREF(__pyx_t_4);
3773
 
          __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
3774
 
          __Pyx_Raise(__pyx_t_4, 0, 0);
3775
 
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3776
 
          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
3777
 
          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
3778
 
          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
3779
 
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3780
 
          goto __pyx_L10_exception_handled;
3781
 
        }
3782
 
        __pyx_L11_except_error:;
3783
 
        __Pyx_XDECREF(__pyx_save_exc_type);
3784
 
        __Pyx_XDECREF(__pyx_save_exc_value);
3785
 
        __Pyx_XDECREF(__pyx_save_exc_tb);
3786
 
        goto __pyx_L7;
3787
 
        __pyx_L10_exception_handled:;
3788
 
        __Pyx_XGIVEREF(__pyx_save_exc_type);
3789
 
        __Pyx_XGIVEREF(__pyx_save_exc_value);
3790
 
        __Pyx_XGIVEREF(__pyx_save_exc_tb);
3791
 
        __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
3792
 
        __pyx_L16_try_end:;
3793
 
      }
3794
 
    }
3795
 
    /*finally:*/ {
3796
 
      int __pyx_why;
3797
 
      PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
3798
 
      int __pyx_exc_lineno;
3799
 
      __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
3800
 
      __pyx_why = 0; goto __pyx_L8;
3801
 
      __pyx_L7: {
3802
 
        __pyx_why = 4;
3803
 
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
3804
 
        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
3805
 
        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
3806
 
        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
3807
 
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
3808
 
        __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
3809
 
        __pyx_exc_lineno = __pyx_lineno;
3810
 
        goto __pyx_L8;
3811
 
      }
3812
 
      __pyx_L8:;
3813
 
 
3814
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":334
3815
 
 *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
3816
 
 *             finally:
3817
 
 *                 phil.release()             # <<<<<<<<<<<<<<
3818
2918
 * 
3819
2919
 *         return self._hash
3820
2920
 */
3821
 
      __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)__pyx_v_4h5py_2h5_phil->__pyx_vtab)->release(__pyx_v_4h5py_2h5_phil, 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L19_error;}
3822
 
      goto __pyx_L20;
3823
 
      __pyx_L19_error:;
3824
 
      if (__pyx_why == 4) {
3825
 
        Py_XDECREF(__pyx_exc_type);
3826
 
        Py_XDECREF(__pyx_exc_value);
3827
 
        Py_XDECREF(__pyx_exc_tb);
 
2921
        __pyx_t_4 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s____class__); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;}
 
2922
        __Pyx_GOTREF(__pyx_t_4);
 
2923
        __pyx_t_3 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s____name__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;}
 
2924
        __Pyx_GOTREF(__pyx_t_3);
 
2925
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
2926
        __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;}
 
2927
        __Pyx_GOTREF(__pyx_t_4);
 
2928
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
2929
        __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;}
 
2930
        __Pyx_GOTREF(__pyx_t_3);
 
2931
        PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
 
2932
        __Pyx_GIVEREF(__pyx_t_4);
 
2933
        __pyx_t_4 = 0;
 
2934
        __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;}
 
2935
        __Pyx_GOTREF(__pyx_t_4);
 
2936
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
2937
        __Pyx_Raise(__pyx_t_4, 0, 0);
 
2938
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
2939
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L8_except_error;}
 
2940
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 
2941
        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
2942
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
2943
        goto __pyx_L7_exception_handled;
3828
2944
      }
 
2945
      __pyx_L8_except_error:;
 
2946
      __Pyx_XGIVEREF(__pyx_save_exc_type);
 
2947
      __Pyx_XGIVEREF(__pyx_save_exc_value);
 
2948
      __Pyx_XGIVEREF(__pyx_save_exc_tb);
 
2949
      __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
3829
2950
      goto __pyx_L1_error;
3830
 
      __pyx_L20:;
3831
 
      switch (__pyx_why) {
3832
 
        case 4: {
3833
 
          __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
3834
 
          __pyx_lineno = __pyx_exc_lineno;
3835
 
          __pyx_exc_type = 0;
3836
 
          __pyx_exc_value = 0;
3837
 
          __pyx_exc_tb = 0;
3838
 
          goto __pyx_L1_error;
3839
 
        }
3840
 
      }
 
2951
      __pyx_L7_exception_handled:;
 
2952
      __Pyx_XGIVEREF(__pyx_save_exc_type);
 
2953
      __Pyx_XGIVEREF(__pyx_save_exc_value);
 
2954
      __Pyx_XGIVEREF(__pyx_save_exc_tb);
 
2955
      __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
 
2956
      __pyx_L13_try_end:;
3841
2957
    }
3842
2958
    goto __pyx_L5;
3843
2959
  }
3844
2960
  __pyx_L5:;
3845
2961
 
3846
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":336
3847
 
 *                 phil.release()
 
2962
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":260
 
2963
 *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
3848
2964
 * 
3849
2965
 *         return self._hash             # <<<<<<<<<<<<<<
3850
2966
 * 
3851
2967
 *     def __repr__(self):
3852
2968
 */
3853
 
  __pyx_t_8 = __Pyx_PyInt_AsLong(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash); if (unlikely((__pyx_t_8 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2969
  __pyx_t_8 = __Pyx_PyInt_AsLong(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_hash); if (unlikely((__pyx_t_8 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3854
2970
  __pyx_r = __pyx_t_8;
3855
2971
  goto __pyx_L0;
3856
2972
 
3865
2981
  __Pyx_AddTraceback("h5py.h5.ObjectID.__hash__");
3866
2982
  __pyx_r = -1;
3867
2983
  __pyx_L0:;
3868
 
  __Pyx_FinishRefcountContext();
 
2984
  __Pyx_DECREF((PyObject *)__pyx_v_self);
 
2985
  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
 
2986
  __Pyx_RefNannyFinishContext();
3869
2987
  return __pyx_r;
3870
2988
}
3871
2989
 
3872
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":338
 
2990
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":262
3873
2991
 *         return self._hash
3874
2992
 * 
3875
2993
 *     def __repr__(self):             # <<<<<<<<<<<<<<
3876
 
 *         phil.acquire()
3877
 
 *         try:
 
2994
 * 
 
2995
 *         ref = str(H5Iget_ref(self.id)) if self._valid else "X"
3878
2996
 */
3879
2997
 
3880
2998
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID___repr__(PyObject *__pyx_v_self); /*proto*/
3882
3000
  PyObject *__pyx_v_ref;
3883
3001
  PyObject *__pyx_v_lck;
3884
3002
  PyObject *__pyx_r = NULL;
3885
 
  PyObject *__pyx_1 = 0;
3886
 
  char *__pyx_2;
3887
 
  int __pyx_t_1;
 
3003
  PyObject *__pyx_t_1 = NULL;
3888
3004
  PyObject *__pyx_t_2 = NULL;
3889
3005
  int __pyx_t_3;
3890
 
  PyObject *__pyx_t_4 = NULL;
 
3006
  int __pyx_t_4;
3891
3007
  PyObject *__pyx_t_5 = NULL;
3892
 
  __Pyx_SetupRefcountContext("__repr__");
 
3008
  __Pyx_RefNannySetupContext("__repr__");
3893
3009
  __pyx_v_ref = Py_None; __Pyx_INCREF(Py_None);
3894
3010
  __pyx_v_lck = Py_None; __Pyx_INCREF(Py_None);
3895
3011
 
3896
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":339
 
3012
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":264
 
3013
 *     def __repr__(self):
3897
3014
 * 
3898
 
 *     def __repr__(self):
3899
 
 *         phil.acquire()             # <<<<<<<<<<<<<<
3900
 
 *         try:
3901
 
 *             ref = str(H5Iget_ref(self.id)) if self._valid else "X"
3902
 
 */
3903
 
  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)__pyx_v_4h5py_2h5_phil->__pyx_vtab)->acquire(__pyx_v_4h5py_2h5_phil, 0, NULL); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3904
 
 
3905
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":340
3906
 
 *     def __repr__(self):
3907
 
 *         phil.acquire()
3908
 
 *         try:             # <<<<<<<<<<<<<<
3909
 
 *             ref = str(H5Iget_ref(self.id)) if self._valid else "X"
3910
 
 *             lck = "L" if self._locked else "U"
3911
 
 */
3912
 
  /*try:*/ {
3913
 
 
3914
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":341
3915
 
 *         phil.acquire()
3916
 
 *         try:
3917
 
 *             ref = str(H5Iget_ref(self.id)) if self._valid else "X"             # <<<<<<<<<<<<<<
3918
 
 *             lck = "L" if self._locked else "U"
3919
 
 *             return "<%s [%s] (%s) %d>" % (self.__class__.__name__, ref, lck, self.id)
3920
 
 */
3921
 
    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_kp__valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L6;}
3922
 
    __Pyx_GOTREF(__pyx_t_2);
3923
 
    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L6;}
3924
 
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3925
 
    if (__pyx_t_1) {
3926
 
      __pyx_t_3 = H5Iget_ref(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L6;}
3927
 
      __pyx_t_2 = PyInt_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L6;}
3928
 
      __Pyx_GOTREF(__pyx_t_2);
3929
 
      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L6;}
3930
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_4));
3931
 
      PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
3932
 
      __Pyx_GIVEREF(__pyx_t_2);
3933
 
      __pyx_t_2 = 0;
3934
 
      __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L6;}
3935
 
      __Pyx_GOTREF(__pyx_t_2);
3936
 
      __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
3937
 
      __pyx_1 = __pyx_t_2;
3938
 
      __pyx_t_2 = 0;
3939
 
    } else {
3940
 
      __Pyx_INCREF(__pyx_kp_32);
3941
 
      __pyx_1 = __pyx_kp_32;
3942
 
    }
3943
 
    __Pyx_DECREF(__pyx_v_ref);
3944
 
    __pyx_v_ref = __pyx_1;
3945
 
    __pyx_1 = 0;
3946
 
 
3947
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":342
3948
 
 *         try:
3949
 
 *             ref = str(H5Iget_ref(self.id)) if self._valid else "X"
3950
 
 *             lck = "L" if self._locked else "U"             # <<<<<<<<<<<<<<
3951
 
 *             return "<%s [%s] (%s) %d>" % (self.__class__.__name__, ref, lck, self.id)
3952
 
 *         finally:
3953
 
 */
3954
 
    if (((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked) {
3955
 
      __pyx_2 = __pyx_k_33;
3956
 
    } else {
3957
 
      __pyx_2 = __pyx_k_34;
3958
 
    }
3959
 
    __pyx_t_2 = __Pyx_PyBytes_FromString(__pyx_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L6;}
3960
 
    __Pyx_GOTREF(__pyx_t_2);
3961
 
    __Pyx_DECREF(__pyx_v_lck);
3962
 
    __pyx_v_lck = __pyx_t_2;
3963
 
    __pyx_t_2 = 0;
3964
 
 
3965
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":343
3966
 
 *             ref = str(H5Iget_ref(self.id)) if self._valid else "X"
3967
 
 *             lck = "L" if self._locked else "U"
3968
 
 *             return "<%s [%s] (%s) %d>" % (self.__class__.__name__, ref, lck, self.id)             # <<<<<<<<<<<<<<
3969
 
 *         finally:
3970
 
 *             phil.release()
3971
 
 */
3972
 
    __Pyx_XDECREF(__pyx_r);
3973
 
    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_kp___class__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L6;}
3974
 
    __Pyx_GOTREF(__pyx_t_2);
3975
 
    __pyx_t_4 = PyObject_GetAttr(__pyx_t_2, __pyx_kp___name__); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L6;}
3976
 
    __Pyx_GOTREF(__pyx_t_4);
3977
 
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3978
 
    __pyx_t_2 = PyInt_FromLong(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L6;}
3979
 
    __Pyx_GOTREF(__pyx_t_2);
3980
 
    __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L6;}
3981
 
    __Pyx_GOTREF(((PyObject *)__pyx_t_5));
3982
 
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
3983
 
    __Pyx_GIVEREF(__pyx_t_4);
3984
 
    __Pyx_INCREF(__pyx_v_ref);
3985
 
    PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_ref);
3986
 
    __Pyx_GIVEREF(__pyx_v_ref);
3987
 
    __Pyx_INCREF(__pyx_v_lck);
3988
 
    PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_lck);
3989
 
    __Pyx_GIVEREF(__pyx_v_lck);
3990
 
    PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_2);
 
3015
 *         ref = str(H5Iget_ref(self.id)) if self._valid else "X"             # <<<<<<<<<<<<<<
 
3016
 *         lck = "L" if self._locked else "U"
 
3017
 *         return "<%s [%s] (%s) %d>" % (self.__class__.__name__, ref, lck, self.id)
 
3018
 */
 
3019
  __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s___valid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3020
  __Pyx_GOTREF(__pyx_t_2);
 
3021
  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3022
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3023
  if (__pyx_t_3) {
 
3024
    __pyx_t_4 = H5Iget_ref(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3025
    __pyx_t_2 = PyInt_FromLong(__pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3026
    __Pyx_GOTREF(__pyx_t_2);
 
3027
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3028
    __Pyx_GOTREF(__pyx_t_5);
 
3029
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
3991
3030
    __Pyx_GIVEREF(__pyx_t_2);
3992
 
    __pyx_t_4 = 0;
3993
3031
    __pyx_t_2 = 0;
3994
 
    __pyx_t_2 = PyNumber_Remainder(__pyx_kp_35, ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
3032
    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyString_Type)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
3995
3033
    __Pyx_GOTREF(__pyx_t_2);
3996
 
    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
3997
 
    __pyx_r = __pyx_t_2;
 
3034
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3035
    __pyx_t_1 = __pyx_t_2;
3998
3036
    __pyx_t_2 = 0;
3999
 
    goto __pyx_L5;
4000
 
  }
4001
 
  /*finally:*/ {
4002
 
    int __pyx_why;
4003
 
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
4004
 
    int __pyx_exc_lineno;
4005
 
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
4006
 
    __pyx_why = 0; goto __pyx_L7;
4007
 
    __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
4008
 
    __pyx_why = 3; goto __pyx_L7;
4009
 
    __pyx_L6: {
4010
 
      __pyx_why = 4;
4011
 
      __Pyx_XDECREF(__pyx_1); __pyx_1 = 0;
4012
 
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
4013
 
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
4014
 
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
4015
 
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
4016
 
      __pyx_exc_lineno = __pyx_lineno;
4017
 
      goto __pyx_L7;
4018
 
    }
4019
 
    __pyx_L7:;
4020
 
 
4021
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":345
4022
 
 *             return "<%s [%s] (%s) %d>" % (self.__class__.__name__, ref, lck, self.id)
4023
 
 *         finally:
4024
 
 *             phil.release()             # <<<<<<<<<<<<<<
4025
 
 * 
4026
 
 * 
4027
 
 */
4028
 
    __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_2h5_PHIL *)__pyx_v_4h5py_2h5_phil->__pyx_vtab)->release(__pyx_v_4h5py_2h5_phil, 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
4029
 
    goto __pyx_L9;
4030
 
    __pyx_L8_error:;
4031
 
    if (__pyx_why == 4) {
4032
 
      Py_XDECREF(__pyx_exc_type);
4033
 
      Py_XDECREF(__pyx_exc_value);
4034
 
      Py_XDECREF(__pyx_exc_tb);
4035
 
    }
4036
 
    goto __pyx_L1_error;
4037
 
    __pyx_L9:;
4038
 
    switch (__pyx_why) {
4039
 
      case 3: goto __pyx_L0;
4040
 
      case 4: {
4041
 
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
4042
 
        __pyx_lineno = __pyx_exc_lineno;
4043
 
        __pyx_exc_type = 0;
4044
 
        __pyx_exc_value = 0;
4045
 
        __pyx_exc_tb = 0;
4046
 
        goto __pyx_L1_error;
4047
 
      }
4048
 
    }
4049
 
  }
 
3037
  } else {
 
3038
    __Pyx_INCREF(((PyObject *)__pyx_n_s__X));
 
3039
    __pyx_t_1 = __pyx_n_s__X;
 
3040
  }
 
3041
  __Pyx_DECREF(__pyx_v_ref);
 
3042
  __pyx_v_ref = __pyx_t_1;
 
3043
  __pyx_t_1 = 0;
 
3044
 
 
3045
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":265
 
3046
 * 
 
3047
 *         ref = str(H5Iget_ref(self.id)) if self._valid else "X"
 
3048
 *         lck = "L" if self._locked else "U"             # <<<<<<<<<<<<<<
 
3049
 *         return "<%s [%s] (%s) %d>" % (self.__class__.__name__, ref, lck, self.id)
 
3050
 * 
 
3051
 */
 
3052
  if (((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->_locked) {
 
3053
    __Pyx_INCREF(((PyObject *)__pyx_n_s__L));
 
3054
    __pyx_t_1 = __pyx_n_s__L;
 
3055
  } else {
 
3056
    __Pyx_INCREF(((PyObject *)__pyx_n_s__U));
 
3057
    __pyx_t_1 = __pyx_n_s__U;
 
3058
  }
 
3059
  __Pyx_DECREF(__pyx_v_lck);
 
3060
  __pyx_v_lck = ((PyObject *)__pyx_t_1);
 
3061
  __pyx_t_1 = 0;
 
3062
 
 
3063
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":266
 
3064
 *         ref = str(H5Iget_ref(self.id)) if self._valid else "X"
 
3065
 *         lck = "L" if self._locked else "U"
 
3066
 *         return "<%s [%s] (%s) %d>" % (self.__class__.__name__, ref, lck, self.id)             # <<<<<<<<<<<<<<
 
3067
 * 
 
3068
 * 
 
3069
 */
 
3070
  __Pyx_XDECREF(__pyx_r);
 
3071
  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s____class__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3072
  __Pyx_GOTREF(__pyx_t_1);
 
3073
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____name__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3074
  __Pyx_GOTREF(__pyx_t_2);
 
3075
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3076
  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3077
  __Pyx_GOTREF(__pyx_t_1);
 
3078
  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3079
  __Pyx_GOTREF(__pyx_t_5);
 
3080
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
 
3081
  __Pyx_GIVEREF(__pyx_t_2);
 
3082
  __Pyx_INCREF(__pyx_v_ref);
 
3083
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_ref);
 
3084
  __Pyx_GIVEREF(__pyx_v_ref);
 
3085
  __Pyx_INCREF(__pyx_v_lck);
 
3086
  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_v_lck);
 
3087
  __Pyx_GIVEREF(__pyx_v_lck);
 
3088
  PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_1);
 
3089
  __Pyx_GIVEREF(__pyx_t_1);
 
3090
  __pyx_t_2 = 0;
 
3091
  __pyx_t_1 = 0;
 
3092
  __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_12), __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3093
  __Pyx_GOTREF(__pyx_t_1);
 
3094
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3095
  __pyx_r = __pyx_t_1;
 
3096
  __pyx_t_1 = 0;
 
3097
  goto __pyx_L0;
4050
3098
 
4051
3099
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4052
3100
  goto __pyx_L0;
4053
3101
  __pyx_L1_error:;
4054
 
  __Pyx_XDECREF(__pyx_1);
 
3102
  __Pyx_XDECREF(__pyx_t_1);
4055
3103
  __Pyx_XDECREF(__pyx_t_2);
4056
 
  __Pyx_XDECREF(__pyx_t_4);
4057
3104
  __Pyx_XDECREF(__pyx_t_5);
4058
3105
  __Pyx_AddTraceback("h5py.h5.ObjectID.__repr__");
4059
3106
  __pyx_r = NULL;
4061
3108
  __Pyx_DECREF(__pyx_v_ref);
4062
3109
  __Pyx_DECREF(__pyx_v_lck);
4063
3110
  __Pyx_XGIVEREF(__pyx_r);
4064
 
  __Pyx_FinishRefcountContext();
 
3111
  __Pyx_RefNannyFinishContext();
4065
3112
  return __pyx_r;
4066
3113
}
4067
3114
 
4068
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":351
4069
 
 * 
4070
 
 * @sync
 
3115
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":273
 
3116
 * 
 
3117
 * 
4071
3118
 * def get_libversion():             # <<<<<<<<<<<<<<
4072
3119
 *     """ () => TUPLE (major, minor, release)
4073
3120
 * 
4085
3132
  PyObject *__pyx_t_3 = NULL;
4086
3133
  PyObject *__pyx_t_4 = NULL;
4087
3134
  PyObject *__pyx_t_5 = NULL;
4088
 
  __Pyx_SetupRefcountContext("get_libversion");
 
3135
  __Pyx_RefNannySetupContext("get_libversion");
4089
3136
  __pyx_self = __pyx_self;
4090
3137
 
4091
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":361
 
3138
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":283
4092
3139
 *     cdef herr_t retval
4093
3140
 * 
4094
3141
 *     H5get_libversion(&major, &minor, &release)             # <<<<<<<<<<<<<<
4095
3142
 * 
4096
3143
 *     return (major, minor, release)
4097
3144
 */
4098
 
  __pyx_t_1 = H5get_libversion((&__pyx_v_major), (&__pyx_v_minor), (&__pyx_v_release)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3145
  __pyx_t_1 = H5get_libversion((&__pyx_v_major), (&__pyx_v_minor), (&__pyx_v_release)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4099
3146
 
4100
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":363
 
3147
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":285
4101
3148
 *     H5get_libversion(&major, &minor, &release)
4102
3149
 * 
4103
3150
 *     return (major, minor, release)             # <<<<<<<<<<<<<<
4104
3151
 * 
4105
 
 * @sync
 
3152
 * 
4106
3153
 */
4107
3154
  __Pyx_XDECREF(__pyx_r);
4108
 
  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_major); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3155
  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_major); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4109
3156
  __Pyx_GOTREF(__pyx_t_2);
4110
 
  __pyx_t_3 = PyLong_FromUnsignedLong(__pyx_v_minor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3157
  __pyx_t_3 = PyLong_FromUnsignedLong(__pyx_v_minor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4111
3158
  __Pyx_GOTREF(__pyx_t_3);
4112
 
  __pyx_t_4 = PyLong_FromUnsignedLong(__pyx_v_release); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3159
  __pyx_t_4 = PyLong_FromUnsignedLong(__pyx_v_release); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4113
3160
  __Pyx_GOTREF(__pyx_t_4);
4114
 
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4115
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
 
3161
  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3162
  __Pyx_GOTREF(__pyx_t_5);
4116
3163
  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
4117
3164
  __Pyx_GIVEREF(__pyx_t_2);
4118
3165
  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
4122
3169
  __pyx_t_2 = 0;
4123
3170
  __pyx_t_3 = 0;
4124
3171
  __pyx_t_4 = 0;
4125
 
  __pyx_r = ((PyObject *)__pyx_t_5);
 
3172
  __pyx_r = __pyx_t_5;
4126
3173
  __pyx_t_5 = 0;
4127
3174
  goto __pyx_L0;
4128
3175
 
4137
3184
  __pyx_r = NULL;
4138
3185
  __pyx_L0:;
4139
3186
  __Pyx_XGIVEREF(__pyx_r);
4140
 
  __Pyx_FinishRefcountContext();
 
3187
  __Pyx_RefNannyFinishContext();
4141
3188
  return __pyx_r;
4142
3189
}
4143
3190
 
4144
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":366
4145
 
 * 
4146
 
 * @sync
 
3191
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":288
 
3192
 * 
 
3193
 * 
4147
3194
 * def _close():             # <<<<<<<<<<<<<<
4148
3195
 *     """ Internal function; do not call unless you want to lose all your data.
4149
 
 *     """
 
3196
 * 
4150
3197
 */
4151
3198
 
4152
3199
static PyObject *__pyx_pf_4h5py_2h5__close(PyObject *__pyx_self, PyObject *unused); /*proto*/
4153
 
static char __pyx_doc_4h5py_2h5__close[] = " Internal function; do not call unless you want to lose all your data.\n    ";
 
3200
static char __pyx_doc_4h5py_2h5__close[] = " Internal function; do not call unless you want to lose all your data.\n\n    Proxy for H5close().\n    ";
4154
3201
static PyObject *__pyx_pf_4h5py_2h5__close(PyObject *__pyx_self, PyObject *unused) {
4155
3202
  PyObject *__pyx_r = NULL;
4156
3203
  herr_t __pyx_t_1;
4157
 
  __Pyx_SetupRefcountContext("_close");
 
3204
  __Pyx_RefNannySetupContext("_close");
4158
3205
  __pyx_self = __pyx_self;
4159
3206
 
4160
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":369
4161
 
 *     """ Internal function; do not call unless you want to lose all your data.
 
3207
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":293
 
3208
 *     Proxy for H5close().
4162
3209
 *     """
4163
3210
 *     H5close()             # <<<<<<<<<<<<<<
4164
3211
 * 
4165
 
 * @sync
 
3212
 * 
4166
3213
 */
4167
 
  __pyx_t_1 = H5close(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3214
  __pyx_t_1 = H5close(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4168
3215
 
4169
3216
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4170
3217
  goto __pyx_L0;
4173
3220
  __pyx_r = NULL;
4174
3221
  __pyx_L0:;
4175
3222
  __Pyx_XGIVEREF(__pyx_r);
4176
 
  __Pyx_FinishRefcountContext();
 
3223
  __Pyx_RefNannyFinishContext();
4177
3224
  return __pyx_r;
4178
3225
}
4179
3226
 
4180
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":372
4181
 
 * 
4182
 
 * @sync
 
3227
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":296
 
3228
 * 
 
3229
 * 
4183
3230
 * def _open():             # <<<<<<<<<<<<<<
4184
3231
 *     """ Internal function; do not call unless you want to lose all your data.
4185
 
 *     """
 
3232
 * 
4186
3233
 */
4187
3234
 
4188
3235
static PyObject *__pyx_pf_4h5py_2h5__open(PyObject *__pyx_self, PyObject *unused); /*proto*/
4189
 
static char __pyx_doc_4h5py_2h5__open[] = " Internal function; do not call unless you want to lose all your data.\n    ";
 
3236
static char __pyx_doc_4h5py_2h5__open[] = " Internal function; do not call unless you want to lose all your data.\n\n    Proxy for H5open().\n    ";
4190
3237
static PyObject *__pyx_pf_4h5py_2h5__open(PyObject *__pyx_self, PyObject *unused) {
4191
3238
  PyObject *__pyx_r = NULL;
4192
3239
  herr_t __pyx_t_1;
4193
 
  __Pyx_SetupRefcountContext("_open");
 
3240
  __Pyx_RefNannySetupContext("_open");
4194
3241
  __pyx_self = __pyx_self;
4195
3242
 
4196
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":375
4197
 
 *     """ Internal function; do not call unless you want to lose all your data.
 
3243
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":301
 
3244
 *     Proxy for H5open().
4198
3245
 *     """
4199
3246
 *     H5open()             # <<<<<<<<<<<<<<
4200
3247
 * 
4201
3248
 * 
4202
3249
 */
4203
 
  __pyx_t_1 = H5open(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3250
  __pyx_t_1 = H5open(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4204
3251
 
4205
3252
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4206
3253
  goto __pyx_L0;
4209
3256
  __pyx_r = NULL;
4210
3257
  __pyx_L0:;
4211
3258
  __Pyx_XGIVEREF(__pyx_r);
4212
 
  __Pyx_FinishRefcountContext();
 
3259
  __Pyx_RefNannyFinishContext();
4213
3260
  return __pyx_r;
4214
3261
}
4215
3262
 
4216
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":380
 
3263
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":306
4217
3264
 * # === Library init ============================================================
4218
3265
 * 
4219
3266
 * def _exithack():             # <<<<<<<<<<<<<<
4232
3279
  int __pyx_t_2;
4233
3280
  H5I_type_t __pyx_t_3;
4234
3281
  int __pyx_t_4;
4235
 
  __Pyx_SetupRefcountContext("_exithack");
 
3282
  int __pyx_t_5;
 
3283
  int __pyx_t_6;
 
3284
  PyObject *__pyx_t_7 = NULL;
 
3285
  PyObject *__pyx_t_8 = NULL;
 
3286
  __Pyx_RefNannySetupContext("_exithack");
4236
3287
  __pyx_self = __pyx_self;
4237
3288
 
4238
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":391
 
3289
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":317
4239
3290
 *     cdef hid_t *objs
4240
3291
 * 
4241
3292
 *     count = H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL)             # <<<<<<<<<<<<<<
4242
3293
 * 
4243
 
 *     IF H5PY_DEBUG:
 
3294
 *     if count > 0:
4244
3295
 */
4245
 
  __pyx_t_1 = H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3296
  __pyx_t_1 = H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4246
3297
  __pyx_v_count = __pyx_t_1;
4247
3298
 
4248
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":396
4249
 
 *         log_lib.info("* h5py is shutting down (closing %d leftover IDs)" % count)
 
3299
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":319
 
3300
 *     count = H5Fget_obj_count(H5F_OBJ_ALL, H5F_OBJ_ALL)
4250
3301
 * 
4251
3302
 *     if count > 0:             # <<<<<<<<<<<<<<
4252
3303
 *         objs = <hid_t*>malloc(sizeof(hid_t)*count)
4255
3306
  __pyx_t_2 = (__pyx_v_count > 0);
4256
3307
  if (__pyx_t_2) {
4257
3308
 
4258
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":397
 
3309
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":320
4259
3310
 * 
4260
3311
 *     if count > 0:
4261
3312
 *         objs = <hid_t*>malloc(sizeof(hid_t)*count)             # <<<<<<<<<<<<<<
4264
3315
 */
4265
3316
    __pyx_v_objs = ((hid_t *)malloc(((sizeof(hid_t)) * __pyx_v_count)));
4266
3317
 
4267
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":398
 
3318
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":321
4268
3319
 *     if count > 0:
4269
3320
 *         objs = <hid_t*>malloc(sizeof(hid_t)*count)
4270
3321
 *         try:             # <<<<<<<<<<<<<<
4273
3324
 */
4274
3325
    /*try:*/ {
4275
3326
 
4276
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":399
 
3327
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":322
4277
3328
 *         objs = <hid_t*>malloc(sizeof(hid_t)*count)
4278
3329
 *         try:
4279
3330
 *             H5Fget_obj_ids(H5F_OBJ_ALL, H5F_OBJ_ALL, count, objs)             # <<<<<<<<<<<<<<
4280
3331
 *             for i from 0<=i<count:
4281
3332
 *                 while H5Iget_type(objs[i]) != H5I_BADID and H5Iget_ref(objs[i]) > 0:
4282
3333
 */
4283
 
      __pyx_t_1 = H5Fget_obj_ids(H5F_OBJ_ALL, H5F_OBJ_ALL, __pyx_v_count, __pyx_v_objs); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3334
      __pyx_t_1 = H5Fget_obj_ids(H5F_OBJ_ALL, H5F_OBJ_ALL, __pyx_v_count, __pyx_v_objs); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L7;}
4284
3335
 
4285
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":400
 
3336
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":323
4286
3337
 *         try:
4287
3338
 *             H5Fget_obj_ids(H5F_OBJ_ALL, H5F_OBJ_ALL, count, objs)
4288
3339
 *             for i from 0<=i<count:             # <<<<<<<<<<<<<<
4292
3343
      __pyx_t_1 = __pyx_v_count;
4293
3344
      for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) {
4294
3345
 
4295
 
        /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":401
 
3346
        /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":324
4296
3347
 *             H5Fget_obj_ids(H5F_OBJ_ALL, H5F_OBJ_ALL, count, objs)
4297
3348
 *             for i from 0<=i<count:
4298
3349
 *                 while H5Iget_type(objs[i]) != H5I_BADID and H5Iget_ref(objs[i]) > 0:             # <<<<<<<<<<<<<<
4300
3351
 *         finally:
4301
3352
 */
4302
3353
        while (1) {
4303
 
          __pyx_t_3 = H5Iget_type((__pyx_v_objs[__pyx_v_i])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L7;}
4304
 
          if ((__pyx_t_3 != H5I_BADID)) {
4305
 
            __pyx_t_4 = H5Iget_ref((__pyx_v_objs[__pyx_v_i])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L7;}
4306
 
            __pyx_t_2 = (__pyx_t_4 > 0);
 
3354
          __pyx_t_3 = H5Iget_type((__pyx_v_objs[__pyx_v_i])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3355
          __pyx_t_2 = (__pyx_t_3 != H5I_BADID);
 
3356
          if (__pyx_t_2) {
 
3357
            __pyx_t_4 = H5Iget_ref((__pyx_v_objs[__pyx_v_i])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3358
            __pyx_t_5 = (__pyx_t_4 > 0);
 
3359
            __pyx_t_6 = __pyx_t_5;
4307
3360
          } else {
4308
 
            __pyx_t_2 = (__pyx_t_3 != H5I_BADID);
 
3361
            __pyx_t_6 = __pyx_t_2;
4309
3362
          }
4310
 
          if (!__pyx_t_2) break;
 
3363
          if (!__pyx_t_6) break;
4311
3364
 
4312
 
          /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":402
 
3365
          /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":325
4313
3366
 *             for i from 0<=i<count:
4314
3367
 *                 while H5Iget_type(objs[i]) != H5I_BADID and H5Iget_ref(objs[i]) > 0:
4315
3368
 *                     H5Idec_ref(objs[i])             # <<<<<<<<<<<<<<
4316
3369
 *         finally:
4317
3370
 *             free(objs)
4318
3371
 */
4319
 
          __pyx_t_4 = H5Idec_ref((__pyx_v_objs[__pyx_v_i])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L7;}
 
3372
          __pyx_t_4 = H5Idec_ref((__pyx_v_objs[__pyx_v_i])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L7;}
4320
3373
        }
4321
3374
      }
4322
3375
    }
4334
3387
      }
4335
3388
      __pyx_L8:;
4336
3389
 
4337
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":404
 
3390
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":327
4338
3391
 *                     H5Idec_ref(objs[i])
4339
3392
 *         finally:
4340
3393
 *             free(objs)             # <<<<<<<<<<<<<<
4341
3394
 * 
4342
 
 * hdf5_inited = 0
 
3395
 *     _conv.unregister_converters()
4343
3396
 */
4344
3397
      free(__pyx_v_objs);
4345
3398
      switch (__pyx_why) {
4357
3410
  }
4358
3411
  __pyx_L5:;
4359
3412
 
 
3413
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":329
 
3414
 *             free(objs)
 
3415
 * 
 
3416
 *     _conv.unregister_converters()             # <<<<<<<<<<<<<<
 
3417
 * 
 
3418
 * hdf5_inited = 0
 
3419
 */
 
3420
  __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s___conv); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3421
  __Pyx_GOTREF(__pyx_t_7);
 
3422
  __pyx_t_8 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s_13); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3423
  __Pyx_GOTREF(__pyx_t_8);
 
3424
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 
3425
  __pyx_t_7 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3426
  __Pyx_GOTREF(__pyx_t_7);
 
3427
  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 
3428
  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 
3429
 
4360
3430
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4361
3431
  goto __pyx_L0;
4362
3432
  __pyx_L1_error:;
 
3433
  __Pyx_XDECREF(__pyx_t_7);
 
3434
  __Pyx_XDECREF(__pyx_t_8);
4363
3435
  __Pyx_AddTraceback("h5py.h5._exithack");
4364
3436
  __pyx_r = NULL;
4365
3437
  __pyx_L0:;
4366
3438
  __Pyx_XGIVEREF(__pyx_r);
4367
 
  __Pyx_FinishRefcountContext();
 
3439
  __Pyx_RefNannyFinishContext();
4368
3440
  return __pyx_r;
4369
3441
}
4370
3442
 
4371
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":408
 
3443
/* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":333
4372
3444
 * hdf5_inited = 0
4373
3445
 * 
4374
 
 * cdef hid_t get_object_type() except -1:             # <<<<<<<<<<<<<<
4375
 
 *     return h5py_object_type()
4376
 
 * 
4377
 
 */
4378
 
 
4379
 
static  hid_t __pyx_f_4h5py_2h5_get_object_type(void) {
4380
 
  hid_t __pyx_r;
4381
 
  hid_t __pyx_t_1;
4382
 
  __Pyx_SetupRefcountContext("get_object_type");
4383
 
 
4384
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":409
4385
 
 * 
4386
 
 * cdef hid_t get_object_type() except -1:
4387
 
 *     return h5py_object_type()             # <<<<<<<<<<<<<<
4388
 
 * 
4389
 
 * cdef herr_t dset_rw(hid_t dataset_id, hid_t mem_type_id, hid_t mem_space_id,
4390
 
 */
4391
 
  __pyx_t_1 = h5py_object_type(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4392
 
  __pyx_r = __pyx_t_1;
4393
 
  goto __pyx_L0;
4394
 
 
4395
 
  __pyx_r = 0;
4396
 
  goto __pyx_L0;
4397
 
  __pyx_L1_error:;
4398
 
  __Pyx_AddTraceback("h5py.h5.get_object_type");
4399
 
  __pyx_r = -1;
4400
 
  __pyx_L0:;
4401
 
  __Pyx_FinishRefcountContext();
4402
 
  return __pyx_r;
4403
 
}
4404
 
 
4405
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":411
4406
 
 *     return h5py_object_type()
4407
 
 * 
4408
 
 * cdef herr_t dset_rw(hid_t dataset_id, hid_t mem_type_id, hid_t mem_space_id,             # <<<<<<<<<<<<<<
4409
 
 *                     hid_t file_space_id, hid_t xfer_plist_id, void *outbuf,
4410
 
 *                     h5py_rw_t dir) except *:
4411
 
 */
4412
 
 
4413
 
static  herr_t __pyx_f_4h5py_2h5_dset_rw(hid_t __pyx_v_dataset_id, hid_t __pyx_v_mem_type_id, hid_t __pyx_v_mem_space_id, hid_t __pyx_v_file_space_id, hid_t __pyx_v_xfer_plist_id, void *__pyx_v_outbuf, h5py_rw_t __pyx_v_dir) {
4414
 
  herr_t __pyx_r;
4415
 
  herr_t __pyx_t_1;
4416
 
  __Pyx_SetupRefcountContext("dset_rw");
4417
 
 
4418
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":416
4419
 
 * 
4420
 
 *     return H5PY_dset_rw(dataset_id, mem_type_id, mem_space_id, file_space_id,
4421
 
 *                         xfer_plist_id, outbuf, dir)             # <<<<<<<<<<<<<<
4422
 
 * 
4423
 
 * cdef herr_t attr_rw(hid_t attr_id, hid_t mem_type_id, void *buf, h5py_rw_t dir) except *:
4424
 
 */
4425
 
  __pyx_t_1 = H5PY_dset_rw(__pyx_v_dataset_id, __pyx_v_mem_type_id, __pyx_v_mem_space_id, __pyx_v_file_space_id, __pyx_v_xfer_plist_id, __pyx_v_outbuf, __pyx_v_dir); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4426
 
  __pyx_r = __pyx_t_1;
4427
 
  goto __pyx_L0;
4428
 
 
4429
 
  __pyx_r = 0;
4430
 
  goto __pyx_L0;
4431
 
  __pyx_L1_error:;
4432
 
  __Pyx_AddTraceback("h5py.h5.dset_rw");
4433
 
  __pyx_r = 0;
4434
 
  __pyx_L0:;
4435
 
  __Pyx_FinishRefcountContext();
4436
 
  return __pyx_r;
4437
 
}
4438
 
 
4439
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":418
4440
 
 *                         xfer_plist_id, outbuf, dir)
4441
 
 * 
4442
 
 * cdef herr_t attr_rw(hid_t attr_id, hid_t mem_type_id, void *buf, h5py_rw_t dir) except *:             # <<<<<<<<<<<<<<
4443
 
 *     return H5PY_attr_rw(attr_id, mem_type_id, buf, dir)
4444
 
 * 
4445
 
 */
4446
 
 
4447
 
static  herr_t __pyx_f_4h5py_2h5_attr_rw(hid_t __pyx_v_attr_id, hid_t __pyx_v_mem_type_id, void *__pyx_v_buf, h5py_rw_t __pyx_v_dir) {
4448
 
  herr_t __pyx_r;
4449
 
  herr_t __pyx_t_1;
4450
 
  __Pyx_SetupRefcountContext("attr_rw");
4451
 
 
4452
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":419
4453
 
 * 
4454
 
 * cdef herr_t attr_rw(hid_t attr_id, hid_t mem_type_id, void *buf, h5py_rw_t dir) except *:
4455
 
 *     return H5PY_attr_rw(attr_id, mem_type_id, buf, dir)             # <<<<<<<<<<<<<<
4456
 
 * 
4457
 
 * cdef int init_hdf5() except -1:
4458
 
 */
4459
 
  __pyx_t_1 = H5PY_attr_rw(__pyx_v_attr_id, __pyx_v_mem_type_id, __pyx_v_buf, __pyx_v_dir); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4460
 
  __pyx_r = __pyx_t_1;
4461
 
  goto __pyx_L0;
4462
 
 
4463
 
  __pyx_r = 0;
4464
 
  goto __pyx_L0;
4465
 
  __pyx_L1_error:;
4466
 
  __Pyx_AddTraceback("h5py.h5.attr_rw");
4467
 
  __pyx_r = 0;
4468
 
  __pyx_L0:;
4469
 
  __Pyx_FinishRefcountContext();
4470
 
  return __pyx_r;
4471
 
}
4472
 
 
4473
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pyx":421
4474
 
 *     return H5PY_attr_rw(attr_id, mem_type_id, buf, dir)
4475
 
 * 
4476
3446
 * cdef int init_hdf5() except -1:             # <<<<<<<<<<<<<<
4477
3447
 *     # Initialize the library and register Python callbacks for exception
4478
3448
 *     # handling.  Safe to call more than once.
4479
3449
 */
4480
3450
 
4481
3451
static  int __pyx_f_4h5py_2h5_init_hdf5(void) {
 
3452
  PyObject *__pyx_v__conv;
4482
3453
  int __pyx_r;
4483
 
  PyObject *__pyx_1 = 0;
4484
 
  int __pyx_t_1;
 
3454
  PyObject *__pyx_t_1 = NULL;
4485
3455
  int __pyx_t_2;
4486
 
  herr_t __pyx_t_3;
4487
 
  PyObject *__pyx_t_4 = NULL;
 
3456
  int __pyx_t_3;
 
3457
  herr_t __pyx_t_4;
4488
3458
  PyObject *__pyx_t_5 = NULL;
4489
3459
  int __pyx_t_6;
4490
3460
  PyObject *__pyx_t_7 = NULL;
4491
 
  __Pyx_SetupRefcountContext("init_hdf5");
 
3461
  __Pyx_RefNannySetupContext("init_hdf5");
 
3462
  __pyx_v__conv = Py_None; __Pyx_INCREF(Py_None);
4492
3463
 
4493
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":426
 
3464
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":338
4494
3465
 *     global hdf5_inited
4495
3466
 * 
 
3467
 *     import _conv             # <<<<<<<<<<<<<<
 
3468
 *     if not hdf5_inited:
 
3469
 *         if H5open() < 0:
 
3470
 */
 
3471
  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s___conv), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3472
  __Pyx_GOTREF(__pyx_t_1);
 
3473
  __Pyx_DECREF(__pyx_v__conv);
 
3474
  __pyx_v__conv = __pyx_t_1;
 
3475
  __pyx_t_1 = 0;
 
3476
 
 
3477
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":339
 
3478
 * 
 
3479
 *     import _conv
4496
3480
 *     if not hdf5_inited:             # <<<<<<<<<<<<<<
4497
 
 *         IF H5PY_DEBUG:
4498
 
 *             log_lib.info("* Initializing h5py library")
 
3481
 *         if H5open() < 0:
 
3482
 *             raise RuntimeError("Failed to initialize the HDF5 library.")
4499
3483
 */
4500
 
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_5); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4501
 
  __Pyx_GOTREF(__pyx_1);
4502
 
  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4503
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4504
 
  __pyx_t_2 = (!__pyx_t_1);
4505
 
  if (__pyx_t_2) {
 
3484
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__hdf5_inited); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3485
  __Pyx_GOTREF(__pyx_t_1);
 
3486
  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3487
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3488
  __pyx_t_3 = (!__pyx_t_2);
 
3489
  if (__pyx_t_3) {
4506
3490
 
4507
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":429
4508
 
 *         IF H5PY_DEBUG:
4509
 
 *             log_lib.info("* Initializing h5py library")
 
3491
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":340
 
3492
 *     import _conv
 
3493
 *     if not hdf5_inited:
4510
3494
 *         if H5open() < 0:             # <<<<<<<<<<<<<<
4511
3495
 *             raise RuntimeError("Failed to initialize the HDF5 library.")
4512
3496
 *         register_thread()
4513
3497
 */
4514
 
    __pyx_t_3 = H5open(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4515
 
    __pyx_t_2 = (__pyx_t_3 < 0);
4516
 
    if (__pyx_t_2) {
 
3498
    __pyx_t_4 = H5open(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3499
    __pyx_t_3 = (__pyx_t_4 < 0);
 
3500
    if (__pyx_t_3) {
4517
3501
 
4518
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":430
4519
 
 *             log_lib.info("* Initializing h5py library")
 
3502
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":341
 
3503
 *     if not hdf5_inited:
4520
3504
 *         if H5open() < 0:
4521
3505
 *             raise RuntimeError("Failed to initialize the HDF5 library.")             # <<<<<<<<<<<<<<
4522
3506
 *         register_thread()
4523
3507
 *         if register_lzf() < 0:
4524
3508
 */
4525
 
      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4526
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_4));
4527
 
      __Pyx_INCREF(__pyx_kp_36);
4528
 
      PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_kp_36);
4529
 
      __Pyx_GIVEREF(__pyx_kp_36);
4530
 
      __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3509
      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3510
      __Pyx_GOTREF(__pyx_t_1);
 
3511
      __Pyx_INCREF(((PyObject *)__pyx_kp_s_14));
 
3512
      PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_14));
 
3513
      __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_14));
 
3514
      __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4531
3515
      __Pyx_GOTREF(__pyx_t_5);
4532
 
      __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
 
3516
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4533
3517
      __Pyx_Raise(__pyx_t_5, 0, 0);
4534
3518
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4535
 
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3519
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4536
3520
      goto __pyx_L4;
4537
3521
    }
4538
3522
    __pyx_L4:;
4539
3523
 
4540
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":431
 
3524
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":342
4541
3525
 *         if H5open() < 0:
4542
3526
 *             raise RuntimeError("Failed to initialize the HDF5 library.")
4543
3527
 *         register_thread()             # <<<<<<<<<<<<<<
4544
3528
 *         if register_lzf() < 0:
4545
3529
 *             raise RuntimeError("Failed to register LZF filter")
4546
3530
 */
4547
 
    __pyx_t_6 = __pyx_f_4h5py_3h5e_register_thread(0); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3531
    __pyx_t_5 = __pyx_f_4h5py_3h5e_register_thread(0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3532
    __Pyx_GOTREF(__pyx_t_5);
 
3533
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4548
3534
 
4549
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":432
 
3535
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":343
4550
3536
 *             raise RuntimeError("Failed to initialize the HDF5 library.")
4551
3537
 *         register_thread()
4552
3538
 *         if register_lzf() < 0:             # <<<<<<<<<<<<<<
4553
3539
 *             raise RuntimeError("Failed to register LZF filter")
4554
3540
 *         atexit.register(_exithack)
4555
3541
 */
4556
 
    __pyx_t_6 = register_lzf(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4557
 
    __pyx_t_2 = (__pyx_t_6 < 0);
4558
 
    if (__pyx_t_2) {
 
3542
    __pyx_t_6 = register_lzf(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3543
    __pyx_t_3 = (__pyx_t_6 < 0);
 
3544
    if (__pyx_t_3) {
4559
3545
 
4560
 
      /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":433
 
3546
      /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":344
4561
3547
 *         register_thread()
4562
3548
 *         if register_lzf() < 0:
4563
3549
 *             raise RuntimeError("Failed to register LZF filter")             # <<<<<<<<<<<<<<
4564
3550
 *         atexit.register(_exithack)
4565
 
 *         h5py_register_conv()
 
3551
 *         #h5py_register_conv()
4566
3552
 */
4567
 
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4568
 
      __Pyx_GOTREF(((PyObject *)__pyx_t_5));
4569
 
      __Pyx_INCREF(__pyx_kp_37);
4570
 
      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_37);
4571
 
      __Pyx_GIVEREF(__pyx_kp_37);
4572
 
      __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4573
 
      __Pyx_GOTREF(__pyx_t_4);
4574
 
      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
4575
 
      __Pyx_Raise(__pyx_t_4, 0, 0);
4576
 
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4577
 
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3553
      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3554
      __Pyx_GOTREF(__pyx_t_5);
 
3555
      __Pyx_INCREF(((PyObject *)__pyx_kp_s_15));
 
3556
      PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_15));
 
3557
      __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_15));
 
3558
      __pyx_t_1 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3559
      __Pyx_GOTREF(__pyx_t_1);
 
3560
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
3561
      __Pyx_Raise(__pyx_t_1, 0, 0);
 
3562
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3563
      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4578
3564
      goto __pyx_L5;
4579
3565
    }
4580
3566
    __pyx_L5:;
4581
3567
 
4582
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":434
 
3568
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":345
4583
3569
 *         if register_lzf() < 0:
4584
3570
 *             raise RuntimeError("Failed to register LZF filter")
4585
3571
 *         atexit.register(_exithack)             # <<<<<<<<<<<<<<
4586
 
 *         h5py_register_conv()
4587
 
 *         hdf5_inited = 1
 
3572
 *         #h5py_register_conv()
 
3573
 *         _conv.register_converters()
4588
3574
 */
4589
 
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_atexit); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4590
 
    __Pyx_GOTREF(__pyx_1);
4591
 
    __pyx_t_4 = PyObject_GetAttr(__pyx_1, __pyx_kp_register); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4592
 
    __Pyx_GOTREF(__pyx_t_4);
4593
 
    __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
4594
 
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp__exithack); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4595
 
    __Pyx_GOTREF(__pyx_1);
4596
 
    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4597
 
    __Pyx_GOTREF(((PyObject *)__pyx_t_5));
4598
 
    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_1);
4599
 
    __Pyx_GIVEREF(__pyx_1);
4600
 
    __pyx_1 = 0;
4601
 
    __pyx_t_7 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3575
    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__atexit); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3576
    __Pyx_GOTREF(__pyx_t_1);
 
3577
    __pyx_t_5 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__register); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3578
    __Pyx_GOTREF(__pyx_t_5);
 
3579
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3580
    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___exithack); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3581
    __Pyx_GOTREF(__pyx_t_1);
 
3582
    __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4602
3583
    __Pyx_GOTREF(__pyx_t_7);
4603
 
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4604
 
    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
 
3584
    PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
 
3585
    __Pyx_GIVEREF(__pyx_t_1);
 
3586
    __pyx_t_1 = 0;
 
3587
    __pyx_t_1 = PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3588
    __Pyx_GOTREF(__pyx_t_1);
 
3589
    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4605
3590
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 
3591
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4606
3592
 
4607
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":435
4608
 
 *             raise RuntimeError("Failed to register LZF filter")
 
3593
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":347
4609
3594
 *         atexit.register(_exithack)
4610
 
 *         h5py_register_conv()             # <<<<<<<<<<<<<<
 
3595
 *         #h5py_register_conv()
 
3596
 *         _conv.register_converters()             # <<<<<<<<<<<<<<
4611
3597
 *         hdf5_inited = 1
4612
3598
 * 
4613
3599
 */
4614
 
    __pyx_t_6 = h5py_register_conv(); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3600
    __pyx_t_1 = PyObject_GetAttr(__pyx_v__conv, __pyx_n_s__register_converters); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3601
    __Pyx_GOTREF(__pyx_t_1);
 
3602
    __pyx_t_7 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3603
    __Pyx_GOTREF(__pyx_t_7);
 
3604
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
3605
    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4615
3606
 
4616
 
    /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":436
4617
 
 *         atexit.register(_exithack)
4618
 
 *         h5py_register_conv()
 
3607
    /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":348
 
3608
 *         #h5py_register_conv()
 
3609
 *         _conv.register_converters()
4619
3610
 *         hdf5_inited = 1             # <<<<<<<<<<<<<<
4620
3611
 * 
4621
3612
 *     return 0
4622
3613
 */
4623
 
    if (PyObject_SetAttr(__pyx_m, __pyx_kp_5, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3614
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s__hdf5_inited, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4624
3615
    goto __pyx_L3;
4625
3616
  }
4626
3617
  __pyx_L3:;
4627
3618
 
4628
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":438
 
3619
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":350
4629
3620
 *         hdf5_inited = 1
4630
3621
 * 
4631
3622
 *     return 0             # <<<<<<<<<<<<<<
4632
3623
 * 
4633
 
 * init_hdf5()
 
3624
 * 
4634
3625
 */
4635
3626
  __pyx_r = 0;
4636
3627
  goto __pyx_L0;
4638
3629
  __pyx_r = 0;
4639
3630
  goto __pyx_L0;
4640
3631
  __pyx_L1_error:;
4641
 
  __Pyx_XDECREF(__pyx_1);
4642
 
  __Pyx_XDECREF(__pyx_t_4);
 
3632
  __Pyx_XDECREF(__pyx_t_1);
4643
3633
  __Pyx_XDECREF(__pyx_t_5);
4644
3634
  __Pyx_XDECREF(__pyx_t_7);
4645
3635
  __Pyx_AddTraceback("h5py.h5.init_hdf5");
4646
3636
  __pyx_r = -1;
4647
3637
  __pyx_L0:;
4648
 
  __Pyx_FinishRefcountContext();
4649
 
  return __pyx_r;
4650
 
}
4651
 
 
4652
 
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":42
4653
 
 * 
4654
 
 *     cdef object __weakref__
4655
 
 *     cdef readonly hid_t id             # <<<<<<<<<<<<<<
4656
 
 *     cdef readonly int _locked
4657
 
 *     cdef object _hash
4658
 
 */
4659
 
 
4660
 
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID_2id___get__(PyObject *__pyx_v_self); /*proto*/
4661
 
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID_2id___get__(PyObject *__pyx_v_self) {
4662
 
  PyObject *__pyx_r = NULL;
4663
 
  PyObject *__pyx_t_1 = NULL;
4664
 
  __Pyx_SetupRefcountContext("__get__");
4665
 
  __Pyx_XDECREF(__pyx_r);
4666
 
  __pyx_t_1 = PyInt_FromLong(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_self)->id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
4667
 
  __Pyx_GOTREF(__pyx_t_1);
4668
 
  __pyx_r = __pyx_t_1;
4669
 
  __pyx_t_1 = 0;
4670
 
  goto __pyx_L0;
4671
 
 
4672
 
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
4673
 
  goto __pyx_L0;
4674
 
  __pyx_L1_error:;
4675
 
  __Pyx_XDECREF(__pyx_t_1);
4676
 
  __Pyx_AddTraceback("h5py.h5.ObjectID.id.__get__");
4677
 
  __pyx_r = NULL;
4678
 
  __pyx_L0:;
4679
 
  __Pyx_XGIVEREF(__pyx_r);
4680
 
  __Pyx_FinishRefcountContext();
4681
 
  return __pyx_r;
4682
 
}
4683
 
static struct __pyx_vtabstruct_4h5py_2h5_PHIL __pyx_vtable_4h5py_2h5_PHIL;
4684
 
 
4685
 
static PyObject *__pyx_tp_new_4h5py_2h5_PHIL(PyTypeObject *t, PyObject *a, PyObject *k) {
4686
 
  struct __pyx_obj_4h5py_2h5_PHIL *p;
4687
 
  PyObject *o = (*t->tp_alloc)(t, 0);
4688
 
  if (!o) return 0;
4689
 
  p = ((struct __pyx_obj_4h5py_2h5_PHIL *)o);
4690
 
  p->__pyx_vtab = __pyx_vtabptr_4h5py_2h5_PHIL;
4691
 
  p->lock = Py_None; Py_INCREF(Py_None);
4692
 
  return o;
4693
 
}
4694
 
 
4695
 
static void __pyx_tp_dealloc_4h5py_2h5_PHIL(PyObject *o) {
4696
 
  struct __pyx_obj_4h5py_2h5_PHIL *p = (struct __pyx_obj_4h5py_2h5_PHIL *)o;
4697
 
  Py_XDECREF(p->lock);
4698
 
  (*Py_TYPE(o)->tp_free)(o);
4699
 
}
4700
 
 
4701
 
static int __pyx_tp_traverse_4h5py_2h5_PHIL(PyObject *o, visitproc v, void *a) {
4702
 
  int e;
4703
 
  struct __pyx_obj_4h5py_2h5_PHIL *p = (struct __pyx_obj_4h5py_2h5_PHIL *)o;
4704
 
  if (p->lock) {
4705
 
    e = (*v)(p->lock, a); if (e) return e;
4706
 
  }
4707
 
  return 0;
4708
 
}
4709
 
 
4710
 
static int __pyx_tp_clear_4h5py_2h5_PHIL(PyObject *o) {
4711
 
  struct __pyx_obj_4h5py_2h5_PHIL *p = (struct __pyx_obj_4h5py_2h5_PHIL *)o;
4712
 
  PyObject* tmp;
4713
 
  tmp = ((PyObject*)p->lock);
4714
 
  p->lock = Py_None; Py_INCREF(Py_None);
4715
 
  Py_XDECREF(tmp);
4716
 
  return 0;
4717
 
}
4718
 
 
4719
 
static struct PyMethodDef __pyx_methods_4h5py_2h5_PHIL[] = {
4720
 
  {__Pyx_NAMESTR("__enter__"), (PyCFunction)__pyx_pf_4h5py_2h5_4PHIL___enter__, METH_NOARGS, __Pyx_DOCSTR(0)},
4721
 
  {__Pyx_NAMESTR("__exit__"), (PyCFunction)__pyx_pf_4h5py_2h5_4PHIL___exit__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)},
4722
 
  {__Pyx_NAMESTR("acquire"), (PyCFunction)__pyx_pf_4h5py_2h5_4PHIL_acquire, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)},
4723
 
  {__Pyx_NAMESTR("release"), (PyCFunction)__pyx_pf_4h5py_2h5_4PHIL_release, METH_NOARGS, __Pyx_DOCSTR(0)},
4724
 
  {0, 0, 0, 0}
4725
 
};
4726
 
 
4727
 
static PyNumberMethods __pyx_tp_as_number_PHIL = {
4728
 
  0, /*nb_add*/
4729
 
  0, /*nb_subtract*/
4730
 
  0, /*nb_multiply*/
4731
 
  #if PY_MAJOR_VERSION < 3
4732
 
  0, /*nb_divide*/
4733
 
  #endif
4734
 
  0, /*nb_remainder*/
4735
 
  0, /*nb_divmod*/
4736
 
  0, /*nb_power*/
4737
 
  0, /*nb_negative*/
4738
 
  0, /*nb_positive*/
4739
 
  0, /*nb_absolute*/
4740
 
  0, /*nb_nonzero*/
4741
 
  0, /*nb_invert*/
4742
 
  0, /*nb_lshift*/
4743
 
  0, /*nb_rshift*/
4744
 
  0, /*nb_and*/
4745
 
  0, /*nb_xor*/
4746
 
  0, /*nb_or*/
4747
 
  #if PY_MAJOR_VERSION < 3
4748
 
  0, /*nb_coerce*/
4749
 
  #endif
4750
 
  0, /*nb_int*/
4751
 
  #if PY_MAJOR_VERSION >= 3
4752
 
  0, /*reserved*/
4753
 
  #else
4754
 
  0, /*nb_long*/
4755
 
  #endif
4756
 
  0, /*nb_float*/
4757
 
  #if PY_MAJOR_VERSION < 3
4758
 
  0, /*nb_oct*/
4759
 
  #endif
4760
 
  #if PY_MAJOR_VERSION < 3
4761
 
  0, /*nb_hex*/
4762
 
  #endif
4763
 
  0, /*nb_inplace_add*/
4764
 
  0, /*nb_inplace_subtract*/
4765
 
  0, /*nb_inplace_multiply*/
4766
 
  #if PY_MAJOR_VERSION < 3
4767
 
  0, /*nb_inplace_divide*/
4768
 
  #endif
4769
 
  0, /*nb_inplace_remainder*/
4770
 
  0, /*nb_inplace_power*/
4771
 
  0, /*nb_inplace_lshift*/
4772
 
  0, /*nb_inplace_rshift*/
4773
 
  0, /*nb_inplace_and*/
4774
 
  0, /*nb_inplace_xor*/
4775
 
  0, /*nb_inplace_or*/
4776
 
  0, /*nb_floor_divide*/
4777
 
  0, /*nb_true_divide*/
4778
 
  0, /*nb_inplace_floor_divide*/
4779
 
  0, /*nb_inplace_true_divide*/
4780
 
  #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
4781
 
  0, /*nb_index*/
4782
 
  #endif
4783
 
};
4784
 
 
4785
 
static PySequenceMethods __pyx_tp_as_sequence_PHIL = {
4786
 
  0, /*sq_length*/
4787
 
  0, /*sq_concat*/
4788
 
  0, /*sq_repeat*/
4789
 
  0, /*sq_item*/
4790
 
  0, /*sq_slice*/
4791
 
  0, /*sq_ass_item*/
4792
 
  0, /*sq_ass_slice*/
4793
 
  0, /*sq_contains*/
4794
 
  0, /*sq_inplace_concat*/
4795
 
  0, /*sq_inplace_repeat*/
4796
 
};
4797
 
 
4798
 
static PyMappingMethods __pyx_tp_as_mapping_PHIL = {
4799
 
  0, /*mp_length*/
4800
 
  0, /*mp_subscript*/
4801
 
  0, /*mp_ass_subscript*/
4802
 
};
4803
 
 
4804
 
static PyBufferProcs __pyx_tp_as_buffer_PHIL = {
4805
 
  #if PY_MAJOR_VERSION < 3
4806
 
  0, /*bf_getreadbuffer*/
4807
 
  #endif
4808
 
  #if PY_MAJOR_VERSION < 3
4809
 
  0, /*bf_getwritebuffer*/
4810
 
  #endif
4811
 
  #if PY_MAJOR_VERSION < 3
4812
 
  0, /*bf_getsegcount*/
4813
 
  #endif
4814
 
  #if PY_MAJOR_VERSION < 3
4815
 
  0, /*bf_getcharbuffer*/
4816
 
  #endif
4817
 
  #if PY_VERSION_HEX >= 0x02060000
4818
 
  0, /*bf_getbuffer*/
4819
 
  #endif
4820
 
  #if PY_VERSION_HEX >= 0x02060000
4821
 
  0, /*bf_releasebuffer*/
4822
 
  #endif
4823
 
};
4824
 
 
4825
 
PyTypeObject __pyx_type_4h5py_2h5_PHIL = {
4826
 
  PyVarObject_HEAD_INIT(0, 0)
4827
 
  __Pyx_NAMESTR("h5py.h5.PHIL"), /*tp_name*/
4828
 
  sizeof(struct __pyx_obj_4h5py_2h5_PHIL), /*tp_basicsize*/
4829
 
  0, /*tp_itemsize*/
4830
 
  __pyx_tp_dealloc_4h5py_2h5_PHIL, /*tp_dealloc*/
4831
 
  0, /*tp_print*/
4832
 
  0, /*tp_getattr*/
4833
 
  0, /*tp_setattr*/
4834
 
  0, /*tp_compare*/
4835
 
  0, /*tp_repr*/
4836
 
  &__pyx_tp_as_number_PHIL, /*tp_as_number*/
4837
 
  &__pyx_tp_as_sequence_PHIL, /*tp_as_sequence*/
4838
 
  &__pyx_tp_as_mapping_PHIL, /*tp_as_mapping*/
4839
 
  0, /*tp_hash*/
4840
 
  0, /*tp_call*/
4841
 
  0, /*tp_str*/
4842
 
  0, /*tp_getattro*/
4843
 
  0, /*tp_setattro*/
4844
 
  &__pyx_tp_as_buffer_PHIL, /*tp_as_buffer*/
4845
 
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
4846
 
  __Pyx_DOCSTR("\n        The Primary HDF5 Interface Lock (PHIL) is a global reentrant lock\n        which manages access to the library.  HDF5 is not guaranteed to \n        be thread-safe, and certain callbacks in h5py can execute arbitrary\n        threaded Python code, defeating the normal GIL-based protection for\n        extension modules.  Therefore, in all routines acquire this lock first.\n\n        You should NOT use this object in your code.  It's internal to the\n        library.\n    "), /*tp_doc*/
4847
 
  __pyx_tp_traverse_4h5py_2h5_PHIL, /*tp_traverse*/
4848
 
  __pyx_tp_clear_4h5py_2h5_PHIL, /*tp_clear*/
4849
 
  0, /*tp_richcompare*/
4850
 
  0, /*tp_weaklistoffset*/
4851
 
  0, /*tp_iter*/
4852
 
  0, /*tp_iternext*/
4853
 
  __pyx_methods_4h5py_2h5_PHIL, /*tp_methods*/
4854
 
  0, /*tp_members*/
4855
 
  0, /*tp_getset*/
4856
 
  0, /*tp_base*/
4857
 
  0, /*tp_dict*/
4858
 
  0, /*tp_descr_get*/
4859
 
  0, /*tp_descr_set*/
4860
 
  0, /*tp_dictoffset*/
4861
 
  __pyx_pf_4h5py_2h5_4PHIL___init__, /*tp_init*/
4862
 
  0, /*tp_alloc*/
4863
 
  __pyx_tp_new_4h5py_2h5_PHIL, /*tp_new*/
4864
 
  0, /*tp_free*/
4865
 
  0, /*tp_is_gc*/
4866
 
  0, /*tp_bases*/
4867
 
  0, /*tp_mro*/
4868
 
  0, /*tp_cache*/
4869
 
  0, /*tp_subclasses*/
4870
 
  0, /*tp_weaklist*/
4871
 
};
 
3638
  __Pyx_DECREF(__pyx_v__conv);
 
3639
  __Pyx_RefNannyFinishContext();
 
3640
  return __pyx_r;
 
3641
}
4872
3642
 
4873
3643
static PyObject *__pyx_tp_new_4h5py_2h5_H5PYConfig(PyTypeObject *t, PyObject *a, PyObject *k) {
4874
3644
  struct __pyx_obj_4h5py_2h5_H5PYConfig *p;
5001
3771
};
5002
3772
 
5003
3773
static struct PyGetSetDef __pyx_getsets_4h5py_2h5_H5PYConfig[] = {
5004
 
  {(char *)"complex_names", __pyx_getprop_4h5py_2h5_10H5PYConfig_complex_names, __pyx_setprop_4h5py_2h5_10H5PYConfig_complex_names, __pyx_k_1, 0},
5005
 
  {(char *)"bool_names", __pyx_getprop_4h5py_2h5_10H5PYConfig_bool_names, __pyx_setprop_4h5py_2h5_10H5PYConfig_bool_names, __pyx_k_2, 0},
 
3774
  {(char *)"complex_names", __pyx_getprop_4h5py_2h5_10H5PYConfig_complex_names, __pyx_setprop_4h5py_2h5_10H5PYConfig_complex_names, __Pyx_DOCSTR(__pyx_k_16), 0},
 
3775
  {(char *)"bool_names", __pyx_getprop_4h5py_2h5_10H5PYConfig_bool_names, __pyx_setprop_4h5py_2h5_10H5PYConfig_bool_names, __Pyx_DOCSTR(__pyx_k_17), 0},
5006
3776
  {0, 0, 0, 0, 0}
5007
3777
};
5008
3778
 
5125
3895
  0, /*tp_setattro*/
5126
3896
  &__pyx_tp_as_buffer_H5PYConfig, /*tp_as_buffer*/
5127
3897
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
5128
 
  __Pyx_DOCSTR("\n        Provides runtime access to global library settings.\n    "), /*tp_doc*/
 
3898
  __Pyx_DOCSTR("\n        Provides runtime access to global library settings.  You retrieve the\n        master copy of this object by calling h5py.get_config().\n\n        API_16 (T/F, readonly)\n            Is the HDF5 1.6 API available?  Currently always true.\n\n        API_18 (T/F, readonly)\n            If the HDF5 1.8 API available?\n\n        complex_names (tuple, r/w)\n            Settable 2-tuple controlling how complex numbers are saved.\n            Defaults to ('r','i').\n\n        bool_names (tuple, r/w)\n            Settable 2-tuple controlling the HDF5 enum names used for boolean\n            values.  Defaults to ('FALSE', 'TRUE') for values 0 and 1.\n    "), /*tp_doc*/
5129
3899
  __pyx_tp_traverse_4h5py_2h5_H5PYConfig, /*tp_traverse*/
5130
3900
  __pyx_tp_clear_4h5py_2h5_H5PYConfig, /*tp_clear*/
5131
3901
  0, /*tp_richcompare*/
5150
3920
  0, /*tp_cache*/
5151
3921
  0, /*tp_subclasses*/
5152
3922
  0, /*tp_weaklist*/
 
3923
  0, /*tp_del*/
 
3924
  #if PY_VERSION_HEX >= 0x02060000
 
3925
  0, /*tp_version_tag*/
 
3926
  #endif
5153
3927
};
5154
3928
 
5155
3929
static PyObject *__pyx_tp_new_4h5py_2h5_ObjectID(PyTypeObject *t, PyObject *a, PyObject *k) {
5199
3973
  return 0;
5200
3974
}
5201
3975
 
5202
 
static PyObject *__pyx_getprop_4h5py_2h5_8ObjectID_id(PyObject *o, void *x) {
5203
 
  return __pyx_pf_4h5py_2h5_8ObjectID_2id___get__(o);
5204
 
}
5205
 
 
5206
3976
static PyObject *__pyx_getprop_4h5py_2h5_8ObjectID__valid(PyObject *o, void *x) {
5207
3977
  return __pyx_pf_4h5py_2h5_8ObjectID_6_valid___get__(o);
5208
3978
}
5214
3984
};
5215
3985
 
5216
3986
static struct PyMemberDef __pyx_members_4h5py_2h5_ObjectID[] = {
 
3987
  {(char *)"id", __Pyx_T_SIGNED_INT(hid_t), offsetof(struct __pyx_obj_4h5py_2h5_ObjectID, id), READONLY, 0},
5217
3988
  {(char *)"_locked", T_INT, offsetof(struct __pyx_obj_4h5py_2h5_ObjectID, _locked), READONLY, 0},
5218
3989
  {0, 0, 0, 0, 0}
5219
3990
};
5220
3991
 
5221
3992
static struct PyGetSetDef __pyx_getsets_4h5py_2h5_ObjectID[] = {
5222
 
  {(char *)"id", __pyx_getprop_4h5py_2h5_8ObjectID_id, 0, 0, 0},
5223
 
  {(char *)"_valid", __pyx_getprop_4h5py_2h5_8ObjectID__valid, 0, __pyx_k_3, 0},
 
3993
  {(char *)"_valid", __pyx_getprop_4h5py_2h5_8ObjectID__valid, 0, __Pyx_DOCSTR(__pyx_k_18), 0},
5224
3994
  {0, 0, 0, 0, 0}
5225
3995
};
5226
3996
 
5368
4138
  0, /*tp_cache*/
5369
4139
  0, /*tp_subclasses*/
5370
4140
  0, /*tp_weaklist*/
 
4141
  0, /*tp_del*/
 
4142
  #if PY_VERSION_HEX >= 0x02060000
 
4143
  0, /*tp_version_tag*/
 
4144
  #endif
5371
4145
};
5372
4146
 
5373
4147
static PyObject *__pyx_tp_new_4h5py_2h5_SmartStruct(PyTypeObject *t, PyObject *a, PyObject *k) {
5555
4329
  0, /*tp_cache*/
5556
4330
  0, /*tp_subclasses*/
5557
4331
  0, /*tp_weaklist*/
 
4332
  0, /*tp_del*/
 
4333
  #if PY_VERSION_HEX >= 0x02060000
 
4334
  0, /*tp_version_tag*/
 
4335
  #endif
5558
4336
};
5559
4337
 
5560
4338
static struct PyMethodDef __pyx_methods[] = {
5561
4339
  {__Pyx_NAMESTR("get_config"), (PyCFunction)__pyx_pf_4h5py_2h5_get_config, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_2h5_get_config)},
5562
 
  {__Pyx_NAMESTR("loglevel"), (PyCFunction)__pyx_pf_4h5py_2h5_loglevel, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_2h5_loglevel)},
5563
 
  {__Pyx_NAMESTR("get_phil"), (PyCFunction)__pyx_pf_4h5py_2h5_get_phil, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_2h5_get_phil)},
5564
4340
  {__Pyx_NAMESTR("get_libversion"), (PyCFunction)__pyx_pf_4h5py_2h5_get_libversion, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_2h5_get_libversion)},
5565
4341
  {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pf_4h5py_2h5__close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_2h5__close)},
5566
4342
  {__Pyx_NAMESTR("_open"), (PyCFunction)__pyx_pf_4h5py_2h5__open, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_2h5__open)},
5574
4350
static struct PyModuleDef __pyx_moduledef = {
5575
4351
    PyModuleDef_HEAD_INIT,
5576
4352
    __Pyx_NAMESTR("h5"),
5577
 
    0, /* m_doc */
 
4353
    __Pyx_DOCSTR(__pyx_k_19), /* m_doc */
5578
4354
    -1, /* m_size */
5579
4355
    __pyx_methods /* m_methods */,
5580
4356
    NULL, /* m_reload */
5585
4361
#endif
5586
4362
 
5587
4363
static __Pyx_StringTabEntry __pyx_string_tab[] = {
5588
 
  {&__pyx_kp___main__, __pyx_k___main__, sizeof(__pyx_k___main__), 1, 1, 1},
5589
 
  {&__pyx_kp__hash, __pyx_k__hash, sizeof(__pyx_k__hash), 1, 1, 1},
5590
 
  {&__pyx_kp___hash__, __pyx_k___hash__, sizeof(__pyx_k___hash__), 1, 1, 1},
5591
 
  {&__pyx_kp___richcmp__, __pyx_k___richcmp__, sizeof(__pyx_k___richcmp__), 1, 1, 1},
5592
 
  {&__pyx_kp___str__, __pyx_k___str__, sizeof(__pyx_k___str__), 1, 1, 1},
5593
 
  {&__pyx_kp___init__, __pyx_k___init__, sizeof(__pyx_k___init__), 1, 1, 1},
5594
 
  {&__pyx_kp___repr__, __pyx_k___repr__, sizeof(__pyx_k___repr__), 1, 1, 1},
5595
 
  {&__pyx_kp_get_config, __pyx_k_get_config, sizeof(__pyx_k_get_config), 1, 1, 1},
5596
 
  {&__pyx_kp___enter__, __pyx_k___enter__, sizeof(__pyx_k___enter__), 1, 1, 1},
5597
 
  {&__pyx_kp___exit__, __pyx_k___exit__, sizeof(__pyx_k___exit__), 1, 1, 1},
5598
 
  {&__pyx_kp_acquire, __pyx_k_acquire, sizeof(__pyx_k_acquire), 1, 1, 1},
5599
 
  {&__pyx_kp_release, __pyx_k_release, sizeof(__pyx_k_release), 1, 1, 1},
5600
 
  {&__pyx_kp_get_phil, __pyx_k_get_phil, sizeof(__pyx_k_get_phil), 1, 1, 1},
5601
 
  {&__pyx_kp___nonzero__, __pyx_k___nonzero__, sizeof(__pyx_k___nonzero__), 1, 1, 1},
5602
 
  {&__pyx_kp___cinit__, __pyx_k___cinit__, sizeof(__pyx_k___cinit__), 1, 1, 1},
5603
 
  {&__pyx_kp___dealloc__, __pyx_k___dealloc__, sizeof(__pyx_k___dealloc__), 1, 1, 1},
5604
 
  {&__pyx_kp___copy__, __pyx_k___copy__, sizeof(__pyx_k___copy__), 1, 1, 1},
5605
 
  {&__pyx_kp_self, __pyx_k_self, sizeof(__pyx_k_self), 1, 1, 1},
5606
 
  {&__pyx_kp_other, __pyx_k_other, sizeof(__pyx_k_other), 1, 1, 1},
5607
 
  {&__pyx_kp_how, __pyx_k_how, sizeof(__pyx_k_how), 1, 1, 1},
5608
 
  {&__pyx_kp_val, __pyx_k_val, sizeof(__pyx_k_val), 1, 1, 1},
5609
 
  {&__pyx_kp_lev, __pyx_k_lev, sizeof(__pyx_k_lev), 1, 1, 1},
5610
 
  {&__pyx_kp_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 1, 1},
5611
 
  {&__pyx_kp_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 1, 1},
5612
 
  {&__pyx_kp_c, __pyx_k_c, sizeof(__pyx_k_c), 0, 1, 1},
5613
 
  {&__pyx_kp_blocking, __pyx_k_blocking, sizeof(__pyx_k_blocking), 1, 1, 1},
5614
 
  {&__pyx_kp_id_, __pyx_k_id_, sizeof(__pyx_k_id_), 1, 1, 1},
5615
 
  {&__pyx_kp___doc__, __pyx_k___doc__, sizeof(__pyx_k___doc__), 1, 1, 1},
5616
 
  {&__pyx_kp_atexit, __pyx_k_atexit, sizeof(__pyx_k_atexit), 1, 1, 1},
5617
 
  {&__pyx_kp_threading, __pyx_k_threading, sizeof(__pyx_k_threading), 1, 1, 1},
5618
 
  {&__pyx_kp__sync, __pyx_k__sync, sizeof(__pyx_k__sync), 1, 1, 1},
5619
 
  {&__pyx_kp_sync, __pyx_k_sync, sizeof(__pyx_k_sync), 1, 1, 1},
5620
 
  {&__pyx_kp_nosync, __pyx_k_nosync, sizeof(__pyx_k_nosync), 1, 1, 1},
5621
 
  {&__pyx_kp_get_libversion, __pyx_k_get_libversion, sizeof(__pyx_k_get_libversion), 1, 1, 1},
5622
 
  {&__pyx_kp__close, __pyx_k__close, sizeof(__pyx_k__close), 1, 1, 1},
5623
 
  {&__pyx_kp__open, __pyx_k__open, sizeof(__pyx_k__open), 1, 1, 1},
5624
 
  {&__pyx_kp_5, __pyx_k_5, sizeof(__pyx_k_5), 1, 1, 1},
5625
 
  {&__pyx_kp_6, __pyx_k_6, sizeof(__pyx_k_6), 1, 1, 1},
5626
 
  {&__pyx_kp__api_version_tuple, __pyx_k__api_version_tuple, sizeof(__pyx_k__api_version_tuple), 1, 1, 1},
5627
 
  {&__pyx_kp__version_tuple, __pyx_k__version_tuple, sizeof(__pyx_k__version_tuple), 1, 1, 1},
5628
 
  {&__pyx_kp_x, __pyx_k_x, sizeof(__pyx_k_x), 1, 1, 1},
5629
 
  {&__pyx_kp_split, __pyx_k_split, sizeof(__pyx_k_split), 1, 1, 1},
5630
 
  {&__pyx_kp__version_string, __pyx_k__version_string, sizeof(__pyx_k__version_string), 1, 1, 1},
5631
 
  {&__pyx_kp_11, __pyx_k_11, sizeof(__pyx_k_11), 1, 1, 1},
5632
 
  {&__pyx_kp_12, __pyx_k_12, sizeof(__pyx_k_12), 1, 1, 1},
5633
 
  {&__pyx_kp_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 1, 1, 1},
5634
 
  {&__pyx_kp___class__, __pyx_k___class__, sizeof(__pyx_k___class__), 1, 1, 1},
5635
 
  {&__pyx_kp___name__, __pyx_k___name__, sizeof(__pyx_k___name__), 1, 1, 1},
5636
 
  {&__pyx_kp_NotImplemented, __pyx_k_NotImplemented, sizeof(__pyx_k_NotImplemented), 1, 1, 1},
5637
 
  {&__pyx_kp_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 1, 1, 1},
5638
 
  {&__pyx_kp_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 1, 0},
5639
 
  {&__pyx_kp_join, __pyx_k_join, sizeof(__pyx_k_join), 1, 1, 1},
5640
 
  {&__pyx_kp_sorted, __pyx_k_sorted, sizeof(__pyx_k_sorted), 1, 1, 1},
5641
 
  {&__pyx_kp_22, __pyx_k_22, sizeof(__pyx_k_22), 0, 1, 0},
5642
 
  {&__pyx_kp_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 1, 0},
5643
 
  {&__pyx_kp_24, __pyx_k_24, sizeof(__pyx_k_24), 0, 1, 0},
5644
 
  {&__pyx_kp_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 1, 0},
5645
 
  {&__pyx_kp_Exception, __pyx_k_Exception, sizeof(__pyx_k_Exception), 1, 1, 1},
5646
 
  {&__pyx_kp_complex_names, __pyx_k_complex_names, sizeof(__pyx_k_complex_names), 1, 1, 1},
5647
 
  {&__pyx_kp_RLock, __pyx_k_RLock, sizeof(__pyx_k_RLock), 1, 1, 1},
5648
 
  {&__pyx_kp__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 1, 1, 1},
5649
 
  {&__pyx_kp_id, __pyx_k_id, sizeof(__pyx_k_id), 1, 1, 1},
5650
 
  {&__pyx_kp_32, __pyx_k_32, sizeof(__pyx_k_32), 0, 1, 0},
5651
 
  {&__pyx_kp_RuntimeError, __pyx_k_RuntimeError, sizeof(__pyx_k_RuntimeError), 1, 1, 1},
5652
 
  {&__pyx_kp_register, __pyx_k_register, sizeof(__pyx_k_register), 1, 1, 1},
5653
 
  {&__pyx_kp__exithack, __pyx_k__exithack, sizeof(__pyx_k__exithack), 1, 1, 1},
5654
 
  {&__pyx_kp_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 0},
5655
 
  {&__pyx_kp_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 0},
5656
 
  {&__pyx_kp_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 0},
5657
 
  {&__pyx_kp_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 0},
5658
 
  {&__pyx_kp_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 0},
5659
 
  {&__pyx_kp_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 0},
5660
 
  {&__pyx_kp_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 0},
5661
 
  {&__pyx_kp_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 0},
5662
 
  {&__pyx_kp_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 0},
5663
 
  {&__pyx_kp_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 0},
5664
 
  {&__pyx_kp_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 0},
5665
 
  {&__pyx_kp_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 0},
5666
 
  {&__pyx_kp_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 0, 0},
5667
 
  {&__pyx_kp_26, __pyx_k_26, sizeof(__pyx_k_26), 0, 0, 0},
5668
 
  {&__pyx_kp_27, __pyx_k_27, sizeof(__pyx_k_27), 0, 0, 0},
5669
 
  {&__pyx_kp_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 0},
5670
 
  {&__pyx_kp_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 0},
5671
 
  {&__pyx_kp_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 0, 0},
5672
 
  {&__pyx_kp_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 0},
5673
 
  {&__pyx_kp_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 0},
5674
 
  {&__pyx_kp_37, __pyx_k_37, sizeof(__pyx_k_37), 0, 0, 0},
5675
 
  {0, 0, 0, 0, 0, 0}
 
4364
  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
 
4365
  {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0},
 
4366
  {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0},
 
4367
  {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0},
 
4368
  {&__pyx_n_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 1},
 
4369
  {&__pyx_kp_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 0},
 
4370
  {&__pyx_kp_s_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 1, 0},
 
4371
  {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0},
 
4372
  {&__pyx_kp_b_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 0, 0},
 
4373
  {&__pyx_kp_s_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 0, 1, 0},
 
4374
  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
 
4375
  {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
 
4376
  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
 
4377
  {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0},
 
4378
  {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0},
 
4379
  {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0},
 
4380
  {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0},
 
4381
  {&__pyx_n_s__API_16, __pyx_k__API_16, sizeof(__pyx_k__API_16), 0, 0, 1, 1},
 
4382
  {&__pyx_n_s__API_18, __pyx_k__API_18, sizeof(__pyx_k__API_18), 0, 0, 1, 1},
 
4383
  {&__pyx_n_s__DEBUG, __pyx_k__DEBUG, sizeof(__pyx_k__DEBUG), 0, 0, 1, 1},
 
4384
  {&__pyx_n_s__Exception, __pyx_k__Exception, sizeof(__pyx_k__Exception), 0, 0, 1, 1},
 
4385
  {&__pyx_n_s__FALSE, __pyx_k__FALSE, sizeof(__pyx_k__FALSE), 0, 0, 1, 1},
 
4386
  {&__pyx_n_s__H5Error, __pyx_k__H5Error, sizeof(__pyx_k__H5Error), 0, 0, 1, 1},
 
4387
  {&__pyx_n_s__L, __pyx_k__L, sizeof(__pyx_k__L), 0, 0, 1, 1},
 
4388
  {&__pyx_n_s__NotImplemented, __pyx_k__NotImplemented, sizeof(__pyx_k__NotImplemented), 0, 0, 1, 1},
 
4389
  {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1},
 
4390
  {&__pyx_n_s__TRUE, __pyx_k__TRUE, sizeof(__pyx_k__TRUE), 0, 0, 1, 1},
 
4391
  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
 
4392
  {&__pyx_n_s__U, __pyx_k__U, sizeof(__pyx_k__U), 0, 0, 1, 1},
 
4393
  {&__pyx_n_s__X, __pyx_k__X, sizeof(__pyx_k__X), 0, 0, 1, 1},
 
4394
  {&__pyx_n_s___, __pyx_k___, sizeof(__pyx_k___), 0, 0, 1, 1},
 
4395
  {&__pyx_n_s____class__, __pyx_k____class__, sizeof(__pyx_k____class__), 0, 0, 1, 1},
 
4396
  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
 
4397
  {&__pyx_n_s____name__, __pyx_k____name__, sizeof(__pyx_k____name__), 0, 0, 1, 1},
 
4398
  {&__pyx_n_s___api_version_tuple, __pyx_k___api_version_tuple, sizeof(__pyx_k___api_version_tuple), 0, 0, 1, 1},
 
4399
  {&__pyx_n_s___conv, __pyx_k___conv, sizeof(__pyx_k___conv), 0, 0, 1, 1},
 
4400
  {&__pyx_n_s___exithack, __pyx_k___exithack, sizeof(__pyx_k___exithack), 0, 0, 1, 1},
 
4401
  {&__pyx_n_s___f_name, __pyx_k___f_name, sizeof(__pyx_k___f_name), 0, 0, 1, 1},
 
4402
  {&__pyx_n_s___hash, __pyx_k___hash, sizeof(__pyx_k___hash), 0, 0, 1, 1},
 
4403
  {&__pyx_n_s___hdf5_version_tuple, __pyx_k___hdf5_version_tuple, sizeof(__pyx_k___hdf5_version_tuple), 0, 0, 1, 1},
 
4404
  {&__pyx_n_s___i_name, __pyx_k___i_name, sizeof(__pyx_k___i_name), 0, 0, 1, 1},
 
4405
  {&__pyx_n_s___locked, __pyx_k___locked, sizeof(__pyx_k___locked), 0, 0, 1, 1},
 
4406
  {&__pyx_n_s___r_name, __pyx_k___r_name, sizeof(__pyx_k___r_name), 0, 0, 1, 1},
 
4407
  {&__pyx_n_s___t_name, __pyx_k___t_name, sizeof(__pyx_k___t_name), 0, 0, 1, 1},
 
4408
  {&__pyx_n_s___title, __pyx_k___title, sizeof(__pyx_k___title), 0, 0, 1, 1},
 
4409
  {&__pyx_n_s___valid, __pyx_k___valid, sizeof(__pyx_k___valid), 0, 0, 1, 1},
 
4410
  {&__pyx_n_s___version_string, __pyx_k___version_string, sizeof(__pyx_k___version_string), 0, 0, 1, 1},
 
4411
  {&__pyx_n_s___version_tuple, __pyx_k___version_tuple, sizeof(__pyx_k___version_tuple), 0, 0, 1, 1},
 
4412
  {&__pyx_n_s__atexit, __pyx_k__atexit, sizeof(__pyx_k__atexit), 0, 0, 1, 1},
 
4413
  {&__pyx_n_s__complex_names, __pyx_k__complex_names, sizeof(__pyx_k__complex_names), 0, 0, 1, 1},
 
4414
  {&__pyx_n_s__fileno, __pyx_k__fileno, sizeof(__pyx_k__fileno), 0, 0, 1, 1},
 
4415
  {&__pyx_n_s__get_libversion, __pyx_k__get_libversion, sizeof(__pyx_k__get_libversion), 0, 0, 1, 1},
 
4416
  {&__pyx_n_s__getattr, __pyx_k__getattr, sizeof(__pyx_k__getattr), 0, 0, 1, 1},
 
4417
  {&__pyx_n_s__h5e, __pyx_k__h5e, sizeof(__pyx_k__h5e), 0, 0, 1, 1},
 
4418
  {&__pyx_n_s__hdf5_inited, __pyx_k__hdf5_inited, sizeof(__pyx_k__hdf5_inited), 0, 0, 1, 1},
 
4419
  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
 
4420
  {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
 
4421
  {&__pyx_n_s__id_, __pyx_k__id_, sizeof(__pyx_k__id_), 0, 0, 1, 1},
 
4422
  {&__pyx_n_s__join, __pyx_k__join, sizeof(__pyx_k__join), 0, 0, 1, 1},
 
4423
  {&__pyx_n_s__objno, __pyx_k__objno, sizeof(__pyx_k__objno), 0, 0, 1, 1},
 
4424
  {&__pyx_n_s__r, __pyx_k__r, sizeof(__pyx_k__r), 0, 0, 1, 1},
 
4425
  {&__pyx_n_s__register, __pyx_k__register, sizeof(__pyx_k__register), 0, 0, 1, 1},
 
4426
  {&__pyx_n_s__register_converters, __pyx_k__register_converters, sizeof(__pyx_k__register_converters), 0, 0, 1, 1},
 
4427
  {&__pyx_n_s__sorted, __pyx_k__sorted, sizeof(__pyx_k__sorted), 0, 0, 1, 1},
 
4428
  {&__pyx_n_s__split, __pyx_k__split, sizeof(__pyx_k__split), 0, 0, 1, 1},
 
4429
  {&__pyx_n_s__startswith, __pyx_k__startswith, sizeof(__pyx_k__startswith), 0, 0, 1, 1},
 
4430
  {&__pyx_n_s__threading, __pyx_k__threading, sizeof(__pyx_k__threading), 0, 0, 1, 1},
 
4431
  {&__pyx_n_s__x, __pyx_k__x, sizeof(__pyx_k__x), 0, 0, 1, 1},
 
4432
  {0, 0, 0, 0, 0, 0, 0}
5676
4433
};
5677
4434
static int __Pyx_InitCachedBuiltins(void) {
5678
 
  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_kp_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5679
 
  __pyx_builtin_NotImplemented = __Pyx_GetName(__pyx_b, __pyx_kp_NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5680
 
  __pyx_builtin_sorted = __Pyx_GetName(__pyx_b, __pyx_kp_sorted); if (!__pyx_builtin_sorted) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5681
 
  __pyx_builtin_Exception = __Pyx_GetName(__pyx_b, __pyx_kp_Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5682
 
  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_kp_RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4435
  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4436
  __pyx_builtin_NotImplemented = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4437
  __pyx_builtin_getattr = __Pyx_GetName(__pyx_b, __pyx_n_s__getattr); if (!__pyx_builtin_getattr) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4438
  __pyx_builtin_sorted = __Pyx_GetName(__pyx_b, __pyx_n_s__sorted); if (!__pyx_builtin_sorted) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4439
  __pyx_builtin_Exception = __Pyx_GetName(__pyx_b, __pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4440
  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5683
4441
  return 0;
5684
4442
  __pyx_L1_error:;
5685
4443
  return -1;
5686
4444
}
5687
4445
 
5688
4446
static int __Pyx_InitGlobals(void) {
 
4447
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5689
4448
  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5690
4449
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5691
 
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 
4450
  __pyx_int_6 = PyInt_FromLong(6); if (unlikely(!__pyx_int_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5692
4451
  return 0;
5693
4452
  __pyx_L1_error:;
5694
4453
  return -1;
5702
4461
PyMODINIT_FUNC PyInit_h5(void)
5703
4462
#endif
5704
4463
{
5705
 
  PyObject *__pyx_1 = 0;
5706
 
  PyObject *__pyx_2 = 0;
5707
4464
  PyObject *__pyx_t_1 = NULL;
5708
4465
  PyObject *__pyx_t_2 = NULL;
5709
 
  int __pyx_t_3;
5710
 
  PyObject *__pyx_t_4 = NULL;
5711
 
  Py_ssize_t __pyx_t_5;
 
4466
  PyObject *__pyx_t_3 = NULL;
 
4467
  Py_ssize_t __pyx_t_4;
 
4468
  PyObject *__pyx_t_5 = NULL;
5712
4469
  PyObject *__pyx_t_6 = NULL;
5713
 
  #ifdef CYTHON_REFNANNY
5714
 
  void* __pyx_refchk = NULL;
5715
 
  __Pyx_Refnanny = __Pyx_ImportRefcountAPI("refnanny");
5716
 
  if (!__Pyx_Refnanny) {
 
4470
  int __pyx_t_7;
 
4471
  #if CYTHON_REFNANNY
 
4472
  void* __pyx_refnanny = NULL;
 
4473
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
 
4474
  if (!__Pyx_RefNanny) {
5717
4475
      PyErr_Clear();
5718
 
      __Pyx_Refnanny = __Pyx_ImportRefcountAPI("Cython.Runtime.refnanny");
5719
 
      if (!__Pyx_Refnanny)
5720
 
          Py_FatalError("failed to import refnanny module");
 
4476
      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
 
4477
      if (!__Pyx_RefNanny)
 
4478
          Py_FatalError("failed to import 'refnanny' module");
5721
4479
  }
5722
 
  __pyx_refchk = __Pyx_Refnanny->NewContext("PyMODINIT_FUNC PyInit_h5(void)", __LINE__, __FILE__);
 
4480
  __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_h5(void)", __LINE__, __FILE__);
5723
4481
  #endif
 
4482
  __pyx_init_filenames();
5724
4483
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4484
  #if PY_MAJOR_VERSION < 3
 
4485
  __pyx_empty_bytes = PyString_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4486
  #else
 
4487
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4488
  #endif
5725
4489
  /*--- Library function declarations ---*/
5726
 
  __pyx_init_filenames();
5727
4490
  /*--- Threads initialization code ---*/
5728
4491
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
5729
4492
  #ifdef WITH_THREAD /* Python build with threading support? */
5730
4493
  PyEval_InitThreads();
5731
4494
  #endif
5732
4495
  #endif
5733
 
  /*--- Initialize various global constants etc. ---*/
5734
 
  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5735
4496
  /*--- Module creation code ---*/
5736
4497
  #if PY_MAJOR_VERSION < 3
5737
 
  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5"), __pyx_methods, 0, 0, PYTHON_API_VERSION);
 
4498
  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_19), 0, PYTHON_API_VERSION);
5738
4499
  #else
5739
4500
  __pyx_m = PyModule_Create(&__pyx_moduledef);
5740
4501
  #endif
5745
4506
  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME));
5746
4507
  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5747
4508
  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 
4509
  /*--- Initialize various global constants etc. ---*/
 
4510
  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5748
4511
  if (__pyx_module_is_main_h5py__h5) {
5749
 
    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_kp___main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 
4512
    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
5750
4513
  }
5751
4514
  /*--- Builtin init code ---*/
5752
4515
  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5753
 
  __pyx_skip_dispatch = 0;
5754
4516
  /*--- Global init code ---*/
5755
4517
  __pyx_v_4h5py_2h5_cfg = ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)Py_None); Py_INCREF(Py_None);
5756
 
  __pyx_v_4h5py_2h5_phil = ((struct __pyx_obj_4h5py_2h5_PHIL *)Py_None); Py_INCREF(Py_None);
5757
4518
  /*--- Function export code ---*/
5758
 
  if (__Pyx_ExportFunction("get_phil", (void (*)(void))__pyx_f_4h5py_2h5_get_phil, "struct __pyx_obj_4h5py_2h5_PHIL *(int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5759
4519
  if (__Pyx_ExportFunction("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;}
5760
4520
  if (__Pyx_ExportFunction("init_hdf5", (void (*)(void))__pyx_f_4h5py_2h5_init_hdf5, "int (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5761
 
  if (__Pyx_ExportFunction("get_object_type", (void (*)(void))__pyx_f_4h5py_2h5_get_object_type, "hid_t (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5762
 
  if (__Pyx_ExportFunction("attr_rw", (void (*)(void))__pyx_f_4h5py_2h5_attr_rw, "herr_t (hid_t, hid_t, void *, h5py_rw_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5763
 
  if (__Pyx_ExportFunction("dset_rw", (void (*)(void))__pyx_f_4h5py_2h5_dset_rw, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *, h5py_rw_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5764
4521
  /*--- Type init code ---*/
5765
 
  __pyx_vtabptr_4h5py_2h5_PHIL = &__pyx_vtable_4h5py_2h5_PHIL;
5766
 
  #if PY_MAJOR_VERSION >= 3
5767
 
  __pyx_vtable_4h5py_2h5_PHIL.__enter__ = (int (*)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch))__pyx_f_4h5py_2h5_4PHIL___enter__;
5768
 
  __pyx_vtable_4h5py_2h5_PHIL.__exit__ = (int (*)(struct __pyx_obj_4h5py_2h5_PHIL *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch))__pyx_f_4h5py_2h5_4PHIL___exit__;
5769
 
  __pyx_vtable_4h5py_2h5_PHIL.acquire = (int (*)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire *__pyx_optional_args))__pyx_f_4h5py_2h5_4PHIL_acquire;
5770
 
  __pyx_vtable_4h5py_2h5_PHIL.release = (int (*)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch))__pyx_f_4h5py_2h5_4PHIL_release;
5771
 
  #else
5772
 
  *(void(**)(void))&__pyx_vtable_4h5py_2h5_PHIL.__enter__ = (void(*)(void))__pyx_f_4h5py_2h5_4PHIL___enter__;
5773
 
  *(void(**)(void))&__pyx_vtable_4h5py_2h5_PHIL.__exit__ = (void(*)(void))__pyx_f_4h5py_2h5_4PHIL___exit__;
5774
 
  *(void(**)(void))&__pyx_vtable_4h5py_2h5_PHIL.acquire = (void(*)(void))__pyx_f_4h5py_2h5_4PHIL_acquire;
5775
 
  *(void(**)(void))&__pyx_vtable_4h5py_2h5_PHIL.release = (void(*)(void))__pyx_f_4h5py_2h5_4PHIL_release;
5776
 
  #endif
5777
 
  if (PyType_Ready(&__pyx_type_4h5py_2h5_PHIL) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5778
 
  if (__Pyx_SetVtable(__pyx_type_4h5py_2h5_PHIL.tp_dict, __pyx_vtabptr_4h5py_2h5_PHIL) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5779
 
  if (__Pyx_SetAttrString(__pyx_m, "PHIL", (PyObject *)&__pyx_type_4h5py_2h5_PHIL) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5780
 
  __pyx_ptype_4h5py_2h5_PHIL = &__pyx_type_4h5py_2h5_PHIL;
5781
 
  if (PyType_Ready(&__pyx_type_4h5py_2h5_H5PYConfig) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5782
 
  if (__Pyx_SetAttrString(__pyx_m, "H5PYConfig", (PyObject *)&__pyx_type_4h5py_2h5_H5PYConfig) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4522
  if (PyType_Ready(&__pyx_type_4h5py_2h5_H5PYConfig) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4523
  if (__Pyx_SetAttrString(__pyx_m, "H5PYConfig", (PyObject *)&__pyx_type_4h5py_2h5_H5PYConfig) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5783
4524
  __pyx_ptype_4h5py_2h5_H5PYConfig = &__pyx_type_4h5py_2h5_H5PYConfig;
5784
 
  if (PyType_Ready(&__pyx_type_4h5py_2h5_ObjectID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5785
 
  if (__Pyx_SetAttrString(__pyx_m, "ObjectID", (PyObject *)&__pyx_type_4h5py_2h5_ObjectID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4525
  if (PyType_Ready(&__pyx_type_4h5py_2h5_ObjectID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4526
  if (__Pyx_SetAttrString(__pyx_m, "ObjectID", (PyObject *)&__pyx_type_4h5py_2h5_ObjectID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5786
4527
  if (__pyx_type_4h5py_2h5_ObjectID.tp_weaklistoffset == 0) __pyx_type_4h5py_2h5_ObjectID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_2h5_ObjectID, __weakref__);
5787
4528
  __pyx_ptype_4h5py_2h5_ObjectID = &__pyx_type_4h5py_2h5_ObjectID;
5788
 
  if (PyType_Ready(&__pyx_type_4h5py_2h5_SmartStruct) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5789
 
  if (__Pyx_SetAttrString(__pyx_m, "SmartStruct", (PyObject *)&__pyx_type_4h5py_2h5_SmartStruct) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4529
  if (PyType_Ready(&__pyx_type_4h5py_2h5_SmartStruct) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4530
  if (__Pyx_SetAttrString(__pyx_m, "SmartStruct", (PyObject *)&__pyx_type_4h5py_2h5_SmartStruct) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5790
4531
  if (__pyx_type_4h5py_2h5_SmartStruct.tp_weaklistoffset == 0) __pyx_type_4h5py_2h5_SmartStruct.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_2h5_SmartStruct, __weakref__);
5791
4532
  __pyx_ptype_4h5py_2h5_SmartStruct = &__pyx_type_4h5py_2h5_SmartStruct;
5792
4533
  /*--- Type import code ---*/
 
4534
  __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[1]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5793
4535
  /*--- Function import code ---*/
5794
 
  __pyx_1 = __Pyx_ImportModule("h5py.h5e"); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5795
 
  if (__Pyx_ImportFunction(__pyx_1, "register_thread", (void (**)(void))&__pyx_f_4h5py_3h5e_register_thread, "int (int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5796
 
  if (__Pyx_ImportFunction(__pyx_1, "disable_errors", (void (**)(void))&__pyx_f_4h5py_3h5e_disable_errors, "__pyx_t_4h5py_3h5e_err_cookie (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5797
 
  if (__Pyx_ImportFunction(__pyx_1, "enable_errors", (void (**)(void))&__pyx_f_4h5py_3h5e_enable_errors, "void (__pyx_t_4h5py_3h5e_err_cookie)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5798
 
  Py_DECREF(__pyx_1); __pyx_1 = 0;
 
4536
  __pyx_t_1 = __Pyx_ImportModule("h5py.h5e"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4537
  if (__Pyx_ImportFunction(__pyx_t_1, "register_thread", (void (**)(void))&__pyx_f_4h5py_3h5e_register_thread, "PyObject *(int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4538
  if (__Pyx_ImportFunction(__pyx_t_1, "unregister_thread", (void (**)(void))&__pyx_f_4h5py_3h5e_unregister_thread, "PyObject *(int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5e_unregister_thread *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4539
  if (__Pyx_ImportFunction(__pyx_t_1, "disable_errors", (void (**)(void))&__pyx_f_4h5py_3h5e_disable_errors, "__pyx_t_4h5py_3h5e_err_cookie (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4540
  if (__Pyx_ImportFunction(__pyx_t_1, "enable_errors", (void (**)(void))&__pyx_f_4h5py_3h5e_enable_errors, "void (__pyx_t_4h5py_3h5e_err_cookie)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4541
  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5799
4542
  /*--- Execution code ---*/
5800
4543
 
5801
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":13
5802
 
 * #-
5803
 
 * __doc__ = \
5804
 
 * """             # <<<<<<<<<<<<<<
5805
 
 *     Common support and versioning module for the h5py HDF5 interface.
5806
 
 * 
5807
 
 */
5808
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp___doc__, __pyx_kp_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5809
 
 
5810
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":28
 
4544
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":29
5811
4545
 * from h5e cimport register_thread
5812
4546
 * 
5813
4547
 * import atexit             # <<<<<<<<<<<<<<
5814
4548
 * import threading
5815
4549
 * 
5816
4550
 */
5817
 
  __pyx_1 = __Pyx_Import(__pyx_kp_atexit, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5818
 
  __Pyx_GOTREF(__pyx_1);
5819
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_atexit, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5820
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
4551
  __pyx_t_2 = __Pyx_Import(((PyObject *)__pyx_n_s__atexit), 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4552
  __Pyx_GOTREF(__pyx_t_2);
 
4553
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__atexit, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4554
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5821
4555
 
5822
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":29
 
4556
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":30
5823
4557
 * 
5824
4558
 * import atexit
5825
4559
 * import threading             # <<<<<<<<<<<<<<
5826
4560
 * 
5827
4561
 * IF H5PY_18API:
5828
4562
 */
5829
 
  __pyx_1 = __Pyx_Import(__pyx_kp_threading, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5830
 
  __Pyx_GOTREF(__pyx_1);
5831
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_threading, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5832
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
4563
  __pyx_t_2 = __Pyx_Import(((PyObject *)__pyx_n_s__threading), 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4564
  __Pyx_GOTREF(__pyx_t_2);
 
4565
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__threading, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4566
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5833
4567
 
5834
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":142
 
4568
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":157
5835
4569
 *         return rstr
5836
4570
 * 
5837
4571
 * cdef H5PYConfig cfg = H5PYConfig()             # <<<<<<<<<<<<<<
5838
4572
 * 
5839
4573
 * cpdef H5PYConfig get_config():
5840
4574
 */
5841
 
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_2h5_H5PYConfig)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5842
 
  __Pyx_GOTREF(__pyx_t_1);
5843
 
  if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_2h5_H5PYConfig))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4575
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_2h5_H5PYConfig)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4576
  __Pyx_GOTREF(__pyx_t_2);
5844
4577
  __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_2h5_cfg));
5845
4578
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_2h5_cfg));
5846
 
  __Pyx_GIVEREF(__pyx_t_1);
5847
 
  __pyx_v_4h5py_2h5_cfg = ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_t_1);
5848
 
  __pyx_t_1 = 0;
5849
 
 
5850
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":206
5851
 
 *         return 0
5852
 
 * 
5853
 
 * cdef PHIL phil = PHIL()             # <<<<<<<<<<<<<<
5854
 
 * 
5855
 
 * cpdef PHIL get_phil():
5856
 
 */
5857
 
  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_2h5_PHIL)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5858
 
  __Pyx_GOTREF(__pyx_t_1);
5859
 
  if (!(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_2h5_PHIL))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5860
 
  __Pyx_GOTREF(((PyObject *)__pyx_v_4h5py_2h5_phil));
5861
 
  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_2h5_phil));
5862
 
  __Pyx_GIVEREF(__pyx_t_1);
5863
 
  __pyx_v_4h5py_2h5_phil = ((struct __pyx_obj_4h5py_2h5_PHIL *)__pyx_t_1);
5864
 
  __pyx_t_1 = 0;
5865
 
 
5866
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":218
5867
 
 * # Everything required for the decorator is now defined
5868
 
 * 
5869
 
 * from _sync import sync, nosync             # <<<<<<<<<<<<<<
5870
 
 * 
5871
 
 * # === Public C API for object identifiers =====================================
5872
 
 */
5873
 
  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5874
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
5875
 
  __Pyx_INCREF(__pyx_kp_sync);
5876
 
  PyList_SET_ITEM(__pyx_t_1, 0, __pyx_kp_sync);
5877
 
  __Pyx_GIVEREF(__pyx_kp_sync);
5878
 
  __Pyx_INCREF(__pyx_kp_nosync);
5879
 
  PyList_SET_ITEM(__pyx_t_1, 1, __pyx_kp_nosync);
5880
 
  __Pyx_GIVEREF(__pyx_kp_nosync);
5881
 
  __pyx_1 = __Pyx_Import(__pyx_kp__sync, ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5882
 
  __Pyx_GOTREF(__pyx_1);
5883
 
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
5884
 
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5885
 
  __Pyx_GOTREF(__pyx_2);
5886
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_sync, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5887
 
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
5888
 
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_nosync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5889
 
  __Pyx_GOTREF(__pyx_2);
5890
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_nosync, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5891
 
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
5892
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
5893
 
 
5894
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":350
5895
 
 * # === HDF5 "H5" API ===========================================================
5896
 
 * 
5897
 
 * @sync             # <<<<<<<<<<<<<<
5898
 
 * def get_libversion():
5899
 
 *     """ () => TUPLE (major, minor, release)
5900
 
 */
5901
 
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5902
 
  __Pyx_GOTREF(__pyx_1);
5903
 
 
5904
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":351
5905
 
 * 
5906
 
 * @sync
5907
 
 * def get_libversion():             # <<<<<<<<<<<<<<
5908
 
 *     """ () => TUPLE (major, minor, release)
5909
 
 * 
5910
 
 */
5911
 
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_get_libversion); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5912
 
  __Pyx_GOTREF(__pyx_2);
5913
 
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5914
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
5915
 
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_2);
5916
 
  __Pyx_GIVEREF(__pyx_2);
5917
 
  __pyx_2 = 0;
5918
 
  __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5919
 
  __Pyx_GOTREF(__pyx_t_2);
5920
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
5921
 
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
5922
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_get_libversion, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5923
 
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5924
 
 
5925
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":365
5926
 
 *     return (major, minor, release)
5927
 
 * 
5928
 
 * @sync             # <<<<<<<<<<<<<<
5929
 
 * def _close():
5930
 
 *     """ Internal function; do not call unless you want to lose all your data.
5931
 
 */
5932
 
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5933
 
  __Pyx_GOTREF(__pyx_2);
5934
 
 
5935
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":366
5936
 
 * 
5937
 
 * @sync
5938
 
 * def _close():             # <<<<<<<<<<<<<<
5939
 
 *     """ Internal function; do not call unless you want to lose all your data.
5940
 
 *     """
5941
 
 */
5942
 
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp__close); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5943
 
  __Pyx_GOTREF(__pyx_1);
5944
 
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5945
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
5946
 
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_1);
5947
 
  __Pyx_GIVEREF(__pyx_1);
5948
 
  __pyx_1 = 0;
5949
 
  __pyx_t_1 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5950
 
  __Pyx_GOTREF(__pyx_t_1);
5951
 
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
5952
 
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
5953
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp__close, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5954
 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5955
 
 
5956
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":371
5957
 
 *     H5close()
5958
 
 * 
5959
 
 * @sync             # <<<<<<<<<<<<<<
5960
 
 * def _open():
5961
 
 *     """ Internal function; do not call unless you want to lose all your data.
5962
 
 */
5963
 
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5964
 
  __Pyx_GOTREF(__pyx_1);
5965
 
 
5966
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":372
5967
 
 * 
5968
 
 * @sync
5969
 
 * def _open():             # <<<<<<<<<<<<<<
5970
 
 *     """ Internal function; do not call unless you want to lose all your data.
5971
 
 *     """
5972
 
 */
5973
 
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp__open); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5974
 
  __Pyx_GOTREF(__pyx_2);
5975
 
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5976
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
5977
 
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_2);
5978
 
  __Pyx_GIVEREF(__pyx_2);
5979
 
  __pyx_2 = 0;
5980
 
  __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5981
 
  __Pyx_GOTREF(__pyx_t_2);
5982
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
5983
 
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
5984
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp__open, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5985
 
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5986
 
 
5987
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":406
5988
 
 *             free(objs)
 
4579
  __Pyx_GIVEREF(__pyx_t_2);
 
4580
  __pyx_v_4h5py_2h5_cfg = ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_t_2);
 
4581
  __pyx_t_2 = 0;
 
4582
 
 
4583
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":331
 
4584
 *     _conv.unregister_converters()
5989
4585
 * 
5990
4586
 * hdf5_inited = 0             # <<<<<<<<<<<<<<
5991
4587
 * 
5992
 
 * cdef hid_t get_object_type() except -1:
5993
 
 */
5994
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_5, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
5995
 
 
5996
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":440
5997
 
 *     return 0
5998
 
 * 
5999
 
 * init_hdf5()             # <<<<<<<<<<<<<<
6000
 
 * 
6001
 
 * # === Module init =============================================================
6002
 
 */
6003
 
  __pyx_t_3 = __pyx_f_4h5py_2h5_init_hdf5(); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6004
 
 
6005
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":444
 
4588
 * cdef int init_hdf5() except -1:
 
4589
 */
 
4590
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__hdf5_inited, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4591
 
 
4592
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":356
6006
4593
 * # === Module init =============================================================
6007
4594
 * 
6008
4595
 * _hdf5_version_tuple = get_libversion()             # <<<<<<<<<<<<<<
6009
4596
 * _api_version_tuple = (int(H5PY_API/10), H5PY_API%10)
6010
4597
 * _version_tuple = tuple([int(x) for x in H5PY_VERSION.split('-')[0].split('.')])
6011
4598
 */
6012
 
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_get_libversion); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6013
 
  __Pyx_GOTREF(__pyx_2);
6014
 
  __pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4599
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__get_libversion); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6015
4600
  __Pyx_GOTREF(__pyx_t_2);
6016
 
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
6017
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_6, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4601
  __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4602
  __Pyx_GOTREF(__pyx_t_3);
6018
4603
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
4604
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___hdf5_version_tuple, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4605
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6019
4606
 
6020
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":445
 
4607
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":357
6021
4608
 * 
6022
4609
 * _hdf5_version_tuple = get_libversion()
6023
4610
 * _api_version_tuple = (int(H5PY_API/10), H5PY_API%10)             # <<<<<<<<<<<<<<
6024
4611
 * _version_tuple = tuple([int(x) for x in H5PY_VERSION.split('-')[0].split('.')])
6025
4612
 * _version_string = H5PY_VERSION
6026
4613
 */
6027
 
  __pyx_t_2 = PyInt_FromLong(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6028
 
  __Pyx_GOTREF(__pyx_t_2);
6029
 
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6030
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
6031
 
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
6032
 
  __Pyx_GIVEREF(__pyx_t_2);
6033
 
  __pyx_t_2 = 0;
6034
 
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6035
 
  __Pyx_GOTREF(__pyx_t_2);
6036
 
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
6037
 
  __pyx_t_1 = PyInt_FromLong(6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6038
 
  __Pyx_GOTREF(__pyx_t_1);
6039
 
  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6040
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
6041
 
  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
6042
 
  __Pyx_GIVEREF(__pyx_t_2);
6043
 
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_1);
6044
 
  __Pyx_GIVEREF(__pyx_t_1);
6045
 
  __pyx_t_2 = 0;
6046
 
  __pyx_t_1 = 0;
6047
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp__api_version_tuple, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6048
 
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
 
4614
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4615
  __Pyx_GOTREF(__pyx_t_3);
 
4616
  __Pyx_INCREF(__pyx_int_1);
 
4617
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_1);
 
4618
  __Pyx_GIVEREF(__pyx_int_1);
 
4619
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4620
  __Pyx_GOTREF(__pyx_t_2);
 
4621
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
4622
  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4623
  __Pyx_GOTREF(__pyx_t_3);
 
4624
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
 
4625
  __Pyx_GIVEREF(__pyx_t_2);
 
4626
  __Pyx_INCREF(__pyx_int_6);
 
4627
  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_6);
 
4628
  __Pyx_GIVEREF(__pyx_int_6);
 
4629
  __pyx_t_2 = 0;
 
4630
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___api_version_tuple, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4631
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
6049
4632
 
6050
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":446
 
4633
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":358
6051
4634
 * _hdf5_version_tuple = get_libversion()
6052
4635
 * _api_version_tuple = (int(H5PY_API/10), H5PY_API%10)
6053
4636
 * _version_tuple = tuple([int(x) for x in H5PY_VERSION.split('-')[0].split('.')])             # <<<<<<<<<<<<<<
6054
4637
 * _version_string = H5PY_VERSION
6055
4638
 * 
6056
4639
 */
6057
 
  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6058
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
6059
 
  __pyx_t_1 = PyObject_GetAttr(__pyx_kp_7, __pyx_kp_split); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6060
 
  __Pyx_GOTREF(__pyx_t_1);
6061
 
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6062
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
6063
 
  __Pyx_INCREF(__pyx_kp_8);
6064
 
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_8);
6065
 
  __Pyx_GIVEREF(__pyx_kp_8);
6066
 
  __pyx_t_6 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6067
 
  __Pyx_GOTREF(__pyx_t_6);
6068
 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6069
 
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
6070
 
  __pyx_1 = __Pyx_GetItemInt(__pyx_t_6, 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6071
 
  __Pyx_GOTREF(__pyx_1);
6072
 
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6073
 
  __pyx_t_6 = PyObject_GetAttr(__pyx_1, __pyx_kp_split); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6074
 
  __Pyx_GOTREF(__pyx_t_6);
6075
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
6076
 
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6077
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
6078
 
  __Pyx_INCREF(__pyx_kp_9);
6079
 
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_9);
6080
 
  __Pyx_GIVEREF(__pyx_kp_9);
6081
 
  __pyx_t_1 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6082
 
  __Pyx_GOTREF(__pyx_t_1);
6083
 
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
6084
 
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
6085
 
  if (PyList_CheckExact(__pyx_t_1) || PyTuple_CheckExact(__pyx_t_1)) {
6086
 
    __pyx_t_5 = 0; __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2);
 
4640
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4641
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
4642
  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_kp_b_20), __pyx_n_s__split); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4643
  __Pyx_GOTREF(__pyx_t_2);
 
4644
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4645
  __Pyx_GOTREF(__pyx_t_5);
 
4646
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_21));
 
4647
  PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_21));
 
4648
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_21));
 
4649
  __pyx_t_6 = PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4650
  __Pyx_GOTREF(__pyx_t_6);
 
4651
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
4652
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
4653
  __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_6, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4654
  __Pyx_GOTREF(__pyx_t_5);
 
4655
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
4656
  __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__split); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4657
  __Pyx_GOTREF(__pyx_t_6);
 
4658
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
4659
  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4660
  __Pyx_GOTREF(__pyx_t_5);
 
4661
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_10));
 
4662
  PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_kp_s_10));
 
4663
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_10));
 
4664
  __pyx_t_2 = PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4665
  __Pyx_GOTREF(__pyx_t_2);
 
4666
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
4667
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
4668
  if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
 
4669
    __pyx_t_4 = 0; __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5);
6087
4670
  } else {
6088
 
    __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6089
 
    __Pyx_GOTREF(__pyx_t_2);
 
4671
    __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4672
    __Pyx_GOTREF(__pyx_t_5);
6090
4673
  }
6091
 
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
4674
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6092
4675
  for (;;) {
6093
 
    if (likely(PyList_CheckExact(__pyx_t_2))) {
6094
 
      if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;
6095
 
      __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++;
6096
 
    } else if (likely(PyTuple_CheckExact(__pyx_t_2))) {
6097
 
      if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
6098
 
      __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++;
 
4676
    if (likely(PyList_CheckExact(__pyx_t_5))) {
 
4677
      if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
 
4678
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++;
 
4679
    } else if (likely(PyTuple_CheckExact(__pyx_t_5))) {
 
4680
      if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
 
4681
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++;
6099
4682
    } else {
6100
 
      __pyx_t_1 = PyIter_Next(__pyx_t_2);
6101
 
      if (!__pyx_t_1) {
6102
 
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4683
      __pyx_t_2 = PyIter_Next(__pyx_t_5);
 
4684
      if (!__pyx_t_2) {
 
4685
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6103
4686
        break;
6104
4687
      }
6105
 
      __Pyx_GOTREF(__pyx_t_1);
 
4688
      __Pyx_GOTREF(__pyx_t_2);
6106
4689
    }
6107
 
    if (PyObject_SetAttr(__pyx_m, __pyx_kp_x, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6108
 
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6109
 
    __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_x); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6110
 
    __Pyx_GOTREF(__pyx_2);
6111
 
    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6112
 
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
6113
 
    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_2);
6114
 
    __Pyx_GIVEREF(__pyx_2);
6115
 
    __pyx_2 = 0;
6116
 
    __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4690
    if (PyObject_SetAttr(__pyx_m, __pyx_n_s__x, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4691
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
4692
    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__x); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4693
    __Pyx_GOTREF(__pyx_t_2);
 
4694
    __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6117
4695
    __Pyx_GOTREF(__pyx_t_6);
6118
 
    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
6119
 
    __pyx_t_3 = PyList_Append(__pyx_t_4, (PyObject*)__pyx_t_6); if (unlikely(__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4696
    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
 
4697
    __Pyx_GIVEREF(__pyx_t_2);
 
4698
    __pyx_t_2 = 0;
 
4699
    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4700
    __Pyx_GOTREF(__pyx_t_2);
6120
4701
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
4702
    __pyx_t_7 = PyList_Append(__pyx_t_3, (PyObject*)__pyx_t_2); if (unlikely(__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4703
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6121
4704
  }
6122
 
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6123
 
  __pyx_t_2 = ((PyObject *)PyList_AsTuple(__pyx_t_4)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6124
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
6125
 
  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
6126
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp__version_tuple, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6127
 
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
4705
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
4706
  __pyx_t_5 = ((PyObject *)PyList_AsTuple(__pyx_t_3)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4707
  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
 
4708
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
4709
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___version_tuple, ((PyObject *)__pyx_t_5)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4710
  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
6128
4711
 
6129
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":447
 
4712
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":359
6130
4713
 * _api_version_tuple = (int(H5PY_API/10), H5PY_API%10)
6131
4714
 * _version_tuple = tuple([int(x) for x in H5PY_VERSION.split('-')[0].split('.')])
6132
4715
 * _version_string = H5PY_VERSION             # <<<<<<<<<<<<<<
6133
4716
 * 
6134
 
 * 
 
4717
 * # For backwards compatibility with user code used to the exception classes
6135
4718
 */
6136
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp__version_string, __pyx_kp_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4719
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___version_string, ((PyObject *)__pyx_kp_b_20)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6137
4720
 
6138
 
  /* "/home/tachyon/pydev/h5py/h5py/h5.pyx":450
6139
 
 * 
6140
 
 * 
 
4721
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":363
 
4722
 * # For backwards compatibility with user code used to the exception classes
 
4723
 * # being in this module.
6141
4724
 * from h5e import H5Error             # <<<<<<<<<<<<<<
6142
4725
 * 
6143
 
 * 
6144
 
 */
6145
 
  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6146
 
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
6147
 
  __Pyx_INCREF(__pyx_kp_12);
6148
 
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_kp_12);
6149
 
  __Pyx_GIVEREF(__pyx_kp_12);
6150
 
  __pyx_1 = __Pyx_Import(__pyx_kp_11, ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6151
 
  __Pyx_GOTREF(__pyx_1);
6152
 
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
6153
 
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_12); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6154
 
  __Pyx_GOTREF(__pyx_2);
6155
 
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_12, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
6156
 
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
6157
 
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
6158
 
 
6159
 
  /* "/home/tachyon/pydev/h5py/h5py/h5e.pxd":2
6160
 
 * 
6161
 
 * """             # <<<<<<<<<<<<<<
6162
 
 *     Definitions file for new H5E module
6163
 
 * """
 
4726
 * init_hdf5()
 
4727
 */
 
4728
  __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4729
  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
 
4730
  __Pyx_INCREF(((PyObject *)__pyx_n_s__H5Error));
 
4731
  PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_n_s__H5Error));
 
4732
  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__H5Error));
 
4733
  __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__h5e), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4734
  __Pyx_GOTREF(__pyx_t_3);
 
4735
  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
 
4736
  __pyx_t_5 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__H5Error); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4737
  __Pyx_GOTREF(__pyx_t_5);
 
4738
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__H5Error, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4739
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
4740
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
4741
 
 
4742
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":365
 
4743
 * from h5e import H5Error
 
4744
 * 
 
4745
 * init_hdf5()             # <<<<<<<<<<<<<<
 
4746
 * import _conv
 
4747
 */
 
4748
  __pyx_t_7 = __pyx_f_4h5py_2h5_init_hdf5(); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4749
 
 
4750
  /* "/home/tachyon/slave/unix-release/build/h5py/h5.pyx":366
 
4751
 * 
 
4752
 * init_hdf5()
 
4753
 * import _conv             # <<<<<<<<<<<<<<
 
4754
 */
 
4755
  __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s___conv), 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4756
  __Pyx_GOTREF(__pyx_t_3);
 
4757
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___conv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
4758
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
4759
 
 
4760
  /* "/home/tachyon/slave/unix-release/build/h5py/h5e.pxd":1
 
4761
 * #+             # <<<<<<<<<<<<<<
 
4762
 * #
 
4763
 * # This file is part of h5py, a low-level Python interface to the HDF5 library.
6164
4764
 */
6165
4765
  goto __pyx_L0;
6166
4766
  __pyx_L1_error:;
6167
 
  __Pyx_XDECREF(__pyx_1);
6168
 
  __Pyx_XDECREF(__pyx_2);
6169
4767
  __Pyx_XDECREF(__pyx_t_1);
6170
4768
  __Pyx_XDECREF(__pyx_t_2);
6171
 
  __Pyx_XDECREF(__pyx_t_4);
 
4769
  __Pyx_XDECREF(__pyx_t_3);
 
4770
  __Pyx_XDECREF(__pyx_t_5);
6172
4771
  __Pyx_XDECREF(__pyx_t_6);
6173
 
  __Pyx_AddTraceback("h5py.h5");
6174
 
  Py_DECREF(__pyx_m); __pyx_m = 0;
 
4772
  if (__pyx_m) {
 
4773
    __Pyx_AddTraceback("init h5py.h5");
 
4774
    Py_DECREF(__pyx_m); __pyx_m = 0;
 
4775
  } else if (!PyErr_Occurred()) {
 
4776
    PyErr_SetString(PyExc_ImportError, "init h5py.h5");
 
4777
  }
6175
4778
  __pyx_L0:;
6176
 
  __Pyx_FinishRefcountContext();
 
4779
  __Pyx_RefNannyFinishContext();
6177
4780
  #if PY_MAJOR_VERSION < 3
6178
4781
  return;
6179
4782
  #else
6183
4786
 
6184
4787
static const char *__pyx_filenames[] = {
6185
4788
  "h5.pyx",
6186
 
  "h5.pxd",
 
4789
  "h5e.pxd",
6187
4790
};
6188
4791
 
6189
4792
/* Runtime support code */
6193
4796
}
6194
4797
 
6195
4798
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
 
4799
    PyObject *local_type, *local_value, *local_tb;
6196
4800
    PyObject *tmp_type, *tmp_value, *tmp_tb;
6197
4801
    PyThreadState *tstate = PyThreadState_GET();
6198
 
    *type = tstate->curexc_type;
6199
 
    *value = tstate->curexc_value;
6200
 
    *tb = tstate->curexc_traceback;
 
4802
    local_type = tstate->curexc_type;
 
4803
    local_value = tstate->curexc_value;
 
4804
    local_tb = tstate->curexc_traceback;
6201
4805
    tstate->curexc_type = 0;
6202
4806
    tstate->curexc_value = 0;
6203
4807
    tstate->curexc_traceback = 0;
6204
 
    PyErr_NormalizeException(type, value, tb);
6205
 
    if (PyErr_Occurred())
6206
 
        goto bad;
6207
 
    Py_INCREF(*type);
6208
 
    Py_INCREF(*value);
6209
 
    Py_INCREF(*tb);
 
4808
    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
 
4809
    if (unlikely(tstate->curexc_type))
 
4810
        goto bad;
 
4811
    #if PY_MAJOR_VERSION >= 3
 
4812
    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
 
4813
        goto bad;
 
4814
    #endif
 
4815
    *type = local_type;
 
4816
    *value = local_value;
 
4817
    *tb = local_tb;
 
4818
    Py_INCREF(local_type);
 
4819
    Py_INCREF(local_value);
 
4820
    Py_INCREF(local_tb);
6210
4821
    tmp_type = tstate->exc_type;
6211
4822
    tmp_value = tstate->exc_value;
6212
4823
    tmp_tb = tstate->exc_traceback;
6213
 
    tstate->exc_type = *type;
6214
 
    tstate->exc_value = *value;
6215
 
    tstate->exc_traceback = *tb;
 
4824
    tstate->exc_type = local_type;
 
4825
    tstate->exc_value = local_value;
 
4826
    tstate->exc_traceback = local_tb;
6216
4827
    /* Make sure tstate is in a consistent state when we XDECREF
6217
 
    these objects (XDECREF may run arbitrary code). */
 
4828
       these objects (XDECREF may run arbitrary code). */
6218
4829
    Py_XDECREF(tmp_type);
6219
4830
    Py_XDECREF(tmp_value);
6220
4831
    Py_XDECREF(tmp_tb);
6221
4832
    return 0;
6222
4833
bad:
6223
 
    Py_XDECREF(*type);
6224
 
    Py_XDECREF(*value);
6225
 
    Py_XDECREF(*tb);
 
4834
    *type = 0;
 
4835
    *value = 0;
 
4836
    *tb = 0;
 
4837
    Py_XDECREF(local_type);
 
4838
    Py_XDECREF(local_value);
 
4839
    Py_XDECREF(local_tb);
6226
4840
    return -1;
6227
4841
}
6228
4842
 
6384
4998
    return -1;
6385
4999
}
6386
5000
 
 
5001
static INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
 
5002
    if (unlikely(!type)) {
 
5003
        PyErr_Format(PyExc_SystemError, "Missing type object");
 
5004
        return 0;
 
5005
    }
 
5006
    if (likely(PyObject_TypeCheck(obj, type)))
 
5007
        return 1;
 
5008
    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
 
5009
                 Py_TYPE(obj)->tp_name, type->tp_name);
 
5010
    return 0;
 
5011
}
 
5012
 
6387
5013
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
6388
5014
    PyObject *tmp_type, *tmp_value, *tmp_tb;
6389
5015
    PyThreadState *tstate = PyThreadState_GET();
6390
5016
 
6391
 
#if PY_MAJOR_VERSION >= 3
6392
 
    /* Note: this is a temporary work-around to prevent crashes in Python 3.0 */
6393
 
    if ((tstate->exc_type != NULL) & (tstate->exc_type != Py_None)) {
6394
 
        tmp_type = tstate->exc_type;
6395
 
        tmp_value = tstate->exc_value;
6396
 
        tmp_tb = tstate->exc_traceback;
6397
 
        PyErr_NormalizeException(&type, &value, &tb);
6398
 
        PyErr_NormalizeException(&tmp_type, &tmp_value, &tmp_tb);
6399
 
        tstate->exc_type = 0;
6400
 
        tstate->exc_value = 0;
6401
 
        tstate->exc_traceback = 0;
6402
 
        PyException_SetContext(value, tmp_value);
6403
 
        Py_DECREF(tmp_type);
6404
 
        Py_XDECREF(tmp_tb);
6405
 
    }
6406
 
#endif
6407
 
 
6408
5017
    tmp_type = tstate->curexc_type;
6409
5018
    tmp_value = tstate->curexc_value;
6410
5019
    tmp_tb = tstate->curexc_traceback;
6428
5037
}
6429
5038
 
6430
5039
 
6431
 
static int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
6432
 
    if (!type) {
6433
 
        PyErr_Format(PyExc_SystemError, "Missing type object");
6434
 
        return 0;
6435
 
    }
6436
 
    if (obj == Py_None || PyObject_TypeCheck(obj, type))
6437
 
        return 1;
6438
 
    PyErr_Format(PyExc_TypeError, "Cannot convert %s to %s",
6439
 
        Py_TYPE(obj)->tp_name, type->tp_name);
6440
 
    return 0;
6441
 
}
6442
 
 
6443
5040
static INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
6444
5041
    PyThreadState *tstate = PyThreadState_GET();
6445
5042
    *type = tstate->exc_type;
6505
5102
    return result;
6506
5103
}
6507
5104
 
 
5105
#if PY_MAJOR_VERSION < 3
6508
5106
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
6509
5107
    Py_XINCREF(type);
6510
5108
    Py_XINCREF(value);
6560
5158
            }
6561
5159
        #endif
6562
5160
    }
 
5161
 
6563
5162
    __Pyx_ErrRestore(type, value, tb);
6564
5163
    return;
6565
5164
raise_error:
6569
5168
    return;
6570
5169
}
6571
5170
 
6572
 
static INLINE int __Pyx_StrEq(const char *s1, const char *s2) {
6573
 
     while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
6574
 
     return *s1 == *s2;
 
5171
#else /* Python 3+ */
 
5172
 
 
5173
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
 
5174
    if (tb == Py_None) {
 
5175
        tb = 0;
 
5176
    } else if (tb && !PyTraceBack_Check(tb)) {
 
5177
        PyErr_SetString(PyExc_TypeError,
 
5178
            "raise: arg 3 must be a traceback or None");
 
5179
        goto bad;
 
5180
    }
 
5181
    if (value == Py_None)
 
5182
        value = 0;
 
5183
 
 
5184
    if (PyExceptionInstance_Check(type)) {
 
5185
        if (value) {
 
5186
            PyErr_SetString(PyExc_TypeError,
 
5187
                "instance exception may not have a separate value");
 
5188
            goto bad;
 
5189
        }
 
5190
        value = type;
 
5191
        type = (PyObject*) Py_TYPE(value);
 
5192
    } else if (!PyExceptionClass_Check(type)) {
 
5193
        PyErr_SetString(PyExc_TypeError,
 
5194
            "raise: exception class must be a subclass of BaseException");
 
5195
        goto bad;
 
5196
    }
 
5197
 
 
5198
    PyErr_SetObject(type, value);
 
5199
 
 
5200
    if (tb) {
 
5201
        PyThreadState *tstate = PyThreadState_GET();
 
5202
        PyObject* tmp_tb = tstate->curexc_traceback;
 
5203
        if (tb != tmp_tb) {
 
5204
            Py_INCREF(tb);
 
5205
            tstate->curexc_traceback = tb;
 
5206
            Py_XDECREF(tmp_tb);
 
5207
        }
 
5208
    }
 
5209
 
 
5210
bad:
 
5211
    return;
 
5212
}
 
5213
#endif
 
5214
 
 
5215
static INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
 
5216
    const hid_t neg_one = (hid_t)-1, const_zero = 0;
 
5217
    const int is_unsigned = neg_one > const_zero;
 
5218
    if (sizeof(hid_t) <  sizeof(long)) {
 
5219
        return PyInt_FromLong((long)val);
 
5220
    } else if (sizeof(hid_t) == sizeof(long)) {
 
5221
        if (is_unsigned)
 
5222
            return PyLong_FromUnsignedLong((unsigned long)val);
 
5223
        else
 
5224
            return PyInt_FromLong((long)val);
 
5225
    } else { /* (sizeof(hid_t) > sizeof(long)) */
 
5226
        if (is_unsigned)
 
5227
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
 
5228
        else
 
5229
            return PyLong_FromLongLong((PY_LONG_LONG)val);
 
5230
    }
6575
5231
}
6576
5232
 
6577
5233
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
 
5234
    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
 
5235
    const int is_unsigned = neg_one > const_zero;
6578
5236
    if (sizeof(unsigned char) < sizeof(long)) {
6579
5237
        long val = __Pyx_PyInt_AsLong(x);
6580
5238
        if (unlikely(val != (long)(unsigned char)val)) {
6581
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6582
 
                return (unsigned char)-1;
6583
 
            if (unlikely(val < 0)) {
 
5239
            if (!unlikely(val == -1 && PyErr_Occurred())) {
6584
5240
                PyErr_SetString(PyExc_OverflowError,
6585
 
                                "can't convert negative value to unsigned char");
6586
 
                return (unsigned char)-1;
 
5241
                    (is_unsigned && unlikely(val < 0)) ?
 
5242
                    "can't convert negative value to unsigned char" :
 
5243
                    "value too large to convert to unsigned char");
6587
5244
            }
6588
 
            PyErr_SetString(PyExc_OverflowError,
6589
 
                           "value too large to convert to unsigned char");
6590
5245
            return (unsigned char)-1;
6591
5246
        }
6592
5247
        return (unsigned char)val;
6595
5250
}
6596
5251
 
6597
5252
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
 
5253
    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
 
5254
    const int is_unsigned = neg_one > const_zero;
6598
5255
    if (sizeof(unsigned short) < sizeof(long)) {
6599
5256
        long val = __Pyx_PyInt_AsLong(x);
6600
5257
        if (unlikely(val != (long)(unsigned short)val)) {
6601
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6602
 
                return (unsigned short)-1;
6603
 
            if (unlikely(val < 0)) {
 
5258
            if (!unlikely(val == -1 && PyErr_Occurred())) {
6604
5259
                PyErr_SetString(PyExc_OverflowError,
6605
 
                                "can't convert negative value to unsigned short");
6606
 
                return (unsigned short)-1;
 
5260
                    (is_unsigned && unlikely(val < 0)) ?
 
5261
                    "can't convert negative value to unsigned short" :
 
5262
                    "value too large to convert to unsigned short");
6607
5263
            }
6608
 
            PyErr_SetString(PyExc_OverflowError,
6609
 
                           "value too large to convert to unsigned short");
6610
5264
            return (unsigned short)-1;
6611
5265
        }
6612
5266
        return (unsigned short)val;
6615
5269
}
6616
5270
 
6617
5271
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
 
5272
    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
 
5273
    const int is_unsigned = neg_one > const_zero;
6618
5274
    if (sizeof(unsigned int) < sizeof(long)) {
6619
5275
        long val = __Pyx_PyInt_AsLong(x);
6620
5276
        if (unlikely(val != (long)(unsigned int)val)) {
6621
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6622
 
                return (unsigned int)-1;
6623
 
            if (unlikely(val < 0)) {
 
5277
            if (!unlikely(val == -1 && PyErr_Occurred())) {
6624
5278
                PyErr_SetString(PyExc_OverflowError,
6625
 
                                "can't convert negative value to unsigned int");
6626
 
                return (unsigned int)-1;
 
5279
                    (is_unsigned && unlikely(val < 0)) ?
 
5280
                    "can't convert negative value to unsigned int" :
 
5281
                    "value too large to convert to unsigned int");
6627
5282
            }
6628
 
            PyErr_SetString(PyExc_OverflowError,
6629
 
                           "value too large to convert to unsigned int");
6630
5283
            return (unsigned int)-1;
6631
5284
        }
6632
5285
        return (unsigned int)val;
6635
5288
}
6636
5289
 
6637
5290
static INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
 
5291
    const char neg_one = (char)-1, const_zero = 0;
 
5292
    const int is_unsigned = neg_one > const_zero;
6638
5293
    if (sizeof(char) < sizeof(long)) {
6639
5294
        long val = __Pyx_PyInt_AsLong(x);
6640
5295
        if (unlikely(val != (long)(char)val)) {
6641
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6642
 
                return (char)-1;
6643
 
            PyErr_SetString(PyExc_OverflowError,
6644
 
                           "value too large to convert to char");
 
5296
            if (!unlikely(val == -1 && PyErr_Occurred())) {
 
5297
                PyErr_SetString(PyExc_OverflowError,
 
5298
                    (is_unsigned && unlikely(val < 0)) ?
 
5299
                    "can't convert negative value to char" :
 
5300
                    "value too large to convert to char");
 
5301
            }
6645
5302
            return (char)-1;
6646
5303
        }
6647
5304
        return (char)val;
6650
5307
}
6651
5308
 
6652
5309
static INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
 
5310
    const short neg_one = (short)-1, const_zero = 0;
 
5311
    const int is_unsigned = neg_one > const_zero;
6653
5312
    if (sizeof(short) < sizeof(long)) {
6654
5313
        long val = __Pyx_PyInt_AsLong(x);
6655
5314
        if (unlikely(val != (long)(short)val)) {
6656
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6657
 
                return (short)-1;
6658
 
            PyErr_SetString(PyExc_OverflowError,
6659
 
                           "value too large to convert to short");
 
5315
            if (!unlikely(val == -1 && PyErr_Occurred())) {
 
5316
                PyErr_SetString(PyExc_OverflowError,
 
5317
                    (is_unsigned && unlikely(val < 0)) ?
 
5318
                    "can't convert negative value to short" :
 
5319
                    "value too large to convert to short");
 
5320
            }
6660
5321
            return (short)-1;
6661
5322
        }
6662
5323
        return (short)val;
6665
5326
}
6666
5327
 
6667
5328
static INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
 
5329
    const int neg_one = (int)-1, const_zero = 0;
 
5330
    const int is_unsigned = neg_one > const_zero;
6668
5331
    if (sizeof(int) < sizeof(long)) {
6669
5332
        long val = __Pyx_PyInt_AsLong(x);
6670
5333
        if (unlikely(val != (long)(int)val)) {
6671
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6672
 
                return (int)-1;
6673
 
            PyErr_SetString(PyExc_OverflowError,
6674
 
                           "value too large to convert to int");
 
5334
            if (!unlikely(val == -1 && PyErr_Occurred())) {
 
5335
                PyErr_SetString(PyExc_OverflowError,
 
5336
                    (is_unsigned && unlikely(val < 0)) ?
 
5337
                    "can't convert negative value to int" :
 
5338
                    "value too large to convert to int");
 
5339
            }
6675
5340
            return (int)-1;
6676
5341
        }
6677
5342
        return (int)val;
6680
5345
}
6681
5346
 
6682
5347
static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
 
5348
    const signed char neg_one = (signed char)-1, const_zero = 0;
 
5349
    const int is_unsigned = neg_one > const_zero;
6683
5350
    if (sizeof(signed char) < sizeof(long)) {
6684
5351
        long val = __Pyx_PyInt_AsLong(x);
6685
5352
        if (unlikely(val != (long)(signed char)val)) {
6686
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6687
 
                return (signed char)-1;
6688
 
            PyErr_SetString(PyExc_OverflowError,
6689
 
                           "value too large to convert to signed char");
 
5353
            if (!unlikely(val == -1 && PyErr_Occurred())) {
 
5354
                PyErr_SetString(PyExc_OverflowError,
 
5355
                    (is_unsigned && unlikely(val < 0)) ?
 
5356
                    "can't convert negative value to signed char" :
 
5357
                    "value too large to convert to signed char");
 
5358
            }
6690
5359
            return (signed char)-1;
6691
5360
        }
6692
5361
        return (signed char)val;
6695
5364
}
6696
5365
 
6697
5366
static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
 
5367
    const signed short neg_one = (signed short)-1, const_zero = 0;
 
5368
    const int is_unsigned = neg_one > const_zero;
6698
5369
    if (sizeof(signed short) < sizeof(long)) {
6699
5370
        long val = __Pyx_PyInt_AsLong(x);
6700
5371
        if (unlikely(val != (long)(signed short)val)) {
6701
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6702
 
                return (signed short)-1;
6703
 
            PyErr_SetString(PyExc_OverflowError,
6704
 
                           "value too large to convert to signed short");
 
5372
            if (!unlikely(val == -1 && PyErr_Occurred())) {
 
5373
                PyErr_SetString(PyExc_OverflowError,
 
5374
                    (is_unsigned && unlikely(val < 0)) ?
 
5375
                    "can't convert negative value to signed short" :
 
5376
                    "value too large to convert to signed short");
 
5377
            }
6705
5378
            return (signed short)-1;
6706
5379
        }
6707
5380
        return (signed short)val;
6710
5383
}
6711
5384
 
6712
5385
static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
 
5386
    const signed int neg_one = (signed int)-1, const_zero = 0;
 
5387
    const int is_unsigned = neg_one > const_zero;
6713
5388
    if (sizeof(signed int) < sizeof(long)) {
6714
5389
        long val = __Pyx_PyInt_AsLong(x);
6715
5390
        if (unlikely(val != (long)(signed int)val)) {
6716
 
            if (unlikely(val == -1 && PyErr_Occurred()))
6717
 
                return (signed int)-1;
6718
 
            PyErr_SetString(PyExc_OverflowError,
6719
 
                           "value too large to convert to signed int");
 
5391
            if (!unlikely(val == -1 && PyErr_Occurred())) {
 
5392
                PyErr_SetString(PyExc_OverflowError,
 
5393
                    (is_unsigned && unlikely(val < 0)) ?
 
5394
                    "can't convert negative value to signed int" :
 
5395
                    "value too large to convert to signed int");
 
5396
            }
6720
5397
            return (signed int)-1;
6721
5398
        }
6722
5399
        return (signed int)val;
6725
5402
}
6726
5403
 
6727
5404
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
 
5405
    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
 
5406
    const int is_unsigned = neg_one > const_zero;
6728
5407
#if PY_VERSION_HEX < 0x03000000
6729
 
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
5408
    if (likely(PyInt_Check(x))) {
6730
5409
        long val = PyInt_AS_LONG(x);
6731
 
        if (unlikely(val < 0)) {
 
5410
        if (is_unsigned && unlikely(val < 0)) {
6732
5411
            PyErr_SetString(PyExc_OverflowError,
6733
5412
                            "can't convert negative value to unsigned long");
6734
5413
            return (unsigned long)-1;
6736
5415
        return (unsigned long)val;
6737
5416
    } else
6738
5417
#endif
6739
 
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
6740
 
        if (unlikely(Py_SIZE(x) < 0)) {
6741
 
            PyErr_SetString(PyExc_OverflowError,
6742
 
                            "can't convert negative value to unsigned long");
6743
 
            return (unsigned long)-1;
 
5418
    if (likely(PyLong_Check(x))) {
 
5419
        if (is_unsigned) {
 
5420
            if (unlikely(Py_SIZE(x) < 0)) {
 
5421
                PyErr_SetString(PyExc_OverflowError,
 
5422
                                "can't convert negative value to unsigned long");
 
5423
                return (unsigned long)-1;
 
5424
            }
 
5425
            return PyLong_AsUnsignedLong(x);
 
5426
        } else {
 
5427
            return PyLong_AsLong(x);
6744
5428
        }
6745
 
        return PyLong_AsUnsignedLong(x);
6746
5429
    } else {
6747
5430
        unsigned long val;
6748
5431
        PyObject *tmp = __Pyx_PyNumber_Int(x);
6754
5437
}
6755
5438
 
6756
5439
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
 
5440
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
 
5441
    const int is_unsigned = neg_one > const_zero;
6757
5442
#if PY_VERSION_HEX < 0x03000000
6758
 
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
5443
    if (likely(PyInt_Check(x))) {
6759
5444
        long val = PyInt_AS_LONG(x);
6760
 
        if (unlikely(val < 0)) {
 
5445
        if (is_unsigned && unlikely(val < 0)) {
6761
5446
            PyErr_SetString(PyExc_OverflowError,
6762
5447
                            "can't convert negative value to unsigned PY_LONG_LONG");
6763
5448
            return (unsigned PY_LONG_LONG)-1;
6765
5450
        return (unsigned PY_LONG_LONG)val;
6766
5451
    } else
6767
5452
#endif
6768
 
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
6769
 
        if (unlikely(Py_SIZE(x) < 0)) {
6770
 
            PyErr_SetString(PyExc_OverflowError,
6771
 
                            "can't convert negative value to unsigned PY_LONG_LONG");
6772
 
            return (unsigned PY_LONG_LONG)-1;
 
5453
    if (likely(PyLong_Check(x))) {
 
5454
        if (is_unsigned) {
 
5455
            if (unlikely(Py_SIZE(x) < 0)) {
 
5456
                PyErr_SetString(PyExc_OverflowError,
 
5457
                                "can't convert negative value to unsigned PY_LONG_LONG");
 
5458
                return (unsigned PY_LONG_LONG)-1;
 
5459
            }
 
5460
            return PyLong_AsUnsignedLongLong(x);
 
5461
        } else {
 
5462
            return PyLong_AsLongLong(x);
6773
5463
        }
6774
 
        return PyLong_AsUnsignedLongLong(x);
6775
5464
    } else {
6776
5465
        unsigned PY_LONG_LONG val;
6777
5466
        PyObject *tmp = __Pyx_PyNumber_Int(x);
6783
5472
}
6784
5473
 
6785
5474
static INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
 
5475
    const long neg_one = (long)-1, const_zero = 0;
 
5476
    const int is_unsigned = neg_one > const_zero;
6786
5477
#if PY_VERSION_HEX < 0x03000000
6787
 
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
5478
    if (likely(PyInt_Check(x))) {
6788
5479
        long val = PyInt_AS_LONG(x);
 
5480
        if (is_unsigned && unlikely(val < 0)) {
 
5481
            PyErr_SetString(PyExc_OverflowError,
 
5482
                            "can't convert negative value to long");
 
5483
            return (long)-1;
 
5484
        }
6789
5485
        return (long)val;
6790
5486
    } else
6791
5487
#endif
6792
 
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
6793
 
        return PyLong_AsLong(x);
 
5488
    if (likely(PyLong_Check(x))) {
 
5489
        if (is_unsigned) {
 
5490
            if (unlikely(Py_SIZE(x) < 0)) {
 
5491
                PyErr_SetString(PyExc_OverflowError,
 
5492
                                "can't convert negative value to long");
 
5493
                return (long)-1;
 
5494
            }
 
5495
            return PyLong_AsUnsignedLong(x);
 
5496
        } else {
 
5497
            return PyLong_AsLong(x);
 
5498
        }
6794
5499
    } else {
6795
5500
        long val;
6796
5501
        PyObject *tmp = __Pyx_PyNumber_Int(x);
6802
5507
}
6803
5508
 
6804
5509
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
 
5510
    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
 
5511
    const int is_unsigned = neg_one > const_zero;
6805
5512
#if PY_VERSION_HEX < 0x03000000
6806
 
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
5513
    if (likely(PyInt_Check(x))) {
6807
5514
        long val = PyInt_AS_LONG(x);
 
5515
        if (is_unsigned && unlikely(val < 0)) {
 
5516
            PyErr_SetString(PyExc_OverflowError,
 
5517
                            "can't convert negative value to PY_LONG_LONG");
 
5518
            return (PY_LONG_LONG)-1;
 
5519
        }
6808
5520
        return (PY_LONG_LONG)val;
6809
5521
    } else
6810
5522
#endif
6811
 
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
6812
 
        return PyLong_AsLongLong(x);
 
5523
    if (likely(PyLong_Check(x))) {
 
5524
        if (is_unsigned) {
 
5525
            if (unlikely(Py_SIZE(x) < 0)) {
 
5526
                PyErr_SetString(PyExc_OverflowError,
 
5527
                                "can't convert negative value to PY_LONG_LONG");
 
5528
                return (PY_LONG_LONG)-1;
 
5529
            }
 
5530
            return PyLong_AsUnsignedLongLong(x);
 
5531
        } else {
 
5532
            return PyLong_AsLongLong(x);
 
5533
        }
6813
5534
    } else {
6814
5535
        PY_LONG_LONG val;
6815
5536
        PyObject *tmp = __Pyx_PyNumber_Int(x);
6821
5542
}
6822
5543
 
6823
5544
static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
 
5545
    const signed long neg_one = (signed long)-1, const_zero = 0;
 
5546
    const int is_unsigned = neg_one > const_zero;
6824
5547
#if PY_VERSION_HEX < 0x03000000
6825
 
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
5548
    if (likely(PyInt_Check(x))) {
6826
5549
        long val = PyInt_AS_LONG(x);
 
5550
        if (is_unsigned && unlikely(val < 0)) {
 
5551
            PyErr_SetString(PyExc_OverflowError,
 
5552
                            "can't convert negative value to signed long");
 
5553
            return (signed long)-1;
 
5554
        }
6827
5555
        return (signed long)val;
6828
5556
    } else
6829
5557
#endif
6830
 
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
6831
 
        return PyLong_AsLong(x);
 
5558
    if (likely(PyLong_Check(x))) {
 
5559
        if (is_unsigned) {
 
5560
            if (unlikely(Py_SIZE(x) < 0)) {
 
5561
                PyErr_SetString(PyExc_OverflowError,
 
5562
                                "can't convert negative value to signed long");
 
5563
                return (signed long)-1;
 
5564
            }
 
5565
            return PyLong_AsUnsignedLong(x);
 
5566
        } else {
 
5567
            return PyLong_AsLong(x);
 
5568
        }
6832
5569
    } else {
6833
5570
        signed long val;
6834
5571
        PyObject *tmp = __Pyx_PyNumber_Int(x);
6840
5577
}
6841
5578
 
6842
5579
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
 
5580
    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
 
5581
    const int is_unsigned = neg_one > const_zero;
6843
5582
#if PY_VERSION_HEX < 0x03000000
6844
 
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
5583
    if (likely(PyInt_Check(x))) {
6845
5584
        long val = PyInt_AS_LONG(x);
 
5585
        if (is_unsigned && unlikely(val < 0)) {
 
5586
            PyErr_SetString(PyExc_OverflowError,
 
5587
                            "can't convert negative value to signed PY_LONG_LONG");
 
5588
            return (signed PY_LONG_LONG)-1;
 
5589
        }
6846
5590
        return (signed PY_LONG_LONG)val;
6847
5591
    } else
6848
5592
#endif
6849
 
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
6850
 
        return PyLong_AsLongLong(x);
 
5593
    if (likely(PyLong_Check(x))) {
 
5594
        if (is_unsigned) {
 
5595
            if (unlikely(Py_SIZE(x) < 0)) {
 
5596
                PyErr_SetString(PyExc_OverflowError,
 
5597
                                "can't convert negative value to signed PY_LONG_LONG");
 
5598
                return (signed PY_LONG_LONG)-1;
 
5599
            }
 
5600
            return PyLong_AsUnsignedLongLong(x);
 
5601
        } else {
 
5602
            return PyLong_AsLongLong(x);
 
5603
        }
6851
5604
    } else {
6852
5605
        signed PY_LONG_LONG val;
6853
5606
        PyObject *tmp = __Pyx_PyNumber_Int(x);
6858
5611
    }
6859
5612
}
6860
5613
 
 
5614
static INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
 
5615
    const hid_t neg_one = (hid_t)-1, const_zero = 0;
 
5616
    const int is_unsigned = neg_one > const_zero;
 
5617
    if (sizeof(hid_t) == sizeof(char)) {
 
5618
        if (is_unsigned)
 
5619
            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
 
5620
        else
 
5621
            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
 
5622
    } else if (sizeof(hid_t) == sizeof(short)) {
 
5623
        if (is_unsigned)
 
5624
            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
 
5625
        else
 
5626
            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
 
5627
    } else if (sizeof(hid_t) == sizeof(int)) {
 
5628
        if (is_unsigned)
 
5629
            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
 
5630
        else
 
5631
            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
 
5632
    } else if (sizeof(hid_t) == sizeof(long)) {
 
5633
        if (is_unsigned)
 
5634
            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
 
5635
        else
 
5636
            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
 
5637
    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
 
5638
        if (is_unsigned)
 
5639
            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
 
5640
        else
 
5641
            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
 
5642
#if 0
 
5643
    } else if (sizeof(hid_t) > sizeof(short) &&
 
5644
               sizeof(hid_t) < sizeof(int)) { /*  __int32 ILP64 ? */
 
5645
        if (is_unsigned)
 
5646
            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
 
5647
        else
 
5648
            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
 
5649
#endif
 
5650
    }
 
5651
    PyErr_SetString(PyExc_TypeError, "hid_t");
 
5652
    return (hid_t)-1;
 
5653
}
 
5654
 
6861
5655
static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
6862
 
#if PY_VERSION_HEX < 0x02050000
6863
 
    char *api = (char *)"__pyx_capi__";
6864
 
#else
6865
 
    const char *api = "__pyx_capi__";
6866
 
#endif
6867
5656
    PyObject *d = 0;
6868
5657
    PyObject *cobj = 0;
6869
5658
    union {
6871
5660
        void *p;
6872
5661
    } tmp;
6873
5662
 
6874
 
 
6875
 
    d = PyObject_GetAttrString(__pyx_m, api);
 
5663
    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
6876
5664
    if (!d) {
6877
5665
        PyErr_Clear();
6878
5666
        d = PyDict_New();
6879
5667
        if (!d)
6880
5668
            goto bad;
6881
5669
        Py_INCREF(d);
6882
 
        if (PyModule_AddObject(__pyx_m, api, d) < 0)
 
5670
        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
6883
5671
            goto bad;
6884
5672
    }
6885
5673
    tmp.fp = f;
 
5674
#if PY_VERSION_HEX < 0x03010000
6886
5675
    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
 
5676
#else
 
5677
    cobj = PyCapsule_New(tmp.p, sig, 0);
 
5678
#endif
6887
5679
    if (!cobj)
6888
5680
        goto bad;
6889
5681
    if (PyDict_SetItemString(d, name, cobj) < 0)
6897
5689
    return -1;
6898
5690
}
6899
5691
 
6900
 
static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
6901
 
    PyObject *pycobj = 0;
6902
 
    int result;
6903
 
    
6904
 
    pycobj = PyCObject_FromVoidPtr(vtable, 0);
6905
 
    if (!pycobj)
6906
 
        goto bad;
6907
 
    if (PyDict_SetItemString(dict, "__pyx_vtable__", pycobj) < 0)
6908
 
        goto bad;
6909
 
    result = 0;
6910
 
    goto done;
 
5692
#ifndef __PYX_HAVE_RT_ImportType
 
5693
#define __PYX_HAVE_RT_ImportType
 
5694
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
 
5695
    long size)
 
5696
{
 
5697
    PyObject *py_module = 0;
 
5698
    PyObject *result = 0;
 
5699
    PyObject *py_name = 0;
6911
5700
 
 
5701
    py_module = __Pyx_ImportModule(module_name);
 
5702
    if (!py_module)
 
5703
        goto bad;
 
5704
    #if PY_MAJOR_VERSION < 3
 
5705
    py_name = PyString_FromString(class_name);
 
5706
    #else
 
5707
    py_name = PyUnicode_FromString(class_name);
 
5708
    #endif
 
5709
    if (!py_name)
 
5710
        goto bad;
 
5711
    result = PyObject_GetAttr(py_module, py_name);
 
5712
    Py_DECREF(py_name);
 
5713
    py_name = 0;
 
5714
    Py_DECREF(py_module);
 
5715
    py_module = 0;
 
5716
    if (!result)
 
5717
        goto bad;
 
5718
    if (!PyType_Check(result)) {
 
5719
        PyErr_Format(PyExc_TypeError, 
 
5720
            "%s.%s is not a type object",
 
5721
            module_name, class_name);
 
5722
        goto bad;
 
5723
    }
 
5724
    if (((PyTypeObject *)result)->tp_basicsize != size) {
 
5725
        PyErr_Format(PyExc_ValueError, 
 
5726
            "%s.%s does not appear to be the correct type object",
 
5727
            module_name, class_name);
 
5728
        goto bad;
 
5729
    }
 
5730
    return (PyTypeObject *)result;
6912
5731
bad:
6913
 
    result = -1;
6914
 
done:
6915
 
    Py_XDECREF(pycobj);
6916
 
    return result;
 
5732
    Py_XDECREF(py_module);
 
5733
    Py_XDECREF(result);
 
5734
    return 0;
6917
5735
}
 
5736
#endif
6918
5737
 
6919
5738
#ifndef __PYX_HAVE_RT_ImportModule
6920
5739
#define __PYX_HAVE_RT_ImportModule
6941
5760
#ifndef __PYX_HAVE_RT_ImportFunction
6942
5761
#define __PYX_HAVE_RT_ImportFunction
6943
5762
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
6944
 
#if PY_VERSION_HEX < 0x02050000
6945
 
    char *api = (char *)"__pyx_capi__";
6946
 
#else
6947
 
    const char *api = "__pyx_capi__";
6948
 
#endif
6949
5763
    PyObject *d = 0;
6950
5764
    PyObject *cobj = 0;
6951
 
    const char *desc;
6952
 
    const char *s1, *s2;
6953
5765
    union {
6954
5766
        void (*fp)(void);
6955
5767
        void *p;
6956
5768
    } tmp;
 
5769
#if PY_VERSION_HEX < 0x03010000
 
5770
    const char *desc, *s1, *s2;
 
5771
#endif
6957
5772
 
6958
 
    d = PyObject_GetAttrString(module, api);
 
5773
    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
6959
5774
    if (!d)
6960
5775
        goto bad;
6961
5776
    cobj = PyDict_GetItemString(d, funcname);
6965
5780
                PyModule_GetName(module), funcname);
6966
5781
        goto bad;
6967
5782
    }
 
5783
#if PY_VERSION_HEX < 0x03010000
6968
5784
    desc = (const char *)PyCObject_GetDesc(cobj);
6969
5785
    if (!desc)
6970
5786
        goto bad;
6977
5793
        goto bad;
6978
5794
    }
6979
5795
    tmp.p = PyCObject_AsVoidPtr(cobj);
 
5796
#else
 
5797
    if (!PyCapsule_IsValid(cobj, sig)) {
 
5798
        PyErr_Format(PyExc_TypeError,
 
5799
            "C function %s.%s has wrong signature (expected %s, got %s)",
 
5800
             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
 
5801
        goto bad;
 
5802
    }
 
5803
    tmp.p = PyCapsule_GetPointer(cobj, sig);
 
5804
#endif
6980
5805
    *f = tmp.fp;
 
5806
    if (!(*f))
 
5807
        goto bad;
6981
5808
    Py_DECREF(d);
6982
5809
    return 0;
6983
5810
bad:
6994
5821
    PyObject *py_srcfile = 0;
6995
5822
    PyObject *py_funcname = 0;
6996
5823
    PyObject *py_globals = 0;
6997
 
    PyObject *empty_string = 0;
6998
5824
    PyCodeObject *py_code = 0;
6999
5825
    PyFrameObject *py_frame = 0;
7000
5826
 
7021
5847
    if (!py_funcname) goto bad;
7022
5848
    py_globals = PyModule_GetDict(__pyx_m);
7023
5849
    if (!py_globals) goto bad;
7024
 
    #if PY_MAJOR_VERSION < 3
7025
 
    empty_string = PyString_FromStringAndSize("", 0);
7026
 
    #else
7027
 
    empty_string = PyBytes_FromStringAndSize("", 0);
7028
 
    #endif
7029
 
    if (!empty_string) goto bad;
7030
5850
    py_code = PyCode_New(
7031
5851
        0,            /*int argcount,*/
7032
5852
        #if PY_MAJOR_VERSION >= 3
7035
5855
        0,            /*int nlocals,*/
7036
5856
        0,            /*int stacksize,*/
7037
5857
        0,            /*int flags,*/
7038
 
        empty_string, /*PyObject *code,*/
 
5858
        __pyx_empty_bytes, /*PyObject *code,*/
7039
5859
        __pyx_empty_tuple,  /*PyObject *consts,*/
7040
5860
        __pyx_empty_tuple,  /*PyObject *names,*/
7041
5861
        __pyx_empty_tuple,  /*PyObject *varnames,*/
7044
5864
        py_srcfile,   /*PyObject *filename,*/
7045
5865
        py_funcname,  /*PyObject *name,*/
7046
5866
        __pyx_lineno,   /*int firstlineno,*/
7047
 
        empty_string  /*PyObject *lnotab*/
 
5867
        __pyx_empty_bytes  /*PyObject *lnotab*/
7048
5868
    );
7049
5869
    if (!py_code) goto bad;
7050
5870
    py_frame = PyFrame_New(
7059
5879
bad:
7060
5880
    Py_XDECREF(py_srcfile);
7061
5881
    Py_XDECREF(py_funcname);
7062
 
    Py_XDECREF(empty_string);
7063
5882
    Py_XDECREF(py_code);
7064
5883
    Py_XDECREF(py_frame);
7065
5884
}
7067
5886
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
7068
5887
    while (t->p) {
7069
5888
        #if PY_MAJOR_VERSION < 3
7070
 
        if (t->is_unicode && (!t->is_identifier)) {
 
5889
        if (t->is_unicode) {
7071
5890
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
7072
5891
        } else if (t->intern) {
7073
5892
            *t->p = PyString_InternFromString(t->s);
7075
5894
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
7076
5895
        }
7077
5896
        #else  /* Python 3+ has unicode identifiers */
7078
 
        if (t->is_identifier || (t->is_unicode && t->intern)) {
7079
 
            *t->p = PyUnicode_InternFromString(t->s);
7080
 
        } else if (t->is_unicode) {
7081
 
            *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
 
5897
        if (t->is_unicode | t->is_str) {
 
5898
            if (t->intern) {
 
5899
                *t->p = PyUnicode_InternFromString(t->s);
 
5900
            } else if (t->encoding) {
 
5901
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
 
5902
            } else {
 
5903
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
 
5904
            }
7082
5905
        } else {
7083
5906
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
7084
5907
        }
7180
6003
}
7181
6004
 
7182
6005
 
 
6006
#endif /* Py_PYTHON_H */