~ubuntu-branches/debian/experimental/h5py/experimental

« back to all changes in this revision

Viewing changes to h5py/h5f.c

  • Committer: Bazaar Package Importer
  • Author(s): Soeren Sonnenburg
  • Date: 2009-09-24 11:08:03 UTC
  • mfrom: (2.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20090924110803-hz0en6f43x8opgj4
Tags: 1.2.1-2
Build-depend on hdf5 >= 1.8.3 and enable api 1.8 (Closes: #548049)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Generated by Cython 0.11.2 on Mon Aug 31 11:03:01 2009 */
 
2
 
 
3
#define PY_SSIZE_T_CLEAN
 
4
#include "Python.h"
 
5
#include "structmember.h"
 
6
#ifndef Py_PYTHON_H
 
7
    #error Python headers needed to compile C extensions, please install development version of Python.
 
8
#endif
 
9
#ifndef PY_LONG_LONG
 
10
  #define PY_LONG_LONG LONG_LONG
 
11
#endif
 
12
#ifndef DL_EXPORT
 
13
  #define DL_EXPORT(t) t
 
14
#endif
 
15
#if PY_VERSION_HEX < 0x02040000
 
16
  #define METH_COEXIST 0
 
17
  #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
 
18
#endif
 
19
#if PY_VERSION_HEX < 0x02050000
 
20
  typedef int Py_ssize_t;
 
21
  #define PY_SSIZE_T_MAX INT_MAX
 
22
  #define PY_SSIZE_T_MIN INT_MIN
 
23
  #define PY_FORMAT_SIZE_T ""
 
24
  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
 
25
  #define PyInt_AsSsize_t(o)   PyInt_AsLong(o)
 
26
  #define PyNumber_Index(o)    PyNumber_Int(o)
 
27
  #define PyIndex_Check(o)     PyNumber_Check(o)
 
28
#endif
 
29
#if PY_VERSION_HEX < 0x02060000
 
30
  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
 
31
  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
 
32
  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
 
33
  #define PyVarObject_HEAD_INIT(type, size) \
 
34
          PyObject_HEAD_INIT(type) size,
 
35
  #define PyType_Modified(t)
 
36
 
 
37
  typedef struct {
 
38
       void *buf;
 
39
       PyObject *obj;
 
40
       Py_ssize_t len;
 
41
       Py_ssize_t itemsize;
 
42
       int readonly;
 
43
       int ndim;
 
44
       char *format;
 
45
       Py_ssize_t *shape;
 
46
       Py_ssize_t *strides;
 
47
       Py_ssize_t *suboffsets;
 
48
       void *internal;
 
49
  } Py_buffer;
 
50
 
 
51
  #define PyBUF_SIMPLE 0
 
52
  #define PyBUF_WRITABLE 0x0001
 
53
  #define PyBUF_FORMAT 0x0004
 
54
  #define PyBUF_ND 0x0008
 
55
  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
 
56
  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
 
57
  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
 
58
  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
 
59
  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
 
60
 
 
61
#endif
 
62
#if PY_MAJOR_VERSION < 3
 
63
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
 
64
#else
 
65
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
 
66
#endif
 
67
#if PY_MAJOR_VERSION >= 3
 
68
  #define Py_TPFLAGS_CHECKTYPES 0
 
69
  #define Py_TPFLAGS_HAVE_INDEX 0
 
70
#endif
 
71
#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
 
72
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
 
73
#endif
 
74
#if PY_MAJOR_VERSION >= 3
 
75
  #define PyBaseString_Type            PyUnicode_Type
 
76
  #define PyString_Type                PyBytes_Type
 
77
  #define PyString_CheckExact          PyBytes_CheckExact
 
78
  #define PyInt_Type                   PyLong_Type
 
79
  #define PyInt_Check(op)              PyLong_Check(op)
 
80
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
 
81
  #define PyInt_FromString             PyLong_FromString
 
82
  #define PyInt_FromUnicode            PyLong_FromUnicode
 
83
  #define PyInt_FromLong               PyLong_FromLong
 
84
  #define PyInt_FromSize_t             PyLong_FromSize_t
 
85
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
 
86
  #define PyInt_AsLong                 PyLong_AsLong
 
87
  #define PyInt_AS_LONG                PyLong_AS_LONG
 
88
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
 
89
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
 
90
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
 
91
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
 
92
#else
 
93
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
 
94
  #define PyBytes_Type                 PyString_Type
 
95
#endif
 
96
#if PY_MAJOR_VERSION >= 3
 
97
  #define PyMethod_New(func, self, klass) PyInstanceMethod_New(func)
 
98
#endif
 
99
#if !defined(WIN32) && !defined(MS_WINDOWS)
 
100
  #ifndef __stdcall
 
101
    #define __stdcall
 
102
  #endif
 
103
  #ifndef __cdecl
 
104
    #define __cdecl
 
105
  #endif
 
106
  #ifndef __fastcall
 
107
    #define __fastcall
 
108
  #endif
 
109
#else
 
110
  #define _USE_MATH_DEFINES
 
111
#endif
 
112
#if PY_VERSION_HEX < 0x02050000
 
113
  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
 
114
  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
 
115
  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
 
116
#else
 
117
  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
 
118
  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
 
119
  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
 
120
#endif
 
121
#if PY_VERSION_HEX < 0x02050000
 
122
  #define __Pyx_NAMESTR(n) ((char *)(n))
 
123
  #define __Pyx_DOCSTR(n)  ((char *)(n))
 
124
#else
 
125
  #define __Pyx_NAMESTR(n) (n)
 
126
  #define __Pyx_DOCSTR(n)  (n)
 
127
#endif
 
128
#ifdef __cplusplus
 
129
#define __PYX_EXTERN_C extern "C"
 
130
#else
 
131
#define __PYX_EXTERN_C extern
 
132
#endif
 
133
#include <math.h>
 
134
#define __PYX_HAVE_API__h5py__h5f
 
135
#include "stdlib.h"
 
136
#include "string.h"
 
137
#include "time.h"
 
138
#include "unistd.h"
 
139
#include "stdint.h"
 
140
#include "compat.h"
 
141
#include "lzf_filter.h"
 
142
#include "hdf5.h"
 
143
#include "typeconv.h"
 
144
#include "typeproxy.h"
 
145
#include "numpy/arrayobject.h"
 
146
#define __PYX_USE_C99_COMPLEX defined(_Complex_I)
 
147
 
 
148
 
 
149
#ifdef __GNUC__
 
150
#define INLINE __inline__
 
151
#elif _WIN32
 
152
#define INLINE __inline
 
153
#else
 
154
#define INLINE 
 
155
#endif
 
156
 
 
157
typedef struct {PyObject **p; char *s; long n; char is_unicode; char intern; char is_identifier;} __Pyx_StringTabEntry; /*proto*/
 
158
 
 
159
 
 
160
 
 
161
static int __pyx_skip_dispatch = 0;
 
162
 
 
163
 
 
164
/* Type Conversion Predeclarations */
 
165
 
 
166
#if PY_MAJOR_VERSION < 3
 
167
#define __Pyx_PyBytes_FromString          PyString_FromString
 
168
#define __Pyx_PyBytes_FromStringAndSize   PyString_FromStringAndSize
 
169
#define __Pyx_PyBytes_AsString            PyString_AsString
 
170
#else
 
171
#define __Pyx_PyBytes_FromString          PyBytes_FromString
 
172
#define __Pyx_PyBytes_FromStringAndSize   PyBytes_FromStringAndSize
 
173
#define __Pyx_PyBytes_AsString            PyBytes_AsString
 
174
#endif
 
175
 
 
176
#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
 
177
static INLINE int __Pyx_PyObject_IsTrue(PyObject*);
 
178
static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
 
179
 
 
180
#if !defined(T_PYSSIZET)
 
181
#if PY_VERSION_HEX < 0x02050000
 
182
#define T_PYSSIZET T_INT
 
183
#elif !defined(T_LONGLONG)
 
184
#define T_PYSSIZET \
 
185
        ((sizeof(Py_ssize_t) == sizeof(int))  ? T_INT  : \
 
186
        ((sizeof(Py_ssize_t) == sizeof(long)) ? T_LONG : -1))
 
187
#else
 
188
#define T_PYSSIZET \
 
189
        ((sizeof(Py_ssize_t) == sizeof(int))          ? T_INT      : \
 
190
        ((sizeof(Py_ssize_t) == sizeof(long))         ? T_LONG     : \
 
191
        ((sizeof(Py_ssize_t) == sizeof(PY_LONG_LONG)) ? T_LONGLONG : -1)))
 
192
#endif
 
193
#endif
 
194
 
 
195
#if !defined(T_SIZET)
 
196
#if !defined(T_ULONGLONG)
 
197
#define T_SIZET \
 
198
        ((sizeof(size_t) == sizeof(unsigned int))  ? T_UINT  : \
 
199
        ((sizeof(size_t) == sizeof(unsigned long)) ? T_ULONG : -1))
 
200
#else
 
201
#define T_SIZET \
 
202
        ((sizeof(size_t) == sizeof(unsigned int))          ? T_UINT      : \
 
203
        ((sizeof(size_t) == sizeof(unsigned long))         ? T_ULONG     : \
 
204
        ((sizeof(size_t) == sizeof(unsigned PY_LONG_LONG)) ? T_ULONGLONG : -1)))
 
205
#endif
 
206
#endif
 
207
 
 
208
static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
 
209
static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
 
210
static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
 
211
 
 
212
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
 
213
 
 
214
 
 
215
#ifdef __GNUC__
 
216
/* Test for GCC > 2.95 */
 
217
#if __GNUC__ > 2 ||               (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)) 
 
218
#define likely(x)   __builtin_expect(!!(x), 1)
 
219
#define unlikely(x) __builtin_expect(!!(x), 0)
 
220
#else /* __GNUC__ > 2 ... */
 
221
#define likely(x)   (x)
 
222
#define unlikely(x) (x)
 
223
#endif /* __GNUC__ > 2 ... */
 
224
#else /* __GNUC__ */
 
225
#define likely(x)   (x)
 
226
#define unlikely(x) (x)
 
227
#endif /* __GNUC__ */
 
228
    
 
229
static PyObject *__pyx_m;
 
230
static PyObject *__pyx_b;
 
231
static PyObject *__pyx_empty_tuple;
 
232
static int __pyx_lineno;
 
233
static int __pyx_clineno = 0;
 
234
static const char * __pyx_cfilenm= __FILE__;
 
235
static const char *__pyx_filename;
 
236
static const char **__pyx_f;
 
237
 
 
238
 
 
239
#ifdef CYTHON_REFNANNY
 
240
typedef struct {
 
241
  void (*INCREF)(void*, PyObject*, int);
 
242
  void (*DECREF)(void*, PyObject*, int);
 
243
  void (*GOTREF)(void*, PyObject*, int);
 
244
  void (*GIVEREF)(void*, PyObject*, int);
 
245
  void* (*NewContext)(const char*, int, const char*);
 
246
  void (*FinishContext)(void**);
 
247
} __Pyx_RefnannyAPIStruct;
 
248
static __Pyx_RefnannyAPIStruct *__Pyx_Refnanny = NULL;
 
249
#define __Pyx_ImportRefcountAPI(name)   (__Pyx_RefnannyAPIStruct *) PyCObject_Import((char *)name, (char *)"RefnannyAPI")
 
250
#define __Pyx_INCREF(r) __Pyx_Refnanny->INCREF(__pyx_refchk, (PyObject *)(r), __LINE__)
 
251
#define __Pyx_DECREF(r) __Pyx_Refnanny->DECREF(__pyx_refchk, (PyObject *)(r), __LINE__)
 
252
#define __Pyx_GOTREF(r) __Pyx_Refnanny->GOTREF(__pyx_refchk, (PyObject *)(r), __LINE__)
 
253
#define __Pyx_GIVEREF(r) __Pyx_Refnanny->GIVEREF(__pyx_refchk, (PyObject *)(r), __LINE__)
 
254
#define __Pyx_XDECREF(r) if((r) == NULL) ; else __Pyx_DECREF(r)
 
255
#define __Pyx_SetupRefcountContext(name)   void* __pyx_refchk = __Pyx_Refnanny->NewContext((name), __LINE__, __FILE__)
 
256
#define __Pyx_FinishRefcountContext()   __Pyx_Refnanny->FinishContext(&__pyx_refchk)
 
257
#else
 
258
#define __Pyx_INCREF(r) Py_INCREF(r)
 
259
#define __Pyx_DECREF(r) Py_DECREF(r)
 
260
#define __Pyx_GOTREF(r)
 
261
#define __Pyx_GIVEREF(r)
 
262
#define __Pyx_XDECREF(r) Py_XDECREF(r)
 
263
#define __Pyx_SetupRefcountContext(name)
 
264
#define __Pyx_FinishRefcountContext()
 
265
#endif /* CYTHON_REFNANNY */
 
266
#define __Pyx_XGIVEREF(r) if((r) == NULL) ; else __Pyx_GIVEREF(r)
 
267
#define __Pyx_XGOTREF(r) if((r) == NULL) ; else __Pyx_GOTREF(r)
 
268
 
 
269
static void __Pyx_RaiseDoubleKeywordsError(
 
270
    const char* func_name, PyObject* kw_name); /*proto*/
 
271
 
 
272
static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
 
273
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
 
274
 
 
275
static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,     const char* function_name); /*proto*/
 
276
 
 
277
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 
278
static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
 
279
 
 
280
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
 
281
 
 
282
static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
 
283
    const char *name, int exact); /*proto*/
 
284
 
 
285
static INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
 
286
static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 
287
 
 
288
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
 
289
 
 
290
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
 
291
 
 
292
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 
293
 
 
294
static INLINE int __Pyx_StrEq(const char *, const char *); /*proto*/
 
295
 
 
296
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
 
297
 
 
298
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
 
299
 
 
300
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
 
301
 
 
302
static INLINE char __Pyx_PyInt_AsChar(PyObject *);
 
303
 
 
304
static INLINE short __Pyx_PyInt_AsShort(PyObject *);
 
305
 
 
306
static INLINE int __Pyx_PyInt_AsInt(PyObject *);
 
307
 
 
308
static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
 
309
 
 
310
static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
 
311
 
 
312
static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
 
313
 
 
314
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
 
315
 
 
316
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
 
317
 
 
318
static INLINE long __Pyx_PyInt_AsLong(PyObject *);
 
319
 
 
320
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
 
321
 
 
322
static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
 
323
 
 
324
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
 
325
 
 
326
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size);  /*proto*/
 
327
 
 
328
static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
 
329
 
 
330
static int __Pyx_GetVtable(PyObject *dict, void *vtabptr); /*proto*/
 
331
 
 
332
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
 
333
 
 
334
static void __Pyx_AddTraceback(const char *funcname); /*proto*/
 
335
 
 
336
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
 
337
 
 
338
/* Type declarations */
 
339
 
 
340
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":21
 
341
 *     cpdef bint __enter__(self) except -1
 
342
 *     cpdef bint __exit__(self, a, b, c) except -1
 
343
 *     cpdef bint acquire(self, int blocking=*) except -1             # <<<<<<<<<<<<<<
 
344
 *     cpdef bint release(self) except -1
 
345
 * 
 
346
 */
 
347
 
 
348
struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire {
 
349
  int __pyx_n;
 
350
  int blocking;
 
351
};
 
352
 
 
353
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":72
 
354
 * 
 
355
 * cdef TypeID typewrap(hid_t id_)
 
356
 * cpdef TypeID py_create(object dtype, bint logical=*)             # <<<<<<<<<<<<<<
 
357
 * 
 
358
 * 
 
359
 */
 
360
 
 
361
struct __pyx_opt_args_4h5py_3h5t_py_create {
 
362
  int __pyx_n;
 
363
  int logical;
 
364
};
 
365
 
 
366
/* "/home/tachyon/pydev/h5py/h5py/utils.pxd":20
 
367
 * cdef void efree(void* ptr)
 
368
 * 
 
369
 * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
 
370
 * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
 
371
 * 
 
372
 */
 
373
 
 
374
struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
 
375
  int __pyx_n;
 
376
  hid_t space_id;
 
377
};
 
378
 
 
379
/* "/home/tachyon/pydev/h5py/h5py/utils.pxd":21
 
380
 * 
 
381
 * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
 
382
 * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
 
383
 * 
 
384
 * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
 
385
 */
 
386
 
 
387
struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
 
388
  int __pyx_n;
 
389
  hid_t space_id;
 
390
};
 
391
 
 
392
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":39
 
393
 * cpdef H5PYConfig get_config()
 
394
 * 
 
395
 * cdef class ObjectID:             # <<<<<<<<<<<<<<
 
396
 * 
 
397
 *     cdef object __weakref__
 
398
 */
 
399
 
 
400
struct __pyx_obj_4h5py_2h5_ObjectID {
 
401
  PyObject_HEAD
 
402
  PyObject *__weakref__;
 
403
  hid_t id;
 
404
  int _locked;
 
405
  PyObject *_hash;
 
406
};
 
407
 
 
408
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":23
 
409
 * # --- Base classes ---
 
410
 * 
 
411
 * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
 
412
 *     """ Base class for all property lists """
 
413
 *     pass
 
414
 */
 
415
 
 
416
struct __pyx_obj_4h5py_3h5p_PropID {
 
417
  struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
 
418
};
 
419
 
 
420
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":33
 
421
 *     pass
 
422
 * 
 
423
 * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
 
424
 *     """ Represents an instance of a property list class (i.e. an actual list
 
425
 *         which can be passed on to other API functions).
 
426
 */
 
427
 
 
428
struct __pyx_obj_4h5py_3h5p_PropInstanceID {
 
429
  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
 
430
};
 
431
 
 
432
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":62
 
433
 * # --- Object access ---
 
434
 * 
 
435
 * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
 
436
 *     """ File access property list """
 
437
 *     pass
 
438
 */
 
439
 
 
440
struct __pyx_obj_4h5py_3h5p_PropFAID {
 
441
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
 
442
};
 
443
 
 
444
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":17
 
445
 * from h5 cimport class ObjectID
 
446
 * 
 
447
 * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
 
448
 * 
 
449
 *     cdef object py_dtype(self)
 
450
 */
 
451
 
 
452
struct __pyx_obj_4h5py_3h5t_TypeID {
 
453
  struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
 
454
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
 
455
};
 
456
 
 
457
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":40
 
458
 *     pass
 
459
 * 
 
460
 * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
 
461
 *     pass
 
462
 * 
 
463
 */
 
464
 
 
465
struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
 
466
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
467
};
 
468
 
 
469
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":39
 
470
 *     pass
 
471
 * 
 
472
 * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
 
473
 *     """ Base class for all object creation lists.
 
474
 * 
 
475
 */
 
476
 
 
477
struct __pyx_obj_4h5py_3h5p_PropCreateID {
 
478
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
 
479
};
 
480
 
 
481
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":55
 
482
 *     pass
 
483
 * 
 
484
 * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
 
485
 *     """ File creation property list """
 
486
 *     pass
 
487
 */
 
488
 
 
489
struct __pyx_obj_4h5py_3h5p_PropFCID {
 
490
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
 
491
};
 
492
 
 
493
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":27
 
494
 *     pass
 
495
 * 
 
496
 * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
 
497
 *     """ Represents an HDF5 property list class.  These can be either (locked)
 
498
 *         library-defined classes or user-created classes.
 
499
 */
 
500
 
 
501
struct __pyx_obj_4h5py_3h5p_PropClassID {
 
502
  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
 
503
};
 
504
 
 
505
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":59
 
506
 * # --- Enums & compound types ---
 
507
 * 
 
508
 * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
 
509
 *     pass
 
510
 * 
 
511
 */
 
512
 
 
513
struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
 
514
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
515
};
 
516
 
 
517
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":66
 
518
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 
519
 * 
 
520
 * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
 
521
 *     pass
 
522
 * 
 
523
 */
 
524
 
 
525
struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
 
526
  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
 
527
};
 
528
 
 
529
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":15
 
530
 * include "defs.pxd"
 
531
 * 
 
532
 * cdef class PHIL:             # <<<<<<<<<<<<<<
 
533
 * 
 
534
 *     cdef object lock
 
535
 */
 
536
 
 
537
struct __pyx_obj_4h5py_2h5_PHIL {
 
538
  PyObject_HEAD
 
539
  struct __pyx_vtabstruct_4h5py_2h5_PHIL *__pyx_vtab;
 
540
  PyObject *lock;
 
541
};
 
542
 
 
543
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":33
 
544
 *     pass
 
545
 * 
 
546
 * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
 
547
 *     # Non-string vlens
 
548
 *     pass
 
549
 */
 
550
 
 
551
struct __pyx_obj_4h5py_3h5t_TypeVlenID {
 
552
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
553
};
 
554
 
 
555
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":51
 
556
 * # --- Object creation ---
 
557
 * 
 
558
 * cdef class PropDCID(PropCreateID):             # <<<<<<<<<<<<<<
 
559
 *     """ Dataset creation property list """
 
560
 *     pass
 
561
 */
 
562
 
 
563
struct __pyx_obj_4h5py_3h5p_PropDCID {
 
564
  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
 
565
};
 
566
 
 
567
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":37
 
568
 *     pass
 
569
 * 
 
570
 * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
 
571
 *     pass
 
572
 * 
 
573
 */
 
574
 
 
575
struct __pyx_obj_4h5py_3h5t_TypeTimeID {
 
576
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
577
};
 
578
 
 
579
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":23
 
580
 * # --- Top-level classes ---
 
581
 * 
 
582
 * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
 
583
 *     pass
 
584
 * 
 
585
 */
 
586
 
 
587
struct __pyx_obj_4h5py_3h5t_TypeArrayID {
 
588
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
589
};
 
590
 
 
591
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":48
 
592
 * # --- Numeric atomic types ---
 
593
 * 
 
594
 * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
 
595
 *     pass
 
596
 * 
 
597
 */
 
598
 
 
599
struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
 
600
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
601
};
 
602
 
 
603
/* "/home/tachyon/pydev/h5py/h5py/h5f.pxd":17
 
604
 * from h5 cimport class ObjectID
 
605
 * 
 
606
 * cdef class FileID(ObjectID):             # <<<<<<<<<<<<<<
 
607
 *     pass
 
608
 * 
 
609
 */
 
610
 
 
611
struct __pyx_obj_4h5py_3h5f_FileID {
 
612
  struct __pyx_obj_4h5py_2h5_ObjectID __pyx_base;
 
613
};
 
614
 
 
615
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":54
 
616
 *     pass
 
617
 * 
 
618
 * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
 
619
 *     pass
 
620
 * 
 
621
 */
 
622
 
 
623
struct __pyx_obj_4h5py_3h5t_TypeFloatID {
 
624
  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
 
625
};
 
626
 
 
627
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":29
 
628
 *     pass
 
629
 * 
 
630
 * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
 
631
 *     # Both vlen and fixed-len strings
 
632
 *     pass
 
633
 */
 
634
 
 
635
struct __pyx_obj_4h5py_3h5t_TypeStringID {
 
636
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
637
};
 
638
 
 
639
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":26
 
640
 *     pass
 
641
 * 
 
642
 * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
 
643
 *     pass
 
644
 * 
 
645
 */
 
646
 
 
647
struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
 
648
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
649
};
 
650
 
 
651
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":62
 
652
 *     pass
 
653
 * 
 
654
 * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
 
655
 * 
 
656
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 
657
 */
 
658
 
 
659
struct __pyx_obj_4h5py_3h5t_TypeEnumID {
 
660
  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
 
661
};
 
662
 
 
663
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":26
 
664
 * cpdef PHIL get_phil()
 
665
 * 
 
666
 * cdef class H5PYConfig:             # <<<<<<<<<<<<<<
 
667
 * 
 
668
 *     cdef object _r_name
 
669
 */
 
670
 
 
671
struct __pyx_obj_4h5py_2h5_H5PYConfig {
 
672
  PyObject_HEAD
 
673
  PyObject *_r_name;
 
674
  PyObject *_i_name;
 
675
  PyObject *_f_name;
 
676
  PyObject *_t_name;
 
677
  PyObject *API_16;
 
678
  PyObject *API_18;
 
679
  PyObject *DEBUG;
 
680
  PyObject *THREADS;
 
681
};
 
682
 
 
683
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":46
 
684
 *     pass
 
685
 * 
 
686
 * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
 
687
 *     """ Property list for copying objects (as in h5o.copy) """
 
688
 * 
 
689
 */
 
690
 
 
691
struct __pyx_obj_4h5py_3h5p_PropCopyID {
 
692
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
 
693
};
 
694
 
 
695
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":51
 
696
 *     pass
 
697
 * 
 
698
 * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
 
699
 *     pass
 
700
 * 
 
701
 */
 
702
 
 
703
struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
 
704
  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
 
705
};
 
706
 
 
707
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":43
 
708
 *     pass
 
709
 * 
 
710
 * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
 
711
 *     pass
 
712
 * 
 
713
 */
 
714
 
 
715
struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
 
716
  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
 
717
};
 
718
 
 
719
/* "/home/tachyon/pydev/h5py/h5py/h5p.pxd":66
 
720
 *     pass
 
721
 * 
 
722
 * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
 
723
 *     """ Dataset transfer property list """
 
724
 *     pass
 
725
 */
 
726
 
 
727
struct __pyx_obj_4h5py_3h5p_PropDXID {
 
728
  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
 
729
};
 
730
 
 
731
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":46
 
732
 *     cdef object _hash
 
733
 * 
 
734
 * cdef class SmartStruct:             # <<<<<<<<<<<<<<
 
735
 *     cdef object __weakref__
 
736
 *     cdef object _title
 
737
 */
 
738
 
 
739
struct __pyx_obj_4h5py_2h5_SmartStruct {
 
740
  PyObject_HEAD
 
741
  PyObject *__weakref__;
 
742
  PyObject *_title;
 
743
};
 
744
 
 
745
 
 
746
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":17
 
747
 * from h5 cimport class ObjectID
 
748
 * 
 
749
 * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
 
750
 * 
 
751
 *     cdef object py_dtype(self)
 
752
 */
 
753
 
 
754
struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
 
755
  PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
 
756
};
 
757
static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;
 
758
 
 
759
 
 
760
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":59
 
761
 * # --- Enums & compound types ---
 
762
 * 
 
763
 * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
 
764
 *     pass
 
765
 * 
 
766
 */
 
767
 
 
768
struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
 
769
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
770
};
 
771
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
 
772
 
 
773
 
 
774
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":66
 
775
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 
776
 * 
 
777
 * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
 
778
 *     pass
 
779
 * 
 
780
 */
 
781
 
 
782
struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
 
783
  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
 
784
};
 
785
static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
 
786
 
 
787
 
 
788
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":33
 
789
 *     pass
 
790
 * 
 
791
 * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
 
792
 *     # Non-string vlens
 
793
 *     pass
 
794
 */
 
795
 
 
796
struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
 
797
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
798
};
 
799
static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
 
800
 
 
801
 
 
802
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":23
 
803
 * # --- Top-level classes ---
 
804
 * 
 
805
 * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
 
806
 *     pass
 
807
 * 
 
808
 */
 
809
 
 
810
struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
 
811
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
812
};
 
813
static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
 
814
 
 
815
 
 
816
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":48
 
817
 * # --- Numeric atomic types ---
 
818
 * 
 
819
 * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
 
820
 *     pass
 
821
 * 
 
822
 */
 
823
 
 
824
struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
 
825
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
826
};
 
827
static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
 
828
 
 
829
 
 
830
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":51
 
831
 *     pass
 
832
 * 
 
833
 * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
 
834
 *     pass
 
835
 * 
 
836
 */
 
837
 
 
838
struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
 
839
  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
 
840
};
 
841
static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
 
842
 
 
843
 
 
844
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":43
 
845
 *     pass
 
846
 * 
 
847
 * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
 
848
 *     pass
 
849
 * 
 
850
 */
 
851
 
 
852
struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
 
853
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
854
};
 
855
static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
 
856
 
 
857
 
 
858
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":29
 
859
 *     pass
 
860
 * 
 
861
 * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
 
862
 *     # Both vlen and fixed-len strings
 
863
 *     pass
 
864
 */
 
865
 
 
866
struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
 
867
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
868
};
 
869
static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;
 
870
 
 
871
 
 
872
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":15
 
873
 * include "defs.pxd"
 
874
 * 
 
875
 * cdef class PHIL:             # <<<<<<<<<<<<<<
 
876
 * 
 
877
 *     cdef object lock
 
878
 */
 
879
 
 
880
struct __pyx_vtabstruct_4h5py_2h5_PHIL {
 
881
  int (*__enter__)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch);
 
882
  int (*__exit__)(struct __pyx_obj_4h5py_2h5_PHIL *, PyObject *, PyObject *, PyObject *, int __pyx_skip_dispatch);
 
883
  int (*acquire)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_2h5_4PHIL_acquire *__pyx_optional_args);
 
884
  int (*release)(struct __pyx_obj_4h5py_2h5_PHIL *, int __pyx_skip_dispatch);
 
885
};
 
886
static struct __pyx_vtabstruct_4h5py_2h5_PHIL *__pyx_vtabptr_4h5py_2h5_PHIL;
 
887
 
 
888
 
 
889
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":37
 
890
 *     pass
 
891
 * 
 
892
 * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
 
893
 *     pass
 
894
 * 
 
895
 */
 
896
 
 
897
struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
 
898
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
899
};
 
900
static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
 
901
 
 
902
 
 
903
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":40
 
904
 *     pass
 
905
 * 
 
906
 * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
 
907
 *     pass
 
908
 * 
 
909
 */
 
910
 
 
911
struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
 
912
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
913
};
 
914
static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
 
915
 
 
916
 
 
917
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":26
 
918
 *     pass
 
919
 * 
 
920
 * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
 
921
 *     pass
 
922
 * 
 
923
 */
 
924
 
 
925
struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
 
926
  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
 
927
};
 
928
static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
 
929
 
 
930
 
 
931
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":54
 
932
 *     pass
 
933
 * 
 
934
 * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
 
935
 *     pass
 
936
 * 
 
937
 */
 
938
 
 
939
struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
 
940
  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
 
941
};
 
942
static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
 
943
 
 
944
 
 
945
/* "/home/tachyon/pydev/h5py/h5py/h5t.pxd":62
 
946
 *     pass
 
947
 * 
 
948
 * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
 
949
 * 
 
950
 *     cdef int enum_convert(self, long long *buf, int reverse) except -1
 
951
 */
 
952
 
 
953
struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
 
954
  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
 
955
  int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
 
956
};
 
957
static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
 
958
/* Module declarations from h5py.h5 */
 
959
 
 
960
static PyTypeObject *__pyx_ptype_4h5py_2h5_PHIL = 0;
 
961
static PyTypeObject *__pyx_ptype_4h5py_2h5_H5PYConfig = 0;
 
962
static PyTypeObject *__pyx_ptype_4h5py_2h5_ObjectID = 0;
 
963
static PyTypeObject *__pyx_ptype_4h5py_2h5_SmartStruct = 0;
 
964
static struct __pyx_obj_4h5py_2h5_PHIL *(*__pyx_f_4h5py_2h5_get_phil)(int __pyx_skip_dispatch); /*proto*/
 
965
static struct __pyx_obj_4h5py_2h5_H5PYConfig *(*__pyx_f_4h5py_2h5_get_config)(int __pyx_skip_dispatch); /*proto*/
 
966
static int (*__pyx_f_4h5py_2h5_init_hdf5)(void); /*proto*/
 
967
static hid_t (*__pyx_f_4h5py_2h5_get_object_type)(void); /*proto*/
 
968
static herr_t (*__pyx_f_4h5py_2h5_attr_rw)(hid_t, hid_t, void *, h5py_rw_t); /*proto*/
 
969
static herr_t (*__pyx_f_4h5py_2h5_dset_rw)(hid_t, hid_t, hid_t, hid_t, hid_t, void *, h5py_rw_t); /*proto*/
 
970
/* Module declarations from h5py.h5p */
 
971
 
 
972
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
 
973
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
 
974
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
 
975
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
 
976
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
 
977
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
 
978
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
 
979
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
 
980
static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
 
981
static hid_t (*__pyx_f_4h5py_3h5p_pdefault)(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/
 
982
static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/
 
983
/* Module declarations from h5py.h5t */
 
984
 
 
985
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
 
986
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
 
987
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
 
988
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
 
989
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
 
990
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
 
991
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
 
992
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
 
993
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
 
994
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
 
995
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
 
996
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
 
997
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
 
998
static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
 
999
static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t); /*proto*/
 
1000
static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/
 
1001
/* Module declarations from h5py.h5i */
 
1002
 
 
1003
static struct __pyx_obj_4h5py_2h5_ObjectID *(*__pyx_f_4h5py_3h5i_wrap_identifier)(hid_t); /*proto*/
 
1004
/* Module declarations from numpy */
 
1005
 
 
1006
/* Module declarations from h5py.numpy */
 
1007
 
 
1008
static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
 
1009
static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
 
1010
/* Module declarations from h5py.utils */
 
1011
 
 
1012
static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
 
1013
static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
 
1014
static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/
 
1015
static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/
 
1016
static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
 
1017
static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/
 
1018
static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/
 
1019
static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/
 
1020
static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/
 
1021
/* Module declarations from h5py.h5f */
 
1022
 
 
1023
static PyTypeObject *__pyx_ptype_4h5py_3h5f_FileID = 0;
 
1024
static unsigned int __pyx_k_82;
 
1025
static int __pyx_k_83;
 
1026
static int __pyx_k_84;
 
1027
static PyObject *__pyx_k_86 = 0;
 
1028
static int __pyx_k_87;
 
1029
static PyObject *__pyx_k_88 = 0;
 
1030
static int __pyx_k_89;
 
1031
#define __Pyx_MODULE_NAME "h5py.h5f"
 
1032
int __pyx_module_is_main_h5py__h5f = 0;
 
1033
 
 
1034
/* Implementation of h5py.h5f */
 
1035
static char __pyx_k_80[] = " File name on disk (according to h5f.get_name()) ";
 
1036
static char __pyx_k_81[] = "\n    Low-level operations on HDF5 file objects.\n";
 
1037
static char __pyx_k___main__[] = "__main__";
 
1038
static PyObject *__pyx_kp___main__;
 
1039
static char __pyx_k_close[] = "close";
 
1040
static PyObject *__pyx_kp_close;
 
1041
static char __pyx_k_reopen[] = "reopen";
 
1042
static PyObject *__pyx_kp_reopen;
 
1043
static char __pyx_k_get_filesize[] = "get_filesize";
 
1044
static PyObject *__pyx_kp_get_filesize;
 
1045
static char __pyx_k_get_create_plist[] = "get_create_plist";
 
1046
static PyObject *__pyx_kp_get_create_plist;
 
1047
static char __pyx_k_get_access_plist[] = "get_access_plist";
 
1048
static PyObject *__pyx_kp_get_access_plist;
 
1049
static char __pyx_k_get_freespace[] = "get_freespace";
 
1050
static PyObject *__pyx_kp_get_freespace;
 
1051
static char __pyx_k_name[] = "name";
 
1052
static PyObject *__pyx_kp_name;
 
1053
static char __pyx_k_flags[] = "flags";
 
1054
static PyObject *__pyx_kp_flags;
 
1055
static char __pyx_k_fapl[] = "fapl";
 
1056
static PyObject *__pyx_kp_fapl;
 
1057
static char __pyx_k_fcpl[] = "fcpl";
 
1058
static PyObject *__pyx_kp_fcpl;
 
1059
static char __pyx_k_obj[] = "obj";
 
1060
static PyObject *__pyx_kp_obj;
 
1061
static char __pyx_k_scope[] = "scope";
 
1062
static PyObject *__pyx_kp_scope;
 
1063
static char __pyx_k_loc[] = "loc";
 
1064
static PyObject *__pyx_kp_loc;
 
1065
static char __pyx_k_fid[] = "fid";
 
1066
static PyObject *__pyx_kp_fid;
 
1067
static char __pyx_k_where[] = "where";
 
1068
static PyObject *__pyx_kp_where;
 
1069
static char __pyx_k_types[] = "types";
 
1070
static PyObject *__pyx_kp_types;
 
1071
static char __pyx_k___doc__[] = "__doc__";
 
1072
static PyObject *__pyx_kp___doc__;
 
1073
static char __pyx_k__sync[] = "_sync";
 
1074
static PyObject *__pyx_kp__sync;
 
1075
static char __pyx_k_sync[] = "sync";
 
1076
static PyObject *__pyx_kp_sync;
 
1077
static char __pyx_k_nosync[] = "nosync";
 
1078
static PyObject *__pyx_kp_nosync;
 
1079
static char __pyx_k_ACC_TRUNC[] = "ACC_TRUNC";
 
1080
static PyObject *__pyx_kp_ACC_TRUNC;
 
1081
static char __pyx_k_ACC_EXCL[] = "ACC_EXCL";
 
1082
static PyObject *__pyx_kp_ACC_EXCL;
 
1083
static char __pyx_k_ACC_RDWR[] = "ACC_RDWR";
 
1084
static PyObject *__pyx_kp_ACC_RDWR;
 
1085
static char __pyx_k_ACC_RDONLY[] = "ACC_RDONLY";
 
1086
static PyObject *__pyx_kp_ACC_RDONLY;
 
1087
static char __pyx_k_SCOPE_LOCAL[] = "SCOPE_LOCAL";
 
1088
static PyObject *__pyx_kp_SCOPE_LOCAL;
 
1089
static char __pyx_k_SCOPE_GLOBAL[] = "SCOPE_GLOBAL";
 
1090
static PyObject *__pyx_kp_SCOPE_GLOBAL;
 
1091
static char __pyx_k_CLOSE_WEAK[] = "CLOSE_WEAK";
 
1092
static PyObject *__pyx_kp_CLOSE_WEAK;
 
1093
static char __pyx_k_CLOSE_SEMI[] = "CLOSE_SEMI";
 
1094
static PyObject *__pyx_kp_CLOSE_SEMI;
 
1095
static char __pyx_k_CLOSE_STRONG[] = "CLOSE_STRONG";
 
1096
static PyObject *__pyx_kp_CLOSE_STRONG;
 
1097
static char __pyx_k_CLOSE_DEFAULT[] = "CLOSE_DEFAULT";
 
1098
static PyObject *__pyx_kp_CLOSE_DEFAULT;
 
1099
static char __pyx_k_OBJ_FILE[] = "OBJ_FILE";
 
1100
static PyObject *__pyx_kp_OBJ_FILE;
 
1101
static char __pyx_k_OBJ_DATASET[] = "OBJ_DATASET";
 
1102
static PyObject *__pyx_kp_OBJ_DATASET;
 
1103
static char __pyx_k_OBJ_GROUP[] = "OBJ_GROUP";
 
1104
static PyObject *__pyx_kp_OBJ_GROUP;
 
1105
static char __pyx_k_OBJ_DATATYPE[] = "OBJ_DATATYPE";
 
1106
static PyObject *__pyx_kp_OBJ_DATATYPE;
 
1107
static char __pyx_k_OBJ_ATTR[] = "OBJ_ATTR";
 
1108
static PyObject *__pyx_kp_OBJ_ATTR;
 
1109
static char __pyx_k_OBJ_ALL[] = "OBJ_ALL";
 
1110
static PyObject *__pyx_kp_OBJ_ALL;
 
1111
static char __pyx_k_OBJ_LOCAL[] = "OBJ_LOCAL";
 
1112
static PyObject *__pyx_kp_OBJ_LOCAL;
 
1113
static char __pyx_k_open[] = "open";
 
1114
static PyObject *__pyx_kp_open;
 
1115
static char __pyx_k_create[] = "create";
 
1116
static PyObject *__pyx_kp_create;
 
1117
static char __pyx_k_flush[] = "flush";
 
1118
static PyObject *__pyx_kp_flush;
 
1119
static char __pyx_k_85[] = "is_hdf5";
 
1120
static PyObject *__pyx_kp_85;
 
1121
static char __pyx_k_mount[] = "mount";
 
1122
static PyObject *__pyx_kp_mount;
 
1123
static char __pyx_k_unmount[] = "unmount";
 
1124
static PyObject *__pyx_kp_unmount;
 
1125
static char __pyx_k_get_name[] = "get_name";
 
1126
static PyObject *__pyx_kp_get_name;
 
1127
static char __pyx_k_get_obj_count[] = "get_obj_count";
 
1128
static PyObject *__pyx_kp_get_obj_count;
 
1129
static char __pyx_k_get_obj_ids[] = "get_obj_ids";
 
1130
static PyObject *__pyx_kp_get_obj_ids;
 
1131
static char __pyx_k_id[] = "id";
 
1132
static PyObject *__pyx_kp_id;
 
1133
static char __pyx_k_TypeError[] = "TypeError";
 
1134
static PyObject *__pyx_kp_TypeError;
 
1135
static PyObject *__pyx_kp_81;
 
1136
static PyObject *__pyx_builtin_TypeError;
 
1137
static PyObject *__pyx_kp_90;
 
1138
static char __pyx_k_90[] = "Location must be a FileID or OBJ_ALL.";
 
1139
static PyObject *__pyx_kp_91;
 
1140
static char __pyx_k_91[] = "Location must be a FileID or OBJ_ALL.";
 
1141
 
 
1142
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":58
 
1143
 * 
 
1144
 * @sync
 
1145
 * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):             # <<<<<<<<<<<<<<
 
1146
 *     """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID
 
1147
 * 
 
1148
 */
 
1149
 
 
1150
static PyObject *__pyx_pf_4h5py_3h5f_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
1151
static char __pyx_doc_4h5py_3h5f_open[] = "(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID\n\n    Open an existing HDF5 file.  Keyword \"flags\" may be:\n\n    ACC_RDWR\n        Open in read-write mode\n\n    ACC_RDONLY\n        Open in readonly mode\n\n    Keyword fapl may be a file access property list.\n    ";
 
1152
static PyObject *__pyx_pf_4h5py_3h5f_open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
1153
  char *__pyx_v_name;
 
1154
  unsigned int __pyx_v_flags;
 
1155
  struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl = 0;
 
1156
  PyObject *__pyx_r = NULL;
 
1157
  hid_t __pyx_t_1;
 
1158
  PyObject *__pyx_t_2 = NULL;
 
1159
  PyObject *__pyx_t_3 = NULL;
 
1160
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_name,&__pyx_kp_flags,&__pyx_kp_fapl,0};
 
1161
  __Pyx_SetupRefcountContext("open");
 
1162
  __pyx_self = __pyx_self;
 
1163
  if (unlikely(__pyx_kwds)) {
 
1164
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
 
1165
    PyObject* values[3] = {0,0,0};
 
1166
    values[2] = (PyObject*)((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None);
 
1167
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1168
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
 
1169
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 
1170
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 
1171
      case  0: break;
 
1172
      default: goto __pyx_L5_argtuple_error;
 
1173
    }
 
1174
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1175
      case  0:
 
1176
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name);
 
1177
      if (likely(values[0])) kw_args--;
 
1178
      else goto __pyx_L5_argtuple_error;
 
1179
      case  1:
 
1180
      if (kw_args > 0) {
 
1181
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_flags);
 
1182
        if (unlikely(value)) { values[1] = value; kw_args--; }
 
1183
      }
 
1184
      case  2:
 
1185
      if (kw_args > 0) {
 
1186
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_fapl);
 
1187
        if (unlikely(value)) { values[2] = value; kw_args--; }
 
1188
      }
 
1189
    }
 
1190
    if (unlikely(kw_args > 0)) {
 
1191
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1192
    }
 
1193
    __pyx_v_name = __Pyx_PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1194
    if (values[1]) {
 
1195
      __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1196
    } else {
 
1197
      __pyx_v_flags = __pyx_k_82;
 
1198
    }
 
1199
    __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)values[2]);
 
1200
  } else {
 
1201
    __pyx_v_flags = __pyx_k_82;
 
1202
    __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None);
 
1203
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1204
      case  3: __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)PyTuple_GET_ITEM(__pyx_args, 2));
 
1205
      case  2: __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1206
      case  1: __pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1207
      break;
 
1208
      default: goto __pyx_L5_argtuple_error;
 
1209
    }
 
1210
  }
 
1211
  goto __pyx_L4_argument_unpacking_done;
 
1212
  __pyx_L5_argtuple_error:;
 
1213
  __Pyx_RaiseArgtupleInvalid("open", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1214
  __pyx_L3_error:;
 
1215
  __Pyx_AddTraceback("h5py.h5f.open");
 
1216
  return NULL;
 
1217
  __pyx_L4_argument_unpacking_done:;
 
1218
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropFAID, 1, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1219
 
 
1220
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":74
 
1221
 *         import logging
 
1222
 *         logging.getLogger('h5py.library').info('* Opening file %s' % name)
 
1223
 *     return FileID(H5Fopen(name, flags, pdefault(fapl)))             # <<<<<<<<<<<<<<
 
1224
 * 
 
1225
 * @sync
 
1226
 */
 
1227
  __Pyx_XDECREF(__pyx_r);
 
1228
  __pyx_t_1 = H5Fopen(__pyx_v_name, __pyx_v_flags, __pyx_f_4h5py_3h5p_pdefault(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_fapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1229
  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1230
  __Pyx_GOTREF(__pyx_t_2);
 
1231
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1232
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
1233
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
 
1234
  __Pyx_GIVEREF(__pyx_t_2);
 
1235
  __pyx_t_2 = 0;
 
1236
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1237
  __Pyx_GOTREF(__pyx_t_2);
 
1238
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
1239
  __pyx_r = __pyx_t_2;
 
1240
  __pyx_t_2 = 0;
 
1241
  goto __pyx_L0;
 
1242
 
 
1243
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
1244
  goto __pyx_L0;
 
1245
  __pyx_L1_error:;
 
1246
  __Pyx_XDECREF(__pyx_t_2);
 
1247
  __Pyx_XDECREF(__pyx_t_3);
 
1248
  __Pyx_AddTraceback("h5py.h5f.open");
 
1249
  __pyx_r = NULL;
 
1250
  __pyx_L0:;
 
1251
  __Pyx_XGIVEREF(__pyx_r);
 
1252
  __Pyx_FinishRefcountContext();
 
1253
  return __pyx_r;
 
1254
}
 
1255
 
 
1256
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":77
 
1257
 * 
 
1258
 * @sync
 
1259
 * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,             # <<<<<<<<<<<<<<
 
1260
 *                                                 PropFAID fapl=None):
 
1261
 *     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
 
1262
 */
 
1263
 
 
1264
static PyObject *__pyx_pf_4h5py_3h5f_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
1265
static char __pyx_doc_4h5py_3h5f_create[] = "(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,\n    PropFAID fapl=None) => FileID\n\n    Create a new HDF5 file.  Keyword \"flags\" may be:\n\n    ACC_TRUNC\n        Truncate an existing file, discarding its data\n\n    ACC_EXCL\n        Fail if a conflicting file exists\n\n    To keep the behavior in line with that of Python's built-in functions,\n    the default is ACC_TRUNC.  Be careful!\n    ";
 
1266
static PyObject *__pyx_pf_4h5py_3h5f_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
1267
  char *__pyx_v_name;
 
1268
  int __pyx_v_flags;
 
1269
  struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_fcpl = 0;
 
1270
  struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl = 0;
 
1271
  PyObject *__pyx_r = NULL;
 
1272
  hid_t __pyx_t_1;
 
1273
  PyObject *__pyx_t_2 = NULL;
 
1274
  PyObject *__pyx_t_3 = NULL;
 
1275
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_name,&__pyx_kp_flags,&__pyx_kp_fcpl,&__pyx_kp_fapl,0};
 
1276
  __Pyx_SetupRefcountContext("create");
 
1277
  __pyx_self = __pyx_self;
 
1278
  if (unlikely(__pyx_kwds)) {
 
1279
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
 
1280
    PyObject* values[4] = {0,0,0,0};
 
1281
    values[2] = (PyObject*)((struct __pyx_obj_4h5py_3h5p_PropFCID *)Py_None);
 
1282
    values[3] = (PyObject*)((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None);
 
1283
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1284
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
 
1285
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
 
1286
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 
1287
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 
1288
      case  0: break;
 
1289
      default: goto __pyx_L5_argtuple_error;
 
1290
    }
 
1291
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1292
      case  0:
 
1293
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name);
 
1294
      if (likely(values[0])) kw_args--;
 
1295
      else goto __pyx_L5_argtuple_error;
 
1296
      case  1:
 
1297
      if (kw_args > 0) {
 
1298
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_flags);
 
1299
        if (unlikely(value)) { values[1] = value; kw_args--; }
 
1300
      }
 
1301
      case  2:
 
1302
      if (kw_args > 0) {
 
1303
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_fcpl);
 
1304
        if (unlikely(value)) { values[2] = value; kw_args--; }
 
1305
      }
 
1306
      case  3:
 
1307
      if (kw_args > 0) {
 
1308
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_fapl);
 
1309
        if (unlikely(value)) { values[3] = value; kw_args--; }
 
1310
      }
 
1311
    }
 
1312
    if (unlikely(kw_args > 0)) {
 
1313
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1314
    }
 
1315
    __pyx_v_name = __Pyx_PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1316
    if (values[1]) {
 
1317
      __pyx_v_flags = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1318
    } else {
 
1319
      __pyx_v_flags = __pyx_k_83;
 
1320
    }
 
1321
    __pyx_v_fcpl = ((struct __pyx_obj_4h5py_3h5p_PropFCID *)values[2]);
 
1322
    __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)values[3]);
 
1323
  } else {
 
1324
    __pyx_v_flags = __pyx_k_83;
 
1325
    __pyx_v_fcpl = ((struct __pyx_obj_4h5py_3h5p_PropFCID *)Py_None);
 
1326
    __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None);
 
1327
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1328
      case  4: __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)PyTuple_GET_ITEM(__pyx_args, 3));
 
1329
      case  3: __pyx_v_fcpl = ((struct __pyx_obj_4h5py_3h5p_PropFCID *)PyTuple_GET_ITEM(__pyx_args, 2));
 
1330
      case  2: __pyx_v_flags = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1331
      case  1: __pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1332
      break;
 
1333
      default: goto __pyx_L5_argtuple_error;
 
1334
    }
 
1335
  }
 
1336
  goto __pyx_L4_argument_unpacking_done;
 
1337
  __pyx_L5_argtuple_error:;
 
1338
  __Pyx_RaiseArgtupleInvalid("create", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1339
  __pyx_L3_error:;
 
1340
  __Pyx_AddTraceback("h5py.h5f.create");
 
1341
  return NULL;
 
1342
  __pyx_L4_argument_unpacking_done:;
 
1343
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fcpl), __pyx_ptype_4h5py_3h5p_PropFCID, 1, "fcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1344
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropFAID, 1, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1345
 
 
1346
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":96
 
1347
 *         import logging
 
1348
 *         logging.getLogger('h5py.library').info('* Creating file %s' % name)
 
1349
 *     return FileID(H5Fcreate(name, flags, pdefault(fcpl), pdefault(fapl)))             # <<<<<<<<<<<<<<
 
1350
 * 
 
1351
 * @sync
 
1352
 */
 
1353
  __Pyx_XDECREF(__pyx_r);
 
1354
  __pyx_t_1 = H5Fcreate(__pyx_v_name, __pyx_v_flags, __pyx_f_4h5py_3h5p_pdefault(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_fcpl)), __pyx_f_4h5py_3h5p_pdefault(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_fapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1355
  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1356
  __Pyx_GOTREF(__pyx_t_2);
 
1357
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1358
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
1359
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
 
1360
  __Pyx_GIVEREF(__pyx_t_2);
 
1361
  __pyx_t_2 = 0;
 
1362
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1363
  __Pyx_GOTREF(__pyx_t_2);
 
1364
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
1365
  __pyx_r = __pyx_t_2;
 
1366
  __pyx_t_2 = 0;
 
1367
  goto __pyx_L0;
 
1368
 
 
1369
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
1370
  goto __pyx_L0;
 
1371
  __pyx_L1_error:;
 
1372
  __Pyx_XDECREF(__pyx_t_2);
 
1373
  __Pyx_XDECREF(__pyx_t_3);
 
1374
  __Pyx_AddTraceback("h5py.h5f.create");
 
1375
  __pyx_r = NULL;
 
1376
  __pyx_L0:;
 
1377
  __Pyx_XGIVEREF(__pyx_r);
 
1378
  __Pyx_FinishRefcountContext();
 
1379
  return __pyx_r;
 
1380
}
 
1381
 
 
1382
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":99
 
1383
 * 
 
1384
 * @sync
 
1385
 * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):             # <<<<<<<<<<<<<<
 
1386
 *     """(ObjectID obj, INT scope=SCOPE_LOCAL)
 
1387
 * 
 
1388
 */
 
1389
 
 
1390
static PyObject *__pyx_pf_4h5py_3h5f_flush(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
1391
static char __pyx_doc_4h5py_3h5f_flush[] = "(ObjectID obj, INT scope=SCOPE_LOCAL)\n\n    Tell the HDF5 library to flush file buffers to disk.  \"obj\" may\n    be the file identifier, or the identifier of any object residing in\n    the file.  Keyword \"scope\" may be:\n\n    SCOPE_LOCAL\n        Flush only the given file\n\n    SCOPE_GLOBAL\n        Flush the entire virtual file\n    ";
 
1392
static PyObject *__pyx_pf_4h5py_3h5f_flush(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
1393
  struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_obj = 0;
 
1394
  int __pyx_v_scope;
 
1395
  PyObject *__pyx_r = NULL;
 
1396
  herr_t __pyx_t_1;
 
1397
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_obj,&__pyx_kp_scope,0};
 
1398
  __Pyx_SetupRefcountContext("flush");
 
1399
  __pyx_self = __pyx_self;
 
1400
  if (unlikely(__pyx_kwds)) {
 
1401
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
 
1402
    PyObject* values[2] = {0,0};
 
1403
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1404
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 
1405
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 
1406
      case  0: break;
 
1407
      default: goto __pyx_L5_argtuple_error;
 
1408
    }
 
1409
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1410
      case  0:
 
1411
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_obj);
 
1412
      if (likely(values[0])) kw_args--;
 
1413
      else goto __pyx_L5_argtuple_error;
 
1414
      case  1:
 
1415
      if (kw_args > 0) {
 
1416
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_scope);
 
1417
        if (unlikely(value)) { values[1] = value; kw_args--; }
 
1418
      }
 
1419
    }
 
1420
    if (unlikely(kw_args > 0)) {
 
1421
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "flush") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1422
    }
 
1423
    __pyx_v_obj = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
 
1424
    if (values[1]) {
 
1425
      __pyx_v_scope = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_scope == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1426
    } else {
 
1427
      __pyx_v_scope = __pyx_k_84;
 
1428
    }
 
1429
  } else {
 
1430
    __pyx_v_scope = __pyx_k_84;
 
1431
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1432
      case  2: __pyx_v_scope = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_scope == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1433
      case  1: __pyx_v_obj = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
 
1434
      break;
 
1435
      default: goto __pyx_L5_argtuple_error;
 
1436
    }
 
1437
  }
 
1438
  goto __pyx_L4_argument_unpacking_done;
 
1439
  __pyx_L5_argtuple_error:;
 
1440
  __Pyx_RaiseArgtupleInvalid("flush", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1441
  __pyx_L3_error:;
 
1442
  __Pyx_AddTraceback("h5py.h5f.flush");
 
1443
  return NULL;
 
1444
  __pyx_L4_argument_unpacking_done:;
 
1445
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_2h5_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1446
 
 
1447
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":112
 
1448
 *         Flush the entire virtual file
 
1449
 *     """
 
1450
 *     H5Fflush(obj.id, <H5F_scope_t>scope)             # <<<<<<<<<<<<<<
 
1451
 * 
 
1452
 * @sync
 
1453
 */
 
1454
  __pyx_t_1 = H5Fflush(__pyx_v_obj->id, ((enum H5F_scope_t)__pyx_v_scope)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1455
 
 
1456
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
1457
  goto __pyx_L0;
 
1458
  __pyx_L1_error:;
 
1459
  __Pyx_AddTraceback("h5py.h5f.flush");
 
1460
  __pyx_r = NULL;
 
1461
  __pyx_L0:;
 
1462
  __Pyx_XGIVEREF(__pyx_r);
 
1463
  __Pyx_FinishRefcountContext();
 
1464
  return __pyx_r;
 
1465
}
 
1466
 
 
1467
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":115
 
1468
 * 
 
1469
 * @sync
 
1470
 * def is_hdf5(char* name):             # <<<<<<<<<<<<<<
 
1471
 *     """(STRING name) => BOOL
 
1472
 * 
 
1473
 */
 
1474
 
 
1475
static PyObject *__pyx_pf_4h5py_3h5f_is_hdf5(PyObject *__pyx_self, PyObject *__pyx_arg_name); /*proto*/
 
1476
static char __pyx_doc_4h5py_3h5f_is_hdf5[] = "(STRING name) => BOOL\n\n    Determine if a given file is an HDF5 file.  Note this raises an \n    exception if the file doesn't exist.\n    ";
 
1477
static PyObject *__pyx_pf_4h5py_3h5f_is_hdf5(PyObject *__pyx_self, PyObject *__pyx_arg_name) {
 
1478
  char *__pyx_v_name;
 
1479
  PyObject *__pyx_r = NULL;
 
1480
  htri_t __pyx_t_1;
 
1481
  PyObject *__pyx_t_2 = NULL;
 
1482
  __Pyx_SetupRefcountContext("is_hdf5");
 
1483
  __pyx_self = __pyx_self;
 
1484
  assert(__pyx_arg_name); {
 
1485
    __pyx_v_name = __Pyx_PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1486
  }
 
1487
  goto __pyx_L4_argument_unpacking_done;
 
1488
  __pyx_L3_error:;
 
1489
  __Pyx_AddTraceback("h5py.h5f.is_hdf5");
 
1490
  return NULL;
 
1491
  __pyx_L4_argument_unpacking_done:;
 
1492
 
 
1493
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":121
 
1494
 *     exception if the file doesn't exist.
 
1495
 *     """
 
1496
 *     return <bint>(H5Fis_hdf5(name))             # <<<<<<<<<<<<<<
 
1497
 * 
 
1498
 * @sync
 
1499
 */
 
1500
  __Pyx_XDECREF(__pyx_r);
 
1501
  __pyx_t_1 = H5Fis_hdf5(__pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1502
  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1503
  __Pyx_GOTREF(__pyx_t_2);
 
1504
  __pyx_r = __pyx_t_2;
 
1505
  __pyx_t_2 = 0;
 
1506
  goto __pyx_L0;
 
1507
 
 
1508
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
1509
  goto __pyx_L0;
 
1510
  __pyx_L1_error:;
 
1511
  __Pyx_XDECREF(__pyx_t_2);
 
1512
  __Pyx_AddTraceback("h5py.h5f.is_hdf5");
 
1513
  __pyx_r = NULL;
 
1514
  __pyx_L0:;
 
1515
  __Pyx_XGIVEREF(__pyx_r);
 
1516
  __Pyx_FinishRefcountContext();
 
1517
  return __pyx_r;
 
1518
}
 
1519
 
 
1520
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":124
 
1521
 * 
 
1522
 * @sync
 
1523
 * def mount(ObjectID loc not None, char* name, FileID fid not None):             # <<<<<<<<<<<<<<
 
1524
 *     """(ObjectID loc, STRING name, FileID fid)
 
1525
 * 
 
1526
 */
 
1527
 
 
1528
static PyObject *__pyx_pf_4h5py_3h5f_mount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
1529
static char __pyx_doc_4h5py_3h5f_mount[] = "(ObjectID loc, STRING name, FileID fid)\n\n    Mount an open file on the group \"name\" under group loc_id.  Note that\n    \"name\" must already exist.\n    ";
 
1530
static PyObject *__pyx_pf_4h5py_3h5f_mount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
1531
  struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
 
1532
  char *__pyx_v_name;
 
1533
  struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_fid = 0;
 
1534
  PyObject *__pyx_r = NULL;
 
1535
  herr_t __pyx_t_1;
 
1536
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_loc,&__pyx_kp_name,&__pyx_kp_fid,0};
 
1537
  __Pyx_SetupRefcountContext("mount");
 
1538
  __pyx_self = __pyx_self;
 
1539
  if (unlikely(__pyx_kwds)) {
 
1540
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
 
1541
    PyObject* values[3] = {0,0,0};
 
1542
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1543
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
 
1544
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 
1545
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 
1546
      case  0: break;
 
1547
      default: goto __pyx_L5_argtuple_error;
 
1548
    }
 
1549
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1550
      case  0:
 
1551
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_loc);
 
1552
      if (likely(values[0])) kw_args--;
 
1553
      else goto __pyx_L5_argtuple_error;
 
1554
      case  1:
 
1555
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name);
 
1556
      if (likely(values[1])) kw_args--;
 
1557
      else {
 
1558
        __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1559
      }
 
1560
      case  2:
 
1561
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_fid);
 
1562
      if (likely(values[2])) kw_args--;
 
1563
      else {
 
1564
        __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1565
      }
 
1566
    }
 
1567
    if (unlikely(kw_args > 0)) {
 
1568
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "mount") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1569
    }
 
1570
    __pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
 
1571
    __pyx_v_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1572
    __pyx_v_fid = ((struct __pyx_obj_4h5py_3h5f_FileID *)values[2]);
 
1573
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
 
1574
    goto __pyx_L5_argtuple_error;
 
1575
  } else {
 
1576
    __pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
 
1577
    __pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1578
    __pyx_v_fid = ((struct __pyx_obj_4h5py_3h5f_FileID *)PyTuple_GET_ITEM(__pyx_args, 2));
 
1579
  }
 
1580
  goto __pyx_L4_argument_unpacking_done;
 
1581
  __pyx_L5_argtuple_error:;
 
1582
  __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1583
  __pyx_L3_error:;
 
1584
  __Pyx_AddTraceback("h5py.h5f.mount");
 
1585
  return NULL;
 
1586
  __pyx_L4_argument_unpacking_done:;
 
1587
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1588
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fid), __pyx_ptype_4h5py_3h5f_FileID, 0, "fid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1589
 
 
1590
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":130
 
1591
 *     "name" must already exist.
 
1592
 *     """
 
1593
 *     H5Fmount(loc.id, name, fid.id, H5P_DEFAULT)             # <<<<<<<<<<<<<<
 
1594
 * 
 
1595
 * @sync
 
1596
 */
 
1597
  __pyx_t_1 = H5Fmount(__pyx_v_loc->id, __pyx_v_name, __pyx_v_fid->__pyx_base.id, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1598
 
 
1599
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
1600
  goto __pyx_L0;
 
1601
  __pyx_L1_error:;
 
1602
  __Pyx_AddTraceback("h5py.h5f.mount");
 
1603
  __pyx_r = NULL;
 
1604
  __pyx_L0:;
 
1605
  __Pyx_XGIVEREF(__pyx_r);
 
1606
  __Pyx_FinishRefcountContext();
 
1607
  return __pyx_r;
 
1608
}
 
1609
 
 
1610
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":133
 
1611
 * 
 
1612
 * @sync
 
1613
 * def unmount(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
 
1614
 *     """(ObjectID loc, STRING name)
 
1615
 * 
 
1616
 */
 
1617
 
 
1618
static PyObject *__pyx_pf_4h5py_3h5f_unmount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
1619
static char __pyx_doc_4h5py_3h5f_unmount[] = "(ObjectID loc, STRING name)\n\n    Unmount a file, mounted at \"name\" under group loc_id.\n    ";
 
1620
static PyObject *__pyx_pf_4h5py_3h5f_unmount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
1621
  struct __pyx_obj_4h5py_2h5_ObjectID *__pyx_v_loc = 0;
 
1622
  char *__pyx_v_name;
 
1623
  PyObject *__pyx_r = NULL;
 
1624
  herr_t __pyx_t_1;
 
1625
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_loc,&__pyx_kp_name,0};
 
1626
  __Pyx_SetupRefcountContext("unmount");
 
1627
  __pyx_self = __pyx_self;
 
1628
  if (unlikely(__pyx_kwds)) {
 
1629
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
 
1630
    PyObject* values[2] = {0,0};
 
1631
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1632
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 
1633
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 
1634
      case  0: break;
 
1635
      default: goto __pyx_L5_argtuple_error;
 
1636
    }
 
1637
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1638
      case  0:
 
1639
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_loc);
 
1640
      if (likely(values[0])) kw_args--;
 
1641
      else goto __pyx_L5_argtuple_error;
 
1642
      case  1:
 
1643
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_name);
 
1644
      if (likely(values[1])) kw_args--;
 
1645
      else {
 
1646
        __Pyx_RaiseArgtupleInvalid("unmount", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1647
      }
 
1648
    }
 
1649
    if (unlikely(kw_args > 0)) {
 
1650
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "unmount") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1651
    }
 
1652
    __pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)values[0]);
 
1653
    __pyx_v_name = __Pyx_PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1654
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
 
1655
    goto __pyx_L5_argtuple_error;
 
1656
  } else {
 
1657
    __pyx_v_loc = ((struct __pyx_obj_4h5py_2h5_ObjectID *)PyTuple_GET_ITEM(__pyx_args, 0));
 
1658
    __pyx_v_name = __Pyx_PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1659
  }
 
1660
  goto __pyx_L4_argument_unpacking_done;
 
1661
  __pyx_L5_argtuple_error:;
 
1662
  __Pyx_RaiseArgtupleInvalid("unmount", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1663
  __pyx_L3_error:;
 
1664
  __Pyx_AddTraceback("h5py.h5f.unmount");
 
1665
  return NULL;
 
1666
  __pyx_L4_argument_unpacking_done:;
 
1667
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_2h5_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1668
 
 
1669
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":138
 
1670
 *     Unmount a file, mounted at "name" under group loc_id.
 
1671
 *     """
 
1672
 *     H5Funmount(loc.id, name)             # <<<<<<<<<<<<<<
 
1673
 * 
 
1674
 * @sync
 
1675
 */
 
1676
  __pyx_t_1 = H5Funmount(__pyx_v_loc->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1677
 
 
1678
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
1679
  goto __pyx_L0;
 
1680
  __pyx_L1_error:;
 
1681
  __Pyx_AddTraceback("h5py.h5f.unmount");
 
1682
  __pyx_r = NULL;
 
1683
  __pyx_L0:;
 
1684
  __Pyx_XGIVEREF(__pyx_r);
 
1685
  __Pyx_FinishRefcountContext();
 
1686
  return __pyx_r;
 
1687
}
 
1688
 
 
1689
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":141
 
1690
 * 
 
1691
 * @sync
 
1692
 * def get_name(ObjectID obj not None):             # <<<<<<<<<<<<<<
 
1693
 *     """(ObjectID obj) => STRING
 
1694
 * 
 
1695
 */
 
1696
 
 
1697
static PyObject *__pyx_pf_4h5py_3h5f_get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
 
1698
static char __pyx_doc_4h5py_3h5f_get_name[] = "(ObjectID obj) => STRING\n    \n    Determine the name of the file in which the specified object resides.\n    ";
 
1699
static PyObject *__pyx_pf_4h5py_3h5f_get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
 
1700
  ssize_t __pyx_v_size;
 
1701
  char *__pyx_v_name;
 
1702
  PyObject *__pyx_v_pname;
 
1703
  PyObject *__pyx_r = NULL;
 
1704
  ssize_t __pyx_t_1;
 
1705
  void *__pyx_t_2;
 
1706
  PyObject *__pyx_t_3 = NULL;
 
1707
  __Pyx_SetupRefcountContext("get_name");
 
1708
  __pyx_self = __pyx_self;
 
1709
  __pyx_v_pname = Py_None; __Pyx_INCREF(Py_None);
 
1710
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_2h5_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1711
 
 
1712
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":148
 
1713
 *     cdef ssize_t size
 
1714
 *     cdef char* name
 
1715
 *     name = NULL             # <<<<<<<<<<<<<<
 
1716
 * 
 
1717
 *     size = H5Fget_name(obj.id, NULL, 0)
 
1718
 */
 
1719
  __pyx_v_name = NULL;
 
1720
 
 
1721
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":150
 
1722
 *     name = NULL
 
1723
 * 
 
1724
 *     size = H5Fget_name(obj.id, NULL, 0)             # <<<<<<<<<<<<<<
 
1725
 *     assert size >= 0
 
1726
 *     name = <char*>emalloc(sizeof(char)*(size+1))
 
1727
 */
 
1728
  __pyx_t_1 = H5Fget_name(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_obj)->id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1729
  __pyx_v_size = __pyx_t_1;
 
1730
 
 
1731
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":151
 
1732
 * 
 
1733
 *     size = H5Fget_name(obj.id, NULL, 0)
 
1734
 *     assert size >= 0             # <<<<<<<<<<<<<<
 
1735
 *     name = <char*>emalloc(sizeof(char)*(size+1))
 
1736
 *     try:
 
1737
 */
 
1738
  #ifndef PYREX_WITHOUT_ASSERTIONS
 
1739
  if (unlikely(!(__pyx_v_size >= 0))) {
 
1740
    PyErr_SetNone(PyExc_AssertionError);
 
1741
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1742
  }
 
1743
  #endif
 
1744
 
 
1745
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":152
 
1746
 *     size = H5Fget_name(obj.id, NULL, 0)
 
1747
 *     assert size >= 0
 
1748
 *     name = <char*>emalloc(sizeof(char)*(size+1))             # <<<<<<<<<<<<<<
 
1749
 *     try:
 
1750
 *         H5Fget_name(obj.id, name, size+1)
 
1751
 */
 
1752
  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_size + 1))); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1753
  __pyx_v_name = ((char *)__pyx_t_2);
 
1754
 
 
1755
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":153
 
1756
 *     assert size >= 0
 
1757
 *     name = <char*>emalloc(sizeof(char)*(size+1))
 
1758
 *     try:             # <<<<<<<<<<<<<<
 
1759
 *         H5Fget_name(obj.id, name, size+1)
 
1760
 *         pname = name
 
1761
 */
 
1762
  /*try:*/ {
 
1763
 
 
1764
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":154
 
1765
 *     name = <char*>emalloc(sizeof(char)*(size+1))
 
1766
 *     try:
 
1767
 *         H5Fget_name(obj.id, name, size+1)             # <<<<<<<<<<<<<<
 
1768
 *         pname = name
 
1769
 *         return pname
 
1770
 */
 
1771
    __pyx_t_1 = H5Fget_name(((struct __pyx_obj_4h5py_2h5_ObjectID *)__pyx_v_obj)->id, __pyx_v_name, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
1772
 
 
1773
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":155
 
1774
 *     try:
 
1775
 *         H5Fget_name(obj.id, name, size+1)
 
1776
 *         pname = name             # <<<<<<<<<<<<<<
 
1777
 *         return pname
 
1778
 *     finally:
 
1779
 */
 
1780
    __pyx_t_3 = __Pyx_PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L6;}
 
1781
    __Pyx_GOTREF(__pyx_t_3);
 
1782
    __Pyx_DECREF(__pyx_v_pname);
 
1783
    __pyx_v_pname = __pyx_t_3;
 
1784
    __pyx_t_3 = 0;
 
1785
 
 
1786
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":156
 
1787
 *         H5Fget_name(obj.id, name, size+1)
 
1788
 *         pname = name
 
1789
 *         return pname             # <<<<<<<<<<<<<<
 
1790
 *     finally:
 
1791
 *         efree(name)
 
1792
 */
 
1793
    __Pyx_XDECREF(__pyx_r);
 
1794
    __Pyx_INCREF(__pyx_v_pname);
 
1795
    __pyx_r = __pyx_v_pname;
 
1796
    goto __pyx_L5;
 
1797
  }
 
1798
  /*finally:*/ {
 
1799
    int __pyx_why;
 
1800
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
 
1801
    int __pyx_exc_lineno;
 
1802
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
 
1803
    __pyx_why = 0; goto __pyx_L7;
 
1804
    __pyx_L5: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
 
1805
    __pyx_why = 3; goto __pyx_L7;
 
1806
    __pyx_L6: {
 
1807
      __pyx_why = 4;
 
1808
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
 
1809
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
 
1810
      __pyx_exc_lineno = __pyx_lineno;
 
1811
      goto __pyx_L7;
 
1812
    }
 
1813
    __pyx_L7:;
 
1814
 
 
1815
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":158
 
1816
 *         return pname
 
1817
 *     finally:
 
1818
 *         efree(name)             # <<<<<<<<<<<<<<
 
1819
 * 
 
1820
 * @sync
 
1821
 */
 
1822
    __pyx_f_4h5py_5utils_efree(__pyx_v_name);
 
1823
    switch (__pyx_why) {
 
1824
      case 3: goto __pyx_L0;
 
1825
      case 4: {
 
1826
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
 
1827
        __pyx_lineno = __pyx_exc_lineno;
 
1828
        __pyx_exc_type = 0;
 
1829
        __pyx_exc_value = 0;
 
1830
        __pyx_exc_tb = 0;
 
1831
        goto __pyx_L1_error;
 
1832
      }
 
1833
    }
 
1834
  }
 
1835
 
 
1836
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
1837
  goto __pyx_L0;
 
1838
  __pyx_L1_error:;
 
1839
  __Pyx_XDECREF(__pyx_t_3);
 
1840
  __Pyx_AddTraceback("h5py.h5f.get_name");
 
1841
  __pyx_r = NULL;
 
1842
  __pyx_L0:;
 
1843
  __Pyx_DECREF(__pyx_v_pname);
 
1844
  __Pyx_XGIVEREF(__pyx_r);
 
1845
  __Pyx_FinishRefcountContext();
 
1846
  return __pyx_r;
 
1847
}
 
1848
 
 
1849
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":161
 
1850
 * 
 
1851
 * @sync
 
1852
 * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
 
1853
 *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT
 
1854
 * 
 
1855
 */
 
1856
 
 
1857
static PyObject *__pyx_pf_4h5py_3h5f_get_obj_count(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
1858
static char __pyx_doc_4h5py_3h5f_get_obj_count[] = "(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT\n\n    Get the number of open objects.\n\n    where\n        Either a FileID instance representing an HDF5 file, or the\n        special constant OBJ_ALL, to count objects in all files.\n\n    type\n        Specify what kinds of object to include.  May be one of OBJ*, \n        or any bitwise combination (e.g. OBJ_FILE | OBJ_ATTR).  \n\n        The special value OBJ_ALL matches all object types, and \n        OBJ_LOCAL will only match objects opened through a specific \n        identifier.\n    ";
 
1859
static PyObject *__pyx_pf_4h5py_3h5f_get_obj_count(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
1860
  PyObject *__pyx_v_where = 0;
 
1861
  int __pyx_v_types;
 
1862
  hid_t __pyx_v_where_id;
 
1863
  PyObject *__pyx_r = NULL;
 
1864
  int __pyx_t_1;
 
1865
  PyObject *__pyx_t_2 = NULL;
 
1866
  hid_t __pyx_t_3;
 
1867
  int __pyx_t_4;
 
1868
  int __pyx_t_5;
 
1869
  PyObject *__pyx_t_6 = NULL;
 
1870
  int __pyx_t_7;
 
1871
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_where,&__pyx_kp_types,0};
 
1872
  __Pyx_SetupRefcountContext("get_obj_count");
 
1873
  __pyx_self = __pyx_self;
 
1874
  if (unlikely(__pyx_kwds)) {
 
1875
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
 
1876
    PyObject* values[2] = {0,0};
 
1877
    values[0] = __pyx_k_86;
 
1878
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1879
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 
1880
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 
1881
      case  0: break;
 
1882
      default: goto __pyx_L5_argtuple_error;
 
1883
    }
 
1884
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1885
      case  0:
 
1886
      if (kw_args > 0) {
 
1887
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_where);
 
1888
        if (unlikely(value)) { values[0] = value; kw_args--; }
 
1889
      }
 
1890
      case  1:
 
1891
      if (kw_args > 0) {
 
1892
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_types);
 
1893
        if (unlikely(value)) { values[1] = value; kw_args--; }
 
1894
      }
 
1895
    }
 
1896
    if (unlikely(kw_args > 0)) {
 
1897
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "get_obj_count") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1898
    }
 
1899
    __pyx_v_where = values[0];
 
1900
    if (values[1]) {
 
1901
      __pyx_v_types = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_types == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1902
    } else {
 
1903
      __pyx_v_types = __pyx_k_87;
 
1904
    }
 
1905
  } else {
 
1906
    __pyx_v_where = __pyx_k_86;
 
1907
    __pyx_v_types = __pyx_k_87;
 
1908
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
1909
      case  2: __pyx_v_types = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_types == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1910
      case  1: __pyx_v_where = PyTuple_GET_ITEM(__pyx_args, 0);
 
1911
      case  0: break;
 
1912
      default: goto __pyx_L5_argtuple_error;
 
1913
    }
 
1914
  }
 
1915
  goto __pyx_L4_argument_unpacking_done;
 
1916
  __pyx_L5_argtuple_error:;
 
1917
  __Pyx_RaiseArgtupleInvalid("get_obj_count", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
1918
  __pyx_L3_error:;
 
1919
  __Pyx_AddTraceback("h5py.h5f.get_obj_count");
 
1920
  return NULL;
 
1921
  __pyx_L4_argument_unpacking_done:;
 
1922
 
 
1923
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":179
 
1924
 *     """
 
1925
 *     cdef hid_t where_id
 
1926
 *     if isinstance(where, FileID):             # <<<<<<<<<<<<<<
 
1927
 *         where_id = where.id
 
1928
 *     elif isinstance(where, int) or isinstance(where, long):
 
1929
 */
 
1930
  __pyx_t_1 = PyObject_TypeCheck(__pyx_v_where, ((PyTypeObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID))); 
 
1931
  if (__pyx_t_1) {
 
1932
 
 
1933
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":180
 
1934
 *     cdef hid_t where_id
 
1935
 *     if isinstance(where, FileID):
 
1936
 *         where_id = where.id             # <<<<<<<<<<<<<<
 
1937
 *     elif isinstance(where, int) or isinstance(where, long):
 
1938
 *         where_id = where
 
1939
 */
 
1940
    __pyx_t_2 = PyObject_GetAttr(__pyx_v_where, __pyx_kp_id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1941
    __Pyx_GOTREF(__pyx_t_2);
 
1942
    __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1943
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
1944
    __pyx_v_where_id = __pyx_t_3;
 
1945
    goto __pyx_L6;
 
1946
  }
 
1947
 
 
1948
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":181
 
1949
 *     if isinstance(where, FileID):
 
1950
 *         where_id = where.id
 
1951
 *     elif isinstance(where, int) or isinstance(where, long):             # <<<<<<<<<<<<<<
 
1952
 *         where_id = where
 
1953
 *     else:
 
1954
 */
 
1955
  __pyx_t_1 = PyObject_TypeCheck(__pyx_v_where, ((PyTypeObject *)((PyObject*)&PyInt_Type))); 
 
1956
  if (!__pyx_t_1) {
 
1957
    __pyx_t_4 = PyObject_TypeCheck(__pyx_v_where, ((PyTypeObject *)((PyObject*)&PyLong_Type))); 
 
1958
    __pyx_t_5 = __pyx_t_4;
 
1959
  } else {
 
1960
    __pyx_t_5 = __pyx_t_1;
 
1961
  }
 
1962
  if (__pyx_t_5) {
 
1963
 
 
1964
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":182
 
1965
 *         where_id = where.id
 
1966
 *     elif isinstance(where, int) or isinstance(where, long):
 
1967
 *         where_id = where             # <<<<<<<<<<<<<<
 
1968
 *     else:
 
1969
 *         raise TypeError("Location must be a FileID or OBJ_ALL.")
 
1970
 */
 
1971
    __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_v_where); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1972
    __pyx_v_where_id = __pyx_t_3;
 
1973
    goto __pyx_L6;
 
1974
  }
 
1975
  /*else*/ {
 
1976
 
 
1977
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":184
 
1978
 *         where_id = where
 
1979
 *     else:
 
1980
 *         raise TypeError("Location must be a FileID or OBJ_ALL.")             # <<<<<<<<<<<<<<
 
1981
 * 
 
1982
 *     return H5Fget_obj_count(where_id, types)
 
1983
 */
 
1984
    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1985
    __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
1986
    __Pyx_INCREF(__pyx_kp_90);
 
1987
    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_90);
 
1988
    __Pyx_GIVEREF(__pyx_kp_90);
 
1989
    __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1990
    __Pyx_GOTREF(__pyx_t_6);
 
1991
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
1992
    __Pyx_Raise(__pyx_t_6, 0, 0);
 
1993
    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
1994
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
1995
  }
 
1996
  __pyx_L6:;
 
1997
 
 
1998
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":186
 
1999
 *         raise TypeError("Location must be a FileID or OBJ_ALL.")
 
2000
 * 
 
2001
 *     return H5Fget_obj_count(where_id, types)             # <<<<<<<<<<<<<<
 
2002
 * 
 
2003
 * @sync
 
2004
 */
 
2005
  __Pyx_XDECREF(__pyx_r);
 
2006
  __pyx_t_7 = H5Fget_obj_count(__pyx_v_where_id, __pyx_v_types); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2007
  __pyx_t_6 = PyInt_FromLong(__pyx_t_7); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2008
  __Pyx_GOTREF(__pyx_t_6);
 
2009
  __pyx_r = __pyx_t_6;
 
2010
  __pyx_t_6 = 0;
 
2011
  goto __pyx_L0;
 
2012
 
 
2013
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2014
  goto __pyx_L0;
 
2015
  __pyx_L1_error:;
 
2016
  __Pyx_XDECREF(__pyx_t_2);
 
2017
  __Pyx_XDECREF(__pyx_t_6);
 
2018
  __Pyx_AddTraceback("h5py.h5f.get_obj_count");
 
2019
  __pyx_r = NULL;
 
2020
  __pyx_L0:;
 
2021
  __Pyx_XGIVEREF(__pyx_r);
 
2022
  __Pyx_FinishRefcountContext();
 
2023
  return __pyx_r;
 
2024
}
 
2025
 
 
2026
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":189
 
2027
 * 
 
2028
 * @sync
 
2029
 * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
 
2030
 *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST
 
2031
 * 
 
2032
 */
 
2033
 
 
2034
static PyObject *__pyx_pf_4h5py_3h5f_get_obj_ids(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 
2035
static char __pyx_doc_4h5py_3h5f_get_obj_ids[] = "(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST\n\n    Get a list of identifier instances for open objects.\n\n    where\n        Either a FileID instance representing an HDF5 file, or the\n        special constant OBJ_ALL, to list objects in all files.\n\n    type\n        Specify what kinds of object to include.  May be one of OBJ*, \n        or any bitwise combination (e.g. OBJ_FILE | OBJ_ATTR).  \n\n        The special value OBJ_ALL matches all object types, and \n        OBJ_LOCAL will only match objects opened through a specific \n        identifier.\n    ";
 
2036
static PyObject *__pyx_pf_4h5py_3h5f_get_obj_ids(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
 
2037
  PyObject *__pyx_v_where = 0;
 
2038
  int __pyx_v_types;
 
2039
  int __pyx_v_count;
 
2040
  int __pyx_v_i;
 
2041
  hid_t __pyx_v_where_id;
 
2042
  hid_t *__pyx_v_obj_list;
 
2043
  PyObject *__pyx_v_py_obj_list = 0;
 
2044
  PyObject *__pyx_r = NULL;
 
2045
  int __pyx_1;
 
2046
  PyObject *__pyx_t_1 = NULL;
 
2047
  int __pyx_t_2;
 
2048
  hid_t __pyx_t_3;
 
2049
  PyObject *__pyx_t_4 = NULL;
 
2050
  PyObject *__pyx_t_5 = NULL;
 
2051
  PyObject *__pyx_t_6 = NULL;
 
2052
  PyObject *__pyx_t_7 = NULL;
 
2053
  int __pyx_t_8;
 
2054
  void *__pyx_t_9;
 
2055
  int __pyx_t_10;
 
2056
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_where,&__pyx_kp_types,0};
 
2057
  __Pyx_SetupRefcountContext("get_obj_ids");
 
2058
  __pyx_self = __pyx_self;
 
2059
  if (unlikely(__pyx_kwds)) {
 
2060
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
 
2061
    PyObject* values[2] = {0,0};
 
2062
    values[0] = __pyx_k_88;
 
2063
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
2064
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
 
2065
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
 
2066
      case  0: break;
 
2067
      default: goto __pyx_L5_argtuple_error;
 
2068
    }
 
2069
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
2070
      case  0:
 
2071
      if (kw_args > 0) {
 
2072
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_where);
 
2073
        if (unlikely(value)) { values[0] = value; kw_args--; }
 
2074
      }
 
2075
      case  1:
 
2076
      if (kw_args > 0) {
 
2077
        PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_kp_types);
 
2078
        if (unlikely(value)) { values[1] = value; kw_args--; }
 
2079
      }
 
2080
    }
 
2081
    if (unlikely(kw_args > 0)) {
 
2082
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "get_obj_ids") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
2083
    }
 
2084
    __pyx_v_where = values[0];
 
2085
    if (values[1]) {
 
2086
      __pyx_v_types = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_types == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
2087
    } else {
 
2088
      __pyx_v_types = __pyx_k_89;
 
2089
    }
 
2090
  } else {
 
2091
    __pyx_v_where = __pyx_k_88;
 
2092
    __pyx_v_types = __pyx_k_89;
 
2093
    switch (PyTuple_GET_SIZE(__pyx_args)) {
 
2094
      case  2: __pyx_v_types = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_types == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
2095
      case  1: __pyx_v_where = PyTuple_GET_ITEM(__pyx_args, 0);
 
2096
      case  0: break;
 
2097
      default: goto __pyx_L5_argtuple_error;
 
2098
    }
 
2099
  }
 
2100
  goto __pyx_L4_argument_unpacking_done;
 
2101
  __pyx_L5_argtuple_error:;
 
2102
  __Pyx_RaiseArgtupleInvalid("get_obj_ids", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
 
2103
  __pyx_L3_error:;
 
2104
  __Pyx_AddTraceback("h5py.h5f.get_obj_ids");
 
2105
  return NULL;
 
2106
  __pyx_L4_argument_unpacking_done:;
 
2107
 
 
2108
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":209
 
2109
 *     cdef int i
 
2110
 *     cdef hid_t where_id
 
2111
 *     cdef hid_t *obj_list = NULL             # <<<<<<<<<<<<<<
 
2112
 *     cdef list py_obj_list = []
 
2113
 * 
 
2114
 */
 
2115
  __pyx_v_obj_list = NULL;
 
2116
 
 
2117
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":210
 
2118
 *     cdef hid_t where_id
 
2119
 *     cdef hid_t *obj_list = NULL
 
2120
 *     cdef list py_obj_list = []             # <<<<<<<<<<<<<<
 
2121
 * 
 
2122
 *     if isinstance(where, FileID):
 
2123
 */
 
2124
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2125
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
2126
  __pyx_v_py_obj_list = __pyx_t_1;
 
2127
  __pyx_t_1 = 0;
 
2128
 
 
2129
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":212
 
2130
 *     cdef list py_obj_list = []
 
2131
 * 
 
2132
 *     if isinstance(where, FileID):             # <<<<<<<<<<<<<<
 
2133
 *         where_id = where.id
 
2134
 *     else:
 
2135
 */
 
2136
  __pyx_t_2 = PyObject_TypeCheck(__pyx_v_where, ((PyTypeObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID))); 
 
2137
  if (__pyx_t_2) {
 
2138
 
 
2139
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":213
 
2140
 * 
 
2141
 *     if isinstance(where, FileID):
 
2142
 *         where_id = where.id             # <<<<<<<<<<<<<<
 
2143
 *     else:
 
2144
 *         try:
 
2145
 */
 
2146
    __pyx_t_1 = PyObject_GetAttr(__pyx_v_where, __pyx_kp_id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2147
    __Pyx_GOTREF(__pyx_t_1);
 
2148
    __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2149
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2150
    __pyx_v_where_id = __pyx_t_3;
 
2151
    goto __pyx_L6;
 
2152
  }
 
2153
  /*else*/ {
 
2154
 
 
2155
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":215
 
2156
 *         where_id = where.id
 
2157
 *     else:
 
2158
 *         try:             # <<<<<<<<<<<<<<
 
2159
 *             where_id = int(where)
 
2160
 *         except TypeError:
 
2161
 */
 
2162
    {
 
2163
      PyObject *__pyx_save_exc_type, *__pyx_save_exc_value, *__pyx_save_exc_tb;
 
2164
      __Pyx_ExceptionSave(&__pyx_save_exc_type, &__pyx_save_exc_value, &__pyx_save_exc_tb);
 
2165
      __Pyx_XGOTREF(__pyx_save_exc_type);
 
2166
      __Pyx_XGOTREF(__pyx_save_exc_value);
 
2167
      __Pyx_XGOTREF(__pyx_save_exc_tb);
 
2168
      /*try:*/ {
 
2169
 
 
2170
        /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":216
 
2171
 *     else:
 
2172
 *         try:
 
2173
 *             where_id = int(where)             # <<<<<<<<<<<<<<
 
2174
 *         except TypeError:
 
2175
 *             raise TypeError("Location must be a FileID or OBJ_ALL.")
 
2176
 */
 
2177
        __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
 
2178
        __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
2179
        __Pyx_INCREF(__pyx_v_where);
 
2180
        PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_where);
 
2181
        __Pyx_GIVEREF(__pyx_v_where);
 
2182
        __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)&PyInt_Type)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
 
2183
        __Pyx_GOTREF(__pyx_t_4);
 
2184
        __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
2185
        __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
 
2186
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
2187
        __pyx_v_where_id = __pyx_t_3;
 
2188
      }
 
2189
      __Pyx_XDECREF(__pyx_save_exc_type); __pyx_save_exc_type = 0;
 
2190
      __Pyx_XDECREF(__pyx_save_exc_value); __pyx_save_exc_value = 0;
 
2191
      __Pyx_XDECREF(__pyx_save_exc_tb); __pyx_save_exc_tb = 0;
 
2192
      goto __pyx_L14_try_end;
 
2193
      __pyx_L7_error:;
 
2194
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2195
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
 
2196
 
 
2197
      /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":217
 
2198
 *         try:
 
2199
 *             where_id = int(where)
 
2200
 *         except TypeError:             # <<<<<<<<<<<<<<
 
2201
 *             raise TypeError("Location must be a FileID or OBJ_ALL.")
 
2202
 * 
 
2203
 */
 
2204
      __pyx_1 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
 
2205
      if (__pyx_1) {
 
2206
        __Pyx_AddTraceback("h5py.h5f.get_obj_ids");
 
2207
        if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2208
        __Pyx_GOTREF(__pyx_t_4);
 
2209
        __Pyx_GOTREF(__pyx_t_1);
 
2210
        __Pyx_GOTREF(__pyx_t_5);
 
2211
 
 
2212
        /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":218
 
2213
 *             where_id = int(where)
 
2214
 *         except TypeError:
 
2215
 *             raise TypeError("Location must be a FileID or OBJ_ALL.")             # <<<<<<<<<<<<<<
 
2216
 * 
 
2217
 *     try:
 
2218
 */
 
2219
        __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2220
        __Pyx_GOTREF(((PyObject *)__pyx_t_6));
 
2221
        __Pyx_INCREF(__pyx_kp_91);
 
2222
        PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_91);
 
2223
        __Pyx_GIVEREF(__pyx_kp_91);
 
2224
        __pyx_t_7 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2225
        __Pyx_GOTREF(__pyx_t_7);
 
2226
        __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
 
2227
        __Pyx_Raise(__pyx_t_7, 0, 0);
 
2228
        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
 
2229
        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
 
2230
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
2231
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2232
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
2233
        goto __pyx_L8_exception_handled;
 
2234
      }
 
2235
      __pyx_L9_except_error:;
 
2236
      __Pyx_XDECREF(__pyx_save_exc_type);
 
2237
      __Pyx_XDECREF(__pyx_save_exc_value);
 
2238
      __Pyx_XDECREF(__pyx_save_exc_tb);
 
2239
      goto __pyx_L1_error;
 
2240
      __pyx_L8_exception_handled:;
 
2241
      __Pyx_XGIVEREF(__pyx_save_exc_type);
 
2242
      __Pyx_XGIVEREF(__pyx_save_exc_value);
 
2243
      __Pyx_XGIVEREF(__pyx_save_exc_tb);
 
2244
      __Pyx_ExceptionReset(__pyx_save_exc_type, __pyx_save_exc_value, __pyx_save_exc_tb);
 
2245
      __pyx_L14_try_end:;
 
2246
    }
 
2247
  }
 
2248
  __pyx_L6:;
 
2249
 
 
2250
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":220
 
2251
 *             raise TypeError("Location must be a FileID or OBJ_ALL.")
 
2252
 * 
 
2253
 *     try:             # <<<<<<<<<<<<<<
 
2254
 *         count = H5Fget_obj_count(where_id, types)
 
2255
 *         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)
 
2256
 */
 
2257
  /*try:*/ {
 
2258
 
 
2259
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":221
 
2260
 * 
 
2261
 *     try:
 
2262
 *         count = H5Fget_obj_count(where_id, types)             # <<<<<<<<<<<<<<
 
2263
 *         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)
 
2264
 * 
 
2265
 */
 
2266
    __pyx_t_8 = H5Fget_obj_count(__pyx_v_where_id, __pyx_v_types); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L18;}
 
2267
    __pyx_v_count = __pyx_t_8;
 
2268
 
 
2269
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":222
 
2270
 *     try:
 
2271
 *         count = H5Fget_obj_count(where_id, types)
 
2272
 *         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)             # <<<<<<<<<<<<<<
 
2273
 * 
 
2274
 *         H5Fget_obj_ids(where_id, types, count, obj_list)
 
2275
 */
 
2276
    __pyx_t_9 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hid_t)) * __pyx_v_count)); if (unlikely(__pyx_t_9 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L18;}
 
2277
    __pyx_v_obj_list = ((hid_t *)__pyx_t_9);
 
2278
 
 
2279
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":224
 
2280
 *         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)
 
2281
 * 
 
2282
 *         H5Fget_obj_ids(where_id, types, count, obj_list)             # <<<<<<<<<<<<<<
 
2283
 *         for i from 0<=i<count:
 
2284
 *             py_obj_list.append(wrap_identifier(obj_list[i]))
 
2285
 */
 
2286
    __pyx_t_8 = H5Fget_obj_ids(__pyx_v_where_id, __pyx_v_types, __pyx_v_count, __pyx_v_obj_list); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L18;}
 
2287
 
 
2288
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":225
 
2289
 * 
 
2290
 *         H5Fget_obj_ids(where_id, types, count, obj_list)
 
2291
 *         for i from 0<=i<count:             # <<<<<<<<<<<<<<
 
2292
 *             py_obj_list.append(wrap_identifier(obj_list[i]))
 
2293
 *             # The HDF5 function returns a borrowed reference for each hid_t.
 
2294
 */
 
2295
    __pyx_t_8 = __pyx_v_count;
 
2296
    for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_8; __pyx_v_i++) {
 
2297
 
 
2298
      /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":226
 
2299
 *         H5Fget_obj_ids(where_id, types, count, obj_list)
 
2300
 *         for i from 0<=i<count:
 
2301
 *             py_obj_list.append(wrap_identifier(obj_list[i]))             # <<<<<<<<<<<<<<
 
2302
 *             # The HDF5 function returns a borrowed reference for each hid_t.
 
2303
 *             H5Iinc_ref(obj_list[i])
 
2304
 */
 
2305
      __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5i_wrap_identifier((__pyx_v_obj_list[__pyx_v_i]))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L18;}
 
2306
      __Pyx_GOTREF(__pyx_t_5);
 
2307
      __pyx_t_10 = PyList_Append(((PyObject *)__pyx_v_py_obj_list), __pyx_t_5); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L18;}
 
2308
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
2309
 
 
2310
      /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":228
 
2311
 *             py_obj_list.append(wrap_identifier(obj_list[i]))
 
2312
 *             # The HDF5 function returns a borrowed reference for each hid_t.
 
2313
 *             H5Iinc_ref(obj_list[i])             # <<<<<<<<<<<<<<
 
2314
 *         return py_obj_list
 
2315
 * 
 
2316
 */
 
2317
      __pyx_t_10 = H5Iinc_ref((__pyx_v_obj_list[__pyx_v_i])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L18;}
 
2318
    }
 
2319
 
 
2320
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":229
 
2321
 *             # The HDF5 function returns a borrowed reference for each hid_t.
 
2322
 *             H5Iinc_ref(obj_list[i])
 
2323
 *         return py_obj_list             # <<<<<<<<<<<<<<
 
2324
 * 
 
2325
 *     finally:
 
2326
 */
 
2327
    __Pyx_XDECREF(__pyx_r);
 
2328
    __Pyx_INCREF(((PyObject *)__pyx_v_py_obj_list));
 
2329
    __pyx_r = ((PyObject *)__pyx_v_py_obj_list);
 
2330
    goto __pyx_L17;
 
2331
  }
 
2332
  /*finally:*/ {
 
2333
    int __pyx_why;
 
2334
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
 
2335
    int __pyx_exc_lineno;
 
2336
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
 
2337
    __pyx_why = 0; goto __pyx_L19;
 
2338
    __pyx_L17: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
 
2339
    __pyx_why = 3; goto __pyx_L19;
 
2340
    __pyx_L18: {
 
2341
      __pyx_why = 4;
 
2342
      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
 
2343
      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
 
2344
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
 
2345
      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
 
2346
      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
 
2347
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
 
2348
      __pyx_exc_lineno = __pyx_lineno;
 
2349
      goto __pyx_L19;
 
2350
    }
 
2351
    __pyx_L19:;
 
2352
 
 
2353
    /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":232
 
2354
 * 
 
2355
 *     finally:
 
2356
 *         efree(obj_list)             # <<<<<<<<<<<<<<
 
2357
 * 
 
2358
 * 
 
2359
 */
 
2360
    __pyx_f_4h5py_5utils_efree(__pyx_v_obj_list);
 
2361
    switch (__pyx_why) {
 
2362
      case 3: goto __pyx_L0;
 
2363
      case 4: {
 
2364
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
 
2365
        __pyx_lineno = __pyx_exc_lineno;
 
2366
        __pyx_exc_type = 0;
 
2367
        __pyx_exc_value = 0;
 
2368
        __pyx_exc_tb = 0;
 
2369
        goto __pyx_L1_error;
 
2370
      }
 
2371
    }
 
2372
  }
 
2373
 
 
2374
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2375
  goto __pyx_L0;
 
2376
  __pyx_L1_error:;
 
2377
  __Pyx_XDECREF(__pyx_t_1);
 
2378
  __Pyx_XDECREF(__pyx_t_4);
 
2379
  __Pyx_XDECREF(__pyx_t_5);
 
2380
  __Pyx_XDECREF(__pyx_t_6);
 
2381
  __Pyx_XDECREF(__pyx_t_7);
 
2382
  __Pyx_AddTraceback("h5py.h5f.get_obj_ids");
 
2383
  __pyx_r = NULL;
 
2384
  __pyx_L0:;
 
2385
  __Pyx_XDECREF(__pyx_v_py_obj_list);
 
2386
  __Pyx_XGIVEREF(__pyx_r);
 
2387
  __Pyx_FinishRefcountContext();
 
2388
  return __pyx_r;
 
2389
}
 
2390
 
 
2391
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":258
 
2392
 *     property name:
 
2393
 *         """ File name on disk (according to h5f.get_name()) """
 
2394
 *         def __get__(self):             # <<<<<<<<<<<<<<
 
2395
 *             return get_name(self)
 
2396
 * 
 
2397
 */
 
2398
 
 
2399
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4name___get__(PyObject *__pyx_v_self); /*proto*/
 
2400
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4name___get__(PyObject *__pyx_v_self) {
 
2401
  PyObject *__pyx_r = NULL;
 
2402
  PyObject *__pyx_1 = 0;
 
2403
  PyObject *__pyx_t_1 = NULL;
 
2404
  PyObject *__pyx_t_2 = NULL;
 
2405
  __Pyx_SetupRefcountContext("__get__");
 
2406
 
 
2407
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":259
 
2408
 *         """ File name on disk (according to h5f.get_name()) """
 
2409
 *         def __get__(self):
 
2410
 *             return get_name(self)             # <<<<<<<<<<<<<<
 
2411
 * 
 
2412
 *     @sync
 
2413
 */
 
2414
  __Pyx_XDECREF(__pyx_r);
 
2415
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_get_name); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2416
  __Pyx_GOTREF(__pyx_1);
 
2417
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2418
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
 
2419
  __Pyx_INCREF(__pyx_v_self);
 
2420
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self);
 
2421
  __Pyx_GIVEREF(__pyx_v_self);
 
2422
  __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2423
  __Pyx_GOTREF(__pyx_t_2);
 
2424
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
2425
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
2426
  __pyx_r = __pyx_t_2;
 
2427
  __pyx_t_2 = 0;
 
2428
  goto __pyx_L0;
 
2429
 
 
2430
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2431
  goto __pyx_L0;
 
2432
  __pyx_L1_error:;
 
2433
  __Pyx_XDECREF(__pyx_1);
 
2434
  __Pyx_XDECREF(__pyx_t_1);
 
2435
  __Pyx_XDECREF(__pyx_t_2);
 
2436
  __Pyx_AddTraceback("h5py.h5f.FileID.name.__get__");
 
2437
  __pyx_r = NULL;
 
2438
  __pyx_L0:;
 
2439
  __Pyx_XGIVEREF(__pyx_r);
 
2440
  __Pyx_FinishRefcountContext();
 
2441
  return __pyx_r;
 
2442
}
 
2443
 
 
2444
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":262
 
2445
 * 
 
2446
 *     @sync
 
2447
 *     def close(self):             # <<<<<<<<<<<<<<
 
2448
 *         """()
 
2449
 * 
 
2450
 */
 
2451
 
 
2452
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_close(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
 
2453
static char __pyx_doc_4h5py_3h5f_6FileID_close[] = "()\n\n        Terminate access through this identifier.  Note that depending on\n        what property list settings were used to open the file, the\n        physical file might not be closed until all remaining open\n        identifiers are freed.  \n        ";
 
2454
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_close(PyObject *__pyx_v_self, PyObject *unused) {
 
2455
  PyObject *__pyx_r = NULL;
 
2456
  herr_t __pyx_t_1;
 
2457
  __Pyx_SetupRefcountContext("close");
 
2458
 
 
2459
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":273
 
2460
 *             import logging
 
2461
 *             logging.getLogger('h5py.library').info('* Closing file %s' % self.name)
 
2462
 *         H5Fclose(self.id)             # <<<<<<<<<<<<<<
 
2463
 * 
 
2464
 *     @sync
 
2465
 */
 
2466
  __pyx_t_1 = H5Fclose(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2467
 
 
2468
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2469
  goto __pyx_L0;
 
2470
  __pyx_L1_error:;
 
2471
  __Pyx_AddTraceback("h5py.h5f.FileID.close");
 
2472
  __pyx_r = NULL;
 
2473
  __pyx_L0:;
 
2474
  __Pyx_XGIVEREF(__pyx_r);
 
2475
  __Pyx_FinishRefcountContext();
 
2476
  return __pyx_r;
 
2477
}
 
2478
 
 
2479
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":276
 
2480
 * 
 
2481
 *     @sync
 
2482
 *     def reopen(self):             # <<<<<<<<<<<<<<
 
2483
 *         """() => FileID
 
2484
 * 
 
2485
 */
 
2486
 
 
2487
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_reopen(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
 
2488
static char __pyx_doc_4h5py_3h5f_6FileID_reopen[] = "() => FileID\n\n        Retrieve another identifier for a file (which must still be open).\n        The new identifier is guaranteed to neither be mounted nor contain\n        a mounted file.\n        ";
 
2489
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_reopen(PyObject *__pyx_v_self, PyObject *unused) {
 
2490
  PyObject *__pyx_r = NULL;
 
2491
  hid_t __pyx_t_1;
 
2492
  PyObject *__pyx_t_2 = NULL;
 
2493
  PyObject *__pyx_t_3 = NULL;
 
2494
  __Pyx_SetupRefcountContext("reopen");
 
2495
 
 
2496
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":283
 
2497
 *         a mounted file.
 
2498
 *         """
 
2499
 *         return FileID(H5Freopen(self.id))             # <<<<<<<<<<<<<<
 
2500
 * 
 
2501
 *     @sync
 
2502
 */
 
2503
  __Pyx_XDECREF(__pyx_r);
 
2504
  __pyx_t_1 = H5Freopen(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2505
  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2506
  __Pyx_GOTREF(__pyx_t_2);
 
2507
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2508
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
2509
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
 
2510
  __Pyx_GIVEREF(__pyx_t_2);
 
2511
  __pyx_t_2 = 0;
 
2512
  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2513
  __Pyx_GOTREF(__pyx_t_2);
 
2514
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
2515
  __pyx_r = __pyx_t_2;
 
2516
  __pyx_t_2 = 0;
 
2517
  goto __pyx_L0;
 
2518
 
 
2519
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2520
  goto __pyx_L0;
 
2521
  __pyx_L1_error:;
 
2522
  __Pyx_XDECREF(__pyx_t_2);
 
2523
  __Pyx_XDECREF(__pyx_t_3);
 
2524
  __Pyx_AddTraceback("h5py.h5f.FileID.reopen");
 
2525
  __pyx_r = NULL;
 
2526
  __pyx_L0:;
 
2527
  __Pyx_XGIVEREF(__pyx_r);
 
2528
  __Pyx_FinishRefcountContext();
 
2529
  return __pyx_r;
 
2530
}
 
2531
 
 
2532
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":286
 
2533
 * 
 
2534
 *     @sync
 
2535
 *     def get_filesize(self):             # <<<<<<<<<<<<<<
 
2536
 *         """() => LONG size
 
2537
 * 
 
2538
 */
 
2539
 
 
2540
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_get_filesize(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
 
2541
static char __pyx_doc_4h5py_3h5f_6FileID_get_filesize[] = "() => LONG size\n\n        Determine the total size (in bytes) of the HDF5 file, \n        including any user block.\n        ";
 
2542
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_get_filesize(PyObject *__pyx_v_self, PyObject *unused) {
 
2543
  hsize_t __pyx_v_size;
 
2544
  PyObject *__pyx_r = NULL;
 
2545
  herr_t __pyx_t_1;
 
2546
  PyObject *__pyx_t_2 = NULL;
 
2547
  __Pyx_SetupRefcountContext("get_filesize");
 
2548
 
 
2549
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":293
 
2550
 *         """
 
2551
 *         cdef hsize_t size
 
2552
 *         H5Fget_filesize(self.id, &size)             # <<<<<<<<<<<<<<
 
2553
 *         return size
 
2554
 * 
 
2555
 */
 
2556
  __pyx_t_1 = H5Fget_filesize(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2557
 
 
2558
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":294
 
2559
 *         cdef hsize_t size
 
2560
 *         H5Fget_filesize(self.id, &size)
 
2561
 *         return size             # <<<<<<<<<<<<<<
 
2562
 * 
 
2563
 *     @sync
 
2564
 */
 
2565
  __Pyx_XDECREF(__pyx_r);
 
2566
  __pyx_t_2 = PyLong_FromLongLong(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2567
  __Pyx_GOTREF(__pyx_t_2);
 
2568
  __pyx_r = __pyx_t_2;
 
2569
  __pyx_t_2 = 0;
 
2570
  goto __pyx_L0;
 
2571
 
 
2572
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2573
  goto __pyx_L0;
 
2574
  __pyx_L1_error:;
 
2575
  __Pyx_XDECREF(__pyx_t_2);
 
2576
  __Pyx_AddTraceback("h5py.h5f.FileID.get_filesize");
 
2577
  __pyx_r = NULL;
 
2578
  __pyx_L0:;
 
2579
  __Pyx_XGIVEREF(__pyx_r);
 
2580
  __Pyx_FinishRefcountContext();
 
2581
  return __pyx_r;
 
2582
}
 
2583
 
 
2584
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":297
 
2585
 * 
 
2586
 *     @sync
 
2587
 *     def get_create_plist(self):             # <<<<<<<<<<<<<<
 
2588
 *         """() => PropFCID
 
2589
 * 
 
2590
 */
 
2591
 
 
2592
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_get_create_plist(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
 
2593
static char __pyx_doc_4h5py_3h5f_6FileID_get_create_plist[] = "() => PropFCID\n\n        Retrieve a copy of the file creation property list used to\n        create this file.\n        ";
 
2594
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_get_create_plist(PyObject *__pyx_v_self, PyObject *unused) {
 
2595
  PyObject *__pyx_r = NULL;
 
2596
  hid_t __pyx_t_1;
 
2597
  PyObject *__pyx_t_2 = NULL;
 
2598
  __Pyx_SetupRefcountContext("get_create_plist");
 
2599
 
 
2600
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":303
 
2601
 *         create this file.
 
2602
 *         """
 
2603
 *         return propwrap(H5Fget_create_plist(self.id))             # <<<<<<<<<<<<<<
 
2604
 * 
 
2605
 *     @sync
 
2606
 */
 
2607
  __Pyx_XDECREF(__pyx_r);
 
2608
  __pyx_t_1 = H5Fget_create_plist(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2609
  __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2610
  __Pyx_GOTREF(__pyx_t_2);
 
2611
  __pyx_r = __pyx_t_2;
 
2612
  __pyx_t_2 = 0;
 
2613
  goto __pyx_L0;
 
2614
 
 
2615
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2616
  goto __pyx_L0;
 
2617
  __pyx_L1_error:;
 
2618
  __Pyx_XDECREF(__pyx_t_2);
 
2619
  __Pyx_AddTraceback("h5py.h5f.FileID.get_create_plist");
 
2620
  __pyx_r = NULL;
 
2621
  __pyx_L0:;
 
2622
  __Pyx_XGIVEREF(__pyx_r);
 
2623
  __Pyx_FinishRefcountContext();
 
2624
  return __pyx_r;
 
2625
}
 
2626
 
 
2627
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":306
 
2628
 * 
 
2629
 *     @sync
 
2630
 *     def get_access_plist(self):             # <<<<<<<<<<<<<<
 
2631
 *         """() => PropFAID
 
2632
 * 
 
2633
 */
 
2634
 
 
2635
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_get_access_plist(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
 
2636
static char __pyx_doc_4h5py_3h5f_6FileID_get_access_plist[] = "() => PropFAID\n\n        Retrieve a copy of the file access property list which manages access \n        to this file.\n        ";
 
2637
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_get_access_plist(PyObject *__pyx_v_self, PyObject *unused) {
 
2638
  PyObject *__pyx_r = NULL;
 
2639
  hid_t __pyx_t_1;
 
2640
  PyObject *__pyx_t_2 = NULL;
 
2641
  __Pyx_SetupRefcountContext("get_access_plist");
 
2642
 
 
2643
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":312
 
2644
 *         to this file.
 
2645
 *         """
 
2646
 *         return propwrap(H5Fget_access_plist(self.id))             # <<<<<<<<<<<<<<
 
2647
 * 
 
2648
 *     @sync
 
2649
 */
 
2650
  __Pyx_XDECREF(__pyx_r);
 
2651
  __pyx_t_1 = H5Fget_access_plist(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2652
  __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2653
  __Pyx_GOTREF(__pyx_t_2);
 
2654
  __pyx_r = __pyx_t_2;
 
2655
  __pyx_t_2 = 0;
 
2656
  goto __pyx_L0;
 
2657
 
 
2658
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2659
  goto __pyx_L0;
 
2660
  __pyx_L1_error:;
 
2661
  __Pyx_XDECREF(__pyx_t_2);
 
2662
  __Pyx_AddTraceback("h5py.h5f.FileID.get_access_plist");
 
2663
  __pyx_r = NULL;
 
2664
  __pyx_L0:;
 
2665
  __Pyx_XGIVEREF(__pyx_r);
 
2666
  __Pyx_FinishRefcountContext();
 
2667
  return __pyx_r;
 
2668
}
 
2669
 
 
2670
/* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":315
 
2671
 * 
 
2672
 *     @sync
 
2673
 *     def get_freespace(self):             # <<<<<<<<<<<<<<
 
2674
 *         """() => LONG freespace
 
2675
 * 
 
2676
 */
 
2677
 
 
2678
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_get_freespace(PyObject *__pyx_v_self, PyObject *unused); /*proto*/
 
2679
static char __pyx_doc_4h5py_3h5f_6FileID_get_freespace[] = "() => LONG freespace\n\n        Determine the amount of free space in this file.  Note that this\n        only tracks free space until the file is closed.\n        ";
 
2680
static PyObject *__pyx_pf_4h5py_3h5f_6FileID_get_freespace(PyObject *__pyx_v_self, PyObject *unused) {
 
2681
  PyObject *__pyx_r = NULL;
 
2682
  hssize_t __pyx_t_1;
 
2683
  PyObject *__pyx_t_2 = NULL;
 
2684
  __Pyx_SetupRefcountContext("get_freespace");
 
2685
 
 
2686
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":321
 
2687
 *         only tracks free space until the file is closed.
 
2688
 *         """
 
2689
 *         return H5Fget_freespace(self.id)             # <<<<<<<<<<<<<<
 
2690
 * 
 
2691
 * 
 
2692
 */
 
2693
  __Pyx_XDECREF(__pyx_r);
 
2694
  __pyx_t_1 = H5Fget_freespace(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self)->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2695
  __pyx_t_2 = PyLong_FromLongLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
2696
  __Pyx_GOTREF(__pyx_t_2);
 
2697
  __pyx_r = __pyx_t_2;
 
2698
  __pyx_t_2 = 0;
 
2699
  goto __pyx_L0;
 
2700
 
 
2701
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2702
  goto __pyx_L0;
 
2703
  __pyx_L1_error:;
 
2704
  __Pyx_XDECREF(__pyx_t_2);
 
2705
  __Pyx_AddTraceback("h5py.h5f.FileID.get_freespace");
 
2706
  __pyx_r = NULL;
 
2707
  __pyx_L0:;
 
2708
  __Pyx_XGIVEREF(__pyx_r);
 
2709
  __Pyx_FinishRefcountContext();
 
2710
  return __pyx_r;
 
2711
}
 
2712
 
 
2713
/* "/home/tachyon/pydev/h5py/h5py/h5.pxd":42
 
2714
 * 
 
2715
 *     cdef object __weakref__
 
2716
 *     cdef readonly hid_t id             # <<<<<<<<<<<<<<
 
2717
 *     cdef readonly int _locked
 
2718
 *     cdef object _hash
 
2719
 */
 
2720
 
 
2721
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID_2id___get__(PyObject *__pyx_v_self); /*proto*/
 
2722
static PyObject *__pyx_pf_4h5py_2h5_8ObjectID_2id___get__(PyObject *__pyx_v_self) {
 
2723
  PyObject *__pyx_r = NULL;
 
2724
  PyObject *__pyx_t_1 = NULL;
 
2725
  __Pyx_SetupRefcountContext("__get__");
 
2726
  __Pyx_XDECREF(__pyx_r);
 
2727
  __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;}
 
2728
  __Pyx_GOTREF(__pyx_t_1);
 
2729
  __pyx_r = __pyx_t_1;
 
2730
  __pyx_t_1 = 0;
 
2731
  goto __pyx_L0;
 
2732
 
 
2733
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
 
2734
  goto __pyx_L0;
 
2735
  __pyx_L1_error:;
 
2736
  __Pyx_XDECREF(__pyx_t_1);
 
2737
  __Pyx_AddTraceback("h5py.h5.ObjectID.id.__get__");
 
2738
  __pyx_r = NULL;
 
2739
  __pyx_L0:;
 
2740
  __Pyx_XGIVEREF(__pyx_r);
 
2741
  __Pyx_FinishRefcountContext();
 
2742
  return __pyx_r;
 
2743
}
 
2744
 
 
2745
static PyObject *__pyx_tp_new_4h5py_3h5f_FileID(PyTypeObject *t, PyObject *a, PyObject *k) {
 
2746
  PyObject *o = __pyx_ptype_4h5py_2h5_ObjectID->tp_new(t, a, k);
 
2747
  if (!o) return 0;
 
2748
  return o;
 
2749
}
 
2750
 
 
2751
static void __pyx_tp_dealloc_4h5py_3h5f_FileID(PyObject *o) {
 
2752
  __pyx_ptype_4h5py_2h5_ObjectID->tp_dealloc(o);
 
2753
}
 
2754
 
 
2755
static int __pyx_tp_traverse_4h5py_3h5f_FileID(PyObject *o, visitproc v, void *a) {
 
2756
  int e;
 
2757
  if (__pyx_ptype_4h5py_2h5_ObjectID->tp_traverse) {
 
2758
    e = __pyx_ptype_4h5py_2h5_ObjectID->tp_traverse(o, v, a); if (e) return e;
 
2759
  }
 
2760
  return 0;
 
2761
}
 
2762
 
 
2763
static int __pyx_tp_clear_4h5py_3h5f_FileID(PyObject *o) {
 
2764
  if (__pyx_ptype_4h5py_2h5_ObjectID->tp_clear) {
 
2765
    __pyx_ptype_4h5py_2h5_ObjectID->tp_clear(o);
 
2766
  }
 
2767
  return 0;
 
2768
}
 
2769
 
 
2770
static PyObject *__pyx_getprop_4h5py_3h5f_6FileID_name(PyObject *o, void *x) {
 
2771
  return __pyx_pf_4h5py_3h5f_6FileID_4name___get__(o);
 
2772
}
 
2773
 
 
2774
static struct PyMethodDef __pyx_methods_4h5py_3h5f_FileID[] = {
 
2775
  {__Pyx_NAMESTR("close"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_close)},
 
2776
  {__Pyx_NAMESTR("reopen"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_reopen, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_reopen)},
 
2777
  {__Pyx_NAMESTR("get_filesize"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_get_filesize, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_get_filesize)},
 
2778
  {__Pyx_NAMESTR("get_create_plist"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_get_create_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_get_create_plist)},
 
2779
  {__Pyx_NAMESTR("get_access_plist"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_get_access_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_get_access_plist)},
 
2780
  {__Pyx_NAMESTR("get_freespace"), (PyCFunction)__pyx_pf_4h5py_3h5f_6FileID_get_freespace, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_get_freespace)},
 
2781
  {0, 0, 0, 0}
 
2782
};
 
2783
 
 
2784
static struct PyGetSetDef __pyx_getsets_4h5py_3h5f_FileID[] = {
 
2785
  {(char *)"name", __pyx_getprop_4h5py_3h5f_6FileID_name, 0, __pyx_k_80, 0},
 
2786
  {0, 0, 0, 0, 0}
 
2787
};
 
2788
 
 
2789
static PyNumberMethods __pyx_tp_as_number_FileID = {
 
2790
  0, /*nb_add*/
 
2791
  0, /*nb_subtract*/
 
2792
  0, /*nb_multiply*/
 
2793
  #if PY_MAJOR_VERSION < 3
 
2794
  0, /*nb_divide*/
 
2795
  #endif
 
2796
  0, /*nb_remainder*/
 
2797
  0, /*nb_divmod*/
 
2798
  0, /*nb_power*/
 
2799
  0, /*nb_negative*/
 
2800
  0, /*nb_positive*/
 
2801
  0, /*nb_absolute*/
 
2802
  0, /*nb_nonzero*/
 
2803
  0, /*nb_invert*/
 
2804
  0, /*nb_lshift*/
 
2805
  0, /*nb_rshift*/
 
2806
  0, /*nb_and*/
 
2807
  0, /*nb_xor*/
 
2808
  0, /*nb_or*/
 
2809
  #if PY_MAJOR_VERSION < 3
 
2810
  0, /*nb_coerce*/
 
2811
  #endif
 
2812
  0, /*nb_int*/
 
2813
  #if PY_MAJOR_VERSION >= 3
 
2814
  0, /*reserved*/
 
2815
  #else
 
2816
  0, /*nb_long*/
 
2817
  #endif
 
2818
  0, /*nb_float*/
 
2819
  #if PY_MAJOR_VERSION < 3
 
2820
  0, /*nb_oct*/
 
2821
  #endif
 
2822
  #if PY_MAJOR_VERSION < 3
 
2823
  0, /*nb_hex*/
 
2824
  #endif
 
2825
  0, /*nb_inplace_add*/
 
2826
  0, /*nb_inplace_subtract*/
 
2827
  0, /*nb_inplace_multiply*/
 
2828
  #if PY_MAJOR_VERSION < 3
 
2829
  0, /*nb_inplace_divide*/
 
2830
  #endif
 
2831
  0, /*nb_inplace_remainder*/
 
2832
  0, /*nb_inplace_power*/
 
2833
  0, /*nb_inplace_lshift*/
 
2834
  0, /*nb_inplace_rshift*/
 
2835
  0, /*nb_inplace_and*/
 
2836
  0, /*nb_inplace_xor*/
 
2837
  0, /*nb_inplace_or*/
 
2838
  0, /*nb_floor_divide*/
 
2839
  0, /*nb_true_divide*/
 
2840
  0, /*nb_inplace_floor_divide*/
 
2841
  0, /*nb_inplace_true_divide*/
 
2842
  #if (PY_MAJOR_VERSION >= 3) || (Py_TPFLAGS_DEFAULT & Py_TPFLAGS_HAVE_INDEX)
 
2843
  0, /*nb_index*/
 
2844
  #endif
 
2845
};
 
2846
 
 
2847
static PySequenceMethods __pyx_tp_as_sequence_FileID = {
 
2848
  0, /*sq_length*/
 
2849
  0, /*sq_concat*/
 
2850
  0, /*sq_repeat*/
 
2851
  0, /*sq_item*/
 
2852
  0, /*sq_slice*/
 
2853
  0, /*sq_ass_item*/
 
2854
  0, /*sq_ass_slice*/
 
2855
  0, /*sq_contains*/
 
2856
  0, /*sq_inplace_concat*/
 
2857
  0, /*sq_inplace_repeat*/
 
2858
};
 
2859
 
 
2860
static PyMappingMethods __pyx_tp_as_mapping_FileID = {
 
2861
  0, /*mp_length*/
 
2862
  0, /*mp_subscript*/
 
2863
  0, /*mp_ass_subscript*/
 
2864
};
 
2865
 
 
2866
static PyBufferProcs __pyx_tp_as_buffer_FileID = {
 
2867
  #if PY_MAJOR_VERSION < 3
 
2868
  0, /*bf_getreadbuffer*/
 
2869
  #endif
 
2870
  #if PY_MAJOR_VERSION < 3
 
2871
  0, /*bf_getwritebuffer*/
 
2872
  #endif
 
2873
  #if PY_MAJOR_VERSION < 3
 
2874
  0, /*bf_getsegcount*/
 
2875
  #endif
 
2876
  #if PY_MAJOR_VERSION < 3
 
2877
  0, /*bf_getcharbuffer*/
 
2878
  #endif
 
2879
  #if PY_VERSION_HEX >= 0x02060000
 
2880
  0, /*bf_getbuffer*/
 
2881
  #endif
 
2882
  #if PY_VERSION_HEX >= 0x02060000
 
2883
  0, /*bf_releasebuffer*/
 
2884
  #endif
 
2885
};
 
2886
 
 
2887
PyTypeObject __pyx_type_4h5py_3h5f_FileID = {
 
2888
  PyVarObject_HEAD_INIT(0, 0)
 
2889
  __Pyx_NAMESTR("h5py.h5f.FileID"), /*tp_name*/
 
2890
  sizeof(struct __pyx_obj_4h5py_3h5f_FileID), /*tp_basicsize*/
 
2891
  0, /*tp_itemsize*/
 
2892
  __pyx_tp_dealloc_4h5py_3h5f_FileID, /*tp_dealloc*/
 
2893
  0, /*tp_print*/
 
2894
  0, /*tp_getattr*/
 
2895
  0, /*tp_setattr*/
 
2896
  0, /*tp_compare*/
 
2897
  0, /*tp_repr*/
 
2898
  &__pyx_tp_as_number_FileID, /*tp_as_number*/
 
2899
  &__pyx_tp_as_sequence_FileID, /*tp_as_sequence*/
 
2900
  &__pyx_tp_as_mapping_FileID, /*tp_as_mapping*/
 
2901
  0, /*tp_hash*/
 
2902
  0, /*tp_call*/
 
2903
  0, /*tp_str*/
 
2904
  0, /*tp_getattro*/
 
2905
  0, /*tp_setattro*/
 
2906
  &__pyx_tp_as_buffer_FileID, /*tp_as_buffer*/
 
2907
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
 
2908
  __Pyx_DOCSTR(" \n        Represents an HDF5 file identifier.\n\n        These objects wrap a small portion of the H5F interface; all the\n        H5F functions which can take arbitrary objects in addition to\n        file identifiers are provided as functions in the h5f module.\n\n        Properties:\n\n        * name:   File name on disk\n\n        Behavior:\n\n        * Hashable: Yes, unique to the file (but not the access mode)\n        * Equality: Hash comparison\n    "), /*tp_doc*/
 
2909
  __pyx_tp_traverse_4h5py_3h5f_FileID, /*tp_traverse*/
 
2910
  __pyx_tp_clear_4h5py_3h5f_FileID, /*tp_clear*/
 
2911
  0, /*tp_richcompare*/
 
2912
  0, /*tp_weaklistoffset*/
 
2913
  0, /*tp_iter*/
 
2914
  0, /*tp_iternext*/
 
2915
  __pyx_methods_4h5py_3h5f_FileID, /*tp_methods*/
 
2916
  0, /*tp_members*/
 
2917
  __pyx_getsets_4h5py_3h5f_FileID, /*tp_getset*/
 
2918
  0, /*tp_base*/
 
2919
  0, /*tp_dict*/
 
2920
  0, /*tp_descr_get*/
 
2921
  0, /*tp_descr_set*/
 
2922
  0, /*tp_dictoffset*/
 
2923
  0, /*tp_init*/
 
2924
  0, /*tp_alloc*/
 
2925
  __pyx_tp_new_4h5py_3h5f_FileID, /*tp_new*/
 
2926
  0, /*tp_free*/
 
2927
  0, /*tp_is_gc*/
 
2928
  0, /*tp_bases*/
 
2929
  0, /*tp_mro*/
 
2930
  0, /*tp_cache*/
 
2931
  0, /*tp_subclasses*/
 
2932
  0, /*tp_weaklist*/
 
2933
};
 
2934
 
 
2935
static struct PyMethodDef __pyx_methods[] = {
 
2936
  {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pf_4h5py_3h5f_open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_open)},
 
2937
  {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pf_4h5py_3h5f_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_create)},
 
2938
  {__Pyx_NAMESTR("flush"), (PyCFunction)__pyx_pf_4h5py_3h5f_flush, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_flush)},
 
2939
  {__Pyx_NAMESTR("is_hdf5"), (PyCFunction)__pyx_pf_4h5py_3h5f_is_hdf5, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_is_hdf5)},
 
2940
  {__Pyx_NAMESTR("mount"), (PyCFunction)__pyx_pf_4h5py_3h5f_mount, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_mount)},
 
2941
  {__Pyx_NAMESTR("unmount"), (PyCFunction)__pyx_pf_4h5py_3h5f_unmount, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_unmount)},
 
2942
  {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pf_4h5py_3h5f_get_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_get_name)},
 
2943
  {__Pyx_NAMESTR("get_obj_count"), (PyCFunction)__pyx_pf_4h5py_3h5f_get_obj_count, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_get_obj_count)},
 
2944
  {__Pyx_NAMESTR("get_obj_ids"), (PyCFunction)__pyx_pf_4h5py_3h5f_get_obj_ids, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_get_obj_ids)},
 
2945
  {0, 0, 0, 0}
 
2946
};
 
2947
 
 
2948
static void __pyx_init_filenames(void); /*proto*/
 
2949
 
 
2950
#if PY_MAJOR_VERSION >= 3
 
2951
static struct PyModuleDef __pyx_moduledef = {
 
2952
    PyModuleDef_HEAD_INIT,
 
2953
    __Pyx_NAMESTR("h5f"),
 
2954
    0, /* m_doc */
 
2955
    -1, /* m_size */
 
2956
    __pyx_methods /* m_methods */,
 
2957
    NULL, /* m_reload */
 
2958
    NULL, /* m_traverse */
 
2959
    NULL, /* m_clear */
 
2960
    NULL /* m_free */
 
2961
};
 
2962
#endif
 
2963
 
 
2964
static __Pyx_StringTabEntry __pyx_string_tab[] = {
 
2965
  {&__pyx_kp___main__, __pyx_k___main__, sizeof(__pyx_k___main__), 1, 1, 1},
 
2966
  {&__pyx_kp_close, __pyx_k_close, sizeof(__pyx_k_close), 1, 1, 1},
 
2967
  {&__pyx_kp_reopen, __pyx_k_reopen, sizeof(__pyx_k_reopen), 1, 1, 1},
 
2968
  {&__pyx_kp_get_filesize, __pyx_k_get_filesize, sizeof(__pyx_k_get_filesize), 1, 1, 1},
 
2969
  {&__pyx_kp_get_create_plist, __pyx_k_get_create_plist, sizeof(__pyx_k_get_create_plist), 1, 1, 1},
 
2970
  {&__pyx_kp_get_access_plist, __pyx_k_get_access_plist, sizeof(__pyx_k_get_access_plist), 1, 1, 1},
 
2971
  {&__pyx_kp_get_freespace, __pyx_k_get_freespace, sizeof(__pyx_k_get_freespace), 1, 1, 1},
 
2972
  {&__pyx_kp_name, __pyx_k_name, sizeof(__pyx_k_name), 1, 1, 1},
 
2973
  {&__pyx_kp_flags, __pyx_k_flags, sizeof(__pyx_k_flags), 1, 1, 1},
 
2974
  {&__pyx_kp_fapl, __pyx_k_fapl, sizeof(__pyx_k_fapl), 1, 1, 1},
 
2975
  {&__pyx_kp_fcpl, __pyx_k_fcpl, sizeof(__pyx_k_fcpl), 1, 1, 1},
 
2976
  {&__pyx_kp_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 1, 1, 1},
 
2977
  {&__pyx_kp_scope, __pyx_k_scope, sizeof(__pyx_k_scope), 1, 1, 1},
 
2978
  {&__pyx_kp_loc, __pyx_k_loc, sizeof(__pyx_k_loc), 1, 1, 1},
 
2979
  {&__pyx_kp_fid, __pyx_k_fid, sizeof(__pyx_k_fid), 1, 1, 1},
 
2980
  {&__pyx_kp_where, __pyx_k_where, sizeof(__pyx_k_where), 1, 1, 1},
 
2981
  {&__pyx_kp_types, __pyx_k_types, sizeof(__pyx_k_types), 1, 1, 1},
 
2982
  {&__pyx_kp___doc__, __pyx_k___doc__, sizeof(__pyx_k___doc__), 1, 1, 1},
 
2983
  {&__pyx_kp__sync, __pyx_k__sync, sizeof(__pyx_k__sync), 1, 1, 1},
 
2984
  {&__pyx_kp_sync, __pyx_k_sync, sizeof(__pyx_k_sync), 1, 1, 1},
 
2985
  {&__pyx_kp_nosync, __pyx_k_nosync, sizeof(__pyx_k_nosync), 1, 1, 1},
 
2986
  {&__pyx_kp_ACC_TRUNC, __pyx_k_ACC_TRUNC, sizeof(__pyx_k_ACC_TRUNC), 1, 1, 1},
 
2987
  {&__pyx_kp_ACC_EXCL, __pyx_k_ACC_EXCL, sizeof(__pyx_k_ACC_EXCL), 1, 1, 1},
 
2988
  {&__pyx_kp_ACC_RDWR, __pyx_k_ACC_RDWR, sizeof(__pyx_k_ACC_RDWR), 1, 1, 1},
 
2989
  {&__pyx_kp_ACC_RDONLY, __pyx_k_ACC_RDONLY, sizeof(__pyx_k_ACC_RDONLY), 1, 1, 1},
 
2990
  {&__pyx_kp_SCOPE_LOCAL, __pyx_k_SCOPE_LOCAL, sizeof(__pyx_k_SCOPE_LOCAL), 1, 1, 1},
 
2991
  {&__pyx_kp_SCOPE_GLOBAL, __pyx_k_SCOPE_GLOBAL, sizeof(__pyx_k_SCOPE_GLOBAL), 1, 1, 1},
 
2992
  {&__pyx_kp_CLOSE_WEAK, __pyx_k_CLOSE_WEAK, sizeof(__pyx_k_CLOSE_WEAK), 1, 1, 1},
 
2993
  {&__pyx_kp_CLOSE_SEMI, __pyx_k_CLOSE_SEMI, sizeof(__pyx_k_CLOSE_SEMI), 1, 1, 1},
 
2994
  {&__pyx_kp_CLOSE_STRONG, __pyx_k_CLOSE_STRONG, sizeof(__pyx_k_CLOSE_STRONG), 1, 1, 1},
 
2995
  {&__pyx_kp_CLOSE_DEFAULT, __pyx_k_CLOSE_DEFAULT, sizeof(__pyx_k_CLOSE_DEFAULT), 1, 1, 1},
 
2996
  {&__pyx_kp_OBJ_FILE, __pyx_k_OBJ_FILE, sizeof(__pyx_k_OBJ_FILE), 1, 1, 1},
 
2997
  {&__pyx_kp_OBJ_DATASET, __pyx_k_OBJ_DATASET, sizeof(__pyx_k_OBJ_DATASET), 1, 1, 1},
 
2998
  {&__pyx_kp_OBJ_GROUP, __pyx_k_OBJ_GROUP, sizeof(__pyx_k_OBJ_GROUP), 1, 1, 1},
 
2999
  {&__pyx_kp_OBJ_DATATYPE, __pyx_k_OBJ_DATATYPE, sizeof(__pyx_k_OBJ_DATATYPE), 1, 1, 1},
 
3000
  {&__pyx_kp_OBJ_ATTR, __pyx_k_OBJ_ATTR, sizeof(__pyx_k_OBJ_ATTR), 1, 1, 1},
 
3001
  {&__pyx_kp_OBJ_ALL, __pyx_k_OBJ_ALL, sizeof(__pyx_k_OBJ_ALL), 1, 1, 1},
 
3002
  {&__pyx_kp_OBJ_LOCAL, __pyx_k_OBJ_LOCAL, sizeof(__pyx_k_OBJ_LOCAL), 1, 1, 1},
 
3003
  {&__pyx_kp_open, __pyx_k_open, sizeof(__pyx_k_open), 1, 1, 1},
 
3004
  {&__pyx_kp_create, __pyx_k_create, sizeof(__pyx_k_create), 1, 1, 1},
 
3005
  {&__pyx_kp_flush, __pyx_k_flush, sizeof(__pyx_k_flush), 1, 1, 1},
 
3006
  {&__pyx_kp_85, __pyx_k_85, sizeof(__pyx_k_85), 1, 1, 1},
 
3007
  {&__pyx_kp_mount, __pyx_k_mount, sizeof(__pyx_k_mount), 1, 1, 1},
 
3008
  {&__pyx_kp_unmount, __pyx_k_unmount, sizeof(__pyx_k_unmount), 1, 1, 1},
 
3009
  {&__pyx_kp_get_name, __pyx_k_get_name, sizeof(__pyx_k_get_name), 1, 1, 1},
 
3010
  {&__pyx_kp_get_obj_count, __pyx_k_get_obj_count, sizeof(__pyx_k_get_obj_count), 1, 1, 1},
 
3011
  {&__pyx_kp_get_obj_ids, __pyx_k_get_obj_ids, sizeof(__pyx_k_get_obj_ids), 1, 1, 1},
 
3012
  {&__pyx_kp_id, __pyx_k_id, sizeof(__pyx_k_id), 1, 1, 1},
 
3013
  {&__pyx_kp_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 1, 1, 1},
 
3014
  {&__pyx_kp_81, __pyx_k_81, sizeof(__pyx_k_81), 0, 0, 0},
 
3015
  {&__pyx_kp_90, __pyx_k_90, sizeof(__pyx_k_90), 0, 0, 0},
 
3016
  {&__pyx_kp_91, __pyx_k_91, sizeof(__pyx_k_91), 0, 0, 0},
 
3017
  {0, 0, 0, 0, 0, 0}
 
3018
};
 
3019
static int __Pyx_InitCachedBuiltins(void) {
 
3020
  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_kp_TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3021
  return 0;
 
3022
  __pyx_L1_error:;
 
3023
  return -1;
 
3024
}
 
3025
 
 
3026
static int __Pyx_InitGlobals(void) {
 
3027
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 
3028
  return 0;
 
3029
  __pyx_L1_error:;
 
3030
  return -1;
 
3031
}
 
3032
 
 
3033
#if PY_MAJOR_VERSION < 3
 
3034
PyMODINIT_FUNC inith5f(void); /*proto*/
 
3035
PyMODINIT_FUNC inith5f(void)
 
3036
#else
 
3037
PyMODINIT_FUNC PyInit_h5f(void); /*proto*/
 
3038
PyMODINIT_FUNC PyInit_h5f(void)
 
3039
#endif
 
3040
{
 
3041
  PyObject *__pyx_1 = 0;
 
3042
  PyObject *__pyx_2 = 0;
 
3043
  PyObject *__pyx_3 = 0;
 
3044
  PyObject *__pyx_4 = 0;
 
3045
  int __pyx_t_1;
 
3046
  PyObject *__pyx_t_2 = NULL;
 
3047
  PyObject *__pyx_t_3 = NULL;
 
3048
  #ifdef CYTHON_REFNANNY
 
3049
  void* __pyx_refchk = NULL;
 
3050
  __Pyx_Refnanny = __Pyx_ImportRefcountAPI("refnanny");
 
3051
  if (!__Pyx_Refnanny) {
 
3052
      PyErr_Clear();
 
3053
      __Pyx_Refnanny = __Pyx_ImportRefcountAPI("Cython.Runtime.refnanny");
 
3054
      if (!__Pyx_Refnanny)
 
3055
          Py_FatalError("failed to import refnanny module");
 
3056
  }
 
3057
  __pyx_refchk = __Pyx_Refnanny->NewContext("PyMODINIT_FUNC PyInit_h5f(void)", __LINE__, __FILE__);
 
3058
  #endif
 
3059
  __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;}
 
3060
  /*--- Library function declarations ---*/
 
3061
  __pyx_init_filenames();
 
3062
  /*--- Threads initialization code ---*/
 
3063
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
 
3064
  #ifdef WITH_THREAD /* Python build with threading support? */
 
3065
  PyEval_InitThreads();
 
3066
  #endif
 
3067
  #endif
 
3068
  /*--- Initialize various global constants etc. ---*/
 
3069
  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3070
  /*--- Module creation code ---*/
 
3071
  #if PY_MAJOR_VERSION < 3
 
3072
  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5f"), __pyx_methods, 0, 0, PYTHON_API_VERSION);
 
3073
  #else
 
3074
  __pyx_m = PyModule_Create(&__pyx_moduledef);
 
3075
  #endif
 
3076
  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 
3077
  #if PY_MAJOR_VERSION < 3
 
3078
  Py_INCREF(__pyx_m);
 
3079
  #endif
 
3080
  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME));
 
3081
  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 
3082
  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
 
3083
  if (__pyx_module_is_main_h5py__h5f) {
 
3084
    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;};
 
3085
  }
 
3086
  /*--- Builtin init code ---*/
 
3087
  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3088
  __pyx_skip_dispatch = 0;
 
3089
  /*--- Global init code ---*/
 
3090
  /*--- Function export code ---*/
 
3091
  /*--- Type init code ---*/
 
3092
  __pyx_ptype_4h5py_2h5_ObjectID = __Pyx_ImportType("h5py.h5", "ObjectID", sizeof(struct __pyx_obj_4h5py_2h5_ObjectID)); if (unlikely(!__pyx_ptype_4h5py_2h5_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3093
  __pyx_type_4h5py_3h5f_FileID.tp_base = __pyx_ptype_4h5py_2h5_ObjectID;
 
3094
  if (PyType_Ready(&__pyx_type_4h5py_3h5f_FileID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3095
  if (__Pyx_SetAttrString(__pyx_m, "FileID", (PyObject *)&__pyx_type_4h5py_3h5f_FileID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3096
  if (__pyx_type_4h5py_3h5f_FileID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5f_FileID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5f_FileID, __pyx_base.__weakref__);
 
3097
  __pyx_ptype_4h5py_3h5f_FileID = &__pyx_type_4h5py_3h5f_FileID;
 
3098
  /*--- Type import code ---*/
 
3099
  __pyx_ptype_4h5py_2h5_PHIL = __Pyx_ImportType("h5py.h5", "PHIL", sizeof(struct __pyx_obj_4h5py_2h5_PHIL)); if (unlikely(!__pyx_ptype_4h5py_2h5_PHIL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3100
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_2h5_PHIL->tp_dict, &__pyx_vtabptr_4h5py_2h5_PHIL) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3101
  __pyx_ptype_4h5py_2h5_H5PYConfig = __Pyx_ImportType("h5py.h5", "H5PYConfig", sizeof(struct __pyx_obj_4h5py_2h5_H5PYConfig)); if (unlikely(!__pyx_ptype_4h5py_2h5_H5PYConfig)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3102
  __pyx_ptype_4h5py_2h5_SmartStruct = __Pyx_ImportType("h5py.h5", "SmartStruct", sizeof(struct __pyx_obj_4h5py_2h5_SmartStruct)); if (unlikely(!__pyx_ptype_4h5py_2h5_SmartStruct)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3103
  __pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3104
  __pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3105
  __pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3106
  __pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3107
  __pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3108
  __pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3109
  __pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3110
  __pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3111
  __pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID)); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3112
  __pyx_ptype_4h5py_3h5t_TypeID = __Pyx_ImportType("h5py.h5t", "TypeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3113
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3114
  __pyx_ptype_4h5py_3h5t_TypeArrayID = __Pyx_ImportType("h5py.h5t", "TypeArrayID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3115
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeArrayID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeArrayID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3116
  __pyx_ptype_4h5py_3h5t_TypeOpaqueID = __Pyx_ImportType("h5py.h5t", "TypeOpaqueID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3117
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeOpaqueID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3118
  __pyx_ptype_4h5py_3h5t_TypeStringID = __Pyx_ImportType("h5py.h5t", "TypeStringID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3119
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeStringID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeStringID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3120
  __pyx_ptype_4h5py_3h5t_TypeVlenID = __Pyx_ImportType("h5py.h5t", "TypeVlenID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3121
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeVlenID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeVlenID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3122
  __pyx_ptype_4h5py_3h5t_TypeTimeID = __Pyx_ImportType("h5py.h5t", "TypeTimeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3123
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeTimeID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeTimeID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3124
  __pyx_ptype_4h5py_3h5t_TypeBitfieldID = __Pyx_ImportType("h5py.h5t", "TypeBitfieldID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3125
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeBitfieldID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3126
  __pyx_ptype_4h5py_3h5t_TypeReferenceID = __Pyx_ImportType("h5py.h5t", "TypeReferenceID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3127
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeReferenceID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeReferenceID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3128
  __pyx_ptype_4h5py_3h5t_TypeAtomicID = __Pyx_ImportType("h5py.h5t", "TypeAtomicID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3129
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeAtomicID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeAtomicID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3130
  __pyx_ptype_4h5py_3h5t_TypeIntegerID = __Pyx_ImportType("h5py.h5t", "TypeIntegerID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3131
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeIntegerID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeIntegerID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3132
  __pyx_ptype_4h5py_3h5t_TypeFloatID = __Pyx_ImportType("h5py.h5t", "TypeFloatID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3133
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeFloatID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeFloatID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3134
  __pyx_ptype_4h5py_3h5t_TypeCompositeID = __Pyx_ImportType("h5py.h5t", "TypeCompositeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3135
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompositeID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeCompositeID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3136
  __pyx_ptype_4h5py_3h5t_TypeEnumID = __Pyx_ImportType("h5py.h5t", "TypeEnumID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3137
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeEnumID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeEnumID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3138
  __pyx_ptype_4h5py_3h5t_TypeCompoundID = __Pyx_ImportType("h5py.h5t", "TypeCompoundID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID)); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3139
  if (__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict, &__pyx_vtabptr_4h5py_3h5t_TypeCompoundID) < 0) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3140
  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr)); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3141
  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject)); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3142
  /*--- Function import code ---*/
 
3143
  __pyx_4 = __Pyx_ImportModule("h5py.h5"); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3144
  if (__Pyx_ImportFunction(__pyx_4, "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;}
 
3145
  if (__Pyx_ImportFunction(__pyx_4, "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;}
 
3146
  if (__Pyx_ImportFunction(__pyx_4, "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;}
 
3147
  if (__Pyx_ImportFunction(__pyx_4, "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;}
 
3148
  if (__Pyx_ImportFunction(__pyx_4, "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;}
 
3149
  if (__Pyx_ImportFunction(__pyx_4, "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;}
 
3150
  Py_DECREF(__pyx_4); __pyx_4 = 0;
 
3151
  __pyx_4 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3152
  if (__Pyx_ImportFunction(__pyx_4, "pdefault", (void (**)(void))&__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3153
  if (__Pyx_ImportFunction(__pyx_4, "propwrap", (void (**)(void))&__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3154
  Py_DECREF(__pyx_4); __pyx_4 = 0;
 
3155
  __pyx_4 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3156
  if (__Pyx_ImportFunction(__pyx_4, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3157
  if (__Pyx_ImportFunction(__pyx_4, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3158
  Py_DECREF(__pyx_4); __pyx_4 = 0;
 
3159
  __pyx_4 = __Pyx_ImportModule("h5py.h5i"); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3160
  if (__Pyx_ImportFunction(__pyx_4, "wrap_identifier", (void (**)(void))&__pyx_f_4h5py_3h5i_wrap_identifier, "struct __pyx_obj_4h5py_2h5_ObjectID *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3161
  Py_DECREF(__pyx_4); __pyx_4 = 0;
 
3162
  __pyx_4 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3163
  if (__Pyx_ImportFunction(__pyx_4, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3164
  if (__Pyx_ImportFunction(__pyx_4, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3165
  if (__Pyx_ImportFunction(__pyx_4, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3166
  if (__Pyx_ImportFunction(__pyx_4, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3167
  if (__Pyx_ImportFunction(__pyx_4, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3168
  if (__Pyx_ImportFunction(__pyx_4, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3169
  if (__Pyx_ImportFunction(__pyx_4, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3170
  if (__Pyx_ImportFunction(__pyx_4, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3171
  if (__Pyx_ImportFunction(__pyx_4, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3172
  Py_DECREF(__pyx_4); __pyx_4 = 0;
 
3173
  /*--- Execution code ---*/
 
3174
 
 
3175
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":13
 
3176
 * #-
 
3177
 * __doc__ = \
 
3178
 * """             # <<<<<<<<<<<<<<
 
3179
 *     Low-level operations on HDF5 file objects.
 
3180
 * """
 
3181
 */
 
3182
  if (PyObject_SetAttr(__pyx_m, __pyx_kp___doc__, __pyx_kp_81) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3183
 
 
3184
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":27
 
3185
 * 
 
3186
 * # Initialization
 
3187
 * init_hdf5()             # <<<<<<<<<<<<<<
 
3188
 * 
 
3189
 * # Runtime imports
 
3190
 */
 
3191
  __pyx_t_1 = __pyx_f_4h5py_2h5_init_hdf5(); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3192
 
 
3193
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":30
 
3194
 * 
 
3195
 * # Runtime imports
 
3196
 * from _sync import sync, nosync             # <<<<<<<<<<<<<<
 
3197
 * 
 
3198
 * # === Public constants and data structures ====================================
 
3199
 */
 
3200
  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3201
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3202
  __Pyx_INCREF(__pyx_kp_sync);
 
3203
  PyList_SET_ITEM(__pyx_t_2, 0, __pyx_kp_sync);
 
3204
  __Pyx_GIVEREF(__pyx_kp_sync);
 
3205
  __Pyx_INCREF(__pyx_kp_nosync);
 
3206
  PyList_SET_ITEM(__pyx_t_2, 1, __pyx_kp_nosync);
 
3207
  __Pyx_GIVEREF(__pyx_kp_nosync);
 
3208
  __pyx_1 = __Pyx_Import(__pyx_kp__sync, ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3209
  __Pyx_GOTREF(__pyx_1);
 
3210
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3211
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3212
  __Pyx_GOTREF(__pyx_2);
 
3213
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_sync, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3214
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
 
3215
  __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_nosync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3216
  __Pyx_GOTREF(__pyx_2);
 
3217
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_nosync, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3218
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
 
3219
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3220
 
 
3221
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":34
 
3222
 * # === Public constants and data structures ====================================
 
3223
 * 
 
3224
 * ACC_TRUNC   = H5F_ACC_TRUNC             # <<<<<<<<<<<<<<
 
3225
 * ACC_EXCL    = H5F_ACC_EXCL
 
3226
 * ACC_RDWR    = H5F_ACC_RDWR
 
3227
 */
 
3228
  __pyx_t_2 = PyInt_FromLong(H5F_ACC_TRUNC); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3229
  __Pyx_GOTREF(__pyx_t_2);
 
3230
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_ACC_TRUNC, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3231
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3232
 
 
3233
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":35
 
3234
 * 
 
3235
 * ACC_TRUNC   = H5F_ACC_TRUNC
 
3236
 * ACC_EXCL    = H5F_ACC_EXCL             # <<<<<<<<<<<<<<
 
3237
 * ACC_RDWR    = H5F_ACC_RDWR
 
3238
 * ACC_RDONLY  = H5F_ACC_RDONLY
 
3239
 */
 
3240
  __pyx_t_2 = PyInt_FromLong(H5F_ACC_EXCL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3241
  __Pyx_GOTREF(__pyx_t_2);
 
3242
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_ACC_EXCL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3243
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3244
 
 
3245
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":36
 
3246
 * ACC_TRUNC   = H5F_ACC_TRUNC
 
3247
 * ACC_EXCL    = H5F_ACC_EXCL
 
3248
 * ACC_RDWR    = H5F_ACC_RDWR             # <<<<<<<<<<<<<<
 
3249
 * ACC_RDONLY  = H5F_ACC_RDONLY
 
3250
 * 
 
3251
 */
 
3252
  __pyx_t_2 = PyInt_FromLong(H5F_ACC_RDWR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3253
  __Pyx_GOTREF(__pyx_t_2);
 
3254
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_ACC_RDWR, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3255
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3256
 
 
3257
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":37
 
3258
 * ACC_EXCL    = H5F_ACC_EXCL
 
3259
 * ACC_RDWR    = H5F_ACC_RDWR
 
3260
 * ACC_RDONLY  = H5F_ACC_RDONLY             # <<<<<<<<<<<<<<
 
3261
 * 
 
3262
 * SCOPE_LOCAL     = H5F_SCOPE_LOCAL
 
3263
 */
 
3264
  __pyx_t_2 = PyInt_FromLong(H5F_ACC_RDONLY); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3265
  __Pyx_GOTREF(__pyx_t_2);
 
3266
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_ACC_RDONLY, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3267
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3268
 
 
3269
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":39
 
3270
 * ACC_RDONLY  = H5F_ACC_RDONLY
 
3271
 * 
 
3272
 * SCOPE_LOCAL     = H5F_SCOPE_LOCAL             # <<<<<<<<<<<<<<
 
3273
 * SCOPE_GLOBAL    = H5F_SCOPE_GLOBAL
 
3274
 * 
 
3275
 */
 
3276
  __pyx_t_2 = PyInt_FromLong(H5F_SCOPE_LOCAL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3277
  __Pyx_GOTREF(__pyx_t_2);
 
3278
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_SCOPE_LOCAL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3279
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3280
 
 
3281
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":40
 
3282
 * 
 
3283
 * SCOPE_LOCAL     = H5F_SCOPE_LOCAL
 
3284
 * SCOPE_GLOBAL    = H5F_SCOPE_GLOBAL             # <<<<<<<<<<<<<<
 
3285
 * 
 
3286
 * CLOSE_WEAK  = H5F_CLOSE_WEAK
 
3287
 */
 
3288
  __pyx_t_2 = PyInt_FromLong(H5F_SCOPE_GLOBAL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3289
  __Pyx_GOTREF(__pyx_t_2);
 
3290
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_SCOPE_GLOBAL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3291
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3292
 
 
3293
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":42
 
3294
 * SCOPE_GLOBAL    = H5F_SCOPE_GLOBAL
 
3295
 * 
 
3296
 * CLOSE_WEAK  = H5F_CLOSE_WEAK             # <<<<<<<<<<<<<<
 
3297
 * CLOSE_SEMI  = H5F_CLOSE_SEMI
 
3298
 * CLOSE_STRONG = H5F_CLOSE_STRONG
 
3299
 */
 
3300
  __pyx_t_2 = PyInt_FromLong(H5F_CLOSE_WEAK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3301
  __Pyx_GOTREF(__pyx_t_2);
 
3302
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_CLOSE_WEAK, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3303
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3304
 
 
3305
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":43
 
3306
 * 
 
3307
 * CLOSE_WEAK  = H5F_CLOSE_WEAK
 
3308
 * CLOSE_SEMI  = H5F_CLOSE_SEMI             # <<<<<<<<<<<<<<
 
3309
 * CLOSE_STRONG = H5F_CLOSE_STRONG
 
3310
 * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT
 
3311
 */
 
3312
  __pyx_t_2 = PyInt_FromLong(H5F_CLOSE_SEMI); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3313
  __Pyx_GOTREF(__pyx_t_2);
 
3314
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_CLOSE_SEMI, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3315
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3316
 
 
3317
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":44
 
3318
 * CLOSE_WEAK  = H5F_CLOSE_WEAK
 
3319
 * CLOSE_SEMI  = H5F_CLOSE_SEMI
 
3320
 * CLOSE_STRONG = H5F_CLOSE_STRONG             # <<<<<<<<<<<<<<
 
3321
 * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT
 
3322
 * 
 
3323
 */
 
3324
  __pyx_t_2 = PyInt_FromLong(H5F_CLOSE_STRONG); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3325
  __Pyx_GOTREF(__pyx_t_2);
 
3326
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_CLOSE_STRONG, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3327
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3328
 
 
3329
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":45
 
3330
 * CLOSE_SEMI  = H5F_CLOSE_SEMI
 
3331
 * CLOSE_STRONG = H5F_CLOSE_STRONG
 
3332
 * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT             # <<<<<<<<<<<<<<
 
3333
 * 
 
3334
 * OBJ_FILE    = H5F_OBJ_FILE
 
3335
 */
 
3336
  __pyx_t_2 = PyInt_FromLong(H5F_CLOSE_DEFAULT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3337
  __Pyx_GOTREF(__pyx_t_2);
 
3338
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_CLOSE_DEFAULT, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3339
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3340
 
 
3341
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":47
 
3342
 * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT
 
3343
 * 
 
3344
 * OBJ_FILE    = H5F_OBJ_FILE             # <<<<<<<<<<<<<<
 
3345
 * OBJ_DATASET = H5F_OBJ_DATASET
 
3346
 * OBJ_GROUP   = H5F_OBJ_GROUP
 
3347
 */
 
3348
  __pyx_t_2 = PyInt_FromLong(H5F_OBJ_FILE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3349
  __Pyx_GOTREF(__pyx_t_2);
 
3350
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_OBJ_FILE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3351
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3352
 
 
3353
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":48
 
3354
 * 
 
3355
 * OBJ_FILE    = H5F_OBJ_FILE
 
3356
 * OBJ_DATASET = H5F_OBJ_DATASET             # <<<<<<<<<<<<<<
 
3357
 * OBJ_GROUP   = H5F_OBJ_GROUP
 
3358
 * OBJ_DATATYPE = H5F_OBJ_DATATYPE
 
3359
 */
 
3360
  __pyx_t_2 = PyInt_FromLong(H5F_OBJ_DATASET); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3361
  __Pyx_GOTREF(__pyx_t_2);
 
3362
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_OBJ_DATASET, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3363
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3364
 
 
3365
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":49
 
3366
 * OBJ_FILE    = H5F_OBJ_FILE
 
3367
 * OBJ_DATASET = H5F_OBJ_DATASET
 
3368
 * OBJ_GROUP   = H5F_OBJ_GROUP             # <<<<<<<<<<<<<<
 
3369
 * OBJ_DATATYPE = H5F_OBJ_DATATYPE
 
3370
 * OBJ_ATTR    = H5F_OBJ_ATTR
 
3371
 */
 
3372
  __pyx_t_2 = PyInt_FromLong(H5F_OBJ_GROUP); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3373
  __Pyx_GOTREF(__pyx_t_2);
 
3374
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_OBJ_GROUP, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3375
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3376
 
 
3377
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":50
 
3378
 * OBJ_DATASET = H5F_OBJ_DATASET
 
3379
 * OBJ_GROUP   = H5F_OBJ_GROUP
 
3380
 * OBJ_DATATYPE = H5F_OBJ_DATATYPE             # <<<<<<<<<<<<<<
 
3381
 * OBJ_ATTR    = H5F_OBJ_ATTR
 
3382
 * OBJ_ALL     = H5F_OBJ_ALL
 
3383
 */
 
3384
  __pyx_t_2 = PyInt_FromLong(H5F_OBJ_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3385
  __Pyx_GOTREF(__pyx_t_2);
 
3386
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_OBJ_DATATYPE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3387
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3388
 
 
3389
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":51
 
3390
 * OBJ_GROUP   = H5F_OBJ_GROUP
 
3391
 * OBJ_DATATYPE = H5F_OBJ_DATATYPE
 
3392
 * OBJ_ATTR    = H5F_OBJ_ATTR             # <<<<<<<<<<<<<<
 
3393
 * OBJ_ALL     = H5F_OBJ_ALL
 
3394
 * OBJ_LOCAL   = H5F_OBJ_LOCAL
 
3395
 */
 
3396
  __pyx_t_2 = PyInt_FromLong(H5F_OBJ_ATTR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3397
  __Pyx_GOTREF(__pyx_t_2);
 
3398
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_OBJ_ATTR, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3399
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3400
 
 
3401
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":52
 
3402
 * OBJ_DATATYPE = H5F_OBJ_DATATYPE
 
3403
 * OBJ_ATTR    = H5F_OBJ_ATTR
 
3404
 * OBJ_ALL     = H5F_OBJ_ALL             # <<<<<<<<<<<<<<
 
3405
 * OBJ_LOCAL   = H5F_OBJ_LOCAL
 
3406
 * 
 
3407
 */
 
3408
  __pyx_t_2 = PyInt_FromLong(H5F_OBJ_ALL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3409
  __Pyx_GOTREF(__pyx_t_2);
 
3410
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_OBJ_ALL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3411
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3412
 
 
3413
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":53
 
3414
 * OBJ_ATTR    = H5F_OBJ_ATTR
 
3415
 * OBJ_ALL     = H5F_OBJ_ALL
 
3416
 * OBJ_LOCAL   = H5F_OBJ_LOCAL             # <<<<<<<<<<<<<<
 
3417
 * 
 
3418
 * # === File operations =========================================================
 
3419
 */
 
3420
  __pyx_t_2 = PyInt_FromLong(H5F_OBJ_LOCAL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3421
  __Pyx_GOTREF(__pyx_t_2);
 
3422
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_OBJ_LOCAL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3423
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3424
 
 
3425
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":58
 
3426
 * 
 
3427
 * @sync
 
3428
 * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):             # <<<<<<<<<<<<<<
 
3429
 *     """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID
 
3430
 * 
 
3431
 */
 
3432
  __pyx_k_82 = H5F_ACC_RDWR;
 
3433
 
 
3434
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":57
 
3435
 * # === File operations =========================================================
 
3436
 * 
 
3437
 * @sync             # <<<<<<<<<<<<<<
 
3438
 * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):
 
3439
 *     """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID
 
3440
 */
 
3441
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3442
  __Pyx_GOTREF(__pyx_1);
 
3443
 
 
3444
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":58
 
3445
 * 
 
3446
 * @sync
 
3447
 * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):             # <<<<<<<<<<<<<<
 
3448
 *     """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID
 
3449
 * 
 
3450
 */
 
3451
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_open); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3452
  __Pyx_GOTREF(__pyx_2);
 
3453
  __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;}
 
3454
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3455
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
 
3456
  __Pyx_GIVEREF(__pyx_2);
 
3457
  __pyx_2 = 0;
 
3458
  __pyx_t_3 = PyObject_Call(__pyx_1, ((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;}
 
3459
  __Pyx_GOTREF(__pyx_t_3);
 
3460
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3461
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3462
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_open, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3463
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3464
 
 
3465
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":77
 
3466
 * 
 
3467
 * @sync
 
3468
 * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,             # <<<<<<<<<<<<<<
 
3469
 *                                                 PropFAID fapl=None):
 
3470
 *     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
 
3471
 */
 
3472
  __pyx_k_83 = H5F_ACC_TRUNC;
 
3473
 
 
3474
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":76
 
3475
 *     return FileID(H5Fopen(name, flags, pdefault(fapl)))
 
3476
 * 
 
3477
 * @sync             # <<<<<<<<<<<<<<
 
3478
 * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,
 
3479
 *                                                 PropFAID fapl=None):
 
3480
 */
 
3481
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3482
  __Pyx_GOTREF(__pyx_2);
 
3483
 
 
3484
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":77
 
3485
 * 
 
3486
 * @sync
 
3487
 * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,             # <<<<<<<<<<<<<<
 
3488
 *                                                 PropFAID fapl=None):
 
3489
 *     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
 
3490
 */
 
3491
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_create); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3492
  __Pyx_GOTREF(__pyx_1);
 
3493
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3494
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
3495
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
 
3496
  __Pyx_GIVEREF(__pyx_1);
 
3497
  __pyx_1 = 0;
 
3498
  __pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3499
  __Pyx_GOTREF(__pyx_t_2);
 
3500
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
 
3501
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
3502
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_create, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3503
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3504
 
 
3505
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":99
 
3506
 * 
 
3507
 * @sync
 
3508
 * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):             # <<<<<<<<<<<<<<
 
3509
 *     """(ObjectID obj, INT scope=SCOPE_LOCAL)
 
3510
 * 
 
3511
 */
 
3512
  __pyx_k_84 = H5F_SCOPE_LOCAL;
 
3513
 
 
3514
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":98
 
3515
 *     return FileID(H5Fcreate(name, flags, pdefault(fcpl), pdefault(fapl)))
 
3516
 * 
 
3517
 * @sync             # <<<<<<<<<<<<<<
 
3518
 * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):
 
3519
 *     """(ObjectID obj, INT scope=SCOPE_LOCAL)
 
3520
 */
 
3521
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3522
  __Pyx_GOTREF(__pyx_1);
 
3523
 
 
3524
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":99
 
3525
 * 
 
3526
 * @sync
 
3527
 * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):             # <<<<<<<<<<<<<<
 
3528
 *     """(ObjectID obj, INT scope=SCOPE_LOCAL)
 
3529
 * 
 
3530
 */
 
3531
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_flush); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3532
  __Pyx_GOTREF(__pyx_2);
 
3533
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3534
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3535
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
 
3536
  __Pyx_GIVEREF(__pyx_2);
 
3537
  __pyx_2 = 0;
 
3538
  __pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3539
  __Pyx_GOTREF(__pyx_t_3);
 
3540
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3541
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3542
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_flush, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3543
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3544
 
 
3545
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":114
 
3546
 *     H5Fflush(obj.id, <H5F_scope_t>scope)
 
3547
 * 
 
3548
 * @sync             # <<<<<<<<<<<<<<
 
3549
 * def is_hdf5(char* name):
 
3550
 *     """(STRING name) => BOOL
 
3551
 */
 
3552
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3553
  __Pyx_GOTREF(__pyx_2);
 
3554
 
 
3555
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":115
 
3556
 * 
 
3557
 * @sync
 
3558
 * def is_hdf5(char* name):             # <<<<<<<<<<<<<<
 
3559
 *     """(STRING name) => BOOL
 
3560
 * 
 
3561
 */
 
3562
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_85); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3563
  __Pyx_GOTREF(__pyx_1);
 
3564
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3565
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
3566
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
 
3567
  __Pyx_GIVEREF(__pyx_1);
 
3568
  __pyx_1 = 0;
 
3569
  __pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3570
  __Pyx_GOTREF(__pyx_t_2);
 
3571
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
 
3572
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
3573
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_85, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3574
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3575
 
 
3576
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":123
 
3577
 *     return <bint>(H5Fis_hdf5(name))
 
3578
 * 
 
3579
 * @sync             # <<<<<<<<<<<<<<
 
3580
 * def mount(ObjectID loc not None, char* name, FileID fid not None):
 
3581
 *     """(ObjectID loc, STRING name, FileID fid)
 
3582
 */
 
3583
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3584
  __Pyx_GOTREF(__pyx_1);
 
3585
 
 
3586
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":124
 
3587
 * 
 
3588
 * @sync
 
3589
 * def mount(ObjectID loc not None, char* name, FileID fid not None):             # <<<<<<<<<<<<<<
 
3590
 *     """(ObjectID loc, STRING name, FileID fid)
 
3591
 * 
 
3592
 */
 
3593
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_mount); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3594
  __Pyx_GOTREF(__pyx_2);
 
3595
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3596
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3597
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
 
3598
  __Pyx_GIVEREF(__pyx_2);
 
3599
  __pyx_2 = 0;
 
3600
  __pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3601
  __Pyx_GOTREF(__pyx_t_3);
 
3602
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3603
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3604
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_mount, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3605
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3606
 
 
3607
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":132
 
3608
 *     H5Fmount(loc.id, name, fid.id, H5P_DEFAULT)
 
3609
 * 
 
3610
 * @sync             # <<<<<<<<<<<<<<
 
3611
 * def unmount(ObjectID loc not None, char* name):
 
3612
 *     """(ObjectID loc, STRING name)
 
3613
 */
 
3614
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3615
  __Pyx_GOTREF(__pyx_2);
 
3616
 
 
3617
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":133
 
3618
 * 
 
3619
 * @sync
 
3620
 * def unmount(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
 
3621
 *     """(ObjectID loc, STRING name)
 
3622
 * 
 
3623
 */
 
3624
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_unmount); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3625
  __Pyx_GOTREF(__pyx_1);
 
3626
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3627
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
3628
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
 
3629
  __Pyx_GIVEREF(__pyx_1);
 
3630
  __pyx_1 = 0;
 
3631
  __pyx_t_2 = PyObject_Call(__pyx_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3632
  __Pyx_GOTREF(__pyx_t_2);
 
3633
  __Pyx_DECREF(__pyx_2); __pyx_2 = 0;
 
3634
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
3635
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_unmount, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3636
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3637
 
 
3638
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":140
 
3639
 *     H5Funmount(loc.id, name)
 
3640
 * 
 
3641
 * @sync             # <<<<<<<<<<<<<<
 
3642
 * def get_name(ObjectID obj not None):
 
3643
 *     """(ObjectID obj) => STRING
 
3644
 */
 
3645
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3646
  __Pyx_GOTREF(__pyx_1);
 
3647
 
 
3648
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":141
 
3649
 * 
 
3650
 * @sync
 
3651
 * def get_name(ObjectID obj not None):             # <<<<<<<<<<<<<<
 
3652
 *     """(ObjectID obj) => STRING
 
3653
 * 
 
3654
 */
 
3655
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_get_name); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3656
  __Pyx_GOTREF(__pyx_2);
 
3657
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3658
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3659
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_2);
 
3660
  __Pyx_GIVEREF(__pyx_2);
 
3661
  __pyx_2 = 0;
 
3662
  __pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3663
  __Pyx_GOTREF(__pyx_t_3);
 
3664
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3665
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3666
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_get_name, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3667
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3668
 
 
3669
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":161
 
3670
 * 
 
3671
 * @sync
 
3672
 * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
 
3673
 *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT
 
3674
 * 
 
3675
 */
 
3676
  __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_kp_OBJ_ALL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3677
  __Pyx_GOTREF(__pyx_2);
 
3678
  __pyx_k_86 = __pyx_2;
 
3679
  __pyx_2 = 0;
 
3680
  __Pyx_GIVEREF(__pyx_k_86);
 
3681
  __pyx_k_87 = H5F_OBJ_ALL;
 
3682
 
 
3683
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":160
 
3684
 *         efree(name)
 
3685
 * 
 
3686
 * @sync             # <<<<<<<<<<<<<<
 
3687
 * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):
 
3688
 *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT
 
3689
 */
 
3690
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3691
  __Pyx_GOTREF(__pyx_1);
 
3692
 
 
3693
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":161
 
3694
 * 
 
3695
 * @sync
 
3696
 * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
 
3697
 *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT
 
3698
 * 
 
3699
 */
 
3700
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_get_obj_count); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3701
  __Pyx_GOTREF(__pyx_3);
 
3702
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3703
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
3704
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_3);
 
3705
  __Pyx_GIVEREF(__pyx_3);
 
3706
  __pyx_3 = 0;
 
3707
  __pyx_t_2 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3708
  __Pyx_GOTREF(__pyx_t_2);
 
3709
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3710
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
3711
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_get_obj_count, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3712
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3713
 
 
3714
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":189
 
3715
 * 
 
3716
 * @sync
 
3717
 * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
 
3718
 *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST
 
3719
 * 
 
3720
 */
 
3721
  __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_kp_OBJ_ALL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3722
  __Pyx_GOTREF(__pyx_3);
 
3723
  __pyx_k_88 = __pyx_3;
 
3724
  __pyx_3 = 0;
 
3725
  __Pyx_GIVEREF(__pyx_k_88);
 
3726
  __pyx_k_89 = H5F_OBJ_ALL;
 
3727
 
 
3728
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":188
 
3729
 *     return H5Fget_obj_count(where_id, types)
 
3730
 * 
 
3731
 * @sync             # <<<<<<<<<<<<<<
 
3732
 * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):
 
3733
 *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST
 
3734
 */
 
3735
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3736
  __Pyx_GOTREF(__pyx_1);
 
3737
 
 
3738
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":189
 
3739
 * 
 
3740
 * @sync
 
3741
 * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
 
3742
 *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST
 
3743
 * 
 
3744
 */
 
3745
  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_get_obj_ids); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3746
  __Pyx_GOTREF(__pyx_4);
 
3747
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3748
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3749
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_4);
 
3750
  __Pyx_GIVEREF(__pyx_4);
 
3751
  __pyx_4 = 0;
 
3752
  __pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3753
  __Pyx_GOTREF(__pyx_t_3);
 
3754
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3755
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3756
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_get_obj_ids, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3757
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3758
 
 
3759
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":261
 
3760
 *             return get_name(self)
 
3761
 * 
 
3762
 *     @sync             # <<<<<<<<<<<<<<
 
3763
 *     def close(self):
 
3764
 *         """()
 
3765
 */
 
3766
  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3767
  __Pyx_GOTREF(__pyx_4);
 
3768
 
 
3769
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":262
 
3770
 * 
 
3771
 *     @sync
 
3772
 *     def close(self):             # <<<<<<<<<<<<<<
 
3773
 *         """()
 
3774
 * 
 
3775
 */
 
3776
  __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5f_FileID, __pyx_kp_close); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3777
  __Pyx_GOTREF(__pyx_1);
 
3778
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3779
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
3780
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
 
3781
  __Pyx_GIVEREF(__pyx_1);
 
3782
  __pyx_1 = 0;
 
3783
  __pyx_t_2 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3784
  __Pyx_GOTREF(__pyx_t_2);
 
3785
  __Pyx_DECREF(__pyx_4); __pyx_4 = 0;
 
3786
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
3787
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5f_FileID->tp_dict, __pyx_kp_close, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3788
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3789
  PyType_Modified(__pyx_ptype_4h5py_3h5f_FileID);
 
3790
 
 
3791
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":275
 
3792
 *         H5Fclose(self.id)
 
3793
 * 
 
3794
 *     @sync             # <<<<<<<<<<<<<<
 
3795
 *     def reopen(self):
 
3796
 *         """() => FileID
 
3797
 */
 
3798
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3799
  __Pyx_GOTREF(__pyx_1);
 
3800
 
 
3801
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":276
 
3802
 * 
 
3803
 *     @sync
 
3804
 *     def reopen(self):             # <<<<<<<<<<<<<<
 
3805
 *         """() => FileID
 
3806
 * 
 
3807
 */
 
3808
  __pyx_4 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5f_FileID, __pyx_kp_reopen); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3809
  __Pyx_GOTREF(__pyx_4);
 
3810
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3811
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3812
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_4);
 
3813
  __Pyx_GIVEREF(__pyx_4);
 
3814
  __pyx_4 = 0;
 
3815
  __pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3816
  __Pyx_GOTREF(__pyx_t_3);
 
3817
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3818
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3819
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5f_FileID->tp_dict, __pyx_kp_reopen, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3820
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3821
  PyType_Modified(__pyx_ptype_4h5py_3h5f_FileID);
 
3822
 
 
3823
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":285
 
3824
 *         return FileID(H5Freopen(self.id))
 
3825
 * 
 
3826
 *     @sync             # <<<<<<<<<<<<<<
 
3827
 *     def get_filesize(self):
 
3828
 *         """() => LONG size
 
3829
 */
 
3830
  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3831
  __Pyx_GOTREF(__pyx_4);
 
3832
 
 
3833
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":286
 
3834
 * 
 
3835
 *     @sync
 
3836
 *     def get_filesize(self):             # <<<<<<<<<<<<<<
 
3837
 *         """() => LONG size
 
3838
 * 
 
3839
 */
 
3840
  __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5f_FileID, __pyx_kp_get_filesize); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3841
  __Pyx_GOTREF(__pyx_1);
 
3842
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3843
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
3844
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
 
3845
  __Pyx_GIVEREF(__pyx_1);
 
3846
  __pyx_1 = 0;
 
3847
  __pyx_t_2 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3848
  __Pyx_GOTREF(__pyx_t_2);
 
3849
  __Pyx_DECREF(__pyx_4); __pyx_4 = 0;
 
3850
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
3851
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5f_FileID->tp_dict, __pyx_kp_get_filesize, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3852
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3853
  PyType_Modified(__pyx_ptype_4h5py_3h5f_FileID);
 
3854
 
 
3855
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":296
 
3856
 *         return size
 
3857
 * 
 
3858
 *     @sync             # <<<<<<<<<<<<<<
 
3859
 *     def get_create_plist(self):
 
3860
 *         """() => PropFCID
 
3861
 */
 
3862
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3863
  __Pyx_GOTREF(__pyx_1);
 
3864
 
 
3865
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":297
 
3866
 * 
 
3867
 *     @sync
 
3868
 *     def get_create_plist(self):             # <<<<<<<<<<<<<<
 
3869
 *         """() => PropFCID
 
3870
 * 
 
3871
 */
 
3872
  __pyx_4 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5f_FileID, __pyx_kp_get_create_plist); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3873
  __Pyx_GOTREF(__pyx_4);
 
3874
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3875
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3876
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_4);
 
3877
  __Pyx_GIVEREF(__pyx_4);
 
3878
  __pyx_4 = 0;
 
3879
  __pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3880
  __Pyx_GOTREF(__pyx_t_3);
 
3881
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3882
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3883
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5f_FileID->tp_dict, __pyx_kp_get_create_plist, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3884
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3885
  PyType_Modified(__pyx_ptype_4h5py_3h5f_FileID);
 
3886
 
 
3887
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":305
 
3888
 *         return propwrap(H5Fget_create_plist(self.id))
 
3889
 * 
 
3890
 *     @sync             # <<<<<<<<<<<<<<
 
3891
 *     def get_access_plist(self):
 
3892
 *         """() => PropFAID
 
3893
 */
 
3894
  __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3895
  __Pyx_GOTREF(__pyx_4);
 
3896
 
 
3897
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":306
 
3898
 * 
 
3899
 *     @sync
 
3900
 *     def get_access_plist(self):             # <<<<<<<<<<<<<<
 
3901
 *         """() => PropFAID
 
3902
 * 
 
3903
 */
 
3904
  __pyx_1 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5f_FileID, __pyx_kp_get_access_plist); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3905
  __Pyx_GOTREF(__pyx_1);
 
3906
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3907
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
 
3908
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_1);
 
3909
  __Pyx_GIVEREF(__pyx_1);
 
3910
  __pyx_1 = 0;
 
3911
  __pyx_t_2 = PyObject_Call(__pyx_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3912
  __Pyx_GOTREF(__pyx_t_2);
 
3913
  __Pyx_DECREF(__pyx_4); __pyx_4 = 0;
 
3914
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
 
3915
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5f_FileID->tp_dict, __pyx_kp_get_access_plist, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3916
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
3917
  PyType_Modified(__pyx_ptype_4h5py_3h5f_FileID);
 
3918
 
 
3919
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":314
 
3920
 *         return propwrap(H5Fget_access_plist(self.id))
 
3921
 * 
 
3922
 *     @sync             # <<<<<<<<<<<<<<
 
3923
 *     def get_freespace(self):
 
3924
 *         """() => LONG freespace
 
3925
 */
 
3926
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_sync); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3927
  __Pyx_GOTREF(__pyx_1);
 
3928
 
 
3929
  /* "/home/tachyon/pydev/h5py/h5py/h5f.pyx":315
 
3930
 * 
 
3931
 *     @sync
 
3932
 *     def get_freespace(self):             # <<<<<<<<<<<<<<
 
3933
 *         """() => LONG freespace
 
3934
 * 
 
3935
 */
 
3936
  __pyx_4 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_3h5f_FileID, __pyx_kp_get_freespace); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3937
  __Pyx_GOTREF(__pyx_4);
 
3938
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3939
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
 
3940
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_4);
 
3941
  __Pyx_GIVEREF(__pyx_4);
 
3942
  __pyx_4 = 0;
 
3943
  __pyx_t_3 = PyObject_Call(__pyx_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3944
  __Pyx_GOTREF(__pyx_t_3);
 
3945
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 
3946
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 
3947
  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_3h5f_FileID->tp_dict, __pyx_kp_get_freespace, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
3948
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
3949
  PyType_Modified(__pyx_ptype_4h5py_3h5f_FileID);
 
3950
 
 
3951
  /* "/home/tachyon/pydev/h5py/h5py/numpy.pxd":1
 
3952
 * #+             # <<<<<<<<<<<<<<
 
3953
 * #
 
3954
 * # This file is part of h5py, a low-level Python interface to the HDF5 library.
 
3955
 */
 
3956
  goto __pyx_L0;
 
3957
  __pyx_L1_error:;
 
3958
  __Pyx_XDECREF(__pyx_1);
 
3959
  __Pyx_XDECREF(__pyx_2);
 
3960
  __Pyx_XDECREF(__pyx_3);
 
3961
  __Pyx_XDECREF(__pyx_4);
 
3962
  __Pyx_XDECREF(__pyx_t_2);
 
3963
  __Pyx_XDECREF(__pyx_t_3);
 
3964
  __Pyx_AddTraceback("h5py.h5f");
 
3965
  Py_DECREF(__pyx_m); __pyx_m = 0;
 
3966
  __pyx_L0:;
 
3967
  __Pyx_FinishRefcountContext();
 
3968
  #if PY_MAJOR_VERSION < 3
 
3969
  return;
 
3970
  #else
 
3971
  return __pyx_m;
 
3972
  #endif
 
3973
}
 
3974
 
 
3975
static const char *__pyx_filenames[] = {
 
3976
  "h5f.pyx",
 
3977
  "h5.pxd",
 
3978
  "h5p.pxd",
 
3979
  "h5t.pxd",
 
3980
  "numpy.pxd",
 
3981
};
 
3982
 
 
3983
/* Runtime support code */
 
3984
 
 
3985
static void __pyx_init_filenames(void) {
 
3986
  __pyx_f = __pyx_filenames;
 
3987
}
 
3988
 
 
3989
static void __Pyx_RaiseDoubleKeywordsError(
 
3990
    const char* func_name,
 
3991
    PyObject* kw_name)
 
3992
{
 
3993
    PyErr_Format(PyExc_TypeError,
 
3994
        #if PY_MAJOR_VERSION >= 3
 
3995
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
 
3996
        #else
 
3997
        "%s() got multiple values for keyword argument '%s'", func_name,
 
3998
        PyString_AS_STRING(kw_name));
 
3999
        #endif
 
4000
}
 
4001
 
 
4002
static void __Pyx_RaiseArgtupleInvalid(
 
4003
    const char* func_name,
 
4004
    int exact,
 
4005
    Py_ssize_t num_min,
 
4006
    Py_ssize_t num_max,
 
4007
    Py_ssize_t num_found)
 
4008
{
 
4009
    Py_ssize_t num_expected;
 
4010
    const char *number, *more_or_less;
 
4011
 
 
4012
    if (num_found < num_min) {
 
4013
        num_expected = num_min;
 
4014
        more_or_less = "at least";
 
4015
    } else {
 
4016
        num_expected = num_max;
 
4017
        more_or_less = "at most";
 
4018
    }
 
4019
    if (exact) {
 
4020
        more_or_less = "exactly";
 
4021
    }
 
4022
    number = (num_expected == 1) ? "" : "s";
 
4023
    PyErr_Format(PyExc_TypeError,
 
4024
        #if PY_VERSION_HEX < 0x02050000
 
4025
            "%s() takes %s %d positional argument%s (%d given)",
 
4026
        #else
 
4027
            "%s() takes %s %zd positional argument%s (%zd given)",
 
4028
        #endif
 
4029
        func_name, more_or_less, num_expected, number, num_found);
 
4030
}
 
4031
 
 
4032
static int __Pyx_ParseOptionalKeywords(
 
4033
    PyObject *kwds,
 
4034
    PyObject **argnames[],
 
4035
    PyObject *kwds2,
 
4036
    PyObject *values[],
 
4037
    Py_ssize_t num_pos_args,
 
4038
    const char* function_name)
 
4039
{
 
4040
    PyObject *key = 0, *value = 0;
 
4041
    Py_ssize_t pos = 0;
 
4042
    PyObject*** name;
 
4043
    PyObject*** first_kw_arg = argnames + num_pos_args;
 
4044
 
 
4045
    while (PyDict_Next(kwds, &pos, &key, &value)) {
 
4046
        name = first_kw_arg;
 
4047
        while (*name && (**name != key)) name++;
 
4048
        if (*name) {
 
4049
            values[name-argnames] = value;
 
4050
        } else {
 
4051
            #if PY_MAJOR_VERSION < 3
 
4052
            if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) {
 
4053
            #else
 
4054
            if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) {
 
4055
            #endif
 
4056
                goto invalid_keyword_type;
 
4057
            } else {
 
4058
                for (name = first_kw_arg; *name; name++) {
 
4059
                    #if PY_MAJOR_VERSION >= 3
 
4060
                    if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
 
4061
                        PyUnicode_Compare(**name, key) == 0) break;
 
4062
                    #else
 
4063
                    if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
 
4064
                        _PyString_Eq(**name, key)) break;
 
4065
                    #endif
 
4066
                }
 
4067
                if (*name) {
 
4068
                    values[name-argnames] = value;
 
4069
                } else {
 
4070
                    /* unexpected keyword found */
 
4071
                    for (name=argnames; name != first_kw_arg; name++) {
 
4072
                        if (**name == key) goto arg_passed_twice;
 
4073
                        #if PY_MAJOR_VERSION >= 3
 
4074
                        if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
 
4075
                            PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice;
 
4076
                        #else
 
4077
                        if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
 
4078
                            _PyString_Eq(**name, key)) goto arg_passed_twice;
 
4079
                        #endif
 
4080
                    }
 
4081
                    if (kwds2) {
 
4082
                        if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
 
4083
                    } else {
 
4084
                        goto invalid_keyword;
 
4085
                    }
 
4086
                }
 
4087
            }
 
4088
        }
 
4089
    }
 
4090
    return 0;
 
4091
arg_passed_twice:
 
4092
    __Pyx_RaiseDoubleKeywordsError(function_name, **name);
 
4093
    goto bad;
 
4094
invalid_keyword_type:
 
4095
    PyErr_Format(PyExc_TypeError,
 
4096
        "%s() keywords must be strings", function_name);
 
4097
    goto bad;
 
4098
invalid_keyword:
 
4099
    PyErr_Format(PyExc_TypeError,
 
4100
    #if PY_MAJOR_VERSION < 3
 
4101
        "%s() got an unexpected keyword argument '%s'",
 
4102
        function_name, PyString_AsString(key));
 
4103
    #else
 
4104
        "%s() got an unexpected keyword argument '%U'",
 
4105
        function_name, key);
 
4106
    #endif
 
4107
bad:
 
4108
    return -1;
 
4109
}
 
4110
 
 
4111
static INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
 
4112
    PyObject *tmp_type, *tmp_value, *tmp_tb;
 
4113
    PyThreadState *tstate = PyThreadState_GET();
 
4114
 
 
4115
#if PY_MAJOR_VERSION >= 3
 
4116
    /* Note: this is a temporary work-around to prevent crashes in Python 3.0 */
 
4117
    if ((tstate->exc_type != NULL) & (tstate->exc_type != Py_None)) {
 
4118
        tmp_type = tstate->exc_type;
 
4119
        tmp_value = tstate->exc_value;
 
4120
        tmp_tb = tstate->exc_traceback;
 
4121
        PyErr_NormalizeException(&type, &value, &tb);
 
4122
        PyErr_NormalizeException(&tmp_type, &tmp_value, &tmp_tb);
 
4123
        tstate->exc_type = 0;
 
4124
        tstate->exc_value = 0;
 
4125
        tstate->exc_traceback = 0;
 
4126
        PyException_SetContext(value, tmp_value);
 
4127
        Py_DECREF(tmp_type);
 
4128
        Py_XDECREF(tmp_tb);
 
4129
    }
 
4130
#endif
 
4131
 
 
4132
    tmp_type = tstate->curexc_type;
 
4133
    tmp_value = tstate->curexc_value;
 
4134
    tmp_tb = tstate->curexc_traceback;
 
4135
    tstate->curexc_type = type;
 
4136
    tstate->curexc_value = value;
 
4137
    tstate->curexc_traceback = tb;
 
4138
    Py_XDECREF(tmp_type);
 
4139
    Py_XDECREF(tmp_value);
 
4140
    Py_XDECREF(tmp_tb);
 
4141
}
 
4142
 
 
4143
static INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
 
4144
    PyThreadState *tstate = PyThreadState_GET();
 
4145
    *type = tstate->curexc_type;
 
4146
    *value = tstate->curexc_value;
 
4147
    *tb = tstate->curexc_traceback;
 
4148
 
 
4149
    tstate->curexc_type = 0;
 
4150
    tstate->curexc_value = 0;
 
4151
    tstate->curexc_traceback = 0;
 
4152
}
 
4153
 
 
4154
 
 
4155
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
 
4156
    PyObject *tmp_type, *tmp_value, *tmp_tb;
 
4157
    PyThreadState *tstate = PyThreadState_GET();
 
4158
    *type = tstate->curexc_type;
 
4159
    *value = tstate->curexc_value;
 
4160
    *tb = tstate->curexc_traceback;
 
4161
    tstate->curexc_type = 0;
 
4162
    tstate->curexc_value = 0;
 
4163
    tstate->curexc_traceback = 0;
 
4164
    PyErr_NormalizeException(type, value, tb);
 
4165
    if (PyErr_Occurred())
 
4166
        goto bad;
 
4167
    Py_INCREF(*type);
 
4168
    Py_INCREF(*value);
 
4169
    Py_INCREF(*tb);
 
4170
    tmp_type = tstate->exc_type;
 
4171
    tmp_value = tstate->exc_value;
 
4172
    tmp_tb = tstate->exc_traceback;
 
4173
    tstate->exc_type = *type;
 
4174
    tstate->exc_value = *value;
 
4175
    tstate->exc_traceback = *tb;
 
4176
    /* Make sure tstate is in a consistent state when we XDECREF
 
4177
    these objects (XDECREF may run arbitrary code). */
 
4178
    Py_XDECREF(tmp_type);
 
4179
    Py_XDECREF(tmp_value);
 
4180
    Py_XDECREF(tmp_tb);
 
4181
    return 0;
 
4182
bad:
 
4183
    Py_XDECREF(*type);
 
4184
    Py_XDECREF(*value);
 
4185
    Py_XDECREF(*tb);
 
4186
    return -1;
 
4187
}
 
4188
 
 
4189
 
 
4190
static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
 
4191
    const char *name, int exact)
 
4192
{
 
4193
    if (!type) {
 
4194
        PyErr_Format(PyExc_SystemError, "Missing type object");
 
4195
        return 0;
 
4196
    }
 
4197
    if (none_allowed && obj == Py_None) return 1;
 
4198
    else if (exact) {
 
4199
        if (Py_TYPE(obj) == type) return 1;
 
4200
    }
 
4201
    else {
 
4202
        if (PyObject_TypeCheck(obj, type)) return 1;
 
4203
    }
 
4204
    PyErr_Format(PyExc_TypeError,
 
4205
        "Argument '%s' has incorrect type (expected %s, got %s)",
 
4206
        name, type->tp_name, Py_TYPE(obj)->tp_name);
 
4207
    return 0;
 
4208
}
 
4209
 
 
4210
static INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
 
4211
    PyThreadState *tstate = PyThreadState_GET();
 
4212
    *type = tstate->exc_type;
 
4213
    *value = tstate->exc_value;
 
4214
    *tb = tstate->exc_traceback;
 
4215
    Py_XINCREF(*type);
 
4216
    Py_XINCREF(*value);
 
4217
    Py_XINCREF(*tb);
 
4218
}
 
4219
 
 
4220
static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
 
4221
    PyObject *tmp_type, *tmp_value, *tmp_tb;
 
4222
    PyThreadState *tstate = PyThreadState_GET();
 
4223
    tmp_type = tstate->exc_type;
 
4224
    tmp_value = tstate->exc_value;
 
4225
    tmp_tb = tstate->exc_traceback;
 
4226
    tstate->exc_type = type;
 
4227
    tstate->exc_value = value;
 
4228
    tstate->exc_traceback = tb;
 
4229
    Py_XDECREF(tmp_type);
 
4230
    Py_XDECREF(tmp_value);
 
4231
    Py_XDECREF(tmp_tb);
 
4232
}
 
4233
 
 
4234
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
 
4235
    PyObject *__import__ = 0;
 
4236
    PyObject *empty_list = 0;
 
4237
    PyObject *module = 0;
 
4238
    PyObject *global_dict = 0;
 
4239
    PyObject *empty_dict = 0;
 
4240
    PyObject *list;
 
4241
    __import__ = __Pyx_GetAttrString(__pyx_b, "__import__");
 
4242
    if (!__import__)
 
4243
        goto bad;
 
4244
    if (from_list)
 
4245
        list = from_list;
 
4246
    else {
 
4247
        empty_list = PyList_New(0);
 
4248
        if (!empty_list)
 
4249
            goto bad;
 
4250
        list = empty_list;
 
4251
    }
 
4252
    global_dict = PyModule_GetDict(__pyx_m);
 
4253
    if (!global_dict)
 
4254
        goto bad;
 
4255
    empty_dict = PyDict_New();
 
4256
    if (!empty_dict)
 
4257
        goto bad;
 
4258
    module = PyObject_CallFunctionObjArgs(__import__,
 
4259
        name, global_dict, empty_dict, list, NULL);
 
4260
bad:
 
4261
    Py_XDECREF(empty_list);
 
4262
    Py_XDECREF(__import__);
 
4263
    Py_XDECREF(empty_dict);
 
4264
    return module;
 
4265
}
 
4266
 
 
4267
static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
 
4268
    PyObject *result;
 
4269
    result = PyObject_GetAttr(dict, name);
 
4270
    if (!result)
 
4271
        PyErr_SetObject(PyExc_NameError, name);
 
4272
    return result;
 
4273
}
 
4274
 
 
4275
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
 
4276
    Py_XINCREF(type);
 
4277
    Py_XINCREF(value);
 
4278
    Py_XINCREF(tb);
 
4279
    /* First, check the traceback argument, replacing None with NULL. */
 
4280
    if (tb == Py_None) {
 
4281
        Py_DECREF(tb);
 
4282
        tb = 0;
 
4283
    }
 
4284
    else if (tb != NULL && !PyTraceBack_Check(tb)) {
 
4285
        PyErr_SetString(PyExc_TypeError,
 
4286
            "raise: arg 3 must be a traceback or None");
 
4287
        goto raise_error;
 
4288
    }
 
4289
    /* Next, replace a missing value with None */
 
4290
    if (value == NULL) {
 
4291
        value = Py_None;
 
4292
        Py_INCREF(value);
 
4293
    }
 
4294
    #if PY_VERSION_HEX < 0x02050000
 
4295
    if (!PyClass_Check(type))
 
4296
    #else
 
4297
    if (!PyType_Check(type))
 
4298
    #endif
 
4299
    {
 
4300
        /* Raising an instance.  The value should be a dummy. */
 
4301
        if (value != Py_None) {
 
4302
            PyErr_SetString(PyExc_TypeError,
 
4303
                "instance exception may not have a separate value");
 
4304
            goto raise_error;
 
4305
        }
 
4306
        /* Normalize to raise <class>, <instance> */
 
4307
        Py_DECREF(value);
 
4308
        value = type;
 
4309
        #if PY_VERSION_HEX < 0x02050000
 
4310
            if (PyInstance_Check(type)) {
 
4311
                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
 
4312
                Py_INCREF(type);
 
4313
            }
 
4314
            else {
 
4315
                type = 0;
 
4316
                PyErr_SetString(PyExc_TypeError,
 
4317
                    "raise: exception must be an old-style class or instance");
 
4318
                goto raise_error;
 
4319
            }
 
4320
        #else
 
4321
            type = (PyObject*) Py_TYPE(type);
 
4322
            Py_INCREF(type);
 
4323
            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
 
4324
                PyErr_SetString(PyExc_TypeError,
 
4325
                    "raise: exception class must be a subclass of BaseException");
 
4326
                goto raise_error;
 
4327
            }
 
4328
        #endif
 
4329
    }
 
4330
    __Pyx_ErrRestore(type, value, tb);
 
4331
    return;
 
4332
raise_error:
 
4333
    Py_XDECREF(value);
 
4334
    Py_XDECREF(type);
 
4335
    Py_XDECREF(tb);
 
4336
    return;
 
4337
}
 
4338
 
 
4339
static INLINE int __Pyx_StrEq(const char *s1, const char *s2) {
 
4340
     while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
 
4341
     return *s1 == *s2;
 
4342
}
 
4343
 
 
4344
static INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
 
4345
    if (sizeof(unsigned char) < sizeof(long)) {
 
4346
        long val = __Pyx_PyInt_AsLong(x);
 
4347
        if (unlikely(val != (long)(unsigned char)val)) {
 
4348
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4349
                return (unsigned char)-1;
 
4350
            if (unlikely(val < 0)) {
 
4351
                PyErr_SetString(PyExc_OverflowError,
 
4352
                                "can't convert negative value to unsigned char");
 
4353
                return (unsigned char)-1;
 
4354
            }
 
4355
            PyErr_SetString(PyExc_OverflowError,
 
4356
                           "value too large to convert to unsigned char");
 
4357
            return (unsigned char)-1;
 
4358
        }
 
4359
        return (unsigned char)val;
 
4360
    }
 
4361
    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
 
4362
}
 
4363
 
 
4364
static INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
 
4365
    if (sizeof(unsigned short) < sizeof(long)) {
 
4366
        long val = __Pyx_PyInt_AsLong(x);
 
4367
        if (unlikely(val != (long)(unsigned short)val)) {
 
4368
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4369
                return (unsigned short)-1;
 
4370
            if (unlikely(val < 0)) {
 
4371
                PyErr_SetString(PyExc_OverflowError,
 
4372
                                "can't convert negative value to unsigned short");
 
4373
                return (unsigned short)-1;
 
4374
            }
 
4375
            PyErr_SetString(PyExc_OverflowError,
 
4376
                           "value too large to convert to unsigned short");
 
4377
            return (unsigned short)-1;
 
4378
        }
 
4379
        return (unsigned short)val;
 
4380
    }
 
4381
    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
 
4382
}
 
4383
 
 
4384
static INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
 
4385
    if (sizeof(unsigned int) < sizeof(long)) {
 
4386
        long val = __Pyx_PyInt_AsLong(x);
 
4387
        if (unlikely(val != (long)(unsigned int)val)) {
 
4388
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4389
                return (unsigned int)-1;
 
4390
            if (unlikely(val < 0)) {
 
4391
                PyErr_SetString(PyExc_OverflowError,
 
4392
                                "can't convert negative value to unsigned int");
 
4393
                return (unsigned int)-1;
 
4394
            }
 
4395
            PyErr_SetString(PyExc_OverflowError,
 
4396
                           "value too large to convert to unsigned int");
 
4397
            return (unsigned int)-1;
 
4398
        }
 
4399
        return (unsigned int)val;
 
4400
    }
 
4401
    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
 
4402
}
 
4403
 
 
4404
static INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
 
4405
    if (sizeof(char) < sizeof(long)) {
 
4406
        long val = __Pyx_PyInt_AsLong(x);
 
4407
        if (unlikely(val != (long)(char)val)) {
 
4408
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4409
                return (char)-1;
 
4410
            PyErr_SetString(PyExc_OverflowError,
 
4411
                           "value too large to convert to char");
 
4412
            return (char)-1;
 
4413
        }
 
4414
        return (char)val;
 
4415
    }
 
4416
    return (char)__Pyx_PyInt_AsLong(x);
 
4417
}
 
4418
 
 
4419
static INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
 
4420
    if (sizeof(short) < sizeof(long)) {
 
4421
        long val = __Pyx_PyInt_AsLong(x);
 
4422
        if (unlikely(val != (long)(short)val)) {
 
4423
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4424
                return (short)-1;
 
4425
            PyErr_SetString(PyExc_OverflowError,
 
4426
                           "value too large to convert to short");
 
4427
            return (short)-1;
 
4428
        }
 
4429
        return (short)val;
 
4430
    }
 
4431
    return (short)__Pyx_PyInt_AsLong(x);
 
4432
}
 
4433
 
 
4434
static INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
 
4435
    if (sizeof(int) < sizeof(long)) {
 
4436
        long val = __Pyx_PyInt_AsLong(x);
 
4437
        if (unlikely(val != (long)(int)val)) {
 
4438
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4439
                return (int)-1;
 
4440
            PyErr_SetString(PyExc_OverflowError,
 
4441
                           "value too large to convert to int");
 
4442
            return (int)-1;
 
4443
        }
 
4444
        return (int)val;
 
4445
    }
 
4446
    return (int)__Pyx_PyInt_AsLong(x);
 
4447
}
 
4448
 
 
4449
static INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
 
4450
    if (sizeof(signed char) < sizeof(long)) {
 
4451
        long val = __Pyx_PyInt_AsLong(x);
 
4452
        if (unlikely(val != (long)(signed char)val)) {
 
4453
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4454
                return (signed char)-1;
 
4455
            PyErr_SetString(PyExc_OverflowError,
 
4456
                           "value too large to convert to signed char");
 
4457
            return (signed char)-1;
 
4458
        }
 
4459
        return (signed char)val;
 
4460
    }
 
4461
    return (signed char)__Pyx_PyInt_AsSignedLong(x);
 
4462
}
 
4463
 
 
4464
static INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
 
4465
    if (sizeof(signed short) < sizeof(long)) {
 
4466
        long val = __Pyx_PyInt_AsLong(x);
 
4467
        if (unlikely(val != (long)(signed short)val)) {
 
4468
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4469
                return (signed short)-1;
 
4470
            PyErr_SetString(PyExc_OverflowError,
 
4471
                           "value too large to convert to signed short");
 
4472
            return (signed short)-1;
 
4473
        }
 
4474
        return (signed short)val;
 
4475
    }
 
4476
    return (signed short)__Pyx_PyInt_AsSignedLong(x);
 
4477
}
 
4478
 
 
4479
static INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
 
4480
    if (sizeof(signed int) < sizeof(long)) {
 
4481
        long val = __Pyx_PyInt_AsLong(x);
 
4482
        if (unlikely(val != (long)(signed int)val)) {
 
4483
            if (unlikely(val == -1 && PyErr_Occurred()))
 
4484
                return (signed int)-1;
 
4485
            PyErr_SetString(PyExc_OverflowError,
 
4486
                           "value too large to convert to signed int");
 
4487
            return (signed int)-1;
 
4488
        }
 
4489
        return (signed int)val;
 
4490
    }
 
4491
    return (signed int)__Pyx_PyInt_AsSignedLong(x);
 
4492
}
 
4493
 
 
4494
static INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
 
4495
#if PY_VERSION_HEX < 0x03000000
 
4496
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
4497
        long val = PyInt_AS_LONG(x);
 
4498
        if (unlikely(val < 0)) {
 
4499
            PyErr_SetString(PyExc_OverflowError,
 
4500
                            "can't convert negative value to unsigned long");
 
4501
            return (unsigned long)-1;
 
4502
        }
 
4503
        return (unsigned long)val;
 
4504
    } else
 
4505
#endif
 
4506
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
 
4507
        if (unlikely(Py_SIZE(x) < 0)) {
 
4508
            PyErr_SetString(PyExc_OverflowError,
 
4509
                            "can't convert negative value to unsigned long");
 
4510
            return (unsigned long)-1;
 
4511
        }
 
4512
        return PyLong_AsUnsignedLong(x);
 
4513
    } else {
 
4514
        unsigned long val;
 
4515
        PyObject *tmp = __Pyx_PyNumber_Int(x);
 
4516
        if (!tmp) return (unsigned long)-1;
 
4517
        val = __Pyx_PyInt_AsUnsignedLong(tmp);
 
4518
        Py_DECREF(tmp);
 
4519
        return val;
 
4520
    }
 
4521
}
 
4522
 
 
4523
static INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
 
4524
#if PY_VERSION_HEX < 0x03000000
 
4525
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
4526
        long val = PyInt_AS_LONG(x);
 
4527
        if (unlikely(val < 0)) {
 
4528
            PyErr_SetString(PyExc_OverflowError,
 
4529
                            "can't convert negative value to unsigned PY_LONG_LONG");
 
4530
            return (unsigned PY_LONG_LONG)-1;
 
4531
        }
 
4532
        return (unsigned PY_LONG_LONG)val;
 
4533
    } else
 
4534
#endif
 
4535
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
 
4536
        if (unlikely(Py_SIZE(x) < 0)) {
 
4537
            PyErr_SetString(PyExc_OverflowError,
 
4538
                            "can't convert negative value to unsigned PY_LONG_LONG");
 
4539
            return (unsigned PY_LONG_LONG)-1;
 
4540
        }
 
4541
        return PyLong_AsUnsignedLongLong(x);
 
4542
    } else {
 
4543
        unsigned PY_LONG_LONG val;
 
4544
        PyObject *tmp = __Pyx_PyNumber_Int(x);
 
4545
        if (!tmp) return (unsigned PY_LONG_LONG)-1;
 
4546
        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
 
4547
        Py_DECREF(tmp);
 
4548
        return val;
 
4549
    }
 
4550
}
 
4551
 
 
4552
static INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
 
4553
#if PY_VERSION_HEX < 0x03000000
 
4554
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
4555
        long val = PyInt_AS_LONG(x);
 
4556
        return (long)val;
 
4557
    } else
 
4558
#endif
 
4559
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
 
4560
        return PyLong_AsLong(x);
 
4561
    } else {
 
4562
        long val;
 
4563
        PyObject *tmp = __Pyx_PyNumber_Int(x);
 
4564
        if (!tmp) return (long)-1;
 
4565
        val = __Pyx_PyInt_AsLong(tmp);
 
4566
        Py_DECREF(tmp);
 
4567
        return val;
 
4568
    }
 
4569
}
 
4570
 
 
4571
static INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
 
4572
#if PY_VERSION_HEX < 0x03000000
 
4573
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
4574
        long val = PyInt_AS_LONG(x);
 
4575
        return (PY_LONG_LONG)val;
 
4576
    } else
 
4577
#endif
 
4578
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
 
4579
        return PyLong_AsLongLong(x);
 
4580
    } else {
 
4581
        PY_LONG_LONG val;
 
4582
        PyObject *tmp = __Pyx_PyNumber_Int(x);
 
4583
        if (!tmp) return (PY_LONG_LONG)-1;
 
4584
        val = __Pyx_PyInt_AsLongLong(tmp);
 
4585
        Py_DECREF(tmp);
 
4586
        return val;
 
4587
    }
 
4588
}
 
4589
 
 
4590
static INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
 
4591
#if PY_VERSION_HEX < 0x03000000
 
4592
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
4593
        long val = PyInt_AS_LONG(x);
 
4594
        return (signed long)val;
 
4595
    } else
 
4596
#endif
 
4597
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
 
4598
        return PyLong_AsLong(x);
 
4599
    } else {
 
4600
        signed long val;
 
4601
        PyObject *tmp = __Pyx_PyNumber_Int(x);
 
4602
        if (!tmp) return (signed long)-1;
 
4603
        val = __Pyx_PyInt_AsSignedLong(tmp);
 
4604
        Py_DECREF(tmp);
 
4605
        return val;
 
4606
    }
 
4607
}
 
4608
 
 
4609
static INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
 
4610
#if PY_VERSION_HEX < 0x03000000
 
4611
    if (likely(PyInt_CheckExact(x) || PyInt_Check(x))) {
 
4612
        long val = PyInt_AS_LONG(x);
 
4613
        return (signed PY_LONG_LONG)val;
 
4614
    } else
 
4615
#endif
 
4616
    if (likely(PyLong_CheckExact(x) || PyLong_Check(x))) {
 
4617
        return PyLong_AsLongLong(x);
 
4618
    } else {
 
4619
        signed PY_LONG_LONG val;
 
4620
        PyObject *tmp = __Pyx_PyNumber_Int(x);
 
4621
        if (!tmp) return (signed PY_LONG_LONG)-1;
 
4622
        val = __Pyx_PyInt_AsSignedLongLong(tmp);
 
4623
        Py_DECREF(tmp);
 
4624
        return val;
 
4625
    }
 
4626
}
 
4627
 
 
4628
#ifndef __PYX_HAVE_RT_ImportType
 
4629
#define __PYX_HAVE_RT_ImportType
 
4630
static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
 
4631
    long size)
 
4632
{
 
4633
    PyObject *py_module = 0;
 
4634
    PyObject *result = 0;
 
4635
    PyObject *py_name = 0;
 
4636
 
 
4637
    py_module = __Pyx_ImportModule(module_name);
 
4638
    if (!py_module)
 
4639
        goto bad;
 
4640
    #if PY_MAJOR_VERSION < 3
 
4641
    py_name = PyString_FromString(class_name);
 
4642
    #else
 
4643
    py_name = PyUnicode_FromString(class_name);
 
4644
    #endif
 
4645
    if (!py_name)
 
4646
        goto bad;
 
4647
    result = PyObject_GetAttr(py_module, py_name);
 
4648
    Py_DECREF(py_name);
 
4649
    py_name = 0;
 
4650
    Py_DECREF(py_module);
 
4651
    py_module = 0;
 
4652
    if (!result)
 
4653
        goto bad;
 
4654
    if (!PyType_Check(result)) {
 
4655
        PyErr_Format(PyExc_TypeError, 
 
4656
            "%s.%s is not a type object",
 
4657
            module_name, class_name);
 
4658
        goto bad;
 
4659
    }
 
4660
    if (((PyTypeObject *)result)->tp_basicsize != size) {
 
4661
        PyErr_Format(PyExc_ValueError, 
 
4662
            "%s.%s does not appear to be the correct type object",
 
4663
            module_name, class_name);
 
4664
        goto bad;
 
4665
    }
 
4666
    return (PyTypeObject *)result;
 
4667
bad:
 
4668
    Py_XDECREF(py_module);
 
4669
    Py_XDECREF(result);
 
4670
    return 0;
 
4671
}
 
4672
#endif
 
4673
 
 
4674
#ifndef __PYX_HAVE_RT_ImportModule
 
4675
#define __PYX_HAVE_RT_ImportModule
 
4676
static PyObject *__Pyx_ImportModule(const char *name) {
 
4677
    PyObject *py_name = 0;
 
4678
    PyObject *py_module = 0;
 
4679
 
 
4680
    #if PY_MAJOR_VERSION < 3
 
4681
    py_name = PyString_FromString(name);
 
4682
    #else
 
4683
    py_name = PyUnicode_FromString(name);
 
4684
    #endif
 
4685
    if (!py_name)
 
4686
        goto bad;
 
4687
    py_module = PyImport_Import(py_name);
 
4688
    Py_DECREF(py_name);
 
4689
    return py_module;
 
4690
bad:
 
4691
    Py_XDECREF(py_name);
 
4692
    return 0;
 
4693
}
 
4694
#endif
 
4695
 
 
4696
static int __Pyx_GetVtable(PyObject *dict, void *vtabptr) {
 
4697
    int result;
 
4698
    PyObject *pycobj;
 
4699
 
 
4700
    pycobj = PyMapping_GetItemString(dict, (char *)"__pyx_vtable__");
 
4701
    if (!pycobj)
 
4702
        goto bad;
 
4703
    *(void **)vtabptr = PyCObject_AsVoidPtr(pycobj);
 
4704
    if (!*(void **)vtabptr)
 
4705
        goto bad;
 
4706
    result = 0;
 
4707
    goto done;
 
4708
 
 
4709
bad:
 
4710
    result = -1;
 
4711
done:
 
4712
    Py_XDECREF(pycobj);
 
4713
    return result;
 
4714
}
 
4715
 
 
4716
#ifndef __PYX_HAVE_RT_ImportFunction
 
4717
#define __PYX_HAVE_RT_ImportFunction
 
4718
static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
 
4719
#if PY_VERSION_HEX < 0x02050000
 
4720
    char *api = (char *)"__pyx_capi__";
 
4721
#else
 
4722
    const char *api = "__pyx_capi__";
 
4723
#endif
 
4724
    PyObject *d = 0;
 
4725
    PyObject *cobj = 0;
 
4726
    const char *desc;
 
4727
    const char *s1, *s2;
 
4728
    union {
 
4729
        void (*fp)(void);
 
4730
        void *p;
 
4731
    } tmp;
 
4732
 
 
4733
    d = PyObject_GetAttrString(module, api);
 
4734
    if (!d)
 
4735
        goto bad;
 
4736
    cobj = PyDict_GetItemString(d, funcname);
 
4737
    if (!cobj) {
 
4738
        PyErr_Format(PyExc_ImportError,
 
4739
            "%s does not export expected C function %s",
 
4740
                PyModule_GetName(module), funcname);
 
4741
        goto bad;
 
4742
    }
 
4743
    desc = (const char *)PyCObject_GetDesc(cobj);
 
4744
    if (!desc)
 
4745
        goto bad;
 
4746
    s1 = desc; s2 = sig;
 
4747
    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
 
4748
    if (*s1 != *s2) {
 
4749
        PyErr_Format(PyExc_TypeError,
 
4750
            "C function %s.%s has wrong signature (expected %s, got %s)",
 
4751
             PyModule_GetName(module), funcname, sig, desc);
 
4752
        goto bad;
 
4753
    }
 
4754
    tmp.p = PyCObject_AsVoidPtr(cobj);
 
4755
    *f = tmp.fp;
 
4756
    Py_DECREF(d);
 
4757
    return 0;
 
4758
bad:
 
4759
    Py_XDECREF(d);
 
4760
    return -1;
 
4761
}
 
4762
#endif
 
4763
 
 
4764
#include "compile.h"
 
4765
#include "frameobject.h"
 
4766
#include "traceback.h"
 
4767
 
 
4768
static void __Pyx_AddTraceback(const char *funcname) {
 
4769
    PyObject *py_srcfile = 0;
 
4770
    PyObject *py_funcname = 0;
 
4771
    PyObject *py_globals = 0;
 
4772
    PyObject *empty_string = 0;
 
4773
    PyCodeObject *py_code = 0;
 
4774
    PyFrameObject *py_frame = 0;
 
4775
 
 
4776
    #if PY_MAJOR_VERSION < 3
 
4777
    py_srcfile = PyString_FromString(__pyx_filename);
 
4778
    #else
 
4779
    py_srcfile = PyUnicode_FromString(__pyx_filename);
 
4780
    #endif
 
4781
    if (!py_srcfile) goto bad;
 
4782
    if (__pyx_clineno) {
 
4783
        #if PY_MAJOR_VERSION < 3
 
4784
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
 
4785
        #else
 
4786
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
 
4787
        #endif
 
4788
    }
 
4789
    else {
 
4790
        #if PY_MAJOR_VERSION < 3
 
4791
        py_funcname = PyString_FromString(funcname);
 
4792
        #else
 
4793
        py_funcname = PyUnicode_FromString(funcname);
 
4794
        #endif
 
4795
    }
 
4796
    if (!py_funcname) goto bad;
 
4797
    py_globals = PyModule_GetDict(__pyx_m);
 
4798
    if (!py_globals) goto bad;
 
4799
    #if PY_MAJOR_VERSION < 3
 
4800
    empty_string = PyString_FromStringAndSize("", 0);
 
4801
    #else
 
4802
    empty_string = PyBytes_FromStringAndSize("", 0);
 
4803
    #endif
 
4804
    if (!empty_string) goto bad;
 
4805
    py_code = PyCode_New(
 
4806
        0,            /*int argcount,*/
 
4807
        #if PY_MAJOR_VERSION >= 3
 
4808
        0,            /*int kwonlyargcount,*/
 
4809
        #endif
 
4810
        0,            /*int nlocals,*/
 
4811
        0,            /*int stacksize,*/
 
4812
        0,            /*int flags,*/
 
4813
        empty_string, /*PyObject *code,*/
 
4814
        __pyx_empty_tuple,  /*PyObject *consts,*/
 
4815
        __pyx_empty_tuple,  /*PyObject *names,*/
 
4816
        __pyx_empty_tuple,  /*PyObject *varnames,*/
 
4817
        __pyx_empty_tuple,  /*PyObject *freevars,*/
 
4818
        __pyx_empty_tuple,  /*PyObject *cellvars,*/
 
4819
        py_srcfile,   /*PyObject *filename,*/
 
4820
        py_funcname,  /*PyObject *name,*/
 
4821
        __pyx_lineno,   /*int firstlineno,*/
 
4822
        empty_string  /*PyObject *lnotab*/
 
4823
    );
 
4824
    if (!py_code) goto bad;
 
4825
    py_frame = PyFrame_New(
 
4826
        PyThreadState_GET(), /*PyThreadState *tstate,*/
 
4827
        py_code,             /*PyCodeObject *code,*/
 
4828
        py_globals,          /*PyObject *globals,*/
 
4829
        0                    /*PyObject *locals*/
 
4830
    );
 
4831
    if (!py_frame) goto bad;
 
4832
    py_frame->f_lineno = __pyx_lineno;
 
4833
    PyTraceBack_Here(py_frame);
 
4834
bad:
 
4835
    Py_XDECREF(py_srcfile);
 
4836
    Py_XDECREF(py_funcname);
 
4837
    Py_XDECREF(empty_string);
 
4838
    Py_XDECREF(py_code);
 
4839
    Py_XDECREF(py_frame);
 
4840
}
 
4841
 
 
4842
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
 
4843
    while (t->p) {
 
4844
        #if PY_MAJOR_VERSION < 3
 
4845
        if (t->is_unicode && (!t->is_identifier)) {
 
4846
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
 
4847
        } else if (t->intern) {
 
4848
            *t->p = PyString_InternFromString(t->s);
 
4849
        } else {
 
4850
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
 
4851
        }
 
4852
        #else  /* Python 3+ has unicode identifiers */
 
4853
        if (t->is_identifier || (t->is_unicode && t->intern)) {
 
4854
            *t->p = PyUnicode_InternFromString(t->s);
 
4855
        } else if (t->is_unicode) {
 
4856
            *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
 
4857
        } else {
 
4858
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
 
4859
        }
 
4860
        #endif
 
4861
        if (!*t->p)
 
4862
            return -1;
 
4863
        ++t;
 
4864
    }
 
4865
    return 0;
 
4866
}
 
4867
 
 
4868
/* Type Conversion Functions */
 
4869
 
 
4870
static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
 
4871
   if (x == Py_True) return 1;
 
4872
   else if ((x == Py_False) | (x == Py_None)) return 0;
 
4873
   else return PyObject_IsTrue(x);
 
4874
}
 
4875
 
 
4876
static INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
 
4877
  PyNumberMethods *m;
 
4878
  const char *name = NULL;
 
4879
  PyObject *res = NULL;
 
4880
#if PY_VERSION_HEX < 0x03000000
 
4881
  if (PyInt_Check(x) || PyLong_Check(x))
 
4882
#else
 
4883
  if (PyLong_Check(x))
 
4884
#endif
 
4885
    return Py_INCREF(x), x;
 
4886
  m = Py_TYPE(x)->tp_as_number;
 
4887
#if PY_VERSION_HEX < 0x03000000
 
4888
  if (m && m->nb_int) {
 
4889
    name = "int";
 
4890
    res = PyNumber_Int(x);
 
4891
  }
 
4892
  else if (m && m->nb_long) {
 
4893
    name = "long";
 
4894
    res = PyNumber_Long(x);
 
4895
  }
 
4896
#else
 
4897
  if (m && m->nb_int) {
 
4898
    name = "int";
 
4899
    res = PyNumber_Long(x);
 
4900
  }
 
4901
#endif
 
4902
  if (res) {
 
4903
#if PY_VERSION_HEX < 0x03000000
 
4904
    if (!PyInt_Check(res) && !PyLong_Check(res)) {
 
4905
#else
 
4906
    if (!PyLong_Check(res)) {
 
4907
#endif
 
4908
      PyErr_Format(PyExc_TypeError,
 
4909
                   "__%s__ returned non-%s (type %.200s)",
 
4910
                   name, name, Py_TYPE(res)->tp_name);
 
4911
      Py_DECREF(res);
 
4912
      return NULL;
 
4913
    }
 
4914
  }
 
4915
  else if (!PyErr_Occurred()) {
 
4916
    PyErr_SetString(PyExc_TypeError,
 
4917
                    "an integer is required");
 
4918
  }
 
4919
  return res;
 
4920
}
 
4921
 
 
4922
static INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
 
4923
  Py_ssize_t ival;
 
4924
  PyObject* x = PyNumber_Index(b);
 
4925
  if (!x) return -1;
 
4926
  ival = PyInt_AsSsize_t(x);
 
4927
  Py_DECREF(x);
 
4928
  return ival;
 
4929
}
 
4930
 
 
4931
static INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
 
4932
#if PY_VERSION_HEX < 0x02050000
 
4933
   if (ival <= LONG_MAX)
 
4934
       return PyInt_FromLong((long)ival);
 
4935
   else {
 
4936
       unsigned char *bytes = (unsigned char *) &ival;
 
4937
       int one = 1; int little = (int)*(unsigned char*)&one;
 
4938
       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
 
4939
   }
 
4940
#else
 
4941
   return PyInt_FromSize_t(ival);
 
4942
#endif
 
4943
}
 
4944
 
 
4945
static INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
 
4946
   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
 
4947
   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
 
4948
       return (size_t)-1;
 
4949
   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
 
4950
       PyErr_SetString(PyExc_OverflowError,
 
4951
                       "value too large to convert to size_t");
 
4952
       return (size_t)-1;
 
4953
   }
 
4954
   return (size_t)val;
 
4955
}
 
4956
 
 
4957